@flamingo-stack/openframe-frontend-core 0.0.323 → 0.0.324-snapshot.20260625182754

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 (93) hide show
  1. package/dist/{chunk-6ZCLKEXO.cjs → chunk-4USOR7KK.cjs} +25 -25
  2. package/dist/{chunk-6ZCLKEXO.cjs.map → chunk-4USOR7KK.cjs.map} +1 -1
  3. package/dist/{chunk-XVBNFRG7.cjs → chunk-5COLEZW6.cjs} +62 -62
  4. package/dist/{chunk-XVBNFRG7.cjs.map → chunk-5COLEZW6.cjs.map} +1 -1
  5. package/dist/{chunk-RTYIYX6C.js → chunk-5CWJGCOL.js} +4 -4
  6. package/dist/{chunk-OUN4V2CV.cjs → chunk-5DXWGCTW.cjs} +56 -56
  7. package/dist/{chunk-OUN4V2CV.cjs.map → chunk-5DXWGCTW.cjs.map} +1 -1
  8. package/dist/{chunk-OYRZCCVO.cjs → chunk-5GXMQPG7.cjs} +37 -37
  9. package/dist/{chunk-OYRZCCVO.cjs.map → chunk-5GXMQPG7.cjs.map} +1 -1
  10. package/dist/{chunk-ZEDY3IAB.cjs → chunk-5HRCKYFX.cjs} +9 -9
  11. package/dist/{chunk-ZEDY3IAB.cjs.map → chunk-5HRCKYFX.cjs.map} +1 -1
  12. package/dist/{chunk-XPDKUIGS.js → chunk-5YGKK636.js} +4 -4
  13. package/dist/{chunk-BUJZJN2K.js → chunk-6GSM6K5W.js} +2 -2
  14. package/dist/{chunk-GLKQDTCI.cjs → chunk-AYBSXRRC.cjs} +670 -532
  15. package/dist/chunk-AYBSXRRC.cjs.map +1 -0
  16. package/dist/{chunk-YLLX3O2D.js → chunk-EQSGC5WT.js} +2 -2
  17. package/dist/{chunk-S6QURVK4.js → chunk-GYWMN4AK.js} +4 -4
  18. package/dist/{chunk-AA2ZKWQV.js → chunk-HS2YU2NF.js} +2 -2
  19. package/dist/{chunk-4HII2ZLE.cjs → chunk-K2PS5MJH.cjs} +5 -5
  20. package/dist/{chunk-4HII2ZLE.cjs.map → chunk-K2PS5MJH.cjs.map} +1 -1
  21. package/dist/{chunk-SYRZBYKN.js → chunk-MIVP6B6P.js} +4 -4
  22. package/dist/{chunk-OI56RVPD.js → chunk-P3IIAUCL.js} +322 -184
  23. package/dist/chunk-P3IIAUCL.js.map +1 -0
  24. package/dist/{chunk-YNMGKOSL.cjs → chunk-QLSUOQMU.cjs} +7 -7
  25. package/dist/{chunk-YNMGKOSL.cjs.map → chunk-QLSUOQMU.cjs.map} +1 -1
  26. package/dist/{chunk-7CFMQIAC.cjs → chunk-U74OC6PM.cjs} +26 -26
  27. package/dist/{chunk-7CFMQIAC.cjs.map → chunk-U74OC6PM.cjs.map} +1 -1
  28. package/dist/{chunk-HDTW265W.js → chunk-UJIDDEXD.js} +2 -2
  29. package/dist/{chunk-MG72PRRZ.js → chunk-VSUBZBG7.js} +2 -2
  30. package/dist/{chunk-WEHLKMBD.js → chunk-VUE2FSVD.js} +2 -2
  31. package/dist/{chunk-5YWMPCTD.cjs → chunk-WAYJ7VBD.cjs} +12 -12
  32. package/dist/{chunk-5YWMPCTD.cjs.map → chunk-WAYJ7VBD.cjs.map} +1 -1
  33. package/dist/{chunk-4PAYSVBL.js → chunk-XFRQUV5M.js} +2 -2
  34. package/dist/{chunk-JJS5QJOX.cjs → chunk-XQBK7IVF.cjs} +15 -15
  35. package/dist/{chunk-JJS5QJOX.cjs.map → chunk-XQBK7IVF.cjs.map} +1 -1
  36. package/dist/{chunk-FCIMIGVA.cjs → chunk-XTV2EZHO.cjs} +31 -31
  37. package/dist/{chunk-FCIMIGVA.cjs.map → chunk-XTV2EZHO.cjs.map} +1 -1
  38. package/dist/components/case-studies/index.cjs +8 -8
  39. package/dist/components/case-studies/index.js +2 -2
  40. package/dist/components/chat/chat-composer.d.ts.map +1 -1
  41. package/dist/components/chat/chat-input.d.ts.map +1 -1
  42. package/dist/components/chat/index.cjs +2 -2
  43. package/dist/components/chat/index.js +1 -1
  44. package/dist/components/contact/index.cjs +3 -3
  45. package/dist/components/contact/index.js +2 -2
  46. package/dist/components/docs/index.cjs +5 -5
  47. package/dist/components/docs/index.js +4 -4
  48. package/dist/components/embeds/index.cjs +3 -3
  49. package/dist/components/embeds/index.js +2 -2
  50. package/dist/components/faq/index.cjs +3 -3
  51. package/dist/components/faq/index.js +2 -2
  52. package/dist/components/features/index.cjs +2 -2
  53. package/dist/components/features/index.js +1 -1
  54. package/dist/components/help-center-pages/index.cjs +20 -20
  55. package/dist/components/help-center-pages/index.js +11 -11
  56. package/dist/components/index.cjs +122 -120
  57. package/dist/components/index.cjs.map +1 -1
  58. package/dist/components/index.js +11 -9
  59. package/dist/components/index.js.map +1 -1
  60. package/dist/components/navigation/index.cjs +2 -2
  61. package/dist/components/navigation/index.js +1 -1
  62. package/dist/components/onboarding-guides/index.cjs +5 -5
  63. package/dist/components/onboarding-guides/index.js +4 -4
  64. package/dist/components/related-content/index.cjs +3 -3
  65. package/dist/components/related-content/index.js +2 -2
  66. package/dist/components/tickets/index.cjs +5 -5
  67. package/dist/components/tickets/index.js +4 -4
  68. package/dist/components/ui/date-picker.d.ts +47 -0
  69. package/dist/components/ui/date-picker.d.ts.map +1 -1
  70. package/dist/components/ui/index.cjs +4 -2
  71. package/dist/components/ui/index.cjs.map +1 -1
  72. package/dist/components/ui/index.js +3 -1
  73. package/dist/index.cjs +4 -2
  74. package/dist/index.cjs.map +1 -1
  75. package/dist/index.js +3 -1
  76. package/package.json +1 -1
  77. package/src/components/chat/chat-composer.tsx +6 -4
  78. package/src/components/chat/chat-input.tsx +5 -1
  79. package/src/components/ui/date-picker.tsx +214 -9
  80. package/src/stories/DatePicker.stories.tsx +141 -0
  81. package/dist/chunk-GLKQDTCI.cjs.map +0 -1
  82. package/dist/chunk-OI56RVPD.js.map +0 -1
  83. /package/dist/{chunk-RTYIYX6C.js.map → chunk-5CWJGCOL.js.map} +0 -0
  84. /package/dist/{chunk-XPDKUIGS.js.map → chunk-5YGKK636.js.map} +0 -0
  85. /package/dist/{chunk-BUJZJN2K.js.map → chunk-6GSM6K5W.js.map} +0 -0
  86. /package/dist/{chunk-YLLX3O2D.js.map → chunk-EQSGC5WT.js.map} +0 -0
  87. /package/dist/{chunk-S6QURVK4.js.map → chunk-GYWMN4AK.js.map} +0 -0
  88. /package/dist/{chunk-AA2ZKWQV.js.map → chunk-HS2YU2NF.js.map} +0 -0
  89. /package/dist/{chunk-SYRZBYKN.js.map → chunk-MIVP6B6P.js.map} +0 -0
  90. /package/dist/{chunk-HDTW265W.js.map → chunk-UJIDDEXD.js.map} +0 -0
  91. /package/dist/{chunk-MG72PRRZ.js.map → chunk-VSUBZBG7.js.map} +0 -0
  92. /package/dist/{chunk-WEHLKMBD.js.map → chunk-VUE2FSVD.js.map} +0 -0
  93. /package/dist/{chunk-4PAYSVBL.js.map → chunk-XFRQUV5M.js.map} +0 -0
@@ -4056,7 +4056,11 @@ var ChatInput = _react.forwardRef.call(void 0, (allProps, ref) => {
4056
4056
  // (~35.5px incl. vertical-align overhead): the LINE drives row
4057
4057
  // height (deterministic 48px, no overflow) AND the near-zero slack
4058
4058
  // keeps the chip centered. ~4px gap between wrapped chip rows.
4059
- "text-h4 text-ods-text-primary !leading-9",
4059
+ // `min-h-9` pins that single-line box even when EMPTY: a non-editable
4060
+ // (`contentEditable=false`, i.e. disabled/sending) empty div would
4061
+ // otherwise collapse to 0px, and `items-center` would re-center the
4062
+ // shorter wrapper in the row — dropping the `top-0` placeholder down.
4063
+ "min-h-9 text-h4 text-ods-text-primary !leading-9",
4060
4064
  "scrollbar-thin scrollbar-track-transparent scrollbar-thumb-ods-border/30 hover:scrollbar-thumb-ods-text-secondary/30",
4061
4065
  isDisabled && "cursor-not-allowed"
4062
4066
  )
@@ -7733,10 +7737,12 @@ function ChatComposer({
7733
7737
  // (`bg-ods-bg`, `border-b`) sits flush above the input; the card
7734
7738
  // owns the border / radius / focus ring. No `overflow-hidden` so the
7735
7739
  // picker popover can float above the input (chips get `rounded-t`).
7736
- // `has-[textarea:focus]` (not `focus-within`) so the accent border
7737
- // reacts ONLY to the composer textarea — not the picker's search
7738
- // input or item buttons, which also live inside this card.
7739
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rounded-md border border-ods-border bg-ods-card transition-colors has-[textarea:focus]:border-ods-accent", children: [
7740
+ // `has-[[data-editor]:focus]` (not `focus-within`) so the accent
7741
+ // border reacts ONLY to the composer editor — not the picker's search
7742
+ // input or item buttons, which also live inside this card. The editor
7743
+ // is a `contentEditable` div (`data-editor`), not a `<textarea>`, so we
7744
+ // target its data attribute rather than the element name.
7745
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "rounded-md border border-ods-border bg-ods-card transition-colors has-[[data-editor]:focus]:border-ods-accent", children: [
7740
7746
  selected.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
7741
7747
  ChatContextChipStrip,
7742
7748
  {
@@ -12007,7 +12013,8 @@ function DatePickerCalendar({
12007
12013
  numberOfMonths = 1,
12008
12014
  fromDate,
12009
12015
  toDate: toDate2,
12010
- locale
12016
+ locale,
12017
+ fluid = false
12011
12018
  }) {
12012
12019
  const today = /* @__PURE__ */ new Date();
12013
12020
  const isMdUp = _nullishCoalesce(_chunk27IO7V3Pcjs.useMdUp.call(void 0, ), () => ( true));
@@ -12036,28 +12043,33 @@ function DatePickerCalendar({
12036
12043
  setHoveredDate(void 0);
12037
12044
  onSelect(completed);
12038
12045
  };
12046
+ const cellOuter = fluid ? "flex-1 aspect-square min-w-0" : "size-10";
12047
+ const cellInner = fluid ? "size-full" : "size-10";
12039
12048
  const classNames = {
12040
- root: "p-4 date-picker-calendar",
12049
+ root: _chunkFIG2RKZFcjs.cn.call(void 0, "p-4 date-picker-calendar", fluid && "w-full"),
12041
12050
  months: "flex gap-8",
12042
- month: "flex flex-col gap-2",
12051
+ month: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-2", fluid && "w-full"),
12043
12052
  month_caption: "hidden",
12044
12053
  nav: "hidden",
12045
- month_grid: "border-collapse",
12054
+ month_grid: _chunkFIG2RKZFcjs.cn.call(void 0, "border-collapse", fluid && "w-full"),
12046
12055
  weekdays: "flex",
12047
12056
  weekday: _chunkFIG2RKZFcjs.cn.call(void 0,
12048
- "size-10 flex items-center justify-center",
12057
+ cellOuter,
12058
+ "flex items-center justify-center",
12049
12059
  "text-[14px] font-medium leading-5 text-ods-text-secondary"
12050
12060
  ),
12051
12061
  week: "flex",
12052
12062
  day: _chunkFIG2RKZFcjs.cn.call(void 0,
12053
- "size-10 flex items-center justify-center",
12063
+ cellOuter,
12064
+ "flex items-center justify-center",
12054
12065
  "text-h4 text-ods-text-primary",
12055
12066
  "cursor-pointer",
12056
12067
  "transition-colors duration-150",
12057
12068
  "hover:bg-ods-bg-surface hover:rounded-[6px]"
12058
12069
  ),
12059
12070
  day_button: _chunkFIG2RKZFcjs.cn.call(void 0,
12060
- "size-10 flex items-center justify-center",
12071
+ cellInner,
12072
+ "flex items-center justify-center",
12061
12073
  "cursor-pointer bg-transparent border-none outline-none",
12062
12074
  "text-inherit font-inherit"
12063
12075
  ),
@@ -12140,7 +12152,7 @@ function DatePickerCalendar({
12140
12152
  }
12141
12153
  `;
12142
12154
  if (mode === "single") {
12143
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "bg-ods-card border border-ods-border rounded-[6px] overflow-hidden", children: [
12155
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "bg-ods-card border border-ods-border rounded-[6px] overflow-hidden", fluid && "w-full"), children: [
12144
12156
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between px-4 pt-4", children: [
12145
12157
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12146
12158
  CalendarNavButton,
@@ -12182,7 +12194,7 @@ function DatePickerCalendar({
12182
12194
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
12183
12195
  "div",
12184
12196
  {
12185
- className: "bg-ods-card border border-ods-border rounded-md overflow-hidden",
12197
+ className: _chunkFIG2RKZFcjs.cn.call(void 0, "bg-ods-card border border-ods-border rounded-md overflow-hidden", fluid && "w-full"),
12186
12198
  onMouseLeave: () => setHoveredDate(void 0),
12187
12199
  children: [
12188
12200
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "style", { children: rangeStyles }),
@@ -12706,6 +12718,131 @@ function DatePickerInputSimple({
12706
12718
  ] });
12707
12719
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.FieldWrapper, { label, error, className, children: content });
12708
12720
  }
12721
+ function DateFilterMenu({
12722
+ mode = "range",
12723
+ sort = "desc",
12724
+ date,
12725
+ range,
12726
+ onApply,
12727
+ onClose,
12728
+ disabled = false,
12729
+ fromDate,
12730
+ toDate: toDate2,
12731
+ locale,
12732
+ align = "start",
12733
+ ascLabel = "Sort by Ascending",
12734
+ descLabel = "Sort by Descending",
12735
+ className,
12736
+ "aria-label": ariaLabel = "Open date filter"
12737
+ }) {
12738
+ const [open, setOpen] = React38.useState(false);
12739
+ const [draftSort, setDraftSort] = React38.useState(sort);
12740
+ const [draftSelected, setDraftSelected] = React38.useState(mode === "single" ? date : range);
12741
+ const resetDraft = React38.useCallback(() => {
12742
+ setDraftSort(sort);
12743
+ setDraftSelected(mode === "single" ? date : range);
12744
+ }, [sort, date, range, mode]);
12745
+ const handleOpenChange = (next) => {
12746
+ if (next) {
12747
+ resetDraft();
12748
+ } else {
12749
+ _optionalChain([onClose, 'optionalCall', _253 => _253()]);
12750
+ }
12751
+ setOpen(next);
12752
+ };
12753
+ const handleApply = () => {
12754
+ const result = mode === "single" ? { sort: draftSort, date: draftSelected } : { sort: draftSort, range: draftSelected };
12755
+ _optionalChain([onApply, 'optionalCall', _254 => _254(result)]);
12756
+ setOpen(false);
12757
+ };
12758
+ const handleClose = () => {
12759
+ _optionalChain([onClose, 'optionalCall', _255 => _255()]);
12760
+ setOpen(false);
12761
+ };
12762
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Popover.Root, { open, onOpenChange: handleOpenChange, children: [
12763
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Popover.Trigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12764
+ _chunkQJGRP2YEcjs.Button,
12765
+ {
12766
+ type: "button",
12767
+ variant: "outline",
12768
+ size: "icon",
12769
+ disabled,
12770
+ "aria-label": ariaLabel,
12771
+ className,
12772
+ leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Calendar, { className: "size-6" })
12773
+ }
12774
+ ) }),
12775
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Popover.Portal, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
12776
+ Popover.Content,
12777
+ {
12778
+ className: _chunkFIG2RKZFcjs.cn.call(void 0,
12779
+ "z-[9999] w-80 max-w-[calc(100vw-2rem)]",
12780
+ "flex flex-col gap-4 rounded-[6px] border border-ods-border bg-ods-bg p-4",
12781
+ "animate-in fade-in-0 zoom-in-95",
12782
+ "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",
12783
+ "data-[side=bottom]:slide-in-from-top-2",
12784
+ "data-[side=top]:slide-in-from-bottom-2"
12785
+ ),
12786
+ sideOffset: 8,
12787
+ align,
12788
+ children: [
12789
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
12790
+ Select,
12791
+ {
12792
+ value: draftSort,
12793
+ onValueChange: (value) => setDraftSort(value),
12794
+ children: [
12795
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectTrigger, { className: "gap-2", "aria-label": "Sort direction", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-2", children: [
12796
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ArrowUpDown, { className: "size-6 shrink-0 text-ods-text-secondary" }),
12797
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectValue, {}) })
12798
+ ] }) }),
12799
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, SelectContent, { children: [
12800
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectItem, { value: "asc", children: ascLabel }),
12801
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectItem, { value: "desc", children: descLabel })
12802
+ ] })
12803
+ ]
12804
+ }
12805
+ ),
12806
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12807
+ DatePickerCalendar,
12808
+ {
12809
+ mode,
12810
+ selected: draftSelected,
12811
+ onSelect: setDraftSelected,
12812
+ numberOfMonths: 1,
12813
+ fromDate,
12814
+ toDate: toDate2,
12815
+ locale,
12816
+ fluid: true
12817
+ }
12818
+ ),
12819
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full items-stretch gap-4", children: [
12820
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12821
+ _chunkQJGRP2YEcjs.Button,
12822
+ {
12823
+ type: "button",
12824
+ variant: "outline",
12825
+ fullWidth: true,
12826
+ onClick: handleClose,
12827
+ children: "Close"
12828
+ }
12829
+ ),
12830
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12831
+ _chunkQJGRP2YEcjs.Button,
12832
+ {
12833
+ type: "button",
12834
+ variant: "accent",
12835
+ fullWidth: true,
12836
+ onClick: handleApply,
12837
+ children: "Apply"
12838
+ }
12839
+ )
12840
+ ] })
12841
+ ]
12842
+ }
12843
+ ) })
12844
+ ] });
12845
+ }
12709
12846
 
12710
12847
  // src/components/ui/duration-input.tsx
12711
12848
  _chunkFIG2RKZFcjs.init_cn.call(void 0, );
@@ -12729,7 +12866,7 @@ function DurationInput({ value, onChange, invalid, className }) {
12729
12866
  setSegments((prev) => compose(prev) === value ? prev : split(value));
12730
12867
  }, [value]);
12731
12868
  const focusSegment = (i) => {
12732
- const el = _optionalChain([refs, 'access', _253 => _253[i], 'optionalAccess', _254 => _254.current]);
12869
+ const el = _optionalChain([refs, 'access', _256 => _256[i], 'optionalAccess', _257 => _257.current]);
12733
12870
  if (!el) return;
12734
12871
  el.focus();
12735
12872
  el.select();
@@ -13219,7 +13356,7 @@ var NoData = React112.default.forwardRef(function NoData2({
13219
13356
  ...props
13220
13357
  }, ref) {
13221
13358
  const hasMessage = !!(icon || title || description);
13222
- const hasActions = !!_optionalChain([actions, 'optionalAccess', _255 => _255.length]);
13359
+ const hasActions = !!_optionalChain([actions, 'optionalAccess', _258 => _258.length]);
13223
13360
  const footerButton = _nullishCoalesce(button, () => ( (buttonLabel != null ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13224
13361
  _chunkQJGRP2YEcjs.Button,
13225
13362
  {
@@ -13227,7 +13364,7 @@ var NoData = React112.default.forwardRef(function NoData2({
13227
13364
  leftIcon: buttonIcon,
13228
13365
  onClick: onButtonClick,
13229
13366
  ...buttonProps,
13230
- className: _chunkFIG2RKZFcjs.cn.call(void 0, "w-full md:w-auto", _optionalChain([buttonProps, 'optionalAccess', _256 => _256.className])),
13367
+ className: _chunkFIG2RKZFcjs.cn.call(void 0, "w-full md:w-auto", _optionalChain([buttonProps, 'optionalAccess', _259 => _259.className])),
13231
13368
  children: buttonLabel
13232
13369
  }
13233
13370
  ) : null)));
@@ -13462,7 +13599,7 @@ var Switch = React47.forwardRef(({ className, checked, onCheckedChange, ...props
13462
13599
  }, [checked]);
13463
13600
  const handleCheckedChange = (newChecked) => {
13464
13601
  setIsChecked(newChecked);
13465
- _optionalChain([onCheckedChange, 'optionalCall', _257 => _257(newChecked)]);
13602
+ _optionalChain([onCheckedChange, 'optionalCall', _260 => _260(newChecked)]);
13466
13603
  };
13467
13604
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13468
13605
  SwitchPrimitives.Root,
@@ -13671,7 +13808,7 @@ function TagsManager({
13671
13808
  const name = search.trim();
13672
13809
  if (!name) return;
13673
13810
  const result = await onCreateTag(name);
13674
- if (_optionalChain([result, 'optionalAccess', _258 => _258.id])) {
13811
+ if (_optionalChain([result, 'optionalAccess', _261 => _261.id])) {
13675
13812
  onChange([...selectedIds, result.id]);
13676
13813
  setSearch("");
13677
13814
  }
@@ -13679,7 +13816,7 @@ function TagsManager({
13679
13816
  const startEdit = React49.useCallback((id, name) => {
13680
13817
  setEditingId(id);
13681
13818
  setEditingName(name);
13682
- setTimeout(() => _optionalChain([editInputRef, 'access', _259 => _259.current, 'optionalAccess', _260 => _260.focus, 'call', _261 => _261()]), 0);
13819
+ setTimeout(() => _optionalChain([editInputRef, 'access', _262 => _262.current, 'optionalAccess', _263 => _263.focus, 'call', _264 => _264()]), 0);
13683
13820
  }, []);
13684
13821
  const confirmEdit = React49.useCallback(async () => {
13685
13822
  if (!onUpdateTag || !editingId || !editingName.trim()) return;
@@ -13706,7 +13843,7 @@ function TagsManager({
13706
13843
  e.stopPropagation();
13707
13844
  onChange([]);
13708
13845
  setSearch("");
13709
- _optionalChain([inputRef, 'access', _262 => _262.current, 'optionalAccess', _263 => _263.focus, 'call', _264 => _264()]);
13846
+ _optionalChain([inputRef, 'access', _265 => _265.current, 'optionalAccess', _266 => _266.focus, 'call', _267 => _267()]);
13710
13847
  },
13711
13848
  [onChange]
13712
13849
  );
@@ -13805,10 +13942,10 @@ function TagsManager({
13805
13942
  align: "start",
13806
13943
  onOpenAutoFocus: (e) => {
13807
13944
  e.preventDefault();
13808
- _optionalChain([inputRef, 'access', _265 => _265.current, 'optionalAccess', _266 => _266.focus, 'call', _267 => _267()]);
13945
+ _optionalChain([inputRef, 'access', _268 => _268.current, 'optionalAccess', _269 => _269.focus, 'call', _270 => _270()]);
13809
13946
  },
13810
13947
  onInteractOutside: (e) => {
13811
- if (_optionalChain([containerRef, 'access', _268 => _268.current, 'optionalAccess', _269 => _269.contains, 'call', _270 => _270(e.target)])) {
13948
+ if (_optionalChain([containerRef, 'access', _271 => _271.current, 'optionalAccess', _272 => _272.contains, 'call', _273 => _273(e.target)])) {
13812
13949
  e.preventDefault();
13813
13950
  }
13814
13951
  },
@@ -14093,7 +14230,7 @@ var Textarea = React50.forwardRef(
14093
14230
  "button",
14094
14231
  {
14095
14232
  type: "button",
14096
- "aria-label": _nullishCoalesce(_optionalChain([endIconButtonProps, 'optionalAccess', _271 => _271["aria-label"]]), () => ( "Submit")),
14233
+ "aria-label": _nullishCoalesce(_optionalChain([endIconButtonProps, 'optionalAccess', _274 => _274["aria-label"]]), () => ( "Submit")),
14097
14234
  ...endIconButtonProps,
14098
14235
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
14099
14236
  // `h-6` matches the textarea's `leading-6` line box so the icon's
@@ -14107,7 +14244,7 @@ var Textarea = React50.forwardRef(
14107
14244
  "cursor-pointer hover:text-ods-text-primary",
14108
14245
  "focus-visible:outline-none focus-visible:text-ods-accent",
14109
14246
  "disabled:cursor-not-allowed disabled:opacity-40 disabled:hover:text-ods-text-secondary",
14110
- _optionalChain([endIconButtonProps, 'optionalAccess', _272 => _272.className])
14247
+ _optionalChain([endIconButtonProps, 'optionalAccess', _275 => _275.className])
14111
14248
  ),
14112
14249
  children: endIcon
14113
14250
  }
@@ -15344,19 +15481,19 @@ function TabNavigation({
15344
15481
  const validTabIds = _react.useMemo.call(void 0, () => new Set(tabs.map((t) => t.id)), [tabs]);
15345
15482
  const getInitialTab = () => {
15346
15483
  if (isUrlSyncEnabled) {
15347
- const fromUrl = _optionalChain([searchParams, 'optionalAccess', _273 => _273.get, 'call', _274 => _274(paramName)]) || "";
15484
+ const fromUrl = _optionalChain([searchParams, 'optionalAccess', _276 => _276.get, 'call', _277 => _277(paramName)]) || "";
15348
15485
  if (validTabIds.has(fromUrl)) {
15349
15486
  return fromUrl;
15350
15487
  }
15351
15488
  }
15352
- return defaultTab || _optionalChain([tabs, 'access', _275 => _275[0], 'optionalAccess', _276 => _276.id]) || "";
15489
+ return defaultTab || _optionalChain([tabs, 'access', _278 => _278[0], 'optionalAccess', _279 => _279.id]) || "";
15353
15490
  };
15354
15491
  const [internalActiveTab, setInternalActiveTab] = _react.useState.call(void 0, getInitialTab);
15355
15492
  const activeTab = isUrlSyncEnabled ? internalActiveTab : controlledActiveTab || "";
15356
15493
  _react.useEffect.call(void 0, () => {
15357
15494
  if (!isUrlSyncEnabled) return;
15358
- const fromUrl = _optionalChain([searchParams, 'optionalAccess', _277 => _277.get, 'call', _278 => _278(paramName)]) || "";
15359
- const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _279 => _279[0], 'optionalAccess', _280 => _280.id]) || "";
15495
+ const fromUrl = _optionalChain([searchParams, 'optionalAccess', _280 => _280.get, 'call', _281 => _281(paramName)]) || "";
15496
+ const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _282 => _282[0], 'optionalAccess', _283 => _283.id]) || "";
15360
15497
  if (nextTab !== internalActiveTab) {
15361
15498
  setInternalActiveTab(nextTab);
15362
15499
  }
@@ -15364,13 +15501,13 @@ function TabNavigation({
15364
15501
  const handleTabChange = (tabId) => {
15365
15502
  if (isUrlSyncEnabled) {
15366
15503
  setInternalActiveTab(tabId);
15367
- const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _281 => _281.toString, 'call', _282 => _282()]));
15504
+ const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _284 => _284.toString, 'call', _285 => _285()]));
15368
15505
  params.set(paramName, tabId);
15369
15506
  const method = replaceState ? "replace" : "push";
15370
15507
  router[method](`${pathname}?${params.toString()}`);
15371
- _optionalChain([controlledOnTabChange, 'optionalCall', _283 => _283(tabId)]);
15508
+ _optionalChain([controlledOnTabChange, 'optionalCall', _286 => _286(tabId)]);
15372
15509
  } else {
15373
- _optionalChain([controlledOnTabChange, 'optionalCall', _284 => _284(tabId)]);
15510
+ _optionalChain([controlledOnTabChange, 'optionalCall', _287 => _287(tabId)]);
15374
15511
  }
15375
15512
  };
15376
15513
  const scrollRef = _react.useRef.call(void 0, null);
@@ -15458,7 +15595,7 @@ function TabNavigation({
15458
15595
  var getTabById = (tabs, tabId) => tabs.find((tab) => tab.id === tabId);
15459
15596
  var getTabComponent = (tabs, tabId) => {
15460
15597
  const tab = getTabById(tabs, tabId);
15461
- return _optionalChain([tab, 'optionalAccess', _285 => _285.component]) || null;
15598
+ return _optionalChain([tab, 'optionalAccess', _288 => _288.component]) || null;
15462
15599
  };
15463
15600
 
15464
15601
  // src/components/ui/alert.tsx
@@ -15709,13 +15846,13 @@ var SocialEmbedCache = class _SocialEmbedCache {
15709
15846
  errorData = await response.json();
15710
15847
  } catch (e19) {
15711
15848
  }
15712
- if (response.status === 404 && _optionalChain([errorData, 'optionalAccess', _286 => _286.error]) && _optionalChain([errorData, 'optionalAccess', _287 => _287.message])) {
15849
+ if (response.status === 404 && _optionalChain([errorData, 'optionalAccess', _289 => _289.error]) && _optionalChain([errorData, 'optionalAccess', _290 => _290.message])) {
15713
15850
  console.log(`\u{1F6AB} [${platformName} Proxy] Content unavailable: ${errorData.message}`);
15714
15851
  onError(errorData.message);
15715
15852
  onLoading(false);
15716
15853
  return;
15717
15854
  }
15718
- if (_optionalChain([errorData, 'optionalAccess', _288 => _288.error])) {
15855
+ if (_optionalChain([errorData, 'optionalAccess', _291 => _291.error])) {
15719
15856
  throw new Error(`Server error: ${errorData.error}`);
15720
15857
  }
15721
15858
  throw new Error(`Server proxy failed: ${response.status}`);
@@ -16167,7 +16304,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
16167
16304
  apiEndpoint: redditProxyUrl,
16168
16305
  dataValidator: validateRedditData,
16169
16306
  onDataUpdate: (data) => {
16170
- if (_optionalChain([data, 'access', _289 => _289[0], 'optionalAccess', _290 => _290.data, 'optionalAccess', _291 => _291.children, 'optionalAccess', _292 => _292[0], 'optionalAccess', _293 => _293.data])) {
16307
+ if (_optionalChain([data, 'access', _292 => _292[0], 'optionalAccess', _293 => _293.data, 'optionalAccess', _294 => _294.children, 'optionalAccess', _295 => _295[0], 'optionalAccess', _296 => _296.data])) {
16171
16308
  setRedditData(data[0].data.children[0].data);
16172
16309
  }
16173
16310
  },
@@ -16238,11 +16375,11 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
16238
16375
  gallery_data: redditData.gallery_data,
16239
16376
  media_metadata: redditData.media_metadata
16240
16377
  });
16241
- const video = _optionalChain([redditData, 'access', _294 => _294.media, 'optionalAccess', _295 => _295.reddit_video]) || _optionalChain([redditData, 'access', _296 => _296.secure_media, 'optionalAccess', _297 => _297.reddit_video]);
16378
+ const video = _optionalChain([redditData, 'access', _297 => _297.media, 'optionalAccess', _298 => _298.reddit_video]) || _optionalChain([redditData, 'access', _299 => _299.secure_media, 'optionalAccess', _300 => _300.reddit_video]);
16242
16379
  if (video && video.fallback_url) {
16243
16380
  console.log("\u{1F4F9} Found Reddit video:", video);
16244
16381
  let posterUrl = "";
16245
- if (_optionalChain([redditData, 'access', _298 => _298.preview, 'optionalAccess', _299 => _299.images, 'optionalAccess', _300 => _300[0], 'optionalAccess', _301 => _301.source, 'optionalAccess', _302 => _302.url])) {
16382
+ if (_optionalChain([redditData, 'access', _301 => _301.preview, 'optionalAccess', _302 => _302.images, 'optionalAccess', _303 => _303[0], 'optionalAccess', _304 => _304.source, 'optionalAccess', _305 => _305.url])) {
16246
16383
  posterUrl = redditData.preview.images[0].source.url.replace(/&amp;/g, "&");
16247
16384
  console.log("\u2705 Using preview image as video poster:", posterUrl);
16248
16385
  } else {
@@ -16295,7 +16432,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
16295
16432
  return media;
16296
16433
  }
16297
16434
  }
16298
- if (_optionalChain([redditData, 'access', _303 => _303.preview, 'optionalAccess', _304 => _304.images, 'optionalAccess', _305 => _305[0]]) && !redditData.is_video) {
16435
+ if (_optionalChain([redditData, 'access', _306 => _306.preview, 'optionalAccess', _307 => _307.images, 'optionalAccess', _308 => _308[0]]) && !redditData.is_video) {
16299
16436
  const imageData = redditData.preview.images[0];
16300
16437
  console.log("\u{1F5BC}\uFE0F Found preview image data:", imageData);
16301
16438
  let source = imageData.source;
@@ -16330,7 +16467,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
16330
16467
  } else if (directUrl.match(/\.(mp4|webm|mov|avi)(\?.*)?$/i)) {
16331
16468
  console.log("\u{1F3AC} Found direct video URL");
16332
16469
  let posterUrl = "";
16333
- if (_optionalChain([redditData, 'access', _306 => _306.preview, 'optionalAccess', _307 => _307.images, 'optionalAccess', _308 => _308[0], 'optionalAccess', _309 => _309.source, 'optionalAccess', _310 => _310.url])) {
16470
+ if (_optionalChain([redditData, 'access', _309 => _309.preview, 'optionalAccess', _310 => _310.images, 'optionalAccess', _311 => _311[0], 'optionalAccess', _312 => _312.source, 'optionalAccess', _313 => _313.url])) {
16334
16471
  posterUrl = redditData.preview.images[0].source.url.replace(/&amp;/g, "&");
16335
16472
  }
16336
16473
  media.push({
@@ -16343,7 +16480,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
16343
16480
  });
16344
16481
  } else if (directUrl.includes("imgur.com") && !directUrl.includes(".gifv")) {
16345
16482
  console.log("\u{1F310} Found Imgur link");
16346
- const imgurId = _optionalChain([directUrl, 'access', _311 => _311.match, 'call', _312 => _312(/imgur\.com\/([a-zA-Z0-9]+)/), 'optionalAccess', _313 => _313[1]]);
16483
+ const imgurId = _optionalChain([directUrl, 'access', _314 => _314.match, 'call', _315 => _315(/imgur\.com\/([a-zA-Z0-9]+)/), 'optionalAccess', _316 => _316[1]]);
16347
16484
  if (imgurId && !directUrl.includes("/a/") && !directUrl.includes("/gallery/")) {
16348
16485
  media.push({
16349
16486
  type: "image",
@@ -16492,7 +16629,7 @@ function TwitterEmbedClient({ url, tweetId, maxWidth = 700 }) {
16492
16629
  const [loading, setLoading] = _react.useState.call(void 0, true);
16493
16630
  const [error, setError] = _react.useState.call(void 0, null);
16494
16631
  const initializationDone = _react.useRef.call(void 0, false);
16495
- const extractedTweetId = tweetId || _optionalChain([url, 'access', _314 => _314.match, 'call', _315 => _315(/status\/(\d+)/), 'optionalAccess', _316 => _316[1]]);
16632
+ const extractedTweetId = tweetId || _optionalChain([url, 'access', _317 => _317.match, 'call', _318 => _318(/status\/(\d+)/), 'optionalAccess', _319 => _319[1]]);
16496
16633
  const tweetUrl = url.includes("twitter.com") || url.includes("x.com") ? url : `https://twitter.com/twitter/status/${extractedTweetId}`;
16497
16634
  _react.useEffect.call(void 0, () => {
16498
16635
  if (initializationDone.current) return;
@@ -16559,10 +16696,10 @@ function TwitterEmbedClient({ url, tweetId, maxWidth = 700 }) {
16559
16696
  const parser = new DOMParser();
16560
16697
  const doc = parser.parseFromString(tweetData.html, "text/html");
16561
16698
  const blockquote = doc.querySelector("blockquote");
16562
- const fullText = _optionalChain([blockquote, 'optionalAccess', _317 => _317.textContent]) || "";
16699
+ const fullText = _optionalChain([blockquote, 'optionalAccess', _320 => _320.textContent]) || "";
16563
16700
  const tweetText = fullText.replace(/- .* \(@.*\).*$/, "").trim();
16564
16701
  const username = tweetData.author_url ? tweetData.author_url.split("/").pop() : "";
16565
- const links = Array.from(_optionalChain([blockquote, 'optionalAccess', _318 => _318.querySelectorAll, 'call', _319 => _319("a")]) || []).map((link) => ({
16702
+ const links = Array.from(_optionalChain([blockquote, 'optionalAccess', _321 => _321.querySelectorAll, 'call', _322 => _322("a")]) || []).map((link) => ({
16566
16703
  url: link.href,
16567
16704
  text: link.textContent || link.href
16568
16705
  })).filter((link) => !link.url.includes("twitter.com") && !link.url.includes("x.com"));
@@ -16817,7 +16954,7 @@ var OGLinkPreview = ({
16817
16954
  const response = await fetch(endpoint);
16818
16955
  if (response.ok) {
16819
16956
  const data = await response.json();
16820
- if (_optionalChain([data, 'optionalAccess', _320 => _320.title]) && data.title !== "Link Preview Unavailable") {
16957
+ if (_optionalChain([data, 'optionalAccess', _323 => _323.title]) && data.title !== "Link Preview Unavailable") {
16821
16958
  setOgData(data);
16822
16959
  } else {
16823
16960
  setError(true);
@@ -16844,8 +16981,8 @@ var OGLinkPreview = ({
16844
16981
  type: "website",
16845
16982
  favicon: `https://www.google.com/s2/favicons?domain=${domain}&sz=32`
16846
16983
  } : null)));
16847
- const placeholderImageUrl = enablePlaceholder && buildPlaceholderUrl && _optionalChain([effectiveData, 'optionalAccess', _321 => _321.title]) ? buildPlaceholderUrl(effectiveData.title, effectiveData.siteName || domain) : null;
16848
- const resolvedImageUrl = _optionalChain([effectiveData, 'optionalAccess', _322 => _322.image]) && !imageError ? effectiveData.image : _optionalChain([effectiveData, 'optionalAccess', _323 => _323.originalImage]) && !originalImageError ? effectiveData.originalImage : fallbackImage && !fallbackImageError ? fallbackImage : placeholderImageUrl;
16984
+ const placeholderImageUrl = enablePlaceholder && buildPlaceholderUrl && _optionalChain([effectiveData, 'optionalAccess', _324 => _324.title]) ? buildPlaceholderUrl(effectiveData.title, effectiveData.siteName || domain) : null;
16985
+ const resolvedImageUrl = _optionalChain([effectiveData, 'optionalAccess', _325 => _325.image]) && !imageError ? effectiveData.image : _optionalChain([effectiveData, 'optionalAccess', _326 => _326.originalImage]) && !originalImageError ? effectiveData.originalImage : fallbackImage && !fallbackImageError ? fallbackImage : placeholderImageUrl;
16849
16986
  const hasImage = !!resolvedImageUrl;
16850
16987
  const isFallbackImage = resolvedImageUrl === fallbackImage;
16851
16988
  const isPlaceholder = resolvedImageUrl === placeholderImageUrl && !isFallbackImage;
@@ -17091,9 +17228,9 @@ function toFigmaEmbedUrl(url, opts) {
17091
17228
  if (match2) {
17092
17229
  const [, urlType, fileKey, titleSlug, queryString] = match2;
17093
17230
  const isSlides = urlType === "slides" || urlType === "deck";
17094
- const embedType = urlType === "proto" ? "proto" : isSlides ? _optionalChain([opts, 'optionalAccess', _324 => _324.slidesView]) === "browse" ? "slides" : "deck" : "design";
17231
+ const embedType = urlType === "proto" ? "proto" : isSlides ? _optionalChain([opts, 'optionalAccess', _327 => _327.slidesView]) === "browse" ? "slides" : "deck" : "design";
17095
17232
  const pathSuffix = titleSlug ? `/${titleSlug}` : "";
17096
- const params = new URLSearchParams(_optionalChain([queryString, 'optionalAccess', _325 => _325.replace, 'call', _326 => _326(/^\?/, "")]) || "");
17233
+ const params = new URLSearchParams(_optionalChain([queryString, 'optionalAccess', _328 => _328.replace, 'call', _329 => _329(/^\?/, "")]) || "");
17097
17234
  if (!params.has("embed-host")) {
17098
17235
  params.set("embed-host", "flamingo");
17099
17236
  }
@@ -17174,7 +17311,7 @@ function EmbedIframe({
17174
17311
  allow,
17175
17312
  referrerPolicy,
17176
17313
  loading,
17177
- allowFullScreen: _optionalChain([allow, 'optionalAccess', _327 => _327.includes, 'call', _328 => _328("fullscreen")]) ? void 0 : allowFullScreen
17314
+ allowFullScreen: _optionalChain([allow, 'optionalAccess', _330 => _330.includes, 'call', _331 => _331("fullscreen")]) ? void 0 : allowFullScreen
17178
17315
  },
17179
17316
  src
17180
17317
  )
@@ -17925,7 +18062,7 @@ var RichMarkdownInner = ({
17925
18062
  const extractText2 = (node) => {
17926
18063
  if (typeof node === "string") return node;
17927
18064
  if (Array.isArray(node)) return node.map(extractText2).join("");
17928
- if (_optionalChain([node, 'optionalAccess', _329 => _329.props, 'optionalAccess', _330 => _330.children])) return extractText2(node.props.children);
18065
+ if (_optionalChain([node, 'optionalAccess', _332 => _332.props, 'optionalAccess', _333 => _333.children])) return extractText2(node.props.children);
17929
18066
  return "";
17930
18067
  };
17931
18068
  const text = extractText2(children);
@@ -17941,7 +18078,7 @@ var RichMarkdownInner = ({
17941
18078
  const extractText2 = (node) => {
17942
18079
  if (typeof node === "string") return node;
17943
18080
  if (Array.isArray(node)) return node.map(extractText2).join("");
17944
- if (_optionalChain([node, 'optionalAccess', _331 => _331.props, 'optionalAccess', _332 => _332.children])) return extractText2(node.props.children);
18081
+ if (_optionalChain([node, 'optionalAccess', _334 => _334.props, 'optionalAccess', _335 => _335.children])) return extractText2(node.props.children);
17945
18082
  return "";
17946
18083
  };
17947
18084
  const text = extractText2(children);
@@ -17959,7 +18096,7 @@ var RichMarkdownInner = ({
17959
18096
  const extractText2 = (node) => {
17960
18097
  if (typeof node === "string") return node;
17961
18098
  if (Array.isArray(node)) return node.map(extractText2).join("");
17962
- if (_optionalChain([node, 'optionalAccess', _333 => _333.props, 'optionalAccess', _334 => _334.children])) return extractText2(node.props.children);
18099
+ if (_optionalChain([node, 'optionalAccess', _336 => _336.props, 'optionalAccess', _337 => _337.children])) return extractText2(node.props.children);
17963
18100
  return "";
17964
18101
  };
17965
18102
  const text = extractText2(children);
@@ -17977,7 +18114,7 @@ var RichMarkdownInner = ({
17977
18114
  const extractText2 = (node) => {
17978
18115
  if (typeof node === "string") return node;
17979
18116
  if (Array.isArray(node)) return node.map(extractText2).join("");
17980
- if (_optionalChain([node, 'optionalAccess', _335 => _335.props, 'optionalAccess', _336 => _336.children])) return extractText2(node.props.children);
18117
+ if (_optionalChain([node, 'optionalAccess', _338 => _338.props, 'optionalAccess', _339 => _339.children])) return extractText2(node.props.children);
17981
18118
  return "";
17982
18119
  };
17983
18120
  const text = extractText2(children);
@@ -17995,7 +18132,7 @@ var RichMarkdownInner = ({
17995
18132
  const extractText2 = (node) => {
17996
18133
  if (typeof node === "string") return node;
17997
18134
  if (Array.isArray(node)) return node.map(extractText2).join("");
17998
- if (_optionalChain([node, 'optionalAccess', _337 => _337.props, 'optionalAccess', _338 => _338.children])) return extractText2(node.props.children);
18135
+ if (_optionalChain([node, 'optionalAccess', _340 => _340.props, 'optionalAccess', _341 => _341.children])) return extractText2(node.props.children);
17999
18136
  return "";
18000
18137
  };
18001
18138
  const text = extractText2(children);
@@ -18013,7 +18150,7 @@ var RichMarkdownInner = ({
18013
18150
  const extractText2 = (node) => {
18014
18151
  if (typeof node === "string") return node;
18015
18152
  if (Array.isArray(node)) return node.map(extractText2).join("");
18016
- if (_optionalChain([node, 'optionalAccess', _339 => _339.props, 'optionalAccess', _340 => _340.children])) return extractText2(node.props.children);
18153
+ if (_optionalChain([node, 'optionalAccess', _342 => _342.props, 'optionalAccess', _343 => _343.children])) return extractText2(node.props.children);
18017
18154
  return "";
18018
18155
  };
18019
18156
  const text = extractText2(children);
@@ -18089,8 +18226,8 @@ var RichMarkdownInner = ({
18089
18226
  {
18090
18227
  href,
18091
18228
  className: `text-ods-accent no-underline relative transition-colors duration-200 hover:after:w-full after:content-[''] after:absolute after:w-0 after:h-0.5 after:-bottom-0.5 after:left-0 after:bg-ods-accent after:transition-all after:duration-300 ${className2 || ""}`,
18092
- target: _optionalChain([href, 'optionalAccess', _341 => _341.startsWith, 'call', _342 => _342("http")]) ? "_blank" : void 0,
18093
- rel: _optionalChain([href, 'optionalAccess', _343 => _343.startsWith, 'call', _344 => _344("http")]) ? "noopener noreferrer" : void 0,
18229
+ target: _optionalChain([href, 'optionalAccess', _344 => _344.startsWith, 'call', _345 => _345("http")]) ? "_blank" : void 0,
18230
+ rel: _optionalChain([href, 'optionalAccess', _346 => _346.startsWith, 'call', _347 => _347("http")]) ? "noopener noreferrer" : void 0,
18094
18231
  children
18095
18232
  }
18096
18233
  );
@@ -18214,7 +18351,7 @@ function ReleaseChangelogSection({
18214
18351
  className: "overflow-hidden transition-[max-height] duration-500",
18215
18352
  style: {
18216
18353
  transitionTimingFunction: "cubic-bezier(0.33, 1, 0.68, 1)",
18217
- maxHeight: previewExpanded || !previewNeedsFade ? _nullishCoalesce(_optionalChain([previewContentRef, 'access', _345 => _345.current, 'optionalAccess', _346 => _346.scrollHeight]), () => ( 2e3)) : PREVIEW_COLLAPSED_HEIGHT,
18354
+ maxHeight: previewExpanded || !previewNeedsFade ? _nullishCoalesce(_optionalChain([previewContentRef, 'access', _348 => _348.current, 'optionalAccess', _349 => _349.scrollHeight]), () => ( 2e3)) : PREVIEW_COLLAPSED_HEIGHT,
18218
18355
  ...previewNeedsFade && !previewExpanded ? {
18219
18356
  maskImage: "linear-gradient(to bottom, black 30%, transparent 100%)",
18220
18357
  WebkitMaskImage: "linear-gradient(to bottom, black 30%, transparent 100%)"
@@ -18651,16 +18788,16 @@ function FilterModal({
18651
18788
  };
18652
18789
  const handleReset = () => {
18653
18790
  onFilterChange({});
18654
- _optionalChain([onTagsChange, 'optionalCall', _347 => _347([])]);
18791
+ _optionalChain([onTagsChange, 'optionalCall', _350 => _350([])]);
18655
18792
  onClose();
18656
18793
  };
18657
18794
  const handleApply = () => {
18658
18795
  onFilterChange(selectedFilters);
18659
- _optionalChain([onTagsChange, 'optionalCall', _348 => _348(pendingTags)]);
18796
+ _optionalChain([onTagsChange, 'optionalCall', _351 => _351(pendingTags)]);
18660
18797
  onClose();
18661
18798
  };
18662
18799
  const getColumnDirection = (columnKey) => {
18663
- return _optionalChain([sortConfig, 'optionalAccess', _349 => _349.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
18800
+ return _optionalChain([sortConfig, 'optionalAccess', _352 => _352.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
18664
18801
  };
18665
18802
  const hasSort = !!sortConfig && sortConfig.columns.length > 0;
18666
18803
  const hasFilterGroups = filterGroups.length > 0;
@@ -18709,7 +18846,7 @@ function FilterModal({
18709
18846
  {
18710
18847
  column,
18711
18848
  currentDirection: getColumnDirection(column.key),
18712
- onSort: (direction) => _optionalChain([onSort, 'optionalCall', _350 => _350(column.key, direction)]),
18849
+ onSort: (direction) => _optionalChain([onSort, 'optionalCall', _353 => _353(column.key, direction)]),
18713
18850
  onClear: onSortClear ? () => onSortClear(column.key) : void 0
18714
18851
  },
18715
18852
  column.key
@@ -18887,7 +19024,7 @@ function IconButtonsVariant({
18887
19024
  }) {
18888
19025
  const desktopActions = actions.filter((a) => !a.showOnlyMobile);
18889
19026
  const hasMenuActions = !!menuActions && menuActions.some((g) => g.items.length > 0);
18890
- const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _351 => _351[0], 'access', _352 => _352.submenu, 'optionalAccess', _353 => _353.length]);
19027
+ const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _354 => _354[0], 'access', _355 => _355.submenu, 'optionalAccess', _356 => _356.length]);
18891
19028
  const singleAction = isSingleAction ? actions[0] : null;
18892
19029
  const useSingleActionMobile = isSingleAction && !hasMenuActions;
18893
19030
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -20043,7 +20180,7 @@ function getShellIcon(shellType) {
20043
20180
  if (!shellType) return void 0;
20044
20181
  const normalized = shellType.toUpperCase();
20045
20182
  const shellDef = SHELL_TYPES.find((s) => s.id === normalized);
20046
- return _optionalChain([shellDef, 'optionalAccess', _354 => _354.icon]);
20183
+ return _optionalChain([shellDef, 'optionalAccess', _357 => _357.icon]);
20047
20184
  }
20048
20185
 
20049
20186
  // src/types/os.types.ts
@@ -20116,7 +20253,7 @@ function getOSIcon(osType) {
20116
20253
  const normalized = normalizeOSType(osType);
20117
20254
  if (!normalized) return void 0;
20118
20255
  const osTypeDef = OS_TYPES.find((t) => t.id === normalized);
20119
- return _optionalChain([osTypeDef, 'optionalAccess', _355 => _355.icon]);
20256
+ return _optionalChain([osTypeDef, 'optionalAccess', _358 => _358.icon]);
20120
20257
  }
20121
20258
  function getOSTypeDefinition(osType) {
20122
20259
  if (!osType) return void 0;
@@ -20126,7 +20263,7 @@ function getOSTypeDefinition(osType) {
20126
20263
  }
20127
20264
  function getOSPlatformId(osType) {
20128
20265
  const osTypeDef = getOSTypeDefinition(osType);
20129
- return _optionalChain([osTypeDef, 'optionalAccess', _356 => _356.platformId]);
20266
+ return _optionalChain([osTypeDef, 'optionalAccess', _359 => _359.platformId]);
20130
20267
  }
20131
20268
  function isOSPlatform(deviceOS, targetPlatform) {
20132
20269
  if (!deviceOS || !targetPlatform) return false;
@@ -20219,10 +20356,10 @@ var GENERIC_EMAIL_DOMAINS = [
20219
20356
  ];
20220
20357
  function extractDomainFromEmail(email) {
20221
20358
  if (!email || !email.includes("@")) return null;
20222
- return _optionalChain([email, 'access', _357 => _357.split, 'call', _358 => _358("@"), 'access', _359 => _359[1], 'optionalAccess', _360 => _360.toLowerCase, 'call', _361 => _361()]) || null;
20359
+ return _optionalChain([email, 'access', _360 => _360.split, 'call', _361 => _361("@"), 'access', _362 => _362[1], 'optionalAccess', _363 => _363.toLowerCase, 'call', _364 => _364()]) || null;
20223
20360
  }
20224
20361
  function normalizeDomain(domain) {
20225
- return _optionalChain([domain, 'optionalAccess', _362 => _362.toLowerCase, 'call', _363 => _363(), 'access', _364 => _364.replace, 'call', _365 => _365(/^https?:\/\//, ""), 'access', _366 => _366.replace, 'call', _367 => _367(/^www\./, ""), 'access', _368 => _368.split, 'call', _369 => _369("/"), 'access', _370 => _370[0], 'access', _371 => _371.trim, 'call', _372 => _372()]) || "";
20362
+ return _optionalChain([domain, 'optionalAccess', _365 => _365.toLowerCase, 'call', _366 => _366(), 'access', _367 => _367.replace, 'call', _368 => _368(/^https?:\/\//, ""), 'access', _369 => _369.replace, 'call', _370 => _370(/^www\./, ""), 'access', _371 => _371.split, 'call', _372 => _372("/"), 'access', _373 => _373[0], 'access', _374 => _374.trim, 'call', _375 => _375()]) || "";
20226
20363
  }
20227
20364
  function isGenericDomain(domain) {
20228
20365
  const normalized = normalizeDomain(domain);
@@ -20656,7 +20793,7 @@ function defaultTableIdForDocumentType(documentType) {
20656
20793
 
20657
20794
  // src/utils/sse-decision-frame.ts
20658
20795
  async function readLeadingDecisionFrame(response) {
20659
- const reader = _optionalChain([response, 'access', _373 => _373.body, 'optionalAccess', _374 => _374.getReader, 'call', _375 => _375()]);
20796
+ const reader = _optionalChain([response, 'access', _376 => _376.body, 'optionalAccess', _377 => _377.getReader, 'call', _378 => _378()]);
20660
20797
  if (!reader) throw new Error("readLeadingDecisionFrame: response has no body");
20661
20798
  const decoder = new TextDecoder();
20662
20799
  let buffer = "";
@@ -20685,9 +20822,9 @@ async function readLeadingDecisionFrame(response) {
20685
20822
  );
20686
20823
  }
20687
20824
  const obj = parsed;
20688
- if (_optionalChain([obj, 'optionalAccess', _376 => _376.kind]) !== "decision_resolved") {
20825
+ if (_optionalChain([obj, 'optionalAccess', _379 => _379.kind]) !== "decision_resolved") {
20689
20826
  throw new Error(
20690
- `readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _377 => _377.kind]))}`
20827
+ `readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _380 => _380.kind]))}`
20691
20828
  );
20692
20829
  }
20693
20830
  frame = normalizeDecisionFrame(obj);
@@ -20728,7 +20865,7 @@ var AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
20728
20865
  function buildAutoContinuationDirective(toolName, opts = {}) {
20729
20866
  const ticketRef = opts.ticketId ? ` (ticket #${opts.ticketId})` : "";
20730
20867
  const ticketHash = opts.ticketId ? ` #${opts.ticketId}` : "";
20731
- const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _378 => _378.status, 'optionalAccess', _379 => _379.toUpperCase, 'call', _380 => _380()]) === "CLOSED";
20868
+ const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _381 => _381.status, 'optionalAccess', _382 => _382.toUpperCase, 'call', _383 => _383()]) === "CLOSED";
20732
20869
  if (toolName === "create_ticket") {
20733
20870
  return `${AUTO_CONTINUATION_DIRECTIVE_PREFIX} The user just approved create_ticket${ticketRef}. Per ticket-protocol \xA71a, ask 2-4 SHORT, issue-specific diagnostic follow-up questions tailored to the symptom they reported in their original message. When they answer, propose an update_ticket with content_addendum carrying a clean Q&A digest. Do NOT call any tool in this turn \u2014 just write the questions as prose.`;
20734
20871
  }
@@ -20790,7 +20927,7 @@ function formatSingularLookupInvocation(cmdId, value) {
20790
20927
  return safe ? `/${cmdId} "${safe}"` : `/${cmdId}`;
20791
20928
  }
20792
20929
  function extractEntityIdFilter(override, expectedTableId) {
20793
- const f = _optionalChain([override, 'optionalAccess', _381 => _381.entityIdFilter]);
20930
+ const f = _optionalChain([override, 'optionalAccess', _384 => _384.entityIdFilter]);
20794
20931
  if (!f) return null;
20795
20932
  const tableId = typeof f.tableId === "string" ? f.tableId : "";
20796
20933
  const id = typeof f.id === "string" ? f.id : "";
@@ -20865,7 +21002,7 @@ function getTaskTypeLabel(customItemId) {
20865
21002
 
20866
21003
  // src/components/chat/utils/agent-status-message.ts
20867
21004
  function getStatusColorScheme(status) {
20868
- const s = _optionalChain([status, 'optionalAccess', _382 => _382.toLowerCase, 'call', _383 => _383()]) || "";
21005
+ const s = _optionalChain([status, 'optionalAccess', _385 => _385.toLowerCase, 'call', _386 => _386()]) || "";
20869
21006
  switch (status) {
20870
21007
  case "completed":
20871
21008
  case "success":
@@ -21147,10 +21284,10 @@ var CONTENT_REF_GROUPS = {
21147
21284
  what_i_shipped: { label: "What I Shipped", order: 10, layout: "grid", gridSize: "default" }
21148
21285
  };
21149
21286
  function getContentRefLabel(type) {
21150
- return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _384 => _384[type], 'optionalAccess', _385 => _385.label]), () => ( null));
21287
+ return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _387 => _387[type], 'optionalAccess', _388 => _388.label]), () => ( null));
21151
21288
  }
21152
21289
  function getContentRefLabelOrTitleCase(type) {
21153
- return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _386 => _386[type], 'optionalAccess', _387 => _387.label]), () => ( type.replace(/_/g, " ").replace(/\b\w/g, (ch) => ch.toUpperCase())));
21290
+ return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _389 => _389[type], 'optionalAccess', _390 => _390.label]), () => ( type.replace(/_/g, " ").replace(/\b\w/g, (ch) => ch.toUpperCase())));
21154
21291
  }
21155
21292
  function orderContentRefTypes(present) {
21156
21293
  const presentSet = new Set(present);
@@ -21309,7 +21446,7 @@ function getDocSourceDefaultPath(structure, folderIndexFile = DEFAULT_FOLDER_IND
21309
21446
  const firstFolderWithReadme = structure.find(
21310
21447
  (node) => node.type === "folder" && node.hasReadme && !!node.path
21311
21448
  );
21312
- return _nullishCoalesce(_optionalChain([firstFolderWithReadme, 'optionalAccess', _388 => _388.path]), () => ( null));
21449
+ return _nullishCoalesce(_optionalChain([firstFolderWithReadme, 'optionalAccess', _391 => _391.path]), () => ( null));
21313
21450
  }
21314
21451
 
21315
21452
  // src/utils/doc-path-utils.ts
@@ -21320,7 +21457,7 @@ function pathToNodeId(path) {
21320
21457
  return path.replace(/[\/\s]/g, "-").toLowerCase();
21321
21458
  }
21322
21459
  function normalizeDocPath(segments, folderIndexFile = DEFAULT_FOLDER_INDEX_FILE) {
21323
- const lowerPath = (_optionalChain([segments, 'optionalAccess', _389 => _389.join, 'call', _390 => _390("/")]) || "").toLowerCase();
21460
+ const lowerPath = (_optionalChain([segments, 'optionalAccess', _392 => _392.join, 'call', _393 => _393("/")]) || "").toLowerCase();
21324
21461
  const lowerIndex = folderIndexFile.toLowerCase();
21325
21462
  const suffix = `/${lowerIndex}`;
21326
21463
  if (lowerPath.endsWith(suffix)) return lowerPath.slice(0, -suffix.length);
@@ -22142,26 +22279,26 @@ function DeviceCard({
22142
22279
  ] }),
22143
22280
  device.organization && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary truncate", title: device.organization, children: device.organization })
22144
22281
  ] }),
22145
- _optionalChain([actions, 'access', _391 => _391.moreButton, 'optionalAccess', _392 => _392.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22282
+ _optionalChain([actions, 'access', _394 => _394.moreButton, 'optionalAccess', _395 => _395.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22146
22283
  "div",
22147
22284
  {
22148
22285
  className: "flex items-center justify-center p-3 rounded-[6px] shrink-0 border border-ods-border cursor-pointer hover:bg-ods-bg-hover transition-colors",
22149
22286
  onClick: (e) => {
22150
22287
  e.stopPropagation();
22151
- _optionalChain([actions, 'access', _393 => _393.moreButton, 'optionalAccess', _394 => _394.onClick, 'optionalCall', _395 => _395()]);
22288
+ _optionalChain([actions, 'access', _396 => _396.moreButton, 'optionalAccess', _397 => _397.onClick, 'optionalCall', _398 => _398()]);
22152
22289
  },
22153
22290
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.Ellipsis01Icon, { className: "text-ods-text-primary" })
22154
22291
  }
22155
22292
  ),
22156
- _optionalChain([actions, 'access', _396 => _396.detailsButton, 'optionalAccess', _397 => _397.visible]) !== false && _optionalChain([actions, 'access', _398 => _398.detailsButton, 'optionalAccess', _399 => _399.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
22157
- _optionalChain([actions, 'access', _400 => _400.customActions, 'optionalAccess', _401 => _401.map, 'call', _402 => _402(
22293
+ _optionalChain([actions, 'access', _399 => _399.detailsButton, 'optionalAccess', _400 => _400.visible]) !== false && _optionalChain([actions, 'access', _401 => _401.detailsButton, 'optionalAccess', _402 => _402.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
22294
+ _optionalChain([actions, 'access', _403 => _403.customActions, 'optionalAccess', _404 => _404.map, 'call', _405 => _405(
22158
22295
  (action, index) => action.visible !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22159
22296
  "div",
22160
22297
  {
22161
22298
  className: "flex items-center justify-center px-4 py-3 rounded-[6px] shrink-0 border border-ods-border cursor-pointer hover:bg-ods-bg-hover transition-colors",
22162
22299
  onClick: (e) => {
22163
22300
  e.stopPropagation();
22164
- _optionalChain([action, 'access', _403 => _403.onClick, 'optionalCall', _404 => _404()]);
22301
+ _optionalChain([action, 'access', _406 => _406.onClick, 'optionalCall', _407 => _407()]);
22165
22302
  },
22166
22303
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h3 text-ods-text-primary text-nowrap tracking-[-0.36px]", children: action.label })
22167
22304
  },
@@ -22661,7 +22798,7 @@ function MoreActionsMenu({
22661
22798
  ] });
22662
22799
  const handleActivate = (e) => {
22663
22800
  e.stopPropagation();
22664
- if (!item.disabled) _optionalChain([item, 'access', _405 => _405.onClick, 'optionalCall', _406 => _406()]);
22801
+ if (!item.disabled) _optionalChain([item, 'access', _408 => _408.onClick, 'optionalCall', _409 => _409()]);
22665
22802
  };
22666
22803
  if (item.href) {
22667
22804
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -22728,7 +22865,7 @@ function OrganizationCard({
22728
22865
  const handleActionClick = (e) => {
22729
22866
  e.preventDefault();
22730
22867
  e.stopPropagation();
22731
- _optionalChain([actionButton, 'optionalAccess', _407 => _407.onClick, 'call', _408 => _408(organization, e)]);
22868
+ _optionalChain([actionButton, 'optionalAccess', _410 => _410.onClick, 'call', _411 => _411(organization, e)]);
22732
22869
  };
22733
22870
  const card = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
22734
22871
  "div",
@@ -23634,10 +23771,10 @@ var getContentDimensions = (config) => {
23634
23771
  const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
23635
23772
  const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
23636
23773
  const envDesktopHeight = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT) : null;
23637
- const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _409 => _409.mobileContentDimensions, 'optionalAccess', _410 => _410.width]))), () => ( defaultMobile.width));
23638
- const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _411 => _411.mobileContentDimensions, 'optionalAccess', _412 => _412.height]))), () => ( defaultMobile.height));
23639
- const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _413 => _413.desktopContentDimensions, 'optionalAccess', _414 => _414.width]))), () => ( defaultDesktop.width));
23640
- const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _415 => _415.desktopContentDimensions, 'optionalAccess', _416 => _416.height]))), () => ( defaultDesktop.height));
23774
+ const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _412 => _412.mobileContentDimensions, 'optionalAccess', _413 => _413.width]))), () => ( defaultMobile.width));
23775
+ const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _414 => _414.mobileContentDimensions, 'optionalAccess', _415 => _415.height]))), () => ( defaultMobile.height));
23776
+ const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _416 => _416.desktopContentDimensions, 'optionalAccess', _417 => _417.width]))), () => ( defaultDesktop.width));
23777
+ const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _418 => _418.desktopContentDimensions, 'optionalAccess', _419 => _419.height]))), () => ( defaultDesktop.height));
23641
23778
  return {
23642
23779
  mobile: { width: mobileWidth, height: mobileHeight },
23643
23780
  desktop: { width: desktopWidth, height: desktopHeight }
@@ -23771,7 +23908,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
23771
23908
  const contentDimensions = getContentDimensions(config);
23772
23909
  const mobileHeight = contentDimensions.mobile.height;
23773
23910
  const calculatedHeight = Math.max(mobileHeight + 100, 400);
23774
- return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _417 => _417.innerHeight]) * 0.85 || 650)}px`;
23911
+ return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _420 => _420.innerHeight]) * 0.85 || 650)}px`;
23775
23912
  })(),
23776
23913
  minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
23777
23914
  const contentDimensions = getContentDimensions(config);
@@ -23876,7 +24013,7 @@ var FigmaPrototypeViewer = ({
23876
24013
  const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
23877
24014
  const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
23878
24015
  const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
23879
- config.defaultSectionId || _optionalChain([config, 'access', _418 => _418.sections, 'access', _419 => _419[0], 'optionalAccess', _420 => _420.id]) || ""
24016
+ config.defaultSectionId || _optionalChain([config, 'access', _421 => _421.sections, 'access', _422 => _422[0], 'optionalAccess', _423 => _423.id]) || ""
23880
24017
  );
23881
24018
  const activeSection = externalActiveSection || internalActiveSection;
23882
24019
  const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
@@ -23966,7 +24103,7 @@ var FigmaPrototypeViewer = ({
23966
24103
  const handleMessage = (event) => {
23967
24104
  if (event.origin !== "https://www.figma.com") return;
23968
24105
  const validEvents = ["INITIAL_LOAD", "NEW_STATE", "PRESENTED_NODE_CHANGED"];
23969
- if (_optionalChain([event, 'access', _421 => _421.data, 'optionalAccess', _422 => _422.type]) && validEvents.includes(event.data.type)) {
24106
+ if (_optionalChain([event, 'access', _424 => _424.data, 'optionalAccess', _425 => _425.type]) && validEvents.includes(event.data.type)) {
23970
24107
  const figmaEvent = event.data;
23971
24108
  console.log("[Figma Event]", figmaEvent.type, viewMode);
23972
24109
  switch (figmaEvent.type) {
@@ -23976,19 +24113,19 @@ var FigmaPrototypeViewer = ({
23976
24113
  setIframeState("READY");
23977
24114
  break;
23978
24115
  case "PRESENTED_NODE_CHANGED":
23979
- if (_optionalChain([figmaEvent, 'access', _423 => _423.data, 'optionalAccess', _424 => _424.presentedNodeId])) {
24116
+ if (_optionalChain([figmaEvent, 'access', _426 => _426.data, 'optionalAccess', _427 => _427.presentedNodeId])) {
23980
24117
  setCurrentNodeId(figmaEvent.data.presentedNodeId);
23981
24118
  if (!isNavigating) {
23982
24119
  const matchingSection = config.sections.find((s) => {
23983
- const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _425 => _425.data, 'optionalAccess', _426 => _426.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _427 => _427.data, 'optionalAccess', _428 => _428.presentedNodeId]);
23984
- const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _429 => _429.data, 'optionalAccess', _430 => _430.presentedNodeId]) || _optionalChain([s, 'access', _431 => _431.mobileStartingNodeId, 'optionalAccess', _432 => _432.replace, 'call', _433 => _433(":", "-")]) === _optionalChain([figmaEvent, 'access', _434 => _434.data, 'optionalAccess', _435 => _435.presentedNodeId]);
24120
+ const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _428 => _428.data, 'optionalAccess', _429 => _429.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _430 => _430.data, 'optionalAccess', _431 => _431.presentedNodeId]);
24121
+ const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _432 => _432.data, 'optionalAccess', _433 => _433.presentedNodeId]) || _optionalChain([s, 'access', _434 => _434.mobileStartingNodeId, 'optionalAccess', _435 => _435.replace, 'call', _436 => _436(":", "-")]) === _optionalChain([figmaEvent, 'access', _437 => _437.data, 'optionalAccess', _438 => _438.presentedNodeId]);
23985
24122
  return desktopMatch || mobileMatch;
23986
24123
  });
23987
24124
  if (matchingSection && matchingSection.id !== activeSection) {
23988
24125
  if (!externalActiveSection) {
23989
24126
  setInternalActiveSection(matchingSection.id);
23990
24127
  }
23991
- _optionalChain([config, 'access', _436 => _436.onSectionChange, 'optionalCall', _437 => _437(matchingSection.id)]);
24128
+ _optionalChain([config, 'access', _439 => _439.onSectionChange, 'optionalCall', _440 => _440(matchingSection.id)]);
23992
24129
  }
23993
24130
  }
23994
24131
  }
@@ -24001,7 +24138,7 @@ var FigmaPrototypeViewer = ({
24001
24138
  }, [config.sections, activeSection, isNavigating, externalActiveSection, config.onSectionChange, viewMode]);
24002
24139
  const navigateToSection = _react.useCallback.call(void 0, (sectionId) => {
24003
24140
  const section = config.sections.find((s) => s.id === sectionId);
24004
- if (!section || !_optionalChain([iframeRef, 'access', _438 => _438.current, 'optionalAccess', _439 => _439.contentWindow]) || !isInitialized) {
24141
+ if (!section || !_optionalChain([iframeRef, 'access', _441 => _441.current, 'optionalAccess', _442 => _442.contentWindow]) || !isInitialized) {
24005
24142
  return;
24006
24143
  }
24007
24144
  setIsNavigating(true);
@@ -24009,7 +24146,7 @@ var FigmaPrototypeViewer = ({
24009
24146
  if (!externalActiveSection) {
24010
24147
  setInternalActiveSection(sectionId);
24011
24148
  }
24012
- _optionalChain([config, 'access', _440 => _440.onSectionChange, 'optionalCall', _441 => _441(sectionId)]);
24149
+ _optionalChain([config, 'access', _443 => _443.onSectionChange, 'optionalCall', _444 => _444(sectionId)]);
24013
24150
  const command = {
24014
24151
  type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
24015
24152
  data: { nodeId }
@@ -24329,7 +24466,7 @@ var FiltersDropdown = ({
24329
24466
  defaults[section.id] = section.defaultSelected || [];
24330
24467
  });
24331
24468
  setSelectedFilters(defaults);
24332
- _optionalChain([onReset, 'optionalCall', _442 => _442()]);
24469
+ _optionalChain([onReset, 'optionalCall', _445 => _445()]);
24333
24470
  setIsOpen(false);
24334
24471
  };
24335
24472
  const handleApply = () => {
@@ -24622,7 +24759,7 @@ function MediaGalleryManager({
24622
24759
  const [deletingIndex, setDeletingIndex] = _react.useState.call(void 0, null);
24623
24760
  const [draggedIndex, setDraggedIndex] = _react.useState.call(void 0, null);
24624
24761
  const handleFileSelect = _react.useCallback.call(void 0, async (event) => {
24625
- const file = _optionalChain([event, 'access', _443 => _443.target, 'access', _444 => _444.files, 'optionalAccess', _445 => _445[0]]);
24762
+ const file = _optionalChain([event, 'access', _446 => _446.target, 'access', _447 => _447.files, 'optionalAccess', _448 => _448[0]]);
24626
24763
  if (!file) return;
24627
24764
  let mediaType;
24628
24765
  if (file.type.startsWith("image/")) {
@@ -24737,7 +24874,7 @@ function MediaGalleryManager({
24737
24874
  {
24738
24875
  type: "button",
24739
24876
  variant: "outline",
24740
- onClick: () => _optionalChain([fileInputRef, 'access', _446 => _446.current, 'optionalAccess', _447 => _447.click, 'call', _448 => _448()]),
24877
+ onClick: () => _optionalChain([fileInputRef, 'access', _449 => _449.current, 'optionalAccess', _450 => _450.click, 'call', _451 => _451()]),
24741
24878
  disabled: isUploading,
24742
24879
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
24743
24880
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -25405,7 +25542,7 @@ function ReleaseMediaManager({
25405
25542
  const fileInputRef = _react.useRef.call(void 0, null);
25406
25543
  const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
25407
25544
  const handleFileSelect = async (event) => {
25408
- const file = _optionalChain([event, 'access', _449 => _449.target, 'access', _450 => _450.files, 'optionalAccess', _451 => _451[0]]);
25545
+ const file = _optionalChain([event, 'access', _452 => _452.target, 'access', _453 => _453.files, 'optionalAccess', _454 => _454[0]]);
25409
25546
  if (!file) return;
25410
25547
  let mediaType;
25411
25548
  if (file.type.startsWith("image/")) {
@@ -25485,7 +25622,7 @@ function ReleaseMediaManager({
25485
25622
  {
25486
25623
  type: "button",
25487
25624
  variant: "outline",
25488
- onClick: () => _optionalChain([fileInputRef, 'access', _452 => _452.current, 'optionalAccess', _453 => _453.click, 'call', _454 => _454()]),
25625
+ onClick: () => _optionalChain([fileInputRef, 'access', _455 => _455.current, 'optionalAccess', _456 => _456.click, 'call', _457 => _457()]),
25489
25626
  disabled: uploadingIndex !== null,
25490
25627
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
25491
25628
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -25700,7 +25837,7 @@ function SEOEditorPreview({
25700
25837
  const displayImage = hasOgImage || hasFeaturedImage;
25701
25838
  const handleImageUpload = async (event) => {
25702
25839
  if (!onOgImageUpload) return;
25703
- const file = _optionalChain([event, 'access', _455 => _455.target, 'access', _456 => _456.files, 'optionalAccess', _457 => _457[0]]);
25840
+ const file = _optionalChain([event, 'access', _458 => _458.target, 'access', _459 => _459.files, 'optionalAccess', _460 => _460[0]]);
25704
25841
  if (!file) return;
25705
25842
  setIsUploading(true);
25706
25843
  try {
@@ -25850,7 +25987,7 @@ function SEOEditorPreview({
25850
25987
  type: "button",
25851
25988
  variant: "outline",
25852
25989
  size: "icon",
25853
- onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _458 => _458.click, 'call', _459 => _459()]),
25990
+ onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _461 => _461.click, 'call', _462 => _462()]),
25854
25991
  disabled: disabled || isUploading,
25855
25992
  className: "bg-white text-black hover:bg-gray-100 rounded-full opacity-0 group-hover:opacity-100",
25856
25993
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
@@ -25873,7 +26010,7 @@ function SEOEditorPreview({
25873
26010
  "div",
25874
26011
  {
25875
26012
  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",
25876
- onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _460 => _460.click, 'call', _461 => _461()]),
26013
+ onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _463 => _463.click, 'call', _464 => _464()]),
25877
26014
  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: [
25878
26015
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
25879
26016
  /* @__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" })
@@ -25958,7 +26095,7 @@ function SocialLinksManager({
25958
26095
  className = ""
25959
26096
  }) {
25960
26097
  const addLink = () => {
25961
- const firstPlatform = _optionalChain([platforms, 'access', _462 => _462[0], 'optionalAccess', _463 => _463.name]) || "website";
26098
+ const firstPlatform = _optionalChain([platforms, 'access', _465 => _465[0], 'optionalAccess', _466 => _466.name]) || "website";
25962
26099
  onChange([...links, { platform: firstPlatform, url: "" }]);
25963
26100
  };
25964
26101
  const removeLink = (index) => {
@@ -25970,7 +26107,7 @@ function SocialLinksManager({
25970
26107
  onChange(updated);
25971
26108
  };
25972
26109
  const getIcon = (link, platform) => {
25973
- const iconKey = _optionalChain([platform, 'optionalAccess', _464 => _464.icon_name]) || link.platform;
26110
+ const iconKey = _optionalChain([platform, 'optionalAccess', _467 => _467.icon_name]) || link.platform;
25974
26111
  const IconComponent = iconMap[iconKey];
25975
26112
  return IconComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: "w-5 h-5 text-ods-text-secondary" }) : null;
25976
26113
  };
@@ -25995,7 +26132,7 @@ function SocialLinksManager({
25995
26132
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25996
26133
  _chunkQJGRP2YEcjs.Input,
25997
26134
  {
25998
- placeholder: _optionalChain([platform, 'optionalAccess', _465 => _465.placeholder]) || "Profile URL",
26135
+ placeholder: _optionalChain([platform, 'optionalAccess', _468 => _468.placeholder]) || "Profile URL",
25999
26136
  value: link.url,
26000
26137
  onChange: (e) => updateLink(index, "url", e.target.value),
26001
26138
  onKeyDown: (e) => {
@@ -26374,7 +26511,7 @@ function useVideoOriginPreconnect({
26374
26511
  supabaseStorageOrigin
26375
26512
  } = {}) {
26376
26513
  const runtime = _chunkN2DVKXN4cjs.useChatRuntime.call(void 0, );
26377
- const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _466 => _466.endpoints, 'access', _467 => _467.supabaseStorageOrigin])));
26514
+ const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _469 => _469.endpoints, 'access', _470 => _470.supabaseStorageOrigin])));
26378
26515
  try {
26379
26516
  ReactDOM2.default.preconnect(MUX_STREAM_ORIGIN, { crossOrigin: "anonymous" });
26380
26517
  ReactDOM2.default.preconnect(MUX_IMAGE_ORIGIN, { crossOrigin: "anonymous" });
@@ -26393,13 +26530,13 @@ function useVideoWarmup({
26393
26530
  nearMargin = "1000px"
26394
26531
  } = {}) {
26395
26532
  const runtime = _chunkN2DVKXN4cjs.useChatRuntime.call(void 0, );
26396
- const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _468 => _468.endpoints, 'access', _469 => _469.supabaseStorageOrigin])));
26533
+ const resolvedOrigin = _nullishCoalesce(supabaseStorageOrigin, () => ( _optionalChain([runtime, 'optionalAccess', _471 => _471.endpoints, 'access', _472 => _472.supabaseStorageOrigin])));
26397
26534
  useVideoOriginPreconnect({ supabaseStorageOrigin: resolvedOrigin });
26398
26535
  const { ref, isNear } = _chunk27IO7V3Pcjs.useNearViewport.call(void 0, nearMargin);
26399
26536
  _react.useEffect.call(void 0, () => {
26400
26537
  if (!isNear || !videoUrl || !resolvedOrigin) return;
26401
26538
  const conn = navigator.connection;
26402
- if (_optionalChain([conn, 'optionalAccess', _470 => _470.saveData]) === true) return;
26539
+ if (_optionalChain([conn, 'optionalAccess', _473 => _473.saveData]) === true) return;
26403
26540
  let videoOrigin;
26404
26541
  try {
26405
26542
  videoOrigin = new URL(videoUrl, "http://placeholder.local").origin;
@@ -26469,7 +26606,7 @@ function VideoSourceSelector({
26469
26606
  input.accept = "video/*";
26470
26607
  input.onchange = async (e) => {
26471
26608
  const target = e.target;
26472
- const file = _optionalChain([target, 'access', _471 => _471.files, 'optionalAccess', _472 => _472[0]]);
26609
+ const file = _optionalChain([target, 'access', _474 => _474.files, 'optionalAccess', _475 => _475[0]]);
26473
26610
  if (!file) return;
26474
26611
  setIsUploading(true);
26475
26612
  setUploadProgress(0);
@@ -26830,7 +26967,7 @@ function TranscriptSummaryEditor({
26830
26967
  {
26831
26968
  id: "subtitles",
26832
26969
  value: subtitles || "",
26833
- onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _473 => _473(e.target.value)]),
26970
+ onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _476 => _476(e.target.value)]),
26834
26971
  placeholder: subtitlesPlaceholder,
26835
26972
  disabled: disabled || !onSubtitlesChange,
26836
26973
  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",
@@ -26983,7 +27120,7 @@ var AIEnrichSection = ({
26983
27120
  }) => {
26984
27121
  const hasResults = status === "success" || status === "error";
26985
27122
  const shouldDisable = disabled || !canEnrich;
26986
- const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _474 => _474.filter, 'call', _475 => _475((f) => !f.isFilled)]) || [];
27123
+ const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _477 => _477.filter, 'call', _478 => _478((f) => !f.isFilled)]) || [];
26987
27124
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
26988
27125
  "div",
26989
27126
  {
@@ -27021,7 +27158,7 @@ var AIEnrichSection = ({
27021
27158
  {
27022
27159
  id: "ai-enrich-custom-instructions",
27023
27160
  value: _nullishCoalesce(customInstructions, () => ( "")),
27024
- onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _476 => _476(e.target.value)]),
27161
+ onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _479 => _479(e.target.value)]),
27025
27162
  placeholder: customInstructionsPlaceholder,
27026
27163
  disabled: loading,
27027
27164
  maxLength: customInstructionsMaxLength,
@@ -27150,7 +27287,7 @@ function HighlightVideoSection({
27150
27287
  input.accept = "video/*";
27151
27288
  input.onchange = async (e) => {
27152
27289
  const target = e.target;
27153
- const file = _optionalChain([target, 'access', _477 => _477.files, 'optionalAccess', _478 => _478[0]]);
27290
+ const file = _optionalChain([target, 'access', _480 => _480.files, 'optionalAccess', _481 => _481[0]]);
27154
27291
  if (!file) return;
27155
27292
  setUploadError(null);
27156
27293
  try {
@@ -27652,7 +27789,7 @@ function HighlightVideoPreview({
27652
27789
  input.accept = "video/*";
27653
27790
  input.onchange = async (e) => {
27654
27791
  const target = e.target;
27655
- const file = _optionalChain([target, 'access', _479 => _479.files, 'optionalAccess', _480 => _480[0]]);
27792
+ const file = _optionalChain([target, 'access', _482 => _482.files, 'optionalAccess', _483 => _483[0]]);
27656
27793
  if (!file) return;
27657
27794
  await onUpload(file);
27658
27795
  };
@@ -27839,7 +27976,7 @@ function HighlightVideoCombinedSection({
27839
27976
  input.accept = "video/*";
27840
27977
  input.onchange = async (e) => {
27841
27978
  const target = e.target;
27842
- const file = _optionalChain([target, 'access', _481 => _481.files, 'optionalAccess', _482 => _482[0]]);
27979
+ const file = _optionalChain([target, 'access', _484 => _484.files, 'optionalAccess', _485 => _485[0]]);
27843
27980
  if (!file) return;
27844
27981
  await onUpload(file);
27845
27982
  };
@@ -28136,7 +28273,7 @@ var getApprovalLevelLabel = (level, editMode = false) => {
28136
28273
  return editMode ? "Set Global Permission" : "";
28137
28274
  }
28138
28275
  const option = approvalLevelOptions.find((opt) => opt.value === level);
28139
- return _optionalChain([option, 'optionalAccess', _483 => _483.label]) || level;
28276
+ return _optionalChain([option, 'optionalAccess', _486 => _486.label]) || level;
28140
28277
  };
28141
28278
  var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
28142
28279
  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: [
@@ -28350,12 +28487,12 @@ function PhoneInput({
28350
28487
  const runValidation = _react.useCallback.call(void 0, (phone) => {
28351
28488
  if (!phone || digitCount(phone) === 0) {
28352
28489
  setIsInvalid(false);
28353
- _optionalChain([onValidationChange, 'optionalCall', _484 => _484(false)]);
28490
+ _optionalChain([onValidationChange, 'optionalCall', _487 => _487(false)]);
28354
28491
  return;
28355
28492
  }
28356
28493
  const invalid = !validatePhoneNumber(phone, countryCode);
28357
28494
  setIsInvalid(invalid);
28358
- _optionalChain([onValidationChange, 'optionalCall', _485 => _485(invalid)]);
28495
+ _optionalChain([onValidationChange, 'optionalCall', _488 => _488(invalid)]);
28359
28496
  }, [countryCode, digitCount, onValidationChange]);
28360
28497
  const debouncedValidation = _react.useCallback.call(void 0, (phone) => {
28361
28498
  if (debounceRef.current) clearTimeout(debounceRef.current);
@@ -28404,7 +28541,7 @@ function PhoneInput({
28404
28541
  debouncedValidation(val);
28405
28542
  } else if (digitCount(val) === 0) {
28406
28543
  setIsInvalid(false);
28407
- _optionalChain([onValidationChange, 'optionalCall', _486 => _486(false)]);
28544
+ _optionalChain([onValidationChange, 'optionalCall', _489 => _489(false)]);
28408
28545
  }
28409
28546
  }
28410
28547
  },
@@ -28745,19 +28882,19 @@ function NotificationsProvider({
28745
28882
  }, []);
28746
28883
  const markRead = React90.useCallback((id) => {
28747
28884
  dispatch({ type: "markRead", id });
28748
- void _optionalChain([actionsRef, 'access', _487 => _487.current, 'optionalAccess', _488 => _488.onMarkRead, 'optionalCall', _489 => _489(id)]);
28885
+ void _optionalChain([actionsRef, 'access', _490 => _490.current, 'optionalAccess', _491 => _491.onMarkRead, 'optionalCall', _492 => _492(id)]);
28749
28886
  }, []);
28750
28887
  const markAllRead = React90.useCallback(() => {
28751
28888
  dispatch({ type: "markAllRead" });
28752
- void _optionalChain([actionsRef, 'access', _490 => _490.current, 'optionalAccess', _491 => _491.onMarkAllRead, 'optionalCall', _492 => _492()]);
28889
+ void _optionalChain([actionsRef, 'access', _493 => _493.current, 'optionalAccess', _494 => _494.onMarkAllRead, 'optionalCall', _495 => _495()]);
28753
28890
  }, []);
28754
28891
  const markSettled = React90.useCallback((id) => {
28755
28892
  dispatch({ type: "markSettled", id });
28756
- void _optionalChain([actionsRef, 'access', _493 => _493.current, 'optionalAccess', _494 => _494.onMarkSettled, 'optionalCall', _495 => _495(id)]);
28893
+ void _optionalChain([actionsRef, 'access', _496 => _496.current, 'optionalAccess', _497 => _497.onMarkSettled, 'optionalCall', _498 => _498(id)]);
28757
28894
  }, []);
28758
28895
  const remove = React90.useCallback((id) => {
28759
28896
  dispatch({ type: "remove", id });
28760
- void _optionalChain([actionsRef, 'access', _496 => _496.current, 'optionalAccess', _497 => _497.onRemove, 'optionalCall', _498 => _498(id)]);
28897
+ void _optionalChain([actionsRef, 'access', _499 => _499.current, 'optionalAccess', _500 => _500.onRemove, 'optionalCall', _501 => _501(id)]);
28761
28898
  }, []);
28762
28899
  const clear = React90.useCallback(() => dispatch({ type: "clear" }), []);
28763
28900
  const open = React90.useCallback(() => setIsOpen(true), []);
@@ -28766,14 +28903,14 @@ function NotificationsProvider({
28766
28903
  const setShowPopups = React90.useCallback(
28767
28904
  (value2) => {
28768
28905
  setShowPopupsState(value2);
28769
- _optionalChain([onShowPopupsChange, 'optionalCall', _499 => _499(value2)]);
28906
+ _optionalChain([onShowPopupsChange, 'optionalCall', _502 => _502(value2)]);
28770
28907
  },
28771
28908
  [onShowPopupsChange]
28772
28909
  );
28773
28910
  const setShowDesktopPopups = React90.useCallback(
28774
28911
  (value2) => {
28775
28912
  setShowDesktopPopupsState(value2);
28776
- _optionalChain([onShowDesktopPopupsChange, 'optionalCall', _500 => _500(value2)]);
28913
+ _optionalChain([onShowDesktopPopupsChange, 'optionalCall', _503 => _503(value2)]);
28777
28914
  },
28778
28915
  [onShowDesktopPopupsChange]
28779
28916
  );
@@ -28877,7 +29014,7 @@ function NotificationTile({
28877
29014
  if (!counting) return;
28878
29015
  const remaining = Math.max(0, liveDurationMs - initialElapsed);
28879
29016
  const timer = window.setTimeout(() => {
28880
- _optionalChain([onSettle, 'optionalCall', _501 => _501(id)]);
29017
+ _optionalChain([onSettle, 'optionalCall', _504 => _504(id)]);
28881
29018
  }, remaining);
28882
29019
  return () => window.clearTimeout(timer);
28883
29020
  }, [id, counting, initialElapsed, liveDurationMs, onSettle]);
@@ -28939,7 +29076,7 @@ function NotificationTile({
28939
29076
  "button",
28940
29077
  {
28941
29078
  type: "button",
28942
- onClick: () => _optionalChain([onSettle, 'optionalCall', _502 => _502(id)]),
29079
+ onClick: () => _optionalChain([onSettle, 'optionalCall', _505 => _505(id)]),
28943
29080
  "aria-label": "Dismiss notification",
28944
29081
  tabIndex: isLive ? 0 : -1,
28945
29082
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
@@ -29072,7 +29209,7 @@ function DrawerScrollList({
29072
29209
  if (!sentinel || !root) return;
29073
29210
  const observer = new IntersectionObserver(
29074
29211
  (entries) => {
29075
- if (_optionalChain([entries, 'access', _503 => _503[0], 'optionalAccess', _504 => _504.isIntersecting])) _optionalChain([loadMoreRef, 'access', _505 => _505.current, 'optionalCall', _506 => _506()]);
29212
+ if (_optionalChain([entries, 'access', _506 => _506[0], 'optionalAccess', _507 => _507.isIntersecting])) _optionalChain([loadMoreRef, 'access', _508 => _508.current, 'optionalCall', _509 => _509()]);
29076
29213
  },
29077
29214
  { root, rootMargin: loadMoreRootMargin }
29078
29215
  );
@@ -29087,7 +29224,7 @@ function DrawerScrollList({
29087
29224
  className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
29088
29225
  children: isEmpty && !isLoadingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyState, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
29089
29226
  unreadNotifications.map((n) => {
29090
- const custom = _optionalChain([renderTile, 'optionalCall', _507 => _507(n, { onComplete, onSettle, liveDurationMs })]);
29227
+ const custom = _optionalChain([renderTile, 'optionalCall', _510 => _510(n, { onComplete, onSettle, liveDurationMs })]);
29091
29228
  if (custom) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: custom }, n.id);
29092
29229
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29093
29230
  NotificationTile,
@@ -29251,7 +29388,7 @@ function NotificationPopups({
29251
29388
  className
29252
29389
  ),
29253
29390
  children: live.map((n) => {
29254
- const custom = _optionalChain([renderTile, 'optionalCall', _508 => _508(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
29391
+ const custom = _optionalChain([renderTile, 'optionalCall', _511 => _511(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
29255
29392
  if (custom) {
29256
29393
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto", children: custom }, n.id);
29257
29394
  }
@@ -29431,21 +29568,21 @@ function transformWebinarToProgram(webinar) {
29431
29568
  // src/components/features/notifications/types.ts
29432
29569
  var ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = "ADMIN_APPROVAL_REQUEST";
29433
29570
  function isApprovalNotification(notification) {
29434
- return _optionalChain([notification, 'access', _509 => _509.meta, 'optionalAccess', _510 => _510.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
29571
+ return _optionalChain([notification, 'access', _512 => _512.meta, 'optionalAccess', _513 => _513.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
29435
29572
  }
29436
29573
  function getApprovalMeta(notification) {
29437
29574
  if (!isApprovalNotification(notification)) return null;
29438
29575
  const meta = notification.meta;
29439
- const approvalRequestId = _optionalChain([meta, 'optionalAccess', _511 => _511.approvalRequestId]);
29440
- const toolCalls = _optionalChain([meta, 'optionalAccess', _512 => _512.toolCalls]);
29576
+ const approvalRequestId = _optionalChain([meta, 'optionalAccess', _514 => _514.approvalRequestId]);
29577
+ const toolCalls = _optionalChain([meta, 'optionalAccess', _515 => _515.toolCalls]);
29441
29578
  if (typeof approvalRequestId !== "string" || !Array.isArray(toolCalls)) return null;
29442
29579
  return {
29443
29580
  approvalRequestId,
29444
- dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _513 => _513.dialogId]), () => ( null)),
29445
- ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _514 => _514.ticketId]), () => ( null)),
29446
- approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _515 => _515.approvalType]), () => ( null)),
29447
- resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _516 => _516.resolution]), () => ( null)),
29448
- resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _517 => _517.resolvedByName]), () => ( null)),
29581
+ dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _516 => _516.dialogId]), () => ( null)),
29582
+ ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _517 => _517.ticketId]), () => ( null)),
29583
+ approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _518 => _518.approvalType]), () => ( null)),
29584
+ resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _519 => _519.resolution]), () => ( null)),
29585
+ resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _520 => _520.resolvedByName]), () => ( null)),
29449
29586
  toolCalls
29450
29587
  };
29451
29588
  }
@@ -29494,7 +29631,7 @@ function ApprovalRequestNotificationTile({
29494
29631
  const [pinned, setPinned] = _react.useState.call(void 0, defaultExpanded);
29495
29632
  const [localStatus, setLocalStatus] = _react.useState.call(void 0, null);
29496
29633
  const approval = getApprovalMeta(notification);
29497
- const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _518 => _518.resolution]));
29634
+ const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _521 => _521.resolution]));
29498
29635
  const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
29499
29636
  const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
29500
29637
  const { innerRef, containerStyle } = useCollapsible({ expanded });
@@ -29762,7 +29899,7 @@ function TimeTrackerPanel({
29762
29899
  error: showFieldError ? "Required if no notes added" : void 0,
29763
29900
  disableClientFilter: !!onTicketSearch,
29764
29901
  onInputChange: (value, reason) => {
29765
- if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _519 => _519(value)]);
29902
+ if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _522 => _522(value)]);
29766
29903
  }
29767
29904
  }
29768
29905
  )
@@ -29852,7 +29989,7 @@ function LastEntryRow({ entry, onClick }) {
29852
29989
  {
29853
29990
  variant: "outline",
29854
29991
  size: "icon",
29855
- onClick: () => _optionalChain([onClick, 'optionalCall', _520 => _520(entry)]),
29992
+ onClick: () => _optionalChain([onClick, 'optionalCall', _523 => _523(entry)]),
29856
29993
  disabled: !onClick,
29857
29994
  "aria-label": `Open entry: ${entry.title}`,
29858
29995
  className: "h-12 w-12 shrink-0 [&_svg]:!size-6",
@@ -29896,9 +30033,9 @@ function HeaderButton({
29896
30033
  function TimeTrackerHeaderButton({ className, disabled }) {
29897
30034
  const ctx = useOptionalTimeTracker();
29898
30035
  const elapsedLabel = useTrackerClock({
29899
- status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _521 => _521.status]), () => ( "ready")),
29900
- runningSince: _optionalChain([ctx, 'optionalAccess', _522 => _522.runningSince]),
29901
- accumulatedMs: _optionalChain([ctx, 'optionalAccess', _523 => _523.accumulatedMs])
30036
+ status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _524 => _524.status]), () => ( "ready")),
30037
+ runningSince: _optionalChain([ctx, 'optionalAccess', _525 => _525.runningSince]),
30038
+ accumulatedMs: _optionalChain([ctx, 'optionalAccess', _526 => _526.accumulatedMs])
29902
30039
  });
29903
30040
  if (!ctx) return null;
29904
30041
  const { isOpen, open, close, status } = ctx;
@@ -30181,15 +30318,15 @@ function TicketCard({
30181
30318
  transition: sortable.transition
30182
30319
  };
30183
30320
  if (showNewMessage) style.borderColor = columnColor;
30184
- const showDeviceRow = !!(_optionalChain([ticket, 'access', _524 => _524.deviceHostnames, 'optionalAccess', _525 => _525.length]) || ticket.organizationName);
30321
+ const showDeviceRow = !!(_optionalChain([ticket, 'access', _527 => _527.deviceHostnames, 'optionalAccess', _528 => _528.length]) || ticket.organizationName);
30185
30322
  const deviceText = [
30186
- _optionalChain([ticket, 'access', _526 => _526.deviceHostnames, 'optionalAccess', _527 => _527.join, 'call', _528 => _528(", ")]),
30323
+ _optionalChain([ticket, 'access', _529 => _529.deviceHostnames, 'optionalAccess', _530 => _530.join, 'call', _531 => _531(", ")]),
30187
30324
  ticket.organizationName
30188
30325
  ].filter(Boolean).join(", ");
30189
30326
  const handleClick = (e) => {
30190
30327
  if (sortable.isDragging) e.preventDefault();
30191
30328
  };
30192
- const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _529 => _529.assignees, 'optionalAccess', _530 => _530.length]) || renderAssignSlot);
30329
+ const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _532 => _532.assignees, 'optionalAccess', _533 => _533.length]) || renderAssignSlot);
30193
30330
  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: [
30194
30331
  ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30195
30332
  _chunkGXRWE7NBcjs.Flag02Icon,
@@ -30198,7 +30335,7 @@ function TicketCard({
30198
30335
  "aria-label": `Priority: ${ticket.priority}`
30199
30336
  }
30200
30337
  ),
30201
- renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _531 => _531.assignees, 'optionalAccess', _532 => _532.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
30338
+ renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _534 => _534.assignees, 'optionalAccess', _535 => _535.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
30202
30339
  ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30203
30340
  SquareAvatar,
30204
30341
  {
@@ -30229,7 +30366,7 @@ function TicketCard({
30229
30366
  ] }),
30230
30367
  rightSection
30231
30368
  ] }),
30232
- _optionalChain([ticket, 'access', _533 => _533.tags, 'optionalAccess', _534 => _534.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
30369
+ _optionalChain([ticket, 'access', _536 => _536.tags, 'optionalAccess', _537 => _537.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
30233
30370
  timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Tooltip, { children: [
30234
30371
  /* @__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 }) }),
30235
30372
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipContent, { children: tooltipLabel })
@@ -30429,7 +30566,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
30429
30566
  const observer = new IntersectionObserver(
30430
30567
  (entries) => {
30431
30568
  if (entries.some((e) => e.isIntersecting)) {
30432
- _optionalChain([loadMoreRef, 'access', _535 => _535.current, 'optionalCall', _536 => _536(columnIdRef.current)]);
30569
+ _optionalChain([loadMoreRef, 'access', _538 => _538.current, 'optionalCall', _539 => _539(columnIdRef.current)]);
30433
30570
  }
30434
30571
  },
30435
30572
  { root, rootMargin: loadMoreRootMargin }
@@ -30459,7 +30596,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
30459
30596
  ticket: t,
30460
30597
  columnId: column.id,
30461
30598
  columnColor: column.color,
30462
- href: _optionalChain([getTicketHref, 'optionalCall', _537 => _537(t.id)]),
30599
+ href: _optionalChain([getTicketHref, 'optionalCall', _540 => _540(t.id)]),
30463
30600
  renderAssignSlot,
30464
30601
  onApprove,
30465
30602
  onReject,
@@ -30559,17 +30696,17 @@ function Board({
30559
30696
  const pointer = _core.pointerWithin.call(void 0, args);
30560
30697
  const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
30561
30698
  const ticketHit = intersections.find(
30562
- (c) => _optionalChain([c, 'access', _538 => _538.data, 'optionalAccess', _539 => _539.droppableContainer, 'optionalAccess', _540 => _540.data, 'optionalAccess', _541 => _541.current, 'optionalAccess', _542 => _542.type]) === "ticket"
30699
+ (c) => _optionalChain([c, 'access', _541 => _541.data, 'optionalAccess', _542 => _542.droppableContainer, 'optionalAccess', _543 => _543.data, 'optionalAccess', _544 => _544.current, 'optionalAccess', _545 => _545.type]) === "ticket"
30563
30700
  );
30564
30701
  if (ticketHit) return [ticketHit];
30565
30702
  const columnHit = intersections.find(
30566
- (c) => _optionalChain([c, 'access', _543 => _543.data, 'optionalAccess', _544 => _544.droppableContainer, 'optionalAccess', _545 => _545.data, 'optionalAccess', _546 => _546.current, 'optionalAccess', _547 => _547.type]) === "column"
30703
+ (c) => _optionalChain([c, 'access', _546 => _546.data, 'optionalAccess', _547 => _547.droppableContainer, 'optionalAccess', _548 => _548.data, 'optionalAccess', _549 => _549.current, 'optionalAccess', _550 => _550.type]) === "column"
30567
30704
  );
30568
30705
  if (columnHit) {
30569
- const columnId = _optionalChain([columnHit, 'access', _548 => _548.data, 'optionalAccess', _549 => _549.droppableContainer, 'optionalAccess', _550 => _550.data, 'optionalAccess', _551 => _551.current, 'optionalAccess', _552 => _552.columnId]);
30706
+ const columnId = _optionalChain([columnHit, 'access', _551 => _551.data, 'optionalAccess', _552 => _552.droppableContainer, 'optionalAccess', _553 => _553.data, 'optionalAccess', _554 => _554.current, 'optionalAccess', _555 => _555.columnId]);
30570
30707
  const ticketsInColumn = args.droppableContainers.filter((c) => {
30571
30708
  const d = c.data.current;
30572
- return _optionalChain([d, 'optionalAccess', _553 => _553.type]) === "ticket" && d.columnId === columnId;
30709
+ return _optionalChain([d, 'optionalAccess', _556 => _556.type]) === "ticket" && d.columnId === columnId;
30573
30710
  });
30574
30711
  if (ticketsInColumn.length > 0) {
30575
30712
  const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
@@ -30594,20 +30731,20 @@ function Board({
30594
30731
  const overId = String(over.id);
30595
30732
  if (activeId === overId) return;
30596
30733
  const overData = over.data.current;
30597
- const fromColumnId = _optionalChain([locate, 'call', _554 => _554(items, activeId), 'optionalAccess', _555 => _555.columnId]);
30598
- const toColumnId = _optionalChain([overData, 'optionalAccess', _556 => _556.columnId]);
30734
+ const fromColumnId = _optionalChain([locate, 'call', _557 => _557(items, activeId), 'optionalAccess', _558 => _558.columnId]);
30735
+ const toColumnId = _optionalChain([overData, 'optionalAccess', _559 => _559.columnId]);
30599
30736
  if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
30600
30737
  const origin = dragOriginRef.current;
30601
- const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _557 => _557.fromColumnId]) === toColumnId;
30738
+ const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _560 => _560.fromColumnId]) === toColumnId;
30602
30739
  const targetCol = items.find((c) => c.id === toColumnId);
30603
- const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _558 => _558.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
30604
- if (_optionalChain([targetCol, 'optionalAccess', _559 => _559.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
30740
+ const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _561 => _561.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
30741
+ if (_optionalChain([targetCol, 'optionalAccess', _562 => _562.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
30605
30742
  setItems((prev) => {
30606
30743
  const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
30607
30744
  const toCol = prev.find((c) => c.id === toColumnId);
30608
30745
  if (fromIndex < 0 || !toCol) return prev;
30609
30746
  let toIndex;
30610
- if (_optionalChain([overData, 'optionalAccess', _560 => _560.type]) === "column") {
30747
+ if (_optionalChain([overData, 'optionalAccess', _563 => _563.type]) === "column") {
30611
30748
  toIndex = toCol.tickets.length;
30612
30749
  } else {
30613
30750
  const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
@@ -30649,14 +30786,14 @@ function Board({
30649
30786
  const toColumnId = located.columnId;
30650
30787
  const isCrossColumn = origin.fromColumnId !== toColumnId;
30651
30788
  const targetCol = items.find((c) => c.id === toColumnId);
30652
- if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _561 => _561.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _562 => _562.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
30789
+ if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _564 => _564.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _565 => _565.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
30653
30790
  setItems(columns);
30654
30791
  return;
30655
30792
  }
30656
30793
  let finalIndex = located.index;
30657
- let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _563 => _563.find, 'call', _564 => _564((c) => c.id === toColumnId), 'optionalAccess', _565 => _565.tickets]), () => ( []));
30794
+ let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _566 => _566.find, 'call', _567 => _567((c) => c.id === toColumnId), 'optionalAccess', _568 => _568.tickets]), () => ( []));
30658
30795
  const overData = over.data.current;
30659
- if (_optionalChain([overData, 'optionalAccess', _566 => _566.type]) === "ticket") {
30796
+ if (_optionalChain([overData, 'optionalAccess', _569 => _569.type]) === "ticket") {
30660
30797
  const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
30661
30798
  if (overIndex >= 0 && overIndex !== located.index) {
30662
30799
  finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
@@ -30676,8 +30813,8 @@ function Board({
30676
30813
  ticketId: origin.ticketId,
30677
30814
  fromColumnId: origin.fromColumnId,
30678
30815
  toColumnId,
30679
- afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _567 => _567[finalIndex - 1], 'optionalAccess', _568 => _568.id]), () => ( null)),
30680
- beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _569 => _569[finalIndex + 1], 'optionalAccess', _570 => _570.id]), () => ( null))
30816
+ afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _570 => _570[finalIndex - 1], 'optionalAccess', _571 => _571.id]), () => ( null)),
30817
+ beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _572 => _572[finalIndex + 1], 'optionalAccess', _573 => _573.id]), () => ( null))
30681
30818
  });
30682
30819
  };
30683
30820
  const handleDragCancel = () => {
@@ -30706,8 +30843,8 @@ function Board({
30706
30843
  children: items.map((column, i) => {
30707
30844
  const prev = items[i - 1];
30708
30845
  const next = items[i + 1];
30709
- const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _571 => _571.system]));
30710
- const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _572 => _572.system]));
30846
+ const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _574 => _574.system]));
30847
+ const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _575 => _575.system]));
30711
30848
  const showGap = i > 0 && !joinLeft;
30712
30849
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React96.Fragment, { children: [
30713
30850
  showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
@@ -30760,7 +30897,7 @@ function Board({
30760
30897
  {
30761
30898
  ticket: activeTicket.ticket,
30762
30899
  columnId: activeTicket.columnId,
30763
- columnColor: _optionalChain([items, 'access', _573 => _573.find, 'call', _574 => _574((c) => c.id === activeTicket.columnId), 'optionalAccess', _575 => _575.color]),
30900
+ columnColor: _optionalChain([items, 'access', _576 => _576.find, 'call', _577 => _577((c) => c.id === activeTicket.columnId), 'optionalAccess', _578 => _578.color]),
30764
30901
  isOverlay: true
30765
30902
  }
30766
30903
  ) : null })
@@ -30776,7 +30913,7 @@ function locate(cols, ticketId) {
30776
30913
  return null;
30777
30914
  }
30778
30915
  function findIndexInColumn(cols, columnId, ticketId) {
30779
- return _nullishCoalesce(_optionalChain([cols, 'access', _576 => _576.find, 'call', _577 => _577((c) => c.id === columnId), 'optionalAccess', _578 => _578.tickets, 'access', _579 => _579.findIndex, 'call', _580 => _580((t) => t.id === ticketId)]), () => ( -1));
30916
+ return _nullishCoalesce(_optionalChain([cols, 'access', _579 => _579.find, 'call', _580 => _580((c) => c.id === columnId), 'optionalAccess', _581 => _581.tickets, 'access', _582 => _582.findIndex, 'call', _583 => _583((t) => t.id === ticketId)]), () => ( -1));
30780
30917
  }
30781
30918
 
30782
30919
  // src/components/features/board/types.ts
@@ -31024,7 +31161,7 @@ function Header2({ config, platform }) {
31024
31161
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
31025
31162
  "flex justify-start w-full",
31026
31163
  "font-bold text-[16px] leading-none tracking-[-0.32px]",
31027
- index < (_nullishCoalesce(_optionalChain([item, 'access', _581 => _581.children, 'optionalAccess', _582 => _582.length]), () => ( 0))) - 1 && "mb-1",
31164
+ index < (_nullishCoalesce(_optionalChain([item, 'access', _584 => _584.children, 'optionalAccess', _585 => _585.length]), () => ( 0))) - 1 && "mb-1",
31028
31165
  "text-ods-text-primary",
31029
31166
  // All dropdown items use primary text color
31030
31167
  child.isActive && "bg-ods-bg-hover"
@@ -31116,7 +31253,7 @@ function Header2({ config, platform }) {
31116
31253
  style: config.style,
31117
31254
  children: [
31118
31255
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
31119
- _optionalChain([config, 'access', _583 => _583.actions, 'optionalAccess', _584 => _584.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
31256
+ _optionalChain([config, 'access', _586 => _586.actions, 'optionalAccess', _587 => _587.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
31120
31257
  /* @__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 })
31121
31258
  ] }),
31122
31259
  config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -31133,7 +31270,7 @@ function Header2({ config, platform }) {
31133
31270
  }
31134
31271
  ),
31135
31272
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
31136
- _optionalChain([config, 'access', _585 => _585.actions, 'optionalAccess', _586 => _586.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
31273
+ _optionalChain([config, 'access', _588 => _588.actions, 'optionalAccess', _589 => _589.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
31137
31274
  config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31138
31275
  _chunkQJGRP2YEcjs.Button,
31139
31276
  {
@@ -31141,10 +31278,10 @@ function Header2({ config, platform }) {
31141
31278
  size: "icon",
31142
31279
  className: "flex md:hidden",
31143
31280
  onClick: () => {
31144
- _optionalChain([config, 'access', _587 => _587.mobile, 'optionalAccess', _588 => _588.onToggle, 'optionalCall', _589 => _589()]);
31281
+ _optionalChain([config, 'access', _590 => _590.mobile, 'optionalAccess', _591 => _591.onToggle, 'optionalCall', _592 => _592()]);
31145
31282
  },
31146
- "aria-label": _optionalChain([config, 'access', _590 => _590.mobile, 'optionalAccess', _591 => _591.isOpen]) ? "Close menu" : "Open menu",
31147
- leftIcon: _optionalChain([config, 'access', _592 => _592.mobile, 'optionalAccess', _593 => _593.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.Menu01Icon, {})
31283
+ "aria-label": _optionalChain([config, 'access', _593 => _593.mobile, 'optionalAccess', _594 => _594.isOpen]) ? "Close menu" : "Open menu",
31284
+ leftIcon: _optionalChain([config, 'access', _595 => _595.mobile, 'optionalAccess', _596 => _596.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.Menu01Icon, {})
31148
31285
  }
31149
31286
  )
31150
31287
  ] })
@@ -31161,10 +31298,10 @@ function Header2({ config, platform }) {
31161
31298
  // src/components/navigation/header-skeleton.tsx
31162
31299
 
31163
31300
  function HeaderSkeleton({ config }) {
31164
- const showNavigation = _optionalChain([config, 'optionalAccess', _594 => _594.navigation]) && config.navigation.items.length > 0;
31165
- const showActions = _optionalChain([config, 'optionalAccess', _595 => _595.actions, 'optionalAccess', _596 => _596.right]) && config.actions.right.length > 0;
31166
- const showMobileMenu = _optionalChain([config, 'optionalAccess', _597 => _597.mobile, 'optionalAccess', _598 => _598.enabled]);
31167
- const isAdminHeader = _optionalChain([config, 'optionalAccess', _599 => _599.className, 'optionalAccess', _600 => _600.includes, 'call', _601 => _601("admin")]);
31301
+ const showNavigation = _optionalChain([config, 'optionalAccess', _597 => _597.navigation]) && config.navigation.items.length > 0;
31302
+ const showActions = _optionalChain([config, 'optionalAccess', _598 => _598.actions, 'optionalAccess', _599 => _599.right]) && config.actions.right.length > 0;
31303
+ const showMobileMenu = _optionalChain([config, 'optionalAccess', _600 => _600.mobile, 'optionalAccess', _601 => _601.enabled]);
31304
+ const isAdminHeader = _optionalChain([config, 'optionalAccess', _602 => _602.className, 'optionalAccess', _603 => _603.includes, 'call', _604 => _604("admin")]);
31168
31305
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
31169
31306
  "header",
31170
31307
  {
@@ -31173,11 +31310,11 @@ function HeaderSkeleton({ config }) {
31173
31310
  "bg-ods-card border-b border-ods-border backdrop-blur-sm",
31174
31311
  "px-6 py-3",
31175
31312
  "transition-opacity duration-300 ease-in-out",
31176
- _optionalChain([config, 'optionalAccess', _602 => _602.className])
31313
+ _optionalChain([config, 'optionalAccess', _605 => _605.className])
31177
31314
  ),
31178
31315
  children: [
31179
31316
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
31180
- isAdminHeader && _optionalChain([config, 'optionalAccess', _603 => _603.actions, 'optionalAccess', _604 => _604.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" }) }),
31317
+ isAdminHeader && _optionalChain([config, 'optionalAccess', _606 => _606.actions, 'optionalAccess', _607 => _607.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" }) }),
31181
31318
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
31182
31319
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
31183
31320
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
@@ -31185,8 +31322,8 @@ function HeaderSkeleton({ config }) {
31185
31322
  ] }),
31186
31323
  showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkFIG2RKZFcjs.cn.call(void 0,
31187
31324
  "hidden md:flex items-center gap-2",
31188
- _optionalChain([config, 'optionalAccess', _605 => _605.navigation, 'optionalAccess', _606 => _606.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
31189
- _optionalChain([config, 'optionalAccess', _607 => _607.navigation, 'optionalAccess', _608 => _608.position]) === "right" && "ml-auto mr-4"
31325
+ _optionalChain([config, 'optionalAccess', _608 => _608.navigation, 'optionalAccess', _609 => _609.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
31326
+ _optionalChain([config, 'optionalAccess', _610 => _610.navigation, 'optionalAccess', _611 => _611.position]) === "right" && "ml-auto mr-4"
31190
31327
  ), children: [
31191
31328
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
31192
31329
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
@@ -31234,7 +31371,7 @@ function MobileNavPanel({ isOpen, config }) {
31234
31371
  _react.useEffect.call(void 0, () => {
31235
31372
  const handleKeyDown = (e) => {
31236
31373
  if (e.key === "Escape" && isOpen) {
31237
- _optionalChain([config, 'access', _609 => _609.onClose, 'optionalCall', _610 => _610()]);
31374
+ _optionalChain([config, 'access', _612 => _612.onClose, 'optionalCall', _613 => _613()]);
31238
31375
  }
31239
31376
  };
31240
31377
  if (isOpen) {
@@ -31251,7 +31388,7 @@ function MobileNavPanel({ isOpen, config }) {
31251
31388
  if (item.onClick) {
31252
31389
  item.onClick();
31253
31390
  }
31254
- _optionalChain([config, 'access', _611 => _611.onClose, 'optionalCall', _612 => _612()]);
31391
+ _optionalChain([config, 'access', _614 => _614.onClose, 'optionalCall', _615 => _615()]);
31255
31392
  };
31256
31393
  if (item.href) {
31257
31394
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -31421,7 +31558,7 @@ function SlidingSidebar({ config }) {
31421
31558
  variant: "transparent",
31422
31559
  size: "default",
31423
31560
  onClick: () => {
31424
- _optionalChain([item, 'access', _613 => _613.onClick, 'optionalCall', _614 => _614()]);
31561
+ _optionalChain([item, 'access', _616 => _616.onClick, 'optionalCall', _617 => _617()]);
31425
31562
  config.onClose();
31426
31563
  },
31427
31564
  leftIcon: item.icon,
@@ -31444,7 +31581,7 @@ function SlidingSidebar({ config }) {
31444
31581
  variant: "transparent",
31445
31582
  size: "default",
31446
31583
  onClick: () => {
31447
- _optionalChain([item, 'access', _615 => _615.onClick, 'optionalCall', _616 => _616()]);
31584
+ _optionalChain([item, 'access', _618 => _618.onClick, 'optionalCall', _619 => _619()]);
31448
31585
  config.onClose();
31449
31586
  },
31450
31587
  leftIcon: item.icon,
@@ -31571,7 +31708,7 @@ function StickySectionNav({
31571
31708
  ] });
31572
31709
  }
31573
31710
  function useSectionNavigation(sections, options) {
31574
- const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _617 => _617[0], 'optionalAccess', _618 => _618.id]) || "");
31711
+ const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _620 => _620[0], 'optionalAccess', _621 => _621.id]) || "");
31575
31712
  const isScrollingFromClick = _react.useRef.call(void 0, false);
31576
31713
  const { offset: offset2 = 100 } = options || {};
31577
31714
  const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
@@ -31595,7 +31732,7 @@ function useSectionNavigation(sections, options) {
31595
31732
  const handleScroll = () => {
31596
31733
  if (isScrollingFromClick.current) return;
31597
31734
  const scrollPosition = window.scrollY + offset2 + 50;
31598
- let currentSection = _optionalChain([sections, 'access', _619 => _619[0], 'optionalAccess', _620 => _620.id]) || "";
31735
+ let currentSection = _optionalChain([sections, 'access', _622 => _622[0], 'optionalAccess', _623 => _623.id]) || "";
31599
31736
  for (let i = sections.length - 1; i >= 0; i--) {
31600
31737
  const element = document.getElementById(sections[i].id);
31601
31738
  if (element && scrollPosition >= element.offsetTop) {
@@ -31796,7 +31933,7 @@ function NavigationSidebar({ config, disabled = false }) {
31796
31933
  } else {
31797
31934
  setDesktopMinimized((prev) => !prev);
31798
31935
  }
31799
- _optionalChain([config, 'access', _621 => _621.onToggleMinimized, 'optionalCall', _622 => _622()]);
31936
+ _optionalChain([config, 'access', _624 => _624.onToggleMinimized, 'optionalCall', _625 => _625()]);
31800
31937
  }, [isTablet, setDesktopMinimized, config]);
31801
31938
  const closeOverlay = _react.useCallback.call(void 0, () => {
31802
31939
  setTabletMinimized(true);
@@ -31810,11 +31947,11 @@ function NavigationSidebar({ config, disabled = false }) {
31810
31947
  return () => document.removeEventListener("keydown", handleKeyDown);
31811
31948
  }, [isOverlayOpen, closeOverlay]);
31812
31949
  const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
31813
- _optionalChain([event, 'optionalAccess', _623 => _623.stopPropagation, 'call', _624 => _624()]);
31950
+ _optionalChain([event, 'optionalAccess', _626 => _626.stopPropagation, 'call', _627 => _627()]);
31814
31951
  if (item.onClick) {
31815
31952
  item.onClick();
31816
31953
  } else if (item.path) {
31817
- _optionalChain([config, 'access', _625 => _625.onNavigate, 'optionalCall', _626 => _626(item.path)]);
31954
+ _optionalChain([config, 'access', _628 => _628.onNavigate, 'optionalCall', _629 => _629(item.path)]);
31818
31955
  }
31819
31956
  if (isTablet) setTabletMinimized(true);
31820
31957
  }, [config, isTablet]);
@@ -31934,11 +32071,11 @@ function HeaderGlobalSearch({
31934
32071
  };
31935
32072
  const handleSubmit = (e) => {
31936
32073
  e.preventDefault();
31937
- _optionalChain([onSubmit, 'optionalCall', _627 => _627(currentValue)]);
32074
+ _optionalChain([onSubmit, 'optionalCall', _630 => _630(currentValue)]);
31938
32075
  };
31939
32076
  const handleKeyDown = (e) => {
31940
32077
  if (e.key === "Enter") {
31941
- _optionalChain([onSubmit, 'optionalCall', _628 => _628(currentValue)]);
32078
+ _optionalChain([onSubmit, 'optionalCall', _631 => _631(currentValue)]);
31942
32079
  }
31943
32080
  };
31944
32081
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -32032,8 +32169,8 @@ function HeaderOrganizationFilter({
32032
32169
  className
32033
32170
  }) {
32034
32171
  const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
32035
- const displayName = _optionalChain([selectedOrg, 'optionalAccess', _629 => _629.name]) || "All Organizations";
32036
- const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _630 => _630.deviceCount]), () => ( totalDeviceCount));
32172
+ const displayName = _optionalChain([selectedOrg, 'optionalAccess', _632 => _632.name]) || "All Organizations";
32173
+ const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _633 => _633.deviceCount]), () => ( totalDeviceCount));
32037
32174
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQJGRP2YEcjs.DropdownMenu, { children: [
32038
32175
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
32039
32176
  "button",
@@ -32058,11 +32195,11 @@ function HeaderOrganizationFilter({
32058
32195
  }
32059
32196
  ) }),
32060
32197
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQJGRP2YEcjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
32061
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _631 => _631("")]), children: "All Organizations" }),
32198
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _634 => _634("")]), children: "All Organizations" }),
32062
32199
  organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32063
32200
  _chunkQJGRP2YEcjs.DropdownMenuItem,
32064
32201
  {
32065
- onClick: () => _optionalChain([onOrgChange, 'optionalCall', _632 => _632(org.id)]),
32202
+ onClick: () => _optionalChain([onOrgChange, 'optionalCall', _635 => _635(org.id)]),
32066
32203
  children: org.name
32067
32204
  },
32068
32205
  org.id
@@ -32252,9 +32389,9 @@ function NotificationsHeaderButton({
32252
32389
  dimmedClass
32253
32390
  }) {
32254
32391
  const ctx = useOptionalNotifications();
32255
- const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _633 => _633.unreadCount]), () => ( fallbackUnreadCount))) > 0;
32256
- const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _634 => _634.isOpen]), () => ( false));
32257
- const onClick = _optionalChain([ctx, 'optionalAccess', _635 => _635.toggle]);
32392
+ const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _636 => _636.unreadCount]), () => ( fallbackUnreadCount))) > 0;
32393
+ const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _637 => _637.isOpen]), () => ( false));
32394
+ const onClick = _optionalChain([ctx, 'optionalAccess', _638 => _638.toggle]);
32258
32395
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32259
32396
  HeaderButton,
32260
32397
  {
@@ -32318,7 +32455,7 @@ var MobileBurgerMenu = React112.default.memo(function MobileBurgerMenu2({
32318
32455
  if (item.onClick) {
32319
32456
  item.onClick();
32320
32457
  } else if (item.path) {
32321
- _optionalChain([config, 'access', _636 => _636.onNavigate, 'optionalCall', _637 => _637(item.path)]);
32458
+ _optionalChain([config, 'access', _639 => _639.onNavigate, 'optionalCall', _640 => _640(item.path)]);
32322
32459
  }
32323
32460
  onClose();
32324
32461
  }, [config, onClose]);
@@ -32561,7 +32698,7 @@ var AppLayoutDrawerRoot = ({
32561
32698
  const handleOpenChange = React105.useCallback(
32562
32699
  (next) => {
32563
32700
  if (!isControlled) setInternalOpen(next);
32564
- _optionalChain([onOpenChange, 'optionalCall', _638 => _638(next)]);
32701
+ _optionalChain([onOpenChange, 'optionalCall', _641 => _641(next)]);
32565
32702
  },
32566
32703
  [isControlled, onOpenChange]
32567
32704
  );
@@ -32942,10 +33079,10 @@ var AppLayoutDrawerContent = React105.forwardRef(
32942
33079
  ),
32943
33080
  style,
32944
33081
  onInteractOutside: (event) => {
32945
- _optionalChain([onInteractOutside, 'optionalCall', _639 => _639(event)]);
33082
+ _optionalChain([onInteractOutside, 'optionalCall', _642 => _642(event)]);
32946
33083
  if (event.defaultPrevented) return;
32947
33084
  const target = event.target;
32948
- const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _640 => _640.contains, 'call', _641 => _641(target)]);
33085
+ const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _643 => _643.contains, 'call', _644 => _644(target)]);
32949
33086
  if (!isInsideContainer) {
32950
33087
  event.preventDefault();
32951
33088
  return;
@@ -33358,7 +33495,7 @@ var ShellTypeBadge = ({
33358
33495
  className,
33359
33496
  iconClassName
33360
33497
  }) => {
33361
- const normalizedType = _optionalChain([shellType, 'optionalAccess', _642 => _642.toUpperCase, 'call', _643 => _643()]);
33498
+ const normalizedType = _optionalChain([shellType, 'optionalAccess', _645 => _645.toUpperCase, 'call', _646 => _646()]);
33362
33499
  const label = getShellLabel(normalizedType);
33363
33500
  const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
33364
33501
  const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
@@ -33745,12 +33882,12 @@ function OnboardingWalkthrough({
33745
33882
  }
33746
33883
  }, [state.completedSteps, markComplete]);
33747
33884
  const handleStepSkip = (step) => {
33748
- _optionalChain([step, 'access', _644 => _644.onSkip, 'optionalCall', _645 => _645()]);
33885
+ _optionalChain([step, 'access', _647 => _647.onSkip, 'optionalCall', _648 => _648()]);
33749
33886
  markSkipped(step.id);
33750
33887
  };
33751
33888
  const handleDismiss = () => {
33752
33889
  dismissOnboarding();
33753
- _optionalChain([onDismiss, 'optionalCall', _646 => _646()]);
33890
+ _optionalChain([onDismiss, 'optionalCall', _649 => _649()]);
33754
33891
  };
33755
33892
  if (state.dismissed) {
33756
33893
  return null;
@@ -33880,7 +34017,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
33880
34017
  onKeyDown: (e) => {
33881
34018
  if (e.key === "Enter" || e.key === " ") {
33882
34019
  e.preventDefault();
33883
- _optionalChain([onClick, 'optionalCall', _647 => _647()]);
34020
+ _optionalChain([onClick, 'optionalCall', _650 => _650()]);
33884
34021
  }
33885
34022
  },
33886
34023
  children: [
@@ -33981,7 +34118,7 @@ var LogsList = React109.forwardRef(({
33981
34118
  log,
33982
34119
  isLast: index === logs.length - 1,
33983
34120
  showConnector,
33984
- onClick: () => _optionalChain([onLogClick, 'optionalCall', _648 => _648(log)])
34121
+ onClick: () => _optionalChain([onLogClick, 'optionalCall', _651 => _651(log)])
33985
34122
  },
33986
34123
  log.id
33987
34124
  ))
@@ -34082,7 +34219,7 @@ var Slider = React111.forwardRef(
34082
34219
  ({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
34083
34220
  const handleChange = (e) => {
34084
34221
  const newValue = [Number(e.target.value)];
34085
- _optionalChain([onValueChange, 'optionalCall', _649 => _649(newValue)]);
34222
+ _optionalChain([onValueChange, 'optionalCall', _652 => _652(newValue)]);
34086
34223
  };
34087
34224
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34088
34225
  "input",
@@ -34513,7 +34650,7 @@ function CursorPaginationSimple({
34513
34650
  {
34514
34651
  variant: "transparent",
34515
34652
  size: "icon",
34516
- onClick: () => _optionalChain([onPrevious, 'optionalCall', _650 => _650("")]),
34653
+ onClick: () => _optionalChain([onPrevious, 'optionalCall', _653 => _653("")]),
34517
34654
  disabled: !hasPreviousPage || loading,
34518
34655
  className: "h-8 w-8",
34519
34656
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
@@ -34525,7 +34662,7 @@ function CursorPaginationSimple({
34525
34662
  {
34526
34663
  variant: "transparent",
34527
34664
  size: "icon",
34528
- onClick: () => _optionalChain([onNext, 'optionalCall', _651 => _651("")]),
34665
+ onClick: () => _optionalChain([onNext, 'optionalCall', _654 => _654("")]),
34529
34666
  disabled: !hasNextPage || loading,
34530
34667
  className: "h-8 w-8",
34531
34668
  rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
@@ -34545,8 +34682,8 @@ function TableEmptyState({ message: message2, icon, action, className }) {
34545
34682
  icon: _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}))),
34546
34683
  title: _nullishCoalesce(message2, () => ( "No results found")),
34547
34684
  description: message2 == null ? "Try adjusting your search or filters" : void 0,
34548
- buttonLabel: _optionalChain([action, 'optionalAccess', _652 => _652.label]),
34549
- onButtonClick: _optionalChain([action, 'optionalAccess', _653 => _653.onClick]),
34685
+ buttonLabel: _optionalChain([action, 'optionalAccess', _655 => _655.label]),
34686
+ onButtonClick: _optionalChain([action, 'optionalAccess', _656 => _656.onClick]),
34550
34687
  className: _chunkFIG2RKZFcjs.cn.call(void 0, "py-[var(--spacing-system-xxl)]", className)
34551
34688
  }
34552
34689
  );
@@ -34567,7 +34704,7 @@ function TableColumnFilterDropdown({
34567
34704
  placement = "bottom-start",
34568
34705
  dropdownClassName = "min-w-[240px]"
34569
34706
  }) {
34570
- const activeCount = _optionalChain([filters, 'optionalAccess', _654 => _654[columnKey], 'optionalAccess', _655 => _655.length]) || 0;
34707
+ const activeCount = _optionalChain([filters, 'optionalAccess', _657 => _657[columnKey], 'optionalAccess', _658 => _658.length]) || 0;
34571
34708
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34572
34709
  FiltersDropdown,
34573
34710
  {
@@ -34610,7 +34747,7 @@ function TableColumnFilterDropdown({
34610
34747
  delete newFilters[columnKey];
34611
34748
  onFilterChange(newFilters);
34612
34749
  },
34613
- currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _656 => _656[columnKey]]) || [] },
34750
+ currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _659 => _659[columnKey]]) || [] },
34614
34751
  placement,
34615
34752
  dropdownClassName
34616
34753
  }
@@ -34907,7 +35044,7 @@ function TableRow({
34907
35044
  const keys = column.key.split(".");
34908
35045
  let value = item;
34909
35046
  for (const key of keys) {
34910
- value = _optionalChain([value, 'optionalAccess', _657 => _657[key]]);
35047
+ value = _optionalChain([value, 'optionalAccess', _660 => _660[key]]);
34911
35048
  }
34912
35049
  if (value === null || value === void 0) {
34913
35050
  return "-";
@@ -34977,7 +35114,7 @@ function TableRow({
34977
35114
  // src/components/ui/table/table.tsx
34978
35115
 
34979
35116
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
34980
- const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _658 => _658.length])) || Boolean(renderRowActions);
35117
+ const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _661 => _661.length])) || Boolean(renderRowActions);
34981
35118
  const result = [...columns];
34982
35119
  if (hasActions) {
34983
35120
  const actionsColumn = {
@@ -35071,7 +35208,7 @@ function Table({
35071
35208
  return rowKey(item);
35072
35209
  }
35073
35210
  const key = item[rowKey];
35074
- return _optionalChain([key, 'optionalAccess', _659 => _659.toString, 'call', _660 => _660()]) || index.toString();
35211
+ return _optionalChain([key, 'optionalAccess', _662 => _662.toString, 'call', _663 => _663()]) || index.toString();
35075
35212
  };
35076
35213
  const getRowClassName = (item, index) => {
35077
35214
  if (typeof rowClassName === "function") {
@@ -35105,23 +35242,23 @@ function Table({
35105
35242
  const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
35106
35243
  const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
35107
35244
  const sentinelRef = _react.useRef.call(void 0, null);
35108
- const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _661 => _661.onLoadMore]));
35109
- onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _662 => _662.onLoadMore]);
35245
+ const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _664 => _664.onLoadMore]));
35246
+ onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _665 => _665.onLoadMore]);
35110
35247
  _react.useEffect.call(void 0, () => {
35111
- if (!_optionalChain([infiniteScroll, 'optionalAccess', _663 => _663.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
35248
+ if (!_optionalChain([infiniteScroll, 'optionalAccess', _666 => _666.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
35112
35249
  const sentinel = sentinelRef.current;
35113
35250
  if (!sentinel) return;
35114
35251
  const observer = new IntersectionObserver(
35115
35252
  (entries) => {
35116
- if (_optionalChain([entries, 'access', _664 => _664[0], 'optionalAccess', _665 => _665.isIntersecting])) {
35117
- _optionalChain([onLoadMoreRef, 'access', _666 => _666.current, 'optionalCall', _667 => _667()]);
35253
+ if (_optionalChain([entries, 'access', _667 => _667[0], 'optionalAccess', _668 => _668.isIntersecting])) {
35254
+ _optionalChain([onLoadMoreRef, 'access', _669 => _669.current, 'optionalCall', _670 => _670()]);
35118
35255
  }
35119
35256
  },
35120
35257
  { rootMargin: "200px" }
35121
35258
  );
35122
35259
  observer.observe(sentinel);
35123
35260
  return () => observer.disconnect();
35124
- }, [_optionalChain([infiniteScroll, 'optionalAccess', _668 => _668.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _669 => _669.isFetchingNextPage])]);
35261
+ }, [_optionalChain([infiniteScroll, 'optionalAccess', _671 => _671.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _672 => _672.isFetchingNextPage])]);
35125
35262
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
35126
35263
  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: [
35127
35264
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
@@ -35192,7 +35329,7 @@ function Table({
35192
35329
  },
35193
35330
  getRowKey(item, index)
35194
35331
  )),
35195
- _optionalChain([infiniteScroll, 'optionalAccess', _670 => _670.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35332
+ _optionalChain([infiniteScroll, 'optionalAccess', _673 => _673.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35196
35333
  TableCardSkeleton,
35197
35334
  {
35198
35335
  columns,
@@ -35201,7 +35338,7 @@ function Table({
35201
35338
  hasChevron: Boolean(rowHref)
35202
35339
  }
35203
35340
  ),
35204
- _optionalChain([infiniteScroll, 'optionalAccess', _671 => _671.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
35341
+ _optionalChain([infiniteScroll, 'optionalAccess', _674 => _674.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
35205
35342
  !infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
35206
35343
  "div",
35207
35344
  {
@@ -35559,7 +35696,7 @@ function QueryReportTable({
35559
35696
  );
35560
35697
  const handleExport = () => {
35561
35698
  exportToCSV(data, columns, exportFilename);
35562
- _optionalChain([onExport, 'optionalCall', _672 => _672()]);
35699
+ _optionalChain([onExport, 'optionalCall', _675 => _675()]);
35563
35700
  };
35564
35701
  const tableMinWidth = columns.length * (columnWidth + 16);
35565
35702
  const {
@@ -35732,7 +35869,7 @@ function DataTableColumnFilter({
35732
35869
  align = "left"
35733
35870
  }) {
35734
35871
  const currentValue = column.getFilterValue();
35735
- const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _673 => _673.length]), () => ( 0));
35872
+ const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _676 => _676.length]), () => ( 0));
35736
35873
  const sections = _react.useMemo.call(void 0,
35737
35874
  () => [
35738
35875
  {
@@ -35812,7 +35949,7 @@ function DataTableHeader({
35812
35949
  const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
35813
35950
  if (header.isPlaceholder) return false;
35814
35951
  if (isLgUp) return true;
35815
- return Boolean(_optionalChain([header, 'access', _674 => _674.column, 'access', _675 => _675.columnDef, 'access', _676 => _676.meta, 'optionalAccess', _677 => _677.filter]));
35952
+ return Boolean(_optionalChain([header, 'access', _677 => _677.column, 'access', _678 => _678.columnDef, 'access', _679 => _679.meta, 'optionalAccess', _680 => _680.filter]));
35816
35953
  });
35817
35954
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35818
35955
  "div",
@@ -35842,20 +35979,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
35842
35979
  if (header.isPlaceholder) return null;
35843
35980
  const column = header.column;
35844
35981
  const meta = column.columnDef.meta;
35845
- const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _678 => _678.filter]));
35846
- const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _679 => _679.align]), () => ( "left"));
35847
- const canSort = _optionalChain([meta, 'optionalAccess', _680 => _680.sortable]) === true;
35848
- const sortDir = _optionalChain([sort, 'optionalAccess', _681 => _681.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
35982
+ const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _681 => _681.filter]));
35983
+ const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _682 => _682.align]), () => ( "left"));
35984
+ const canSort = _optionalChain([meta, 'optionalAccess', _683 => _683.sortable]) === true;
35985
+ const sortDir = _optionalChain([sort, 'optionalAccess', _684 => _684.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
35849
35986
  if (!isLgUp && !hasFilter) return null;
35850
35987
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35851
35988
  "div",
35852
35989
  {
35853
35990
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
35854
35991
  "flex items-stretch",
35855
- isLgUp && (_optionalChain([meta, 'optionalAccess', _682 => _682.width]) || "flex-1 min-w-0"),
35856
- _optionalChain([meta, 'optionalAccess', _683 => _683.headerClassName]),
35992
+ isLgUp && (_optionalChain([meta, 'optionalAccess', _685 => _685.width]) || "flex-1 min-w-0"),
35993
+ _optionalChain([meta, 'optionalAccess', _686 => _686.headerClassName]),
35857
35994
  // Don't apply hide classes if column is filterable on tablet (keep filter accessible)
35858
- !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _684 => _684.hideAt]))
35995
+ !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _687 => _687.hideAt]))
35859
35996
  ),
35860
35997
  children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35861
35998
  DataTableColumnFilter,
@@ -35874,7 +36011,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
35874
36011
  isLgUp && alignJustify(align),
35875
36012
  canSort && "group cursor-pointer"
35876
36013
  ),
35877
- onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _685 => _685(column.id)]) : void 0,
36014
+ onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _688 => _688(column.id)]) : void 0,
35878
36015
  children: [
35879
36016
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
35880
36017
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -35939,7 +36076,7 @@ function DataTableSkeleton({
35939
36076
  }) {
35940
36077
  const table = useDataTableContext();
35941
36078
  const columns = table.getVisibleFlatColumns();
35942
- const firstColumnId = _optionalChain([columns, 'access', _686 => _686[0], 'optionalAccess', _687 => _687.id]);
36079
+ const firstColumnId = _optionalChain([columns, 'access', _689 => _689[0], 'optionalAccess', _690 => _690.id]);
35943
36080
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
35944
36081
  "div",
35945
36082
  {
@@ -35963,7 +36100,7 @@ function DataTableSkeleton({
35963
36100
  {
35964
36101
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
35965
36102
  "flex flex-col justify-center shrink-0",
35966
- _optionalChain([meta, 'optionalAccess', _688 => _688.width]) || "flex-1"
36103
+ _optionalChain([meta, 'optionalAccess', _691 => _691.width]) || "flex-1"
35967
36104
  ),
35968
36105
  children: [
35969
36106
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
@@ -36012,7 +36149,7 @@ function DataTableRowImpl({
36012
36149
  const handleClick = _react.useCallback.call(void 0,
36013
36150
  (e) => {
36014
36151
  const target = e.target;
36015
- if (!_optionalChain([containerRef, 'access', _689 => _689.current, 'optionalAccess', _690 => _690.contains, 'call', _691 => _691(target)])) {
36152
+ if (!_optionalChain([containerRef, 'access', _692 => _692.current, 'optionalAccess', _693 => _693.contains, 'call', _694 => _694(target)])) {
36016
36153
  if (isLinkMode) e.preventDefault();
36017
36154
  return;
36018
36155
  }
@@ -36020,7 +36157,7 @@ function DataTableRowImpl({
36020
36157
  if (isLinkMode) e.preventDefault();
36021
36158
  return;
36022
36159
  }
36023
- _optionalChain([onClick, 'optionalCall', _692 => _692(row.original)]);
36160
+ _optionalChain([onClick, 'optionalCall', _695 => _695(row.original)]);
36024
36161
  },
36025
36162
  [onClick, row.original, isLinkMode]
36026
36163
  );
@@ -36045,10 +36182,10 @@ function DataTableRowImpl({
36045
36182
  {
36046
36183
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
36047
36184
  "flex flex-col overflow-hidden",
36048
- alignJustify(_optionalChain([meta, 'optionalAccess', _693 => _693.align])),
36049
- _optionalChain([meta, 'optionalAccess', _694 => _694.width]) || "flex-1 min-w-0",
36050
- _optionalChain([meta, 'optionalAccess', _695 => _695.cellClassName]),
36051
- getHideClasses2(_optionalChain([meta, 'optionalAccess', _696 => _696.hideAt]))
36185
+ alignJustify(_optionalChain([meta, 'optionalAccess', _696 => _696.align])),
36186
+ _optionalChain([meta, 'optionalAccess', _697 => _697.width]) || "flex-1 min-w-0",
36187
+ _optionalChain([meta, 'optionalAccess', _698 => _698.cellClassName]),
36188
+ getHideClasses2(_optionalChain([meta, 'optionalAccess', _699 => _699.hideAt]))
36052
36189
  ),
36053
36190
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
36054
36191
  },
@@ -36127,7 +36264,7 @@ function DataTableBody({
36127
36264
  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: [
36128
36265
  rows.map((row, index) => {
36129
36266
  const item = row.original;
36130
- const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _697 => _697(item)]), () => ( void 0));
36267
+ const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _700 => _700(item)]), () => ( void 0));
36131
36268
  const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
36132
36269
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36133
36270
  DataTableRow,
@@ -36137,7 +36274,7 @@ function DataTableBody({
36137
36274
  href,
36138
36275
  compact,
36139
36276
  className: cls,
36140
- subRow: _optionalChain([renderSubRow, 'optionalCall', _698 => _698(item)])
36277
+ subRow: _optionalChain([renderSubRow, 'optionalCall', _701 => _701(item)])
36141
36278
  },
36142
36279
  row.id
36143
36280
  );
@@ -36192,7 +36329,7 @@ function DataTableInfiniteFooter({
36192
36329
  if (!sentinel) return;
36193
36330
  const observer = new IntersectionObserver(
36194
36331
  (entries) => {
36195
- if (_optionalChain([entries, 'access', _699 => _699[0], 'optionalAccess', _700 => _700.isIntersecting])) onLoadMoreRef.current();
36332
+ if (_optionalChain([entries, 'access', _702 => _702[0], 'optionalAccess', _703 => _703.isIntersecting])) onLoadMoreRef.current();
36196
36333
  },
36197
36334
  { rootMargin }
36198
36335
  );
@@ -36240,7 +36377,7 @@ function DataTableRowCount({
36240
36377
  const table = useDataTableContext();
36241
36378
  const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
36242
36379
  if (hideWhenEmpty && count === 0) return null;
36243
- const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _701 => _701(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
36380
+ const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _704 => _704(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
36244
36381
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
36245
36382
  "span",
36246
36383
  {
@@ -36399,7 +36536,7 @@ function SearchInput({
36399
36536
  if (!showHiddenTags) return;
36400
36537
  const handleClick = (e) => {
36401
36538
  const target = e.target;
36402
- if (!_optionalChain([hiddenTagsRef, 'access', _702 => _702.current, 'optionalAccess', _703 => _703.contains, 'call', _704 => _704(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _705 => _705.current, 'optionalAccess', _706 => _706.contains, 'call', _707 => _707(target)])) {
36539
+ if (!_optionalChain([hiddenTagsRef, 'access', _705 => _705.current, 'optionalAccess', _706 => _706.contains, 'call', _707 => _707(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _708 => _708.current, 'optionalAccess', _709 => _709.contains, 'call', _710 => _710(target)])) {
36403
36540
  setShowHiddenTags(false);
36404
36541
  }
36405
36542
  };
@@ -36447,10 +36584,10 @@ function SearchInput({
36447
36584
  } else {
36448
36585
  setInternalValue("");
36449
36586
  }
36450
- _optionalChain([inputRef, 'access', _708 => _708.current, 'optionalAccess', _709 => _709.focus, 'call', _710 => _710()]);
36587
+ _optionalChain([inputRef, 'access', _711 => _711.current, 'optionalAccess', _712 => _712.focus, 'call', _713 => _713()]);
36451
36588
  };
36452
36589
  const handleResultClick = (result, e) => {
36453
- _optionalChain([onResultSelect, 'optionalCall', _711 => _711(
36590
+ _optionalChain([onResultSelect, 'optionalCall', _714 => _714(
36454
36591
  result,
36455
36592
  e ? {
36456
36593
  metaKey: e.metaKey,
@@ -36482,7 +36619,7 @@ function SearchInput({
36482
36619
  if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
36483
36620
  handleResultClick(flatResults[highlightedIndex]);
36484
36621
  } else {
36485
- _optionalChain([onSubmit, 'optionalCall', _712 => _712(currentValue)]);
36622
+ _optionalChain([onSubmit, 'optionalCall', _715 => _715(currentValue)]);
36486
36623
  }
36487
36624
  break;
36488
36625
  case "Escape":
@@ -36560,7 +36697,7 @@ function SearchInput({
36560
36697
  dropdownVisible && "!border-ods-accent"
36561
36698
  ),
36562
36699
  onClick: () => {
36563
- _optionalChain([inputRef, 'access', _713 => _713.current, 'optionalAccess', _714 => _714.focus, 'call', _715 => _715()]);
36700
+ _optionalChain([inputRef, 'access', _716 => _716.current, 'optionalAccess', _717 => _717.focus, 'call', _718 => _718()]);
36564
36701
  setIsOpen(true);
36565
36702
  },
36566
36703
  children: [
@@ -36644,10 +36781,10 @@ function SearchInput({
36644
36781
  align: "start",
36645
36782
  onOpenAutoFocus: (e) => {
36646
36783
  e.preventDefault();
36647
- _optionalChain([inputRef, 'access', _716 => _716.current, 'optionalAccess', _717 => _717.focus, 'call', _718 => _718()]);
36784
+ _optionalChain([inputRef, 'access', _719 => _719.current, 'optionalAccess', _720 => _720.focus, 'call', _721 => _721()]);
36648
36785
  },
36649
36786
  onInteractOutside: (e) => {
36650
- if (_optionalChain([containerRef, 'access', _719 => _719.current, 'optionalAccess', _720 => _720.contains, 'call', _721 => _721(e.target)])) {
36787
+ if (_optionalChain([containerRef, 'access', _722 => _722.current, 'optionalAccess', _723 => _723.contains, 'call', _724 => _724(e.target)])) {
36651
36788
  e.preventDefault();
36652
36789
  }
36653
36790
  },
@@ -36664,10 +36801,10 @@ function SearchInput({
36664
36801
  ref: hiddenTagsPopupRef,
36665
36802
  items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
36666
36803
  style: {
36667
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _722 => _722.current, 'optionalAccess', _723 => _723.getBoundingClientRect, 'call', _724 => _724(), 'access', _725 => _725.left]), () => ( 0))) : 0
36804
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _725 => _725.current, 'optionalAccess', _726 => _726.getBoundingClientRect, 'call', _727 => _727(), 'access', _728 => _728.left]), () => ( 0))) : 0
36668
36805
  },
36669
36806
  onRemove: (value2) => {
36670
- _optionalChain([onFilterRemove, 'optionalCall', _726 => _726(value2)]);
36807
+ _optionalChain([onFilterRemove, 'optionalCall', _729 => _729(value2)]);
36671
36808
  if (hiddenCount <= 1) setShowHiddenTags(false);
36672
36809
  }
36673
36810
  }
@@ -36718,7 +36855,7 @@ function FilterListItem({
36718
36855
  }) {
36719
36856
  const handleToggle = () => {
36720
36857
  if (disabled) return;
36721
- _optionalChain([onToggle, 'optionalCall', _727 => _727(!selected)]);
36858
+ _optionalChain([onToggle, 'optionalCall', _730 => _730(!selected)]);
36722
36859
  };
36723
36860
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
36724
36861
  "div",
@@ -36765,7 +36902,7 @@ function FilterListItem({
36765
36902
  CheckboxPrimitive4.Root,
36766
36903
  {
36767
36904
  checked: selected,
36768
- onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _728 => _728(c === true)]),
36905
+ onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _731 => _731(c === true)]),
36769
36906
  onClick: (e) => e.stopPropagation(),
36770
36907
  disabled,
36771
36908
  "aria-label": title,
@@ -36864,7 +37001,7 @@ function TagSearchInput({
36864
37001
  if (!showHiddenTags) return;
36865
37002
  const handleClick = (e) => {
36866
37003
  const target = e.target;
36867
- if (!_optionalChain([hiddenTagsRef, 'access', _729 => _729.current, 'optionalAccess', _730 => _730.contains, 'call', _731 => _731(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _732 => _732.current, 'optionalAccess', _733 => _733.contains, 'call', _734 => _734(target)])) {
37004
+ if (!_optionalChain([hiddenTagsRef, 'access', _732 => _732.current, 'optionalAccess', _733 => _733.contains, 'call', _734 => _734(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _735 => _735.current, 'optionalAccess', _736 => _736.contains, 'call', _737 => _737(target)])) {
36868
37005
  setShowHiddenTags(false);
36869
37006
  }
36870
37007
  };
@@ -36880,13 +37017,13 @@ function TagSearchInput({
36880
37017
  e.preventDefault();
36881
37018
  onSubmit(searchValue);
36882
37019
  }
36883
- _optionalChain([onKeyDown, 'optionalCall', _735 => _735(e)]);
37020
+ _optionalChain([onKeyDown, 'optionalCall', _738 => _738(e)]);
36884
37021
  };
36885
37022
  const handleClearAll = (e) => {
36886
37023
  e.stopPropagation();
36887
37024
  e.preventDefault();
36888
- _optionalChain([onClearAll, 'optionalCall', _736 => _736()]);
36889
- _optionalChain([inputRef, 'access', _737 => _737.current, 'optionalAccess', _738 => _738.focus, 'call', _739 => _739()]);
37025
+ _optionalChain([onClearAll, 'optionalCall', _739 => _739()]);
37026
+ _optionalChain([inputRef, 'access', _740 => _740.current, 'optionalAccess', _741 => _741.focus, 'call', _742 => _742()]);
36890
37027
  };
36891
37028
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
36892
37029
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -36903,7 +37040,7 @@ function TagSearchInput({
36903
37040
  className
36904
37041
  ),
36905
37042
  onClick: () => {
36906
- if (!disabled) _optionalChain([inputRef, 'access', _740 => _740.current, 'optionalAccess', _741 => _741.focus, 'call', _742 => _742()]);
37043
+ if (!disabled) _optionalChain([inputRef, 'access', _743 => _743.current, 'optionalAccess', _744 => _744.focus, 'call', _745 => _745()]);
36907
37044
  },
36908
37045
  children: [
36909
37046
  /* @__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" }) }),
@@ -36975,7 +37112,7 @@ function TagSearchInput({
36975
37112
  items: hiddenTags,
36976
37113
  disabled,
36977
37114
  style: {
36978
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _743 => _743.current, 'optionalAccess', _744 => _744.getBoundingClientRect, 'call', _745 => _745(), 'access', _746 => _746.left]), () => ( 0))) : 0
37115
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _746 => _746.current, 'optionalAccess', _747 => _747.getBoundingClientRect, 'call', _748 => _748(), 'access', _749 => _749.left]), () => ( 0))) : 0
36979
37116
  },
36980
37117
  onRemove: (value) => {
36981
37118
  onTagRemove(value);
@@ -37076,7 +37213,7 @@ function MarkdownEditor({
37076
37213
  const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
37077
37214
  _react.useEffect.call(void 0, () => {
37078
37215
  Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
37079
- if (_optionalChain([mod, 'access', _747 => _747.commands, 'optionalAccess', _748 => _748.getExtraCommands])) {
37216
+ if (_optionalChain([mod, 'access', _750 => _750.commands, 'optionalAccess', _751 => _751.getExtraCommands])) {
37080
37217
  setDefaultExtraCommands(mod.commands.getExtraCommands());
37081
37218
  }
37082
37219
  });
@@ -37110,7 +37247,7 @@ function MarkdownEditor({
37110
37247
  const isImage = file.type.startsWith("image/");
37111
37248
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
37112
37249
  insertTextAtCursor(markdown);
37113
- _optionalChain([onFileUploaded, 'optionalCall', _749 => _749(url, file.name)]);
37250
+ _optionalChain([onFileUploaded, 'optionalCall', _752 => _752(url, file.name)]);
37114
37251
  } catch (error) {
37115
37252
  console.error("File upload failed:", error);
37116
37253
  setUploadProgress("Upload failed. Please try again.");
@@ -37123,7 +37260,7 @@ function MarkdownEditor({
37123
37260
  );
37124
37261
  const handleFileInputChange = _react.useCallback.call(void 0,
37125
37262
  (e) => {
37126
- const file = _optionalChain([e, 'access', _750 => _750.target, 'access', _751 => _751.files, 'optionalAccess', _752 => _752[0]]);
37263
+ const file = _optionalChain([e, 'access', _753 => _753.target, 'access', _754 => _754.files, 'optionalAccess', _755 => _755[0]]);
37127
37264
  if (file) {
37128
37265
  handleFileUpload(file);
37129
37266
  e.target.value = "";
@@ -37134,7 +37271,7 @@ function MarkdownEditor({
37134
37271
  const handlePaste = _react.useCallback.call(void 0,
37135
37272
  (e) => {
37136
37273
  if (!onUploadFile) return;
37137
- const items = _optionalChain([e, 'access', _753 => _753.clipboardData, 'optionalAccess', _754 => _754.items]);
37274
+ const items = _optionalChain([e, 'access', _756 => _756.clipboardData, 'optionalAccess', _757 => _757.items]);
37138
37275
  if (!items) return;
37139
37276
  for (const item of items) {
37140
37277
  if (item.type.startsWith("image/")) {
@@ -37159,7 +37296,7 @@ function MarkdownEditor({
37159
37296
  buttonProps: { "aria-label": "Upload file", title: "Upload file" },
37160
37297
  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" }),
37161
37298
  execute: () => {
37162
- _optionalChain([fileInputRef, 'access', _755 => _755.current, 'optionalAccess', _756 => _756.click, 'call', _757 => _757()]);
37299
+ _optionalChain([fileInputRef, 'access', _758 => _758.current, 'optionalAccess', _759 => _759.click, 'call', _760 => _760()]);
37163
37300
  }
37164
37301
  } : null;
37165
37302
  const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
@@ -37171,7 +37308,7 @@ function MarkdownEditor({
37171
37308
  const EDGE_ZONE = 60;
37172
37309
  const MAX_SCROLL_SPEED = 15;
37173
37310
  const findScrollParent = _react.useCallback.call(void 0, (el) => {
37174
- let node = _optionalChain([el, 'optionalAccess', _758 => _758.parentElement]);
37311
+ let node = _optionalChain([el, 'optionalAccess', _761 => _761.parentElement]);
37175
37312
  while (node && node !== document.documentElement) {
37176
37313
  const { overflowY } = window.getComputedStyle(node);
37177
37314
  if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
@@ -37314,7 +37451,7 @@ function matchesAccept(file, accept) {
37314
37451
  });
37315
37452
  }
37316
37453
  function dragHasFiles(e) {
37317
- const types = _optionalChain([e, 'access', _759 => _759.dataTransfer, 'optionalAccess', _760 => _760.types]);
37454
+ const types = _optionalChain([e, 'access', _762 => _762.dataTransfer, 'optionalAccess', _763 => _763.types]);
37318
37455
  if (!types) return false;
37319
37456
  for (let i = 0; i < types.length; i++) {
37320
37457
  if (types[i] === "Files") return true;
@@ -37409,7 +37546,7 @@ function FileUpload({
37409
37546
  e.stopPropagation();
37410
37547
  setDragActive(false);
37411
37548
  if (disabled) return;
37412
- if (_optionalChain([e, 'access', _761 => _761.dataTransfer, 'access', _762 => _762.files, 'optionalAccess', _763 => _763.length])) {
37549
+ if (_optionalChain([e, 'access', _764 => _764.dataTransfer, 'access', _765 => _765.files, 'optionalAccess', _766 => _766.length])) {
37413
37550
  handleFiles(e.dataTransfer.files);
37414
37551
  }
37415
37552
  };
@@ -37437,7 +37574,7 @@ function FileUpload({
37437
37574
  e.preventDefault();
37438
37575
  dragCounter = 0;
37439
37576
  setDragActive(false);
37440
- if (_optionalChain([e, 'access', _764 => _764.dataTransfer, 'optionalAccess', _765 => _765.files, 'optionalAccess', _766 => _766.length])) {
37577
+ if (_optionalChain([e, 'access', _767 => _767.dataTransfer, 'optionalAccess', _768 => _768.files, 'optionalAccess', _769 => _769.length])) {
37441
37578
  handleFilesRef.current(e.dataTransfer.files);
37442
37579
  }
37443
37580
  };
@@ -37459,7 +37596,7 @@ function FileUpload({
37459
37596
  };
37460
37597
  }, [acceptWindowDrops, disabled]);
37461
37598
  const handleFileSelect = (e) => {
37462
- if (_optionalChain([e, 'access', _767 => _767.target, 'access', _768 => _768.files, 'optionalAccess', _769 => _769.length])) {
37599
+ if (_optionalChain([e, 'access', _770 => _770.target, 'access', _771 => _771.files, 'optionalAccess', _772 => _772.length])) {
37463
37600
  handleFiles(e.target.files);
37464
37601
  }
37465
37602
  };
@@ -37476,7 +37613,7 @@ function FileUpload({
37476
37613
  };
37477
37614
  const openDialog = async () => {
37478
37615
  if (disabled) return;
37479
- _optionalChain([fileInputRef, 'access', _770 => _770.current, 'optionalAccess', _771 => _771.click, 'call', _772 => _772()]);
37616
+ _optionalChain([fileInputRef, 'access', _773 => _773.current, 'optionalAccess', _774 => _774.click, 'call', _775 => _775()]);
37480
37617
  };
37481
37618
  const displayError = error || validationError || void 0;
37482
37619
  const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
@@ -37554,7 +37691,7 @@ function FileUpload({
37554
37691
  "button",
37555
37692
  {
37556
37693
  type: "button",
37557
- onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _773 => _773(entry.id)]),
37694
+ onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _776 => _776(entry.id)]),
37558
37695
  className: "shrink-0 p-1 rounded hover:bg-ods-bg transition-colors",
37559
37696
  "aria-label": `Remove ${entry.fileName}`,
37560
37697
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "size-4 text-ods-text-secondary" })
@@ -37677,7 +37814,7 @@ function ImageUploader({
37677
37814
  onChange(file);
37678
37815
  };
37679
37816
  const handleFileSelect = (e) => {
37680
- validateAndEmit(_optionalChain([e, 'access', _774 => _774.target, 'access', _775 => _775.files, 'optionalAccess', _776 => _776[0]]));
37817
+ validateAndEmit(_optionalChain([e, 'access', _777 => _777.target, 'access', _778 => _778.files, 'optionalAccess', _779 => _779[0]]));
37681
37818
  if (inputRef.current) inputRef.current.value = "";
37682
37819
  };
37683
37820
  const handleDrag = (e) => {
@@ -37692,11 +37829,11 @@ function ImageUploader({
37692
37829
  e.stopPropagation();
37693
37830
  setDragActive(false);
37694
37831
  if (!interactive) return;
37695
- validateAndEmit(_optionalChain([e, 'access', _777 => _777.dataTransfer, 'access', _778 => _778.files, 'optionalAccess', _779 => _779[0]]));
37832
+ validateAndEmit(_optionalChain([e, 'access', _780 => _780.dataTransfer, 'access', _781 => _781.files, 'optionalAccess', _782 => _782[0]]));
37696
37833
  };
37697
37834
  const openDialog = () => {
37698
37835
  if (!interactive) return;
37699
- _optionalChain([inputRef, 'access', _780 => _780.current, 'optionalAccess', _781 => _781.click, 'call', _782 => _782()]);
37836
+ _optionalChain([inputRef, 'access', _783 => _783.current, 'optionalAccess', _784 => _784.click, 'call', _785 => _785()]);
37700
37837
  };
37701
37838
  const handleRootKeyDown = (e) => {
37702
37839
  if (hasImage || !interactive) return;
@@ -37886,8 +38023,8 @@ function ColorPresetSelect({
37886
38023
  }) {
37887
38024
  const selectedPreset = presets.find((p) => p.key === presetKey);
37888
38025
  const isCustom = !selectedPreset;
37889
- const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _783 => _783.label]), () => ( "Custom"));
37890
- const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _784 => _784.color]), () => ( value));
38026
+ const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _786 => _786.label]), () => ( "Custom"));
38027
+ const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _787 => _787.color]), () => ( value));
37891
38028
  const groups = [
37892
38029
  {
37893
38030
  items: [
@@ -38177,7 +38314,7 @@ function TicketStatusConfigRow({
38177
38314
  _chunkQJGRP2YEcjs.Input,
38178
38315
  {
38179
38316
  value: name,
38180
- onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _785 => _785(e.target.value)]),
38317
+ onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _788 => _788(e.target.value)]),
38181
38318
  disabled: isSystem,
38182
38319
  readOnly: isSystem,
38183
38320
  "aria-label": "Status name",
@@ -38260,7 +38397,7 @@ function CompactAssigneeDropdown({
38260
38397
  return [current, ...filtered.filter((o) => o.value !== currentAssignee.id)];
38261
38398
  }, [filtered, currentAssignee]);
38262
38399
  const handleSelect = (userId) => {
38263
- const next = _optionalChain([currentAssignee, 'optionalAccess', _786 => _786.id]) === userId ? null : userId;
38400
+ const next = _optionalChain([currentAssignee, 'optionalAccess', _789 => _789.id]) === userId ? null : userId;
38264
38401
  onAssign(next);
38265
38402
  setIsOpen(false);
38266
38403
  };
@@ -38325,7 +38462,7 @@ function CompactAssigneeDropdown({
38325
38462
  }
38326
38463
  ) }),
38327
38464
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "max-h-80 overflow-y-auto py-[var(--spacing-system-xs)]", role: "listbox", children: isLoading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-sf)] py-[var(--spacing-system-s)] text-h5 text-ods-text-secondary", children: "Loading\u2026" }) : orderedOptions.length === 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "px-[var(--spacing-system-sf)] py-[var(--spacing-system-s)] text-h5 text-ods-text-secondary", children: "No users found" }) : orderedOptions.map((opt) => {
38328
- const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _787 => _787.id]) === opt.value;
38465
+ const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _790 => _790.id]) === opt.value;
38329
38466
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
38330
38467
  "button",
38331
38468
  {
@@ -38394,7 +38531,7 @@ function DefaultAssigneeDropdown({
38394
38531
  Autocomplete,
38395
38532
  {
38396
38533
  options,
38397
- value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _788 => _788.id]), () => ( null)),
38534
+ value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _791 => _791.id]), () => ( null)),
38398
38535
  onChange: (val) => {
38399
38536
  onAssign(val);
38400
38537
  setIsEditing(false);
@@ -38783,14 +38920,14 @@ function TicketInfoSection({
38783
38920
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38784
38921
  SquareAvatar,
38785
38922
  {
38786
- src: _optionalChain([organization, 'optionalAccess', _789 => _789.imageSrc]),
38787
- alt: _optionalChain([organization, 'optionalAccess', _790 => _790.name]),
38788
- fallback: _optionalChain([organization, 'optionalAccess', _791 => _791.name]) || "Org",
38923
+ src: _optionalChain([organization, 'optionalAccess', _792 => _792.imageSrc]),
38924
+ alt: _optionalChain([organization, 'optionalAccess', _793 => _793.name]),
38925
+ fallback: _optionalChain([organization, 'optionalAccess', _794 => _794.name]) || "Org",
38789
38926
  size: "md",
38790
38927
  className: "shrink-0"
38791
38928
  }
38792
38929
  ),
38793
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _792 => _792.name]) || "Unassigned", label: "Organization" })
38930
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _795 => _795.name]) || "Unassigned", label: "Organization" })
38794
38931
  ] }),
38795
38932
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38796
38933
  AssigneeDropdown,
@@ -38811,10 +38948,10 @@ function TicketInfoSection({
38811
38948
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38812
38949
  InfoCell2,
38813
38950
  {
38814
- value: _optionalChain([device, 'optionalAccess', _793 => _793.name]) || "Unassigned",
38951
+ value: _optionalChain([device, 'optionalAccess', _796 => _796.name]) || "Unassigned",
38815
38952
  label: "Device",
38816
- icon: _optionalChain([device, 'optionalAccess', _794 => _794.icon]),
38817
- onClick: _optionalChain([device, 'optionalAccess', _795 => _795.onClick])
38953
+ icon: _optionalChain([device, 'optionalAccess', _797 => _797.icon]),
38954
+ onClick: _optionalChain([device, 'optionalAccess', _798 => _798.onClick])
38818
38955
  }
38819
38956
  ),
38820
38957
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
@@ -39144,7 +39281,7 @@ function RoadmapCard({
39144
39281
  const compactHref = safeHref(_nullishCoalesce(href, () => ( null)));
39145
39282
  const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
39146
39283
  const hasFigma = !!item.figmaUrl;
39147
- const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _796 => _796.screenshots, 'optionalAccess', _797 => _797.length]), () => ( 0))) > 0;
39284
+ const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _799 => _799.screenshots, 'optionalAccess', _800 => _800.length]), () => ( 0))) > 0;
39148
39285
  const typeLabel = getTaskTypeLabel(item.customItemId);
39149
39286
  const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
39150
39287
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -39163,7 +39300,7 @@ function RoadmapCard({
39163
39300
  unoptimized: true,
39164
39301
  className: "h-8 w-8 object-contain"
39165
39302
  }
39166
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _798 => _798.title, 'optionalAccess', _799 => _799.substring, 'call', _800 => _800(0, 2)]) || "??" })
39303
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _801 => _801.title, 'optionalAccess', _802 => _802.substring, 'call', _803 => _803(0, 2)]) || "??" })
39167
39304
  }
39168
39305
  ),
39169
39306
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -39238,7 +39375,7 @@ function RoadmapCard({
39238
39375
  unoptimized: true,
39239
39376
  className: "object-contain p-1"
39240
39377
  }
39241
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _801 => _801.title, 'optionalAccess', _802 => _802.substring, 'call', _803 => _803(0, 2)]) || "??" }) }),
39378
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _804 => _804.title, 'optionalAccess', _805 => _805.substring, 'call', _806 => _806(0, 2)]) || "??" }) }),
39242
39379
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
39243
39380
  /* @__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 }) }),
39244
39381
  /* @__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: [
@@ -39748,7 +39885,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
39748
39885
  ] }) : null,
39749
39886
  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
39750
39887
  ] }),
39751
- _optionalChain([anchorProps, 'optionalAccess', _804 => _804.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
39888
+ _optionalChain([anchorProps, 'optionalAccess', _807 => _807.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
39752
39889
  ] });
39753
39890
  if (!anchorProps) {
39754
39891
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
@@ -39818,7 +39955,7 @@ function getDefaultOptions() {
39818
39955
  // node_modules/date-fns/startOfWeek.mjs
39819
39956
  function startOfWeek(date, options) {
39820
39957
  const defaultOptions2 = getDefaultOptions();
39821
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _805 => _805.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _806 => _806.locale, 'optionalAccess', _807 => _807.options, 'optionalAccess', _808 => _808.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _809 => _809.locale, 'optionalAccess', _810 => _810.options, 'optionalAccess', _811 => _811.weekStartsOn]))), () => ( 0));
39958
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _808 => _808.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _809 => _809.locale, 'optionalAccess', _810 => _810.options, 'optionalAccess', _811 => _811.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _812 => _812.locale, 'optionalAccess', _813 => _813.options, 'optionalAccess', _814 => _814.weekStartsOn]))), () => ( 0));
39822
39959
  const _date = toDate(date);
39823
39960
  const day = _date.getDay();
39824
39961
  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
@@ -39993,7 +40130,7 @@ var formatDistance = (token, count, options) => {
39993
40130
  } else {
39994
40131
  result = tokenValue.other.replace("{{count}}", count.toString());
39995
40132
  }
39996
- if (_optionalChain([options, 'optionalAccess', _812 => _812.addSuffix])) {
40133
+ if (_optionalChain([options, 'optionalAccess', _815 => _815.addSuffix])) {
39997
40134
  if (options.comparison && options.comparison > 0) {
39998
40135
  return "in " + result;
39999
40136
  } else {
@@ -40060,15 +40197,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
40060
40197
  // node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
40061
40198
  function buildLocalizeFn(args) {
40062
40199
  return (value, options) => {
40063
- const context = _optionalChain([options, 'optionalAccess', _813 => _813.context]) ? String(options.context) : "standalone";
40200
+ const context = _optionalChain([options, 'optionalAccess', _816 => _816.context]) ? String(options.context) : "standalone";
40064
40201
  let valuesArray;
40065
40202
  if (context === "formatting" && args.formattingValues) {
40066
40203
  const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
40067
- const width = _optionalChain([options, 'optionalAccess', _814 => _814.width]) ? String(options.width) : defaultWidth;
40204
+ const width = _optionalChain([options, 'optionalAccess', _817 => _817.width]) ? String(options.width) : defaultWidth;
40068
40205
  valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
40069
40206
  } else {
40070
40207
  const defaultWidth = args.defaultWidth;
40071
- const width = _optionalChain([options, 'optionalAccess', _815 => _815.width]) ? String(options.width) : args.defaultWidth;
40208
+ const width = _optionalChain([options, 'optionalAccess', _818 => _818.width]) ? String(options.width) : args.defaultWidth;
40072
40209
  valuesArray = args.values[width] || args.values[defaultWidth];
40073
40210
  }
40074
40211
  const index = args.argumentCallback ? args.argumentCallback(value) : value;
@@ -40448,7 +40585,7 @@ function getWeekYear(date, options) {
40448
40585
  const _date = toDate(date);
40449
40586
  const year = _date.getFullYear();
40450
40587
  const defaultOptions2 = getDefaultOptions();
40451
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _816 => _816.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _817 => _817.locale, 'optionalAccess', _818 => _818.options, 'optionalAccess', _819 => _819.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _820 => _820.locale, 'optionalAccess', _821 => _821.options, 'optionalAccess', _822 => _822.firstWeekContainsDate]))), () => ( 1));
40588
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _819 => _819.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _820 => _820.locale, 'optionalAccess', _821 => _821.options, 'optionalAccess', _822 => _822.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _823 => _823.locale, 'optionalAccess', _824 => _824.options, 'optionalAccess', _825 => _825.firstWeekContainsDate]))), () => ( 1));
40452
40589
  const firstWeekOfNextYear = constructFrom(date, 0);
40453
40590
  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
40454
40591
  firstWeekOfNextYear.setHours(0, 0, 0, 0);
@@ -40469,7 +40606,7 @@ function getWeekYear(date, options) {
40469
40606
  // node_modules/date-fns/startOfWeekYear.mjs
40470
40607
  function startOfWeekYear(date, options) {
40471
40608
  const defaultOptions2 = getDefaultOptions();
40472
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _823 => _823.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _824 => _824.locale, 'optionalAccess', _825 => _825.options, 'optionalAccess', _826 => _826.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _827 => _827.locale, 'optionalAccess', _828 => _828.options, 'optionalAccess', _829 => _829.firstWeekContainsDate]))), () => ( 1));
40609
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _826 => _826.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _827 => _827.locale, 'optionalAccess', _828 => _828.options, 'optionalAccess', _829 => _829.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _830 => _830.locale, 'optionalAccess', _831 => _831.options, 'optionalAccess', _832 => _832.firstWeekContainsDate]))), () => ( 1));
40473
40610
  const year = getWeekYear(date, options);
40474
40611
  const firstWeek = constructFrom(date, 0);
40475
40612
  firstWeek.setFullYear(year, 0, firstWeekContainsDate);
@@ -41284,9 +41421,9 @@ var doubleQuoteRegExp = /''/g;
41284
41421
  var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
41285
41422
  function format(date, formatStr, options) {
41286
41423
  const defaultOptions2 = getDefaultOptions();
41287
- const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _830 => _830.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
41288
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _831 => _831.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _832 => _832.locale, 'optionalAccess', _833 => _833.options, 'optionalAccess', _834 => _834.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _835 => _835.locale, 'optionalAccess', _836 => _836.options, 'optionalAccess', _837 => _837.firstWeekContainsDate]))), () => ( 1));
41289
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _838 => _838.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _839 => _839.locale, 'optionalAccess', _840 => _840.options, 'optionalAccess', _841 => _841.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _842 => _842.locale, 'optionalAccess', _843 => _843.options, 'optionalAccess', _844 => _844.weekStartsOn]))), () => ( 0));
41424
+ const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _833 => _833.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
41425
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _834 => _834.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _835 => _835.locale, 'optionalAccess', _836 => _836.options, 'optionalAccess', _837 => _837.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _838 => _838.locale, 'optionalAccess', _839 => _839.options, 'optionalAccess', _840 => _840.firstWeekContainsDate]))), () => ( 1));
41426
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _841 => _841.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _842 => _842.locale, 'optionalAccess', _843 => _843.options, 'optionalAccess', _844 => _844.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _845 => _845.locale, 'optionalAccess', _846 => _846.options, 'optionalAccess', _847 => _847.weekStartsOn]))), () => ( 0));
41290
41427
  const originalDate = toDate(date);
41291
41428
  if (!isValid(originalDate)) {
41292
41429
  throw new RangeError("Invalid time value");
@@ -41327,7 +41464,7 @@ function format(date, formatStr, options) {
41327
41464
  return parts.map((part) => {
41328
41465
  if (!part.isToken) return part.value;
41329
41466
  const token = part.value;
41330
- if (!_optionalChain([options, 'optionalAccess', _845 => _845.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _846 => _846.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
41467
+ if (!_optionalChain([options, 'optionalAccess', _848 => _848.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _849 => _849.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
41331
41468
  warnOrThrowProtectedError(token, formatStr, String(date));
41332
41469
  }
41333
41470
  const formatter = formatters[token[0]];
@@ -41508,7 +41645,7 @@ function ProgramCard({
41508
41645
  const dur = formatDurationFromRange(w.start_at, w.end_at);
41509
41646
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
41510
41647
  }
41511
- const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _847 => _847.labels, 'optionalAccess', _848 => _848.singular])].filter(
41648
+ const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _850 => _850.labels, 'optionalAccess', _851 => _851.singular])].filter(
41512
41649
  (s) => typeof s === "string" && s.length > 0
41513
41650
  );
41514
41651
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunkFIG2RKZFcjs.cn.call(void 0, COMPACT_CARD_OUTER, className), children: [
@@ -41665,7 +41802,7 @@ function ProgramCard({
41665
41802
 
41666
41803
 
41667
41804
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
41668
- const goalsCount = _optionalChain([campaign, 'access', _849 => _849.goals, 'optionalAccess', _850 => _850.length]) || 0;
41805
+ const goalsCount = _optionalChain([campaign, 'access', _852 => _852.goals, 'optionalAccess', _853 => _853.length]) || 0;
41669
41806
  const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
41670
41807
  /* @__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" }) }),
41671
41808
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -41827,7 +41964,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
41827
41964
  if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
41828
41965
  const safePath = sanitizePath(row.path);
41829
41966
  if (safePath) {
41830
- const docTarget = row.documentType ? _optionalChain([ctx, 'access', _851 => _851.docPlatformTargets, 'optionalAccess', _852 => _852[row.documentType]]) : void 0;
41967
+ const docTarget = row.documentType ? _optionalChain([ctx, 'access', _854 => _854.docPlatformTargets, 'optionalAccess', _855 => _855[row.documentType]]) : void 0;
41831
41968
  if (docTarget) {
41832
41969
  const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
41833
41970
  const base = `${_chunkFIG2RKZFcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
@@ -42042,8 +42179,8 @@ function cardMenuGroups(href, discuss, openDetails) {
42042
42179
  if (href) {
42043
42180
  items.push({
42044
42181
  id: "open-details",
42045
- label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _853 => _853.label]), () => ( "Open Details")),
42046
- icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _854 => _854.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.EyeIcon, { size: 20 }))),
42182
+ label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _856 => _856.label]), () => ( "Open Details")),
42183
+ icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _857 => _857.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.EyeIcon, { size: 20 }))),
42047
42184
  // Main row → open the entity (same tab, soft Link nav).
42048
42185
  href,
42049
42186
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -42073,8 +42210,8 @@ function HubspotTicketChatCard({
42073
42210
  isNewTab,
42074
42211
  discuss
42075
42212
  }) {
42076
- const status = typeof _optionalChain([chatRef, 'access', _855 => _855.metadata, 'optionalAccess', _856 => _856.status]) === "string" ? chatRef.metadata.status : void 0;
42077
- const statusLabel = typeof _optionalChain([chatRef, 'access', _857 => _857.metadata, 'optionalAccess', _858 => _858.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
42213
+ const status = typeof _optionalChain([chatRef, 'access', _858 => _858.metadata, 'optionalAccess', _859 => _859.status]) === "string" ? chatRef.metadata.status : void 0;
42214
+ const statusLabel = typeof _optionalChain([chatRef, 'access', _860 => _860.metadata, 'optionalAccess', _861 => _861.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
42078
42215
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
42079
42216
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42080
42217
  MingoInfoCard,
@@ -42097,7 +42234,7 @@ function FaqChatCard({
42097
42234
  isNewTab,
42098
42235
  discuss
42099
42236
  }) {
42100
- const section = typeof _optionalChain([chatRef, 'access', _859 => _859.metadata, 'optionalAccess', _860 => _860.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
42237
+ const section = typeof _optionalChain([chatRef, 'access', _862 => _862.metadata, 'optionalAccess', _863 => _863.section]) === "string" ? chatRef.metadata.section.trim() : void 0;
42101
42238
  const statusLabel = section && section.length > 0 ? section : "FAQ";
42102
42239
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42103
42240
  MingoInfoCard,
@@ -42117,7 +42254,7 @@ function SlackChatCard({
42117
42254
  isNewTab,
42118
42255
  discuss
42119
42256
  }) {
42120
- const channelName = typeof _optionalChain([chatRef, 'access', _861 => _861.metadata, 'optionalAccess', _862 => _862.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
42257
+ const channelName = typeof _optionalChain([chatRef, 'access', _864 => _864.metadata, 'optionalAccess', _865 => _865.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
42121
42258
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
42122
42259
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
42123
42260
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -42157,7 +42294,7 @@ function GenericFinancialChatCard({
42157
42294
  isNewTab,
42158
42295
  discuss
42159
42296
  }) {
42160
- const subtitle = typeof _optionalChain([chatRef, 'access', _863 => _863.metadata, 'optionalAccess', _864 => _864.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
42297
+ const subtitle = typeof _optionalChain([chatRef, 'access', _866 => _866.metadata, 'optionalAccess', _867 => _867.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
42161
42298
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42162
42299
  MingoInfoCard,
42163
42300
  {
@@ -42226,12 +42363,12 @@ function ProductReleaseChatCard({
42226
42363
  discuss
42227
42364
  }) {
42228
42365
  const releaseProps = buildProps(item);
42229
- const status = _optionalChain([item, 'optionalAccess', _865 => _865.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
42366
+ const status = _optionalChain([item, 'optionalAccess', _868 => _868.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
42230
42367
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42231
42368
  EntityMingoCard,
42232
42369
  {
42233
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _866 => _866.title]), () => ( "")),
42234
- description: _optionalChain([item, 'optionalAccess', _867 => _867.summary]) || releaseProps.formattedDate || void 0,
42370
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _869 => _869.title]), () => ( "")),
42371
+ description: _optionalChain([item, 'optionalAccess', _870 => _870.summary]) || releaseProps.formattedDate || void 0,
42235
42372
  cover: releaseProps.coverImage || void 0,
42236
42373
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.Rocket02Icon, { size: 24 }),
42237
42374
  status,
@@ -42248,17 +42385,17 @@ function CampaignChatCard({
42248
42385
  isNewTab,
42249
42386
  discuss
42250
42387
  }) {
42251
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _868 => _868.goals])) ? item.goals.length : 0;
42388
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _871 => _871.goals])) ? item.goals.length : 0;
42252
42389
  const meta = [
42253
- _optionalChain([item, 'optionalAccess', _869 => _869.start_date]) ? formatDateShort(item.start_date) : null,
42390
+ _optionalChain([item, 'optionalAccess', _872 => _872.start_date]) ? formatDateShort(item.start_date) : null,
42254
42391
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
42255
42392
  "Marketing campaign"
42256
42393
  ].filter(Boolean).join(" \xB7 ");
42257
42394
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42258
42395
  EntityMingoCard,
42259
42396
  {
42260
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _870 => _870.name]), () => ( "")),
42261
- description: meta || _optionalChain([item, 'optionalAccess', _871 => _871.description]) || void 0,
42397
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _873 => _873.name]), () => ( "")),
42398
+ description: meta || _optionalChain([item, 'optionalAccess', _874 => _874.description]) || void 0,
42262
42399
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.Megaphone01Icon, { size: 24 }),
42263
42400
  chatRef,
42264
42401
  isNewTab,
@@ -42311,14 +42448,14 @@ function BlogChatCard({
42311
42448
  hasEmbeddedVideo,
42312
42449
  discuss
42313
42450
  }) {
42314
- const category = Array.isArray(_optionalChain([item, 'optionalAccess', _872 => _872.categories])) ? _optionalChain([item, 'access', _873 => _873.categories, 'access', _874 => _874.find, 'call', _875 => _875((c) => c && c.name), 'optionalAccess', _876 => _876.name]) : void 0;
42451
+ const category = Array.isArray(_optionalChain([item, 'optionalAccess', _875 => _875.categories])) ? _optionalChain([item, 'access', _876 => _876.categories, 'access', _877 => _877.find, 'call', _878 => _878((c) => c && c.name), 'optionalAccess', _879 => _879.name]) : void 0;
42315
42452
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
42316
42453
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42317
42454
  EntityMingoCard,
42318
42455
  {
42319
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _877 => _877.title]), () => ( "")),
42320
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _878 => _878.summary]), () => ( void 0)),
42321
- cover: entityCover(_optionalChain([item, 'optionalAccess', _879 => _879.featured_image]), ogPlaceholder),
42456
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _880 => _880.title]), () => ( "")),
42457
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _881 => _881.summary]), () => ( void 0)),
42458
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _882 => _882.featured_image]), ogPlaceholder),
42322
42459
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.NewspaperIcon, { size: 24 }),
42323
42460
  status,
42324
42461
  chatRef,
@@ -42335,13 +42472,13 @@ function CaseStudyChatCard({
42335
42472
  ogPlaceholder,
42336
42473
  discuss
42337
42474
  }) {
42338
- const meta = [_optionalChain([item, 'optionalAccess', _880 => _880.msp, 'optionalAccess', _881 => _881.name]), _optionalChain([item, 'optionalAccess', _882 => _882.user, 'optionalAccess', _883 => _883.full_name])].filter(Boolean).join(" \xB7 ");
42475
+ const meta = [_optionalChain([item, 'optionalAccess', _883 => _883.msp, 'optionalAccess', _884 => _884.name]), _optionalChain([item, 'optionalAccess', _885 => _885.user, 'optionalAccess', _886 => _886.full_name])].filter(Boolean).join(" \xB7 ");
42339
42476
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42340
42477
  EntityMingoCard,
42341
42478
  {
42342
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _884 => _884.title]), () => ( "")),
42343
- description: _optionalChain([item, 'optionalAccess', _885 => _885.summary]) || meta || void 0,
42344
- cover: entityCover(_optionalChain([item, 'optionalAccess', _886 => _886.featured_image]), ogPlaceholder),
42479
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _887 => _887.title]), () => ( "")),
42480
+ description: _optionalChain([item, 'optionalAccess', _888 => _888.summary]) || meta || void 0,
42481
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _889 => _889.featured_image]), ogPlaceholder),
42345
42482
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.TrophyIcon, { size: 24 }),
42346
42483
  status: { label: "Case study", variant: "grey" },
42347
42484
  chatRef,
@@ -42358,13 +42495,13 @@ function CustomerInterviewChatCard({
42358
42495
  ogPlaceholder,
42359
42496
  discuss
42360
42497
  }) {
42361
- const meta = [_optionalChain([item, 'optionalAccess', _887 => _887.user, 'optionalAccess', _888 => _888.full_name]), _optionalChain([item, 'optionalAccess', _889 => _889.msp, 'optionalAccess', _890 => _890.name])].filter(Boolean).join(" \xB7 ");
42498
+ const meta = [_optionalChain([item, 'optionalAccess', _890 => _890.user, 'optionalAccess', _891 => _891.full_name]), _optionalChain([item, 'optionalAccess', _892 => _892.msp, 'optionalAccess', _893 => _893.name])].filter(Boolean).join(" \xB7 ");
42362
42499
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42363
42500
  EntityMingoCard,
42364
42501
  {
42365
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _891 => _891.title]), () => ( "")),
42366
- description: _optionalChain([item, 'optionalAccess', _892 => _892.video_summary]) || meta || void 0,
42367
- cover: entityCover(_optionalChain([item, 'optionalAccess', _893 => _893.featured_image]), ogPlaceholder),
42502
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _894 => _894.title]), () => ( "")),
42503
+ description: _optionalChain([item, 'optionalAccess', _895 => _895.video_summary]) || meta || void 0,
42504
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _896 => _896.featured_image]), ogPlaceholder),
42368
42505
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.MicrophoneIcon, { size: 24 }),
42369
42506
  status: { label: "Interview", variant: "grey" },
42370
42507
  chatRef,
@@ -42381,13 +42518,13 @@ function InvestorUpdateChatCard({
42381
42518
  ogPlaceholder,
42382
42519
  discuss
42383
42520
  }) {
42384
- const title = _optionalChain([item, 'optionalAccess', _894 => _894.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _895 => _895.update_number]), () => ( "?"))}`;
42521
+ const title = _optionalChain([item, 'optionalAccess', _897 => _897.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _898 => _898.update_number]), () => ( "?"))}`;
42385
42522
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42386
42523
  EntityMingoCard,
42387
42524
  {
42388
42525
  title,
42389
- description: _optionalChain([item, 'optionalAccess', _896 => _896.strategic_update]) || _optionalChain([item, 'optionalAccess', _897 => _897.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _898 => _898.period_start]), _optionalChain([item, 'optionalAccess', _899 => _899.period_end])) || void 0,
42390
- cover: entityCover(_optionalChain([item, 'optionalAccess', _900 => _900.featured_image]), ogPlaceholder),
42526
+ description: _optionalChain([item, 'optionalAccess', _899 => _899.strategic_update]) || _optionalChain([item, 'optionalAccess', _900 => _900.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _901 => _901.period_start]), _optionalChain([item, 'optionalAccess', _902 => _902.period_end])) || void 0,
42527
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _903 => _903.featured_image]), ogPlaceholder),
42391
42528
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.PresentationLineIcon, { size: 24 }),
42392
42529
  status: { label: "Investor update", variant: "grey" },
42393
42530
  chatRef,
@@ -42404,12 +42541,12 @@ function OnboardingGuideChatCard({
42404
42541
  ogPlaceholder,
42405
42542
  discuss
42406
42543
  }) {
42407
- const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _901 => _901.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _902 => _902.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _903 => _903.og_image_url]), ogPlaceholder)));
42544
+ const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _904 => _904.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _905 => _905.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _906 => _906.og_image_url]), ogPlaceholder)));
42408
42545
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42409
42546
  EntityMingoCard,
42410
42547
  {
42411
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _904 => _904.title]), () => ( "")),
42412
- description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _905 => _905.summary]), () => ( _optionalChain([item, 'optionalAccess', _906 => _906.description]))), () => ( void 0)),
42548
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _907 => _907.title]), () => ( "")),
42549
+ description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _908 => _908.summary]), () => ( _optionalChain([item, 'optionalAccess', _909 => _909.description]))), () => ( void 0)),
42413
42550
  cover,
42414
42551
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.CompassIcon, { size: 24 }),
42415
42552
  status: { label: "Guide", variant: "grey" },
@@ -42430,25 +42567,25 @@ function ProgramChatCard({
42430
42567
  discuss
42431
42568
  }) {
42432
42569
  const icon = configKey === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.CalendarIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.MicrophoneIcon, { size: 24 });
42433
- const isScheduled = _optionalChain([item, 'optionalAccess', _907 => _907.status]) === "scheduled";
42570
+ const isScheduled = _optionalChain([item, 'optionalAccess', _910 => _910.status]) === "scheduled";
42434
42571
  let typeMeta;
42435
- if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _908 => _908.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
42572
+ if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _911 => _911.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
42436
42573
  typeMeta = formatDurationCompact(item.duration_seconds);
42437
- } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _909 => _909.location_name]) === "string" && item.location_name.trim().length > 0) {
42574
+ } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _912 => _912.location_name]) === "string" && item.location_name.trim().length > 0) {
42438
42575
  typeMeta = item.location_name;
42439
- } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _910 => _910.start_at])) {
42576
+ } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _913 => _913.start_at])) {
42440
42577
  const time = formatTimeWithTimezone(item.start_at, _nullishCoalesce(item.timezone, () => ( null)));
42441
42578
  const dur = formatDurationFromRange(item.start_at, item.end_at);
42442
42579
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
42443
42580
  }
42444
- const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _911 => _911.date]), () => ( null)), { fallback: "", timezone: "local" });
42581
+ const itemDate = formatDateUTC(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _914 => _914.date]), () => ( null)), { fallback: "", timezone: "local" });
42445
42582
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
42446
42583
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42447
42584
  EntityMingoCard,
42448
42585
  {
42449
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _912 => _912.title]), () => ( "")),
42450
- description: meta || _optionalChain([item, 'optionalAccess', _913 => _913.description]) || void 0,
42451
- cover: entityCover(_optionalChain([item, 'optionalAccess', _914 => _914.cover_url]), ogPlaceholder),
42586
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _915 => _915.title]), () => ( "")),
42587
+ description: meta || _optionalChain([item, 'optionalAccess', _916 => _916.description]) || void 0,
42588
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _917 => _917.cover_url]), ogPlaceholder),
42452
42589
  fallbackIcon: icon,
42453
42590
  status: { label, variant: "grey" },
42454
42591
  chatRef,
@@ -42465,10 +42602,10 @@ function RoadmapChatCard({
42465
42602
  cardType,
42466
42603
  discuss
42467
42604
  }) {
42468
- const logoUrl = typeof _optionalChain([item, 'optionalAccess', _915 => _915.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
42469
- const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _916 => _916.customItemId]) != null;
42605
+ const logoUrl = typeof _optionalChain([item, 'optionalAccess', _918 => _918.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
42606
+ const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _919 => _919.customItemId]) != null;
42470
42607
  const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.MapIcon, { size: 24 });
42471
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _917 => _917.customItemId]), className: "size-6" }) : logoUrl ? (
42608
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _920 => _920.customItemId]), className: "size-6" }) : logoUrl ? (
42472
42609
  // Contained (not full-bleed) so the integration logo keeps its aspect
42473
42610
  // ratio inside the bordered icon box — matches RoadmapCard.
42474
42611
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
@@ -42476,10 +42613,10 @@ function RoadmapChatCard({
42476
42613
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42477
42614
  EntityMingoCard,
42478
42615
  {
42479
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _918 => _918.title]), () => ( "")),
42480
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _919 => _919.description]), () => ( void 0)),
42616
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _921 => _921.title]), () => ( "")),
42617
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _922 => _922.description]), () => ( void 0)),
42481
42618
  fallbackIcon: icon,
42482
- status: statusPill(_optionalChain([item, 'optionalAccess', _920 => _920.status])),
42619
+ status: statusPill(_optionalChain([item, 'optionalAccess', _923 => _923.status])),
42483
42620
  chatRef,
42484
42621
  isNewTab,
42485
42622
  discuss,
@@ -42565,7 +42702,7 @@ function programRegistryEntries() {
42565
42702
  discuss: opts.discuss,
42566
42703
  configKey: cfg.configKey,
42567
42704
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
42568
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _921 => _921.extras, 'optionalAccess', _922 => _922.buildOgPlaceholderUrl, 'optionalCall', _923 => _923(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _924 => _924.title]), () => ( "")))]), () => ( null))
42705
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _924 => _924.extras, 'optionalAccess', _925 => _925.buildOgPlaceholderUrl, 'optionalCall', _926 => _926(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _927 => _927.title]), () => ( "")))]), () => ( null))
42569
42706
  }
42570
42707
  )
42571
42708
  };
@@ -42717,8 +42854,8 @@ var CHAT_CARD_REGISTRY = {
42717
42854
  chatRef,
42718
42855
  isNewTab: opts.isNewTab,
42719
42856
  discuss: opts.discuss,
42720
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _925 => _925.extras, 'optionalAccess', _926 => _926.buildOgPlaceholderUrl, 'optionalCall', _927 => _927(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _928 => _928.title]), () => ( "")))]), () => ( null)),
42721
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _929 => _929.metadata, 'optionalAccess', _930 => _930.hasEmbeddedVideo]) === true
42857
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _928 => _928.extras, 'optionalAccess', _929 => _929.buildOgPlaceholderUrl, 'optionalCall', _930 => _930(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _931 => _931.title]), () => ( "")))]), () => ( null)),
42858
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _932 => _932.metadata, 'optionalAccess', _933 => _933.hasEmbeddedVideo]) === true
42722
42859
  }
42723
42860
  )
42724
42861
  },
@@ -42735,7 +42872,7 @@ var CHAT_CARD_REGISTRY = {
42735
42872
  chatRef,
42736
42873
  isNewTab: opts.isNewTab,
42737
42874
  discuss: opts.discuss,
42738
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _931 => _931.extras, 'optionalAccess', _932 => _932.buildOgPlaceholderUrl, 'optionalCall', _933 => _933(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _934 => _934.title]), () => ( "")))]), () => ( null))
42875
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _934 => _934.extras, 'optionalAccess', _935 => _935.buildOgPlaceholderUrl, 'optionalCall', _936 => _936(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _937 => _937.title]), () => ( "")))]), () => ( null))
42739
42876
  }
42740
42877
  )
42741
42878
  },
@@ -42752,7 +42889,7 @@ var CHAT_CARD_REGISTRY = {
42752
42889
  chatRef,
42753
42890
  isNewTab: opts.isNewTab,
42754
42891
  discuss: opts.discuss,
42755
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _935 => _935.extras, 'optionalAccess', _936 => _936.buildOgPlaceholderUrl, 'optionalCall', _937 => _937(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _938 => _938.title]), () => ( "")))]), () => ( null))
42892
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _938 => _938.extras, 'optionalAccess', _939 => _939.buildOgPlaceholderUrl, 'optionalCall', _940 => _940(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _941 => _941.title]), () => ( "")))]), () => ( null))
42756
42893
  }
42757
42894
  )
42758
42895
  },
@@ -42763,7 +42900,7 @@ var CHAT_CARD_REGISTRY = {
42763
42900
  bareInline: true,
42764
42901
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
42765
42902
  render: (item, chatRef, opts) => {
42766
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _939 => _939.extras, 'optionalAccess', _940 => _940.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
42903
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _942 => _942.extras, 'optionalAccess', _943 => _943.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
42767
42904
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42768
42905
  ProductReleaseChatCard,
42769
42906
  {
@@ -42790,7 +42927,7 @@ var CHAT_CARD_REGISTRY = {
42790
42927
  chatRef,
42791
42928
  isNewTab: opts.isNewTab,
42792
42929
  discuss: opts.discuss,
42793
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _941 => _941.extras, 'optionalAccess', _942 => _942.buildOgPlaceholderUrl, 'optionalCall', _943 => _943(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _944 => _944.title]), () => ( "")))]), () => ( null))
42930
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _944 => _944.extras, 'optionalAccess', _945 => _945.buildOgPlaceholderUrl, 'optionalCall', _946 => _946(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _947 => _947.title]), () => ( "")))]), () => ( null))
42794
42931
  }
42795
42932
  )
42796
42933
  },
@@ -42809,7 +42946,7 @@ var CHAT_CARD_REGISTRY = {
42809
42946
  chatRef,
42810
42947
  isNewTab: opts.isNewTab,
42811
42948
  discuss: opts.discuss,
42812
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _945 => _945.extras, 'optionalAccess', _946 => _946.buildOgPlaceholderUrl, 'optionalCall', _947 => _947(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _948 => _948.title]), () => ( "")))]), () => ( null))
42949
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _948 => _948.extras, 'optionalAccess', _949 => _949.buildOgPlaceholderUrl, 'optionalCall', _950 => _950(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _951 => _951.title]), () => ( "")))]), () => ( null))
42813
42950
  }
42814
42951
  )
42815
42952
  },
@@ -42821,7 +42958,7 @@ var CHAT_CARD_REGISTRY = {
42821
42958
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
42822
42959
  // No public viewer — synthesize the hub-internal admin URL post-fetch
42823
42960
  // so the wrapper + isNewTab computation see the actual destination.
42824
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _949 => _949.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
42961
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _952 => _952.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
42825
42962
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42826
42963
  CampaignChatCard,
42827
42964
  {
@@ -42847,12 +42984,12 @@ function ChatCardNavWrap({
42847
42984
  const onClickCapture = (e) => {
42848
42985
  if (!href) return;
42849
42986
  const targetEl = e.target;
42850
- if (_optionalChain([targetEl, 'optionalAccess', _950 => _950.closest, 'optionalCall', _951 => _951("button")])) return;
42851
- if (!_optionalChain([targetEl, 'optionalAccess', _952 => _952.closest, 'optionalCall', _953 => _953("a")])) return;
42987
+ if (_optionalChain([targetEl, 'optionalAccess', _953 => _953.closest, 'optionalCall', _954 => _954("button")])) return;
42988
+ if (!_optionalChain([targetEl, 'optionalAccess', _955 => _955.closest, 'optionalCall', _956 => _956("a")])) return;
42852
42989
  const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
42853
42990
  if (!handled) return;
42854
42991
  e.stopPropagation();
42855
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _954 => _954.closeChat])) panel.closeChat();
42992
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _957 => _957.closeChat])) panel.closeChat();
42856
42993
  };
42857
42994
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
42858
42995
  }
@@ -42874,7 +43011,7 @@ function ChatCardLoader({
42874
43011
  title: chatRef.title,
42875
43012
  externalUrl: chatRef.url,
42876
43013
  targetPlatform: chatRef.targetPlatform,
42877
- path: typeof _optionalChain([chatRef, 'access', _955 => _955.metadata, 'optionalAccess', _956 => _956.path]) === "string" ? chatRef.metadata.path : null
43014
+ path: typeof _optionalChain([chatRef, 'access', _958 => _958.metadata, 'optionalAccess', _959 => _959.path]) === "string" ? chatRef.metadata.path : null
42878
43015
  },
42879
43016
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
42880
43017
  );
@@ -42888,7 +43025,7 @@ function ChatCardLoader({
42888
43025
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
42889
43026
  const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
42890
43027
  const { item, isLoading } = useChatCardItem(
42891
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _957 => _957.contentRefType]), () => ( "")),
43028
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _960 => _960.contentRefType]), () => ( "")),
42892
43029
  fetchEntry ? resolvedChatRef.id : ""
42893
43030
  );
42894
43031
  if (!entry) return null;
@@ -42919,7 +43056,7 @@ function ChatCardLoader({
42919
43056
  isNewTab,
42920
43057
  discuss
42921
43058
  };
42922
- const path = typeof _optionalChain([finalChatRef, 'access', _958 => _958.metadata, 'optionalAccess', _959 => _959.path]) === "string" ? finalChatRef.metadata.path : null;
43059
+ const path = typeof _optionalChain([finalChatRef, 'access', _961 => _961.metadata, 'optionalAccess', _962 => _962.path]) === "string" ? finalChatRef.metadata.path : null;
42923
43060
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42924
43061
  ChatCardNavWrap,
42925
43062
  {
@@ -43305,7 +43442,7 @@ function useJetStreamDialogSubscription({
43305
43442
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
43306
43443
  conn: sharedConn,
43307
43444
  wsUrl,
43308
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _960 => _960.current, 'optionalCall', _961 => _961()]),
43445
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _963 => _963.current, 'optionalCall', _964 => _964()]),
43309
43446
  backoff: reconnectionBackoffRef.current,
43310
43447
  getFreshUrl: () => getNatsWsUrlRef.current(),
43311
43448
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -43320,7 +43457,7 @@ function useJetStreamDialogSubscription({
43320
43457
  setReconnectionCount((c) => c + 1);
43321
43458
  }
43322
43459
  hadConnectionBeforeRef.current = true;
43323
- _optionalChain([onConnectRef, 'access', _962 => _962.current, 'optionalCall', _963 => _963()]);
43460
+ _optionalChain([onConnectRef, 'access', _965 => _965.current, 'optionalCall', _966 => _966()]);
43324
43461
  }
43325
43462
  if (status === "error") {
43326
43463
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -43330,7 +43467,7 @@ function useJetStreamDialogSubscription({
43330
43467
  setIsConnected(false);
43331
43468
  setIsSubscribed(false);
43332
43469
  tearDownSubscription();
43333
- _optionalChain([onDisconnectRef, 'access', _964 => _964.current, 'optionalCall', _965 => _965()]);
43470
+ _optionalChain([onDisconnectRef, 'access', _967 => _967.current, 'optionalCall', _968 => _968()]);
43334
43471
  }
43335
43472
  }
43336
43473
  });
@@ -43409,7 +43546,7 @@ function useJetStreamDialogSubscription({
43409
43546
  }
43410
43547
  subscriptionRef.current = handle;
43411
43548
  setIsSubscribed(true);
43412
- _optionalChain([onSubscribedRef, 'access', _966 => _966.current, 'optionalCall', _967 => _967()]);
43549
+ _optionalChain([onSubscribedRef, 'access', _969 => _969.current, 'optionalCall', _970 => _970()]);
43413
43550
  } catch (e44) {
43414
43551
  if (!cancelled) {
43415
43552
  setIsSubscribed(false);
@@ -43522,20 +43659,20 @@ function useNatsDialogSubscription({
43522
43659
  const tearDownSubscriptions = () => {
43523
43660
  subscriptionRefs.current.forEach((sub) => {
43524
43661
  try {
43525
- _optionalChain([sub, 'optionalAccess', _968 => _968.unsubscribe, 'call', _969 => _969()]);
43662
+ _optionalChain([sub, 'optionalAccess', _971 => _971.unsubscribe, 'call', _972 => _972()]);
43526
43663
  } catch (e46) {
43527
43664
  }
43528
43665
  });
43529
43666
  subscriptionRefs.current.clear();
43530
43667
  lastSubscribedDialogIdRef.current = null;
43531
- _optionalChain([abortControllerRef, 'access', _970 => _970.current, 'optionalAccess', _971 => _971.abort, 'call', _972 => _972()]);
43668
+ _optionalChain([abortControllerRef, 'access', _973 => _973.current, 'optionalAccess', _974 => _974.abort, 'call', _975 => _975()]);
43532
43669
  abortControllerRef.current = null;
43533
43670
  };
43534
43671
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
43535
43672
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
43536
43673
  conn: sharedConn,
43537
43674
  wsUrl,
43538
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _973 => _973.current, 'optionalCall', _974 => _974()]),
43675
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _976 => _976.current, 'optionalCall', _977 => _977()]),
43539
43676
  backoff: reconnectionBackoffRef.current,
43540
43677
  getFreshUrl: () => getNatsWsUrlRef.current(),
43541
43678
  shouldRetryOn: isDisconnectStatus,
@@ -43546,7 +43683,7 @@ function useNatsDialogSubscription({
43546
43683
  setReconnectionCount((c) => c + 1);
43547
43684
  }
43548
43685
  hadConnectionBeforeRef.current = true;
43549
- _optionalChain([onConnectRef, 'access', _975 => _975.current, 'optionalCall', _976 => _976()]);
43686
+ _optionalChain([onConnectRef, 'access', _978 => _978.current, 'optionalCall', _979 => _979()]);
43550
43687
  }
43551
43688
  if (status === "error") {
43552
43689
  console.warn("[NATS] protocol error:", evt.data);
@@ -43556,7 +43693,7 @@ function useNatsDialogSubscription({
43556
43693
  setIsConnected(false);
43557
43694
  setIsSubscribed(false);
43558
43695
  tearDownSubscriptions();
43559
- _optionalChain([onDisconnectRef, 'access', _977 => _977.current, 'optionalCall', _978 => _978()]);
43696
+ _optionalChain([onDisconnectRef, 'access', _980 => _980.current, 'optionalCall', _981 => _981()]);
43560
43697
  }
43561
43698
  }
43562
43699
  });
@@ -43587,13 +43724,13 @@ function useNatsDialogSubscription({
43587
43724
  setIsSubscribed(false);
43588
43725
  subscriptionRefs.current.forEach((sub) => {
43589
43726
  try {
43590
- _optionalChain([sub, 'optionalAccess', _979 => _979.unsubscribe, 'call', _980 => _980()]);
43727
+ _optionalChain([sub, 'optionalAccess', _982 => _982.unsubscribe, 'call', _983 => _983()]);
43591
43728
  } catch (e47) {
43592
43729
  }
43593
43730
  });
43594
43731
  subscriptionRefs.current.clear();
43595
43732
  lastSubscribedDialogIdRef.current = null;
43596
- _optionalChain([abortControllerRef, 'access', _981 => _981.current, 'optionalAccess', _982 => _982.abort, 'call', _983 => _983()]);
43733
+ _optionalChain([abortControllerRef, 'access', _984 => _984.current, 'optionalAccess', _985 => _985.abort, 'call', _986 => _986()]);
43597
43734
  abortControllerRef.current = null;
43598
43735
  }
43599
43736
  return;
@@ -43605,12 +43742,12 @@ function useNatsDialogSubscription({
43605
43742
  if (subscriptionRefs.current.size > 0) {
43606
43743
  subscriptionRefs.current.forEach((sub) => {
43607
43744
  try {
43608
- _optionalChain([sub, 'optionalAccess', _984 => _984.unsubscribe, 'call', _985 => _985()]);
43745
+ _optionalChain([sub, 'optionalAccess', _987 => _987.unsubscribe, 'call', _988 => _988()]);
43609
43746
  } catch (e48) {
43610
43747
  }
43611
43748
  });
43612
43749
  subscriptionRefs.current.clear();
43613
- _optionalChain([abortControllerRef, 'access', _986 => _986.current, 'optionalAccess', _987 => _987.abort, 'call', _988 => _988()]);
43750
+ _optionalChain([abortControllerRef, 'access', _989 => _989.current, 'optionalAccess', _990 => _990.abort, 'call', _991 => _991()]);
43614
43751
  }
43615
43752
  abortControllerRef.current = new AbortController();
43616
43753
  const abort = abortControllerRef.current;
@@ -43642,7 +43779,7 @@ function useNatsDialogSubscription({
43642
43779
  });
43643
43780
  lastSubscribedDialogIdRef.current = dialogId;
43644
43781
  setIsSubscribed(true);
43645
- _optionalChain([onSubscribedRef, 'access', _989 => _989.current, 'optionalCall', _990 => _990()]);
43782
+ _optionalChain([onSubscribedRef, 'access', _992 => _992.current, 'optionalCall', _993 => _993()]);
43646
43783
  };
43647
43784
  if (isConnectedRef.current) {
43648
43785
  createSubscriptions();
@@ -43652,7 +43789,7 @@ function useNatsDialogSubscription({
43652
43789
  abort.abort();
43653
43790
  subscriptionRefs.current.forEach((sub) => {
43654
43791
  try {
43655
- _optionalChain([sub, 'optionalAccess', _991 => _991.unsubscribe, 'call', _992 => _992()]);
43792
+ _optionalChain([sub, 'optionalAccess', _994 => _994.unsubscribe, 'call', _995 => _995()]);
43656
43793
  } catch (e50) {
43657
43794
  }
43658
43795
  });
@@ -43693,7 +43830,7 @@ function useNatsDialogSubscription({
43693
43830
  });
43694
43831
  lastSubscribedDialogIdRef.current = dialogId2;
43695
43832
  setIsSubscribed(true);
43696
- _optionalChain([onSubscribedRef, 'access', _993 => _993.current, 'optionalCall', _994 => _994()]);
43833
+ _optionalChain([onSubscribedRef, 'access', _996 => _996.current, 'optionalCall', _997 => _997()]);
43697
43834
  } else if (subscriptionRefs.current.size > 0) {
43698
43835
  setIsSubscribed(true);
43699
43836
  }
@@ -43701,10 +43838,10 @@ function useNatsDialogSubscription({
43701
43838
  return { isConnected, isSubscribed, reconnectionCount };
43702
43839
  }
43703
43840
  function buildNatsWsUrl(apiBaseUrl, options) {
43704
- const path = _optionalChain([options, 'optionalAccess', _995 => _995.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
43841
+ const path = _optionalChain([options, 'optionalAccess', _998 => _998.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
43705
43842
  const u = new URL(path, apiBaseUrl);
43706
43843
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
43707
- if (_optionalChain([options, 'optionalAccess', _996 => _996.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _997 => _997.token])) {
43844
+ if (_optionalChain([options, 'optionalAccess', _999 => _999.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _1000 => _1000.token])) {
43708
43845
  u.searchParams.set("authorization", options.token);
43709
43846
  }
43710
43847
  return u.toString();
@@ -43840,7 +43977,7 @@ function parseChunkToAction(chunk) {
43840
43977
  // is REQUIRED on `ChatContextItem`, so fall back to the id (same as the
43841
43978
  // historical path in `process-historical-messages.ts`) — keeps both
43842
43979
  // message sources producing an identical shape.
43843
- contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _998 => _998.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _999 => _999.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
43980
+ contextItems: Array.isArray(data.contextItems) ? data.contextItems.filter((it) => typeof _optionalChain([it, 'optionalAccess', _1001 => _1001.type]) === "string" && typeof _optionalChain([it, 'optionalAccess', _1002 => _1002.id]) === "string").map((it) => ({ type: it.type, id: it.id, label: it.id })) : void 0
43844
43981
  };
43845
43982
  case MESSAGE_TYPE.TOKEN_USAGE:
43846
43983
  return {
@@ -44032,8 +44169,8 @@ var MessageSegmentAccumulator = class {
44032
44169
  type: "tool_execution",
44033
44170
  data: {
44034
44171
  ...toolData,
44035
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1000 => _1000.data, 'access', _1001 => _1001.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1002 => _1002.toolTitle]))),
44036
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1003 => _1003.parameters])
44172
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1003 => _1003.data, 'access', _1004 => _1004.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1005 => _1005.toolTitle]))),
44173
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _1006 => _1006.parameters])
44037
44174
  }
44038
44175
  };
44039
44176
  if (existingIndex !== -1) {
@@ -44057,8 +44194,8 @@ var MessageSegmentAccumulator = class {
44057
44194
  if (seg.type !== "approval_batch") return seg;
44058
44195
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
44059
44196
  if (!hasCall) return seg;
44060
- const prev = _optionalChain([seg, 'access', _1004 => _1004.data, 'access', _1005 => _1005.executions, 'optionalAccess', _1006 => _1006[execId]]);
44061
- const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1007 => _1007.result]), success: _optionalChain([prev, 'optionalAccess', _1008 => _1008.success]) };
44197
+ const prev = _optionalChain([seg, 'access', _1007 => _1007.data, 'access', _1008 => _1008.executions, 'optionalAccess', _1009 => _1009[execId]]);
44198
+ const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _1010 => _1010.result]), success: _optionalChain([prev, 'optionalAccess', _1011 => _1011.success]) };
44062
44199
  matched = true;
44063
44200
  return {
44064
44201
  ...seg,
@@ -44180,10 +44317,10 @@ var MessageSegmentAccumulator = class {
44180
44317
  const segment = {
44181
44318
  type: "approval_request",
44182
44319
  data: {
44183
- command: _optionalChain([pendingApproval, 'optionalAccess', _1009 => _1009.command]) || "",
44184
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _1010 => _1010.explanation]),
44320
+ command: _optionalChain([pendingApproval, 'optionalAccess', _1012 => _1012.command]) || "",
44321
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _1013 => _1013.explanation]),
44185
44322
  requestId,
44186
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1011 => _1011.approvalType]) || approvalType
44323
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1014 => _1014.approvalType]) || approvalType
44187
44324
  },
44188
44325
  status,
44189
44326
  onApprove: this.callbacks.onApprove,
@@ -44375,7 +44512,7 @@ function useRealtimeChunkProcessor(options) {
44375
44512
  if (initialState.escalatedApprovals) {
44376
44513
  pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
44377
44514
  initialState.escalatedApprovals.forEach((data, requestId) => {
44378
- _optionalChain([callbacks, 'access', _1012 => _1012.onEscalatedApproval, 'optionalCall', _1013 => _1013(requestId, data)]);
44515
+ _optionalChain([callbacks, 'access', _1015 => _1015.onEscalatedApproval, 'optionalCall', _1016 => _1016(requestId, data)]);
44379
44516
  });
44380
44517
  }
44381
44518
  hasEverStreamedRef.current = true;
@@ -44396,12 +44533,12 @@ function useRealtimeChunkProcessor(options) {
44396
44533
  if (!action) return;
44397
44534
  const accumulator = accumulatorRef.current;
44398
44535
  const streamSeq = chunk && typeof chunk === "object" && typeof chunk.streamSeq === "number" ? chunk.streamSeq : void 0;
44399
- const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1014 => _1014.onSegmentsUpdate, 'optionalCall', _1015 => _1015(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
44536
+ const emitSegments = (s, meta) => _optionalChain([callbacks, 'access', _1017 => _1017.onSegmentsUpdate, 'optionalCall', _1018 => _1018(s, streamSeq != null ? { ...meta, streamSeq } : meta)]);
44400
44537
  if (action.action === "direct_message") sawDirectMessageRef.current = true;
44401
44538
  if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
44402
44539
  if (isInStreamRef.current) {
44403
44540
  isInStreamRef.current = false;
44404
- _optionalChain([callbacks, 'access', _1016 => _1016.onStreamEnd, 'optionalCall', _1017 => _1017()]);
44541
+ _optionalChain([callbacks, 'access', _1019 => _1019.onStreamEnd, 'optionalCall', _1020 => _1020()]);
44405
44542
  accumulator.resetSegments();
44406
44543
  }
44407
44544
  return;
@@ -44410,16 +44547,16 @@ function useRealtimeChunkProcessor(options) {
44410
44547
  case "message_start":
44411
44548
  isInStreamRef.current = true;
44412
44549
  hasEverStreamedRef.current = true;
44413
- _optionalChain([callbacks, 'access', _1018 => _1018.onStreamStart, 'optionalCall', _1019 => _1019()]);
44550
+ _optionalChain([callbacks, 'access', _1021 => _1021.onStreamStart, 'optionalCall', _1022 => _1022()]);
44414
44551
  accumulator.resetSegments();
44415
44552
  break;
44416
44553
  case "message_end":
44417
44554
  isInStreamRef.current = false;
44418
- _optionalChain([callbacks, 'access', _1020 => _1020.onStreamEnd, 'optionalCall', _1021 => _1021()]);
44555
+ _optionalChain([callbacks, 'access', _1023 => _1023.onStreamEnd, 'optionalCall', _1024 => _1024()]);
44419
44556
  accumulator.resetSegments();
44420
44557
  break;
44421
44558
  case "metadata":
44422
- _optionalChain([callbacks, 'access', _1022 => _1022.onMetadata, 'optionalCall', _1023 => _1023(action)]);
44559
+ _optionalChain([callbacks, 'access', _1025 => _1025.onMetadata, 'optionalCall', _1026 => _1026(action)]);
44423
44560
  break;
44424
44561
  case "text": {
44425
44562
  const segments = accumulator.appendText(action.text);
@@ -44462,7 +44599,7 @@ function useRealtimeChunkProcessor(options) {
44462
44599
  emitSegments(segments);
44463
44600
  } else {
44464
44601
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
44465
- _optionalChain([callbacks, 'access', _1024 => _1024.onEscalatedApproval, 'optionalCall', _1025 => _1025(requestId, { command, explanation, approvalType })]);
44602
+ _optionalChain([callbacks, 'access', _1027 => _1027.onEscalatedApproval, 'optionalCall', _1028 => _1028(requestId, { command, explanation, approvalType })]);
44466
44603
  }
44467
44604
  break;
44468
44605
  }
@@ -44474,13 +44611,13 @@ function useRealtimeChunkProcessor(options) {
44474
44611
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
44475
44612
  pendingEscalatedRef.current.set(requestId, {
44476
44613
  command: summary,
44477
- explanation: _optionalChain([required, 'optionalAccess', _1026 => _1026.toolExplanation]),
44614
+ explanation: _optionalChain([required, 'optionalAccess', _1029 => _1029.toolExplanation]),
44478
44615
  approvalType,
44479
44616
  toolCalls
44480
44617
  });
44481
- _optionalChain([callbacks, 'access', _1027 => _1027.onEscalatedApproval, 'optionalCall', _1028 => _1028(requestId, {
44618
+ _optionalChain([callbacks, 'access', _1030 => _1030.onEscalatedApproval, 'optionalCall', _1031 => _1031(requestId, {
44482
44619
  command: summary,
44483
- explanation: _optionalChain([required, 'optionalAccess', _1029 => _1029.toolExplanation]),
44620
+ explanation: _optionalChain([required, 'optionalAccess', _1032 => _1032.toolExplanation]),
44484
44621
  approvalType
44485
44622
  })]);
44486
44623
  break;
@@ -44510,7 +44647,7 @@ function useRealtimeChunkProcessor(options) {
44510
44647
  const status = approved ? "approved" : "rejected";
44511
44648
  if (escalatedData) {
44512
44649
  pendingEscalatedRef.current.delete(requestId);
44513
- _optionalChain([callbacks, 'access', _1030 => _1030.onEscalatedApprovalResult, 'optionalCall', _1031 => _1031(requestId, approved, {
44650
+ _optionalChain([callbacks, 'access', _1033 => _1033.onEscalatedApprovalResult, 'optionalCall', _1034 => _1034(requestId, approved, {
44514
44651
  command: escalatedData.command,
44515
44652
  explanation: escalatedData.explanation,
44516
44653
  approvalType: escalatedData.approvalType
@@ -44556,29 +44693,29 @@ function useRealtimeChunkProcessor(options) {
44556
44693
  emitSegments(accumulator.getSegments());
44557
44694
  }
44558
44695
  }
44559
- _optionalChain([callbacks, 'access', _1032 => _1032.onApprovalResolved, 'optionalCall', _1033 => _1033(requestId, status, approvalType, resolvedByName)]);
44696
+ _optionalChain([callbacks, 'access', _1035 => _1035.onApprovalResolved, 'optionalCall', _1036 => _1036(requestId, status, approvalType, resolvedByName)]);
44560
44697
  break;
44561
44698
  }
44562
44699
  case "error": {
44563
44700
  let message2;
44564
- if ("details" in action && _optionalChain([action, 'optionalAccess', _1034 => _1034.details])) {
44701
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _1037 => _1037.details])) {
44565
44702
  try {
44566
- message2 = _optionalChain([JSON, 'access', _1035 => _1035.parse, 'call', _1036 => _1036(action.details), 'optionalAccess', _1037 => _1037.error, 'optionalAccess', _1038 => _1038.message]);
44703
+ message2 = _optionalChain([JSON, 'access', _1038 => _1038.parse, 'call', _1039 => _1039(action.details), 'optionalAccess', _1040 => _1040.error, 'optionalAccess', _1041 => _1041.message]);
44567
44704
  } catch (e52) {
44568
44705
  message2 = action.details;
44569
44706
  }
44570
44707
  }
44571
44708
  const segments = accumulator.addError(action.error, message2);
44572
44709
  emitSegments(segments);
44573
- _optionalChain([callbacks, 'access', _1039 => _1039.onError, 'optionalCall', _1040 => _1040(action.error, message2)]);
44710
+ _optionalChain([callbacks, 'access', _1042 => _1042.onError, 'optionalCall', _1043 => _1043(action.error, message2)]);
44574
44711
  break;
44575
44712
  }
44576
44713
  case "system": {
44577
- _optionalChain([callbacks, 'access', _1041 => _1041.onSystemMessage, 'optionalCall', _1042 => _1042(action.text, { streamSeq })]);
44714
+ _optionalChain([callbacks, 'access', _1044 => _1044.onSystemMessage, 'optionalCall', _1045 => _1045(action.text, { streamSeq })]);
44578
44715
  break;
44579
44716
  }
44580
44717
  case "direct_message": {
44581
- _optionalChain([callbacks, 'access', _1043 => _1043.onDirectMessage, 'optionalCall', _1044 => _1044(action.text, {
44718
+ _optionalChain([callbacks, 'access', _1046 => _1046.onDirectMessage, 'optionalCall', _1047 => _1047(action.text, {
44582
44719
  ownerType: action.ownerType,
44583
44720
  displayName: action.displayName,
44584
44721
  userId: action.userId,
@@ -44587,7 +44724,7 @@ function useRealtimeChunkProcessor(options) {
44587
44724
  break;
44588
44725
  }
44589
44726
  case "message_request":
44590
- _optionalChain([callbacks, 'access', _1045 => _1045.onUserMessage, 'optionalCall', _1046 => _1046(action.text, {
44727
+ _optionalChain([callbacks, 'access', _1048 => _1048.onUserMessage, 'optionalCall', _1049 => _1049(action.text, {
44591
44728
  ownerType: action.ownerType,
44592
44729
  displayName: action.displayName,
44593
44730
  userId: action.userId,
@@ -44596,7 +44733,7 @@ function useRealtimeChunkProcessor(options) {
44596
44733
  })]);
44597
44734
  break;
44598
44735
  case "token_usage":
44599
- _optionalChain([callbacks, 'access', _1047 => _1047.onTokenUsage, 'optionalCall', _1048 => _1048(action.data)]);
44736
+ _optionalChain([callbacks, 'access', _1050 => _1050.onTokenUsage, 'optionalCall', _1051 => _1051(action.data)]);
44600
44737
  break;
44601
44738
  case "context_compaction_start": {
44602
44739
  const standalone = !isInStreamRef.current;
@@ -44611,7 +44748,7 @@ function useRealtimeChunkProcessor(options) {
44611
44748
  break;
44612
44749
  }
44613
44750
  case "dialog_closed":
44614
- _optionalChain([callbacks, 'access', _1049 => _1049.onDialogClosed, 'optionalCall', _1050 => _1050()]);
44751
+ _optionalChain([callbacks, 'access', _1052 => _1052.onDialogClosed, 'optionalCall', _1053 => _1053()]);
44615
44752
  break;
44616
44753
  default:
44617
44754
  break;
@@ -44658,7 +44795,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
44658
44795
  const data = await res.json();
44659
44796
  return _nullishCoalesce(data.commands, () => ( []));
44660
44797
  } catch (err) {
44661
- if (_optionalChain([err, 'optionalAccess', _1051 => _1051.name]) === "AbortError") throw err;
44798
+ if (_optionalChain([err, 'optionalAccess', _1054 => _1054.name]) === "AbortError") throw err;
44662
44799
  console.warn("[chat] slash-commands fetch failed, showing none:", err);
44663
44800
  return [];
44664
44801
  }
@@ -44679,7 +44816,7 @@ function useSlashCommands(prefix, commandsUrl) {
44679
44816
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
44680
44817
  if (!cancelled) setCommands(next);
44681
44818
  } catch (err) {
44682
- if (!cancelled && _optionalChain([err, 'optionalAccess', _1052 => _1052.name]) !== "AbortError") {
44819
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _1055 => _1055.name]) !== "AbortError") {
44683
44820
  console.warn("[use-slash-commands] fetch failed:", err);
44684
44821
  }
44685
44822
  } finally {
@@ -44698,7 +44835,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
44698
44835
  const query = _reactquery.useQuery.call(void 0, {
44699
44836
  queryKey: ["chat-slash-commands", commandsUrl],
44700
44837
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
44701
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1053 => _1053.enabled]), () => ( true)),
44838
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1056 => _1056.enabled]), () => ( true)),
44702
44839
  staleTime: Infinity,
44703
44840
  gcTime: Infinity,
44704
44841
  // The commands registry is non-critical chrome — a failure degrades to an
@@ -44734,18 +44871,18 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
44734
44871
  }
44735
44872
  const data = await res.json();
44736
44873
  return {
44737
- greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1054 => _1054.greeting]), () => ( null)),
44738
- enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1055 => _1055.enabledRagTableIds]), () => ( [])),
44739
- suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1056 => _1056.suggestedQueries]), () => ( []))
44874
+ greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1057 => _1057.greeting]), () => ( null)),
44875
+ enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1058 => _1058.enabledRagTableIds]), () => ( [])),
44876
+ suggestedQueries: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1059 => _1059.suggestedQueries]), () => ( []))
44740
44877
  };
44741
44878
  } catch (err) {
44742
- if (_optionalChain([err, 'optionalAccess', _1057 => _1057.name]) === "AbortError") throw err;
44879
+ if (_optionalChain([err, 'optionalAccess', _1060 => _1060.name]) === "AbortError") throw err;
44743
44880
  console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
44744
44881
  return EMPTY_STATE_FALLBACK;
44745
44882
  }
44746
44883
  }
44747
44884
  function useEmptyStateConfig(emptyStateUrl, options) {
44748
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1058 => _1058.enabled]), () => ( true))) && !!emptyStateUrl;
44885
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1061 => _1061.enabled]), () => ( true))) && !!emptyStateUrl;
44749
44886
  const query = _reactquery.useQuery.call(void 0, {
44750
44887
  queryKey: ["chat-empty-state", emptyStateUrl],
44751
44888
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -44774,7 +44911,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
44774
44911
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
44775
44912
  function uploadWithProgress(url, file, token, onProgress, signal) {
44776
44913
  return new Promise((resolve, reject) => {
44777
- if (_optionalChain([signal, 'optionalAccess', _1059 => _1059.aborted])) {
44914
+ if (_optionalChain([signal, 'optionalAccess', _1062 => _1062.aborted])) {
44778
44915
  reject(new Error("Upload cancelled"));
44779
44916
  return;
44780
44917
  }
@@ -44788,7 +44925,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
44788
44925
  xhr.removeEventListener("error", handleError);
44789
44926
  xhr.removeEventListener("abort", handleAbort);
44790
44927
  xhr.removeEventListener("timeout", handleTimeout);
44791
- _optionalChain([signal, 'optionalAccess', _1060 => _1060.removeEventListener, 'call', _1061 => _1061("abort", handleSignalAbort)]);
44928
+ _optionalChain([signal, 'optionalAccess', _1063 => _1063.removeEventListener, 'call', _1064 => _1064("abort", handleSignalAbort)]);
44792
44929
  if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
44793
44930
  };
44794
44931
  const handleProgress = (event) => {
@@ -44824,7 +44961,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
44824
44961
  const handleSignalAbort = () => {
44825
44962
  xhr.abort();
44826
44963
  };
44827
- _optionalChain([signal, 'optionalAccess', _1062 => _1062.addEventListener, 'call', _1063 => _1063("abort", handleSignalAbort, { once: true })]);
44964
+ _optionalChain([signal, 'optionalAccess', _1065 => _1065.addEventListener, 'call', _1066 => _1066("abort", handleSignalAbort, { once: true })]);
44828
44965
  xhr.upload.addEventListener("progress", handleProgress);
44829
44966
  xhr.addEventListener("load", handleLoad);
44830
44967
  xhr.addEventListener("error", handleError);
@@ -44868,12 +45005,12 @@ function useChatAttachments() {
44868
45005
  try {
44869
45006
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
44870
45007
  } catch (err) {
44871
- if (_optionalChain([ctrl, 'optionalAccess', _1064 => _1064.signal, 'access', _1065 => _1065.aborted])) return;
45008
+ if (_optionalChain([ctrl, 'optionalAccess', _1067 => _1067.signal, 'access', _1068 => _1068.aborted])) return;
44872
45009
  throw new Error(
44873
45010
  `Could not read file content: ${err instanceof Error ? err.message : String(err)}`
44874
45011
  );
44875
45012
  }
44876
- if (_optionalChain([ctrl, 'optionalAccess', _1066 => _1066.signal, 'access', _1067 => _1067.aborted])) return;
45013
+ if (_optionalChain([ctrl, 'optionalAccess', _1069 => _1069.signal, 'access', _1070 => _1070.aborted])) return;
44877
45014
  if (!sniffed) {
44878
45015
  throw new Error("Unrecognized file format");
44879
45016
  }
@@ -44887,7 +45024,7 @@ function useChatAttachments() {
44887
45024
  const urlResp = await _chunk27IO7V3Pcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
44888
45025
  method: "POST",
44889
45026
  headers: { "Content-Type": "application/json" },
44890
- signal: _optionalChain([ctrl, 'optionalAccess', _1068 => _1068.signal]),
45027
+ signal: _optionalChain([ctrl, 'optionalAccess', _1071 => _1071.signal]),
44891
45028
  body: JSON.stringify({
44892
45029
  fileName: att.file.name,
44893
45030
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -44913,9 +45050,9 @@ function useChatAttachments() {
44913
45050
  (pct) => {
44914
45051
  updateOne(att.id, { progress: pct });
44915
45052
  },
44916
- _optionalChain([ctrl, 'optionalAccess', _1069 => _1069.signal])
45053
+ _optionalChain([ctrl, 'optionalAccess', _1072 => _1072.signal])
44917
45054
  );
44918
- if (_optionalChain([ctrl, 'optionalAccess', _1070 => _1070.signal, 'access', _1071 => _1071.aborted])) return;
45055
+ if (_optionalChain([ctrl, 'optionalAccess', _1073 => _1073.signal, 'access', _1074 => _1074.aborted])) return;
44919
45056
  updateOne(att.id, {
44920
45057
  status: "ready",
44921
45058
  progress: 100,
@@ -44923,7 +45060,7 @@ function useChatAttachments() {
44923
45060
  viewToken: mintData.viewToken
44924
45061
  });
44925
45062
  } catch (err) {
44926
- if (_optionalChain([ctrl, 'optionalAccess', _1072 => _1072.signal, 'access', _1073 => _1073.aborted])) return;
45063
+ if (_optionalChain([ctrl, 'optionalAccess', _1075 => _1075.signal, 'access', _1076 => _1076.aborted])) return;
44927
45064
  const message2 = err instanceof Error ? err.message : String(err);
44928
45065
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
44929
45066
  } finally {
@@ -45074,7 +45211,7 @@ var ANON_DEFAULTS = {
45074
45211
  function useResolveChatIdentity(enabled) {
45075
45212
  const runtime = _chunkN2DVKXN4cjs.useRequiredChatRuntime.call(void 0, );
45076
45213
  const url = runtime.endpoints.identityUrl;
45077
- const proxyEmail = _nullishCoalesce(_optionalChain([_chunk27IO7V3Pcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1074 => _1074.email]), () => ( null));
45214
+ const proxyEmail = _nullishCoalesce(_optionalChain([_chunk27IO7V3Pcjs.getEmbedProxyAuth.call(void 0, ), 'optionalAccess', _1077 => _1077.email]), () => ( null));
45078
45215
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
45079
45216
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
45080
45217
  _react.useEffect.call(void 0, () => {
@@ -45165,7 +45302,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
45165
45302
  yield chunk;
45166
45303
  }
45167
45304
  } catch (err) {
45168
- if (_optionalChain([err, 'optionalAccess', _1075 => _1075.name]) === "AbortError" || ctrl.signal.aborted) {
45305
+ if (_optionalChain([err, 'optionalAccess', _1078 => _1078.name]) === "AbortError" || ctrl.signal.aborted) {
45169
45306
  return;
45170
45307
  }
45171
45308
  const errorMessage = err instanceof Error ? err.message : "An error occurred";
@@ -45216,7 +45353,7 @@ function useChat({
45216
45353
  const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
45217
45354
  onMessagesChangeRef.current = onMessagesChange;
45218
45355
  _react.useEffect.call(void 0, () => {
45219
- _optionalChain([onMessagesChangeRef, 'access', _1076 => _1076.current, 'optionalCall', _1077 => _1077(messages)]);
45356
+ _optionalChain([onMessagesChangeRef, 'access', _1079 => _1079.current, 'optionalCall', _1080 => _1080(messages)]);
45220
45357
  }, [messages]);
45221
45358
  const {
45222
45359
  streamMessage,
@@ -45253,7 +45390,7 @@ function useChat({
45253
45390
  name: "You",
45254
45391
  content: text,
45255
45392
  timestamp: /* @__PURE__ */ new Date(),
45256
- ..._optionalChain([options, 'optionalAccess', _1078 => _1078.hidden]) ? { hidden: true } : {}
45393
+ ..._optionalChain([options, 'optionalAccess', _1081 => _1081.hidden]) ? { hidden: true } : {}
45257
45394
  };
45258
45395
  addMessage(userMessage);
45259
45396
  setIsTyping(true);
@@ -45315,7 +45452,7 @@ function useChat({
45315
45452
  currentTextSegment = "";
45316
45453
  }
45317
45454
  const seg = segment;
45318
- const proposalId = _optionalChain([seg, 'access', _1079 => _1079.data, 'optionalAccess', _1080 => _1080.requestId]);
45455
+ const proposalId = _optionalChain([seg, 'access', _1082 => _1082.data, 'optionalAccess', _1083 => _1083.requestId]);
45319
45456
  const updateApprovalMessage = (transform) => {
45320
45457
  setMessages((prev) => {
45321
45458
  for (let i = prev.length - 1; i >= 0; i--) {
@@ -45324,7 +45461,7 @@ function useChat({
45324
45461
  if (!Array.isArray(m.content)) continue;
45325
45462
  const segments = m.content;
45326
45463
  const hasMatch = segments.some(
45327
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1081 => _1081.data, 'optionalAccess', _1082 => _1082.requestId]) === proposalId
45464
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1084 => _1084.data, 'optionalAccess', _1085 => _1085.requestId]) === proposalId
45328
45465
  );
45329
45466
  if (!hasMatch) continue;
45330
45467
  const next = [...prev];
@@ -45366,11 +45503,11 @@ function useChat({
45366
45503
  if (!Array.isArray(m.content)) continue;
45367
45504
  const segments = m.content;
45368
45505
  const hasMatch = segments.some(
45369
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1083 => _1083.data, 'optionalAccess', _1084 => _1084.requestId]) === decision.proposalId
45506
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1086 => _1086.data, 'optionalAccess', _1087 => _1087.requestId]) === decision.proposalId
45370
45507
  );
45371
45508
  if (!hasMatch) continue;
45372
45509
  const flipped = segments.map(
45373
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1085 => _1085.data, 'optionalAccess', _1086 => _1086.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
45510
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _1088 => _1088.data, 'optionalAccess', _1089 => _1089.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
45374
45511
  );
45375
45512
  const next = [...prev];
45376
45513
  next[i] = { ...m, content: flipped };
@@ -45532,8 +45669,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
45532
45669
  })),
45533
45670
  { role: "user", content: message2 }
45534
45671
  ];
45535
- const targetPath = _optionalChain([extra, 'optionalAccess', _1087 => _1087.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
45536
- const requestBody = _optionalChain([extra, 'optionalAccess', _1088 => _1088.approvalAction]) ? {
45672
+ const targetPath = _optionalChain([extra, 'optionalAccess', _1090 => _1090.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
45673
+ const requestBody = _optionalChain([extra, 'optionalAccess', _1091 => _1091.approvalAction]) ? {
45537
45674
  proposal_id: extra.approvalAction.proposalId,
45538
45675
  action: extra.approvalAction.action,
45539
45676
  messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
@@ -45542,8 +45679,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
45542
45679
  }))
45543
45680
  } : {
45544
45681
  messages: apiMessages,
45545
- ..._optionalChain([extra, 'optionalAccess', _1089 => _1089.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
45546
- ..._optionalChain([extra, 'optionalAccess', _1090 => _1090.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
45682
+ ..._optionalChain([extra, 'optionalAccess', _1092 => _1092.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
45683
+ ..._optionalChain([extra, 'optionalAccess', _1093 => _1093.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
45547
45684
  };
45548
45685
  const response = await _chunk27IO7V3Pcjs.embedAuthedFetch.call(void 0, targetPath, {
45549
45686
  method: "POST",
@@ -45553,7 +45690,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
45553
45690
  if (!response.ok) {
45554
45691
  throw new Error(`Chat request failed: ${response.status}`);
45555
45692
  }
45556
- const reader = _optionalChain([response, 'access', _1091 => _1091.body, 'optionalAccess', _1092 => _1092.getReader, 'call', _1093 => _1093()]);
45693
+ const reader = _optionalChain([response, 'access', _1094 => _1094.body, 'optionalAccess', _1095 => _1095.getReader, 'call', _1096 => _1096()]);
45557
45694
  if (!reader) throw new Error("No response body");
45558
45695
  const decoder = new TextDecoder();
45559
45696
  let buffer = "";
@@ -45636,7 +45773,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
45636
45773
  const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
45637
45774
  const result = _nullishCoalesce(meta.result, () => ( null));
45638
45775
  const card = _nullishCoalesce(meta.card, () => ( null));
45639
- if (_optionalChain([card, 'optionalAccess', _1094 => _1094.ref, 'optionalAccess', _1095 => _1095.id]) && _optionalChain([card, 'optionalAccess', _1096 => _1096.type])) {
45776
+ if (_optionalChain([card, 'optionalAccess', _1097 => _1097.ref, 'optionalAccess', _1098 => _1098.id]) && _optionalChain([card, 'optionalAccess', _1099 => _1099.type])) {
45640
45777
  const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
45641
45778
  const key = buildChatRefKey(card.type, card.ref.id);
45642
45779
  refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
@@ -45649,8 +45786,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
45649
45786
  willAutoContinue: meta.willAutoContinue === true,
45650
45787
  ...toolName ? { toolName } : {},
45651
45788
  ...result ? { result } : {},
45652
- ..._optionalChain([card, 'optionalAccess', _1097 => _1097.marker]) ? { marker: card.marker } : {},
45653
- ..._optionalChain([card, 'optionalAccess', _1098 => _1098.ref]) ? { cardRef: card.ref } : {},
45789
+ ..._optionalChain([card, 'optionalAccess', _1100 => _1100.marker]) ? { marker: card.marker } : {},
45790
+ ..._optionalChain([card, 'optionalAccess', _1101 => _1101.ref]) ? { cardRef: card.ref } : {},
45654
45791
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
45655
45792
  proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
45656
45793
  };
@@ -45769,7 +45906,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
45769
45906
  var chatStorageKey = (source) => {
45770
45907
  const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
45771
45908
  const auth = _chunk27IO7V3Pcjs.getEmbedProxyAuth.call(void 0, );
45772
- if (_optionalChain([auth, 'optionalAccess', _1099 => _1099.email])) {
45909
+ if (_optionalChain([auth, 'optionalAccess', _1102 => _1102.email])) {
45773
45910
  return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
45774
45911
  }
45775
45912
  return base;
@@ -45824,7 +45961,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
45824
45961
  const { active = true } = runtimeOptions;
45825
45962
  const runtime = _chunkN2DVKXN4cjs.useRequiredChatRuntime.call(void 0, );
45826
45963
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
45827
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1100 => _1100.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
45964
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1103 => _1103.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
45828
45965
  const persistedRef = _react.useRef.call(void 0, null);
45829
45966
  if (persistedRef.current === null) {
45830
45967
  pruneStaleChatStorage(source);
@@ -45929,7 +46066,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
45929
46066
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
45930
46067
  sources = sourcesMapRef.current.get(lookupIdx);
45931
46068
  chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
45932
- scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1101 => _1101.current, 'access', _1102 => _1102.get, 'call', _1103 => _1103(lookupIdx), 'optionalAccess', _1104 => _1104.scrollAnchor]), () => ( void 0));
46069
+ scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _1104 => _1104.current, 'access', _1105 => _1105.get, 'call', _1106 => _1106(lookupIdx), 'optionalAccess', _1107 => _1107.scrollAnchor]), () => ( void 0));
45933
46070
  }
45934
46071
  return {
45935
46072
  id: m.id,
@@ -45977,7 +46114,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
45977
46114
  );
45978
46115
  return;
45979
46116
  }
45980
- const refSlug = typeof _optionalChain([reference, 'access', _1105 => _1105.metadata, 'optionalAccess', _1106 => _1106.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
46117
+ const refSlug = typeof _optionalChain([reference, 'access', _1108 => _1108.metadata, 'optionalAccess', _1109 => _1109.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
45981
46118
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
45982
46119
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
45983
46120
  const text = `/${cmdId} display "${escaped}"`;
@@ -46049,18 +46186,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
46049
46186
  clearMessages,
46050
46187
  streamingPhase,
46051
46188
  /** Provider key for the lib's `<ModelDisplay>` icon. */
46052
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1107 => _1107.provider]), () => ( null)),
46053
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1108 => _1108.modelLabel]), () => ( null)),
46054
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1109 => _1109.contextWindowMaxTokens]), () => ( null)),
46189
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1110 => _1110.provider]), () => ( null)),
46190
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1111 => _1111.modelLabel]), () => ( null)),
46191
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1112 => _1112.contextWindowMaxTokens]), () => ( null)),
46055
46192
  /** Input tokens (known after server's message_start frame; null until). */
46056
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1110 => _1110.inputTokens]), () => ( null)),
46193
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1113 => _1113.inputTokens]), () => ( null)),
46057
46194
  /** Output tokens (known only after server's trailing usage frame). */
46058
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1111 => _1111.outputTokens]), () => ( null)),
46195
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1114 => _1114.outputTokens]), () => ( null)),
46059
46196
  /** Cache hit % (read / total-input × 100). null during streaming. */
46060
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1112 => _1112.cacheHitRatePct]), () => ( null)),
46197
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1115 => _1115.cacheHitRatePct]), () => ( null)),
46061
46198
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
46062
46199
  * token counts). null until the trailing usage frame lands. */
46063
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1113 => _1113.breakdown]), () => ( null)),
46200
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1116 => _1116.breakdown]), () => ( null)),
46064
46201
  // ─── Dialog management — stubs for v1 ────────────────────────────────
46065
46202
  // Guide mode currently keeps its history in `localStorage` opaquely
46066
46203
  // under the hood (`runtime.source` namespaced key). Surfacing that
@@ -46118,15 +46255,15 @@ var noopRejectRequest = async (_id, _reason) => {
46118
46255
 
46119
46256
  // src/components/chat/utils/process-historical-messages.ts
46120
46257
  function getOwnerDisplayName(owner) {
46121
- if (_optionalChain([owner, 'optionalAccess', _1114 => _1114.type]) === OWNER_TYPE.ADMIN && owner.user) {
46258
+ if (_optionalChain([owner, 'optionalAccess', _1117 => _1117.type]) === OWNER_TYPE.ADMIN && owner.user) {
46122
46259
  const { firstName, lastName } = owner.user;
46123
46260
  const name = [firstName, lastName].filter(Boolean).join(" ");
46124
46261
  if (name) return name;
46125
46262
  }
46126
- return _optionalChain([owner, 'optionalAccess', _1115 => _1115.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
46263
+ return _optionalChain([owner, 'optionalAccess', _1118 => _1118.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
46127
46264
  }
46128
46265
  function getOwnerAvatar(owner) {
46129
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1116 => _1116.user, 'optionalAccess', _1117 => _1117.image, 'optionalAccess', _1118 => _1118.imageUrl]), () => ( void 0));
46266
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _1119 => _1119.user, 'optionalAccess', _1120 => _1120.image, 'optionalAccess', _1121 => _1121.imageUrl]), () => ( void 0));
46130
46267
  }
46131
46268
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
46132
46269
  messageDataArray.forEach((data) => {
@@ -46189,14 +46326,14 @@ function processHistoricalMessages(messages, options = {}) {
46189
46326
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
46190
46327
  return;
46191
46328
  }
46192
- const isUserMessage = _optionalChain([msg, 'access', _1119 => _1119.owner, 'optionalAccess', _1120 => _1120.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1121 => _1121.owner, 'optionalAccess', _1122 => _1122.type]) === OWNER_TYPE.ADMIN;
46329
+ const isUserMessage = _optionalChain([msg, 'access', _1122 => _1122.owner, 'optionalAccess', _1123 => _1123.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1124 => _1124.owner, 'optionalAccess', _1125 => _1125.type]) === OWNER_TYPE.ADMIN;
46193
46330
  if (isUserMessage) {
46194
46331
  flushAssistantMessage();
46195
- const userAuthorType = _optionalChain([msg, 'access', _1123 => _1123.owner, 'optionalAccess', _1124 => _1124.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
46332
+ const userAuthorType = _optionalChain([msg, 'access', _1126 => _1126.owner, 'optionalAccess', _1127 => _1127.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
46196
46333
  messageDataArray.forEach((data) => {
46197
46334
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
46198
46335
  const rawContext = data.contextItems;
46199
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1125 => _1125.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1126 => _1126.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
46336
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1128 => _1128.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1129 => _1129.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
46200
46337
  processedMessages.push({
46201
46338
  id: msg.id,
46202
46339
  role: "user",
@@ -46220,7 +46357,7 @@ function processHistoricalMessages(messages, options = {}) {
46220
46357
  });
46221
46358
  const nextMsg = messages[index + 1];
46222
46359
  const isLastMessage = index === messages.length - 1;
46223
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1127 => _1127.owner, 'optionalAccess', _1128 => _1128.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1129 => _1129.owner, 'optionalAccess', _1130 => _1130.type]) === OWNER_TYPE.ADMIN);
46360
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1130 => _1130.owner, 'optionalAccess', _1131 => _1131.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1132 => _1132.owner, 'optionalAccess', _1133 => _1133.type]) === OWNER_TYPE.ADMIN);
46224
46361
  if (isLastMessage || nextIsFromUser) {
46225
46362
  flushAssistantMessage();
46226
46363
  }
@@ -46330,7 +46467,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46330
46467
  }
46331
46468
  }
46332
46469
  } else {
46333
- _optionalChain([escalatedApprovals, 'optionalAccess', _1131 => _1131.set, 'call', _1132 => _1132(data.approvalRequestId, {
46470
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1134 => _1134.set, 'call', _1135 => _1135(data.approvalRequestId, {
46334
46471
  command: data.command || "",
46335
46472
  explanation: data.explanation,
46336
46473
  approvalType,
@@ -46344,8 +46481,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46344
46481
  const existingStatus = approvalStatuses[data.approvalRequestId];
46345
46482
  const status = existingStatus || (data.approved ? "approved" : "rejected");
46346
46483
  const resolvedByName = "resolvedByName" in data ? data.resolvedByName : void 0;
46347
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1133 => _1133.get, 'call', _1134 => _1134(data.approvalRequestId)]);
46348
- if (_optionalChain([escalatedData, 'optionalAccess', _1135 => _1135.toolCalls]) && escalatedData.toolCalls.length > 0) {
46484
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1136 => _1136.get, 'call', _1137 => _1137(data.approvalRequestId)]);
46485
+ if (_optionalChain([escalatedData, 'optionalAccess', _1138 => _1138.toolCalls]) && escalatedData.toolCalls.length > 0) {
46349
46486
  if (batchApprovalsEnabled) {
46350
46487
  accumulator.addApprovalBatch(
46351
46488
  data.approvalRequestId,
@@ -46367,7 +46504,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46367
46504
  );
46368
46505
  }
46369
46506
  }
46370
- _optionalChain([escalatedApprovals, 'optionalAccess', _1136 => _1136.delete, 'call', _1137 => _1137(data.approvalRequestId)]);
46507
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1139 => _1139.delete, 'call', _1140 => _1140(data.approvalRequestId)]);
46371
46508
  break;
46372
46509
  }
46373
46510
  if (escalatedData) {
@@ -46376,7 +46513,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46376
46513
  explanation: escalatedData.explanation,
46377
46514
  approvalType: escalatedData.approvalType
46378
46515
  });
46379
- _optionalChain([escalatedApprovals, 'optionalAccess', _1138 => _1138.delete, 'call', _1139 => _1139(data.approvalRequestId)]);
46516
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1141 => _1141.delete, 'call', _1142 => _1142(data.approvalRequestId)]);
46380
46517
  }
46381
46518
  const before = accumulator.getSegments();
46382
46519
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status, resolvedByName);
@@ -46392,9 +46529,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46392
46529
  case MESSAGE_TYPE.ERROR:
46393
46530
  if ("error" in data) {
46394
46531
  let message2;
46395
- if ("details" in data && _optionalChain([data, 'optionalAccess', _1140 => _1140.details])) {
46532
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _1143 => _1143.details])) {
46396
46533
  try {
46397
- message2 = _optionalChain([JSON, 'access', _1141 => _1141.parse, 'call', _1142 => _1142(data.details), 'optionalAccess', _1143 => _1143.error, 'optionalAccess', _1144 => _1144.message]);
46534
+ message2 = _optionalChain([JSON, 'access', _1144 => _1144.parse, 'call', _1145 => _1145(data.details), 'optionalAccess', _1146 => _1146.error, 'optionalAccess', _1147 => _1147.message]);
46398
46535
  } catch (e59) {
46399
46536
  message2 = data.details;
46400
46537
  }
@@ -46477,14 +46614,14 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
46477
46614
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
46478
46615
  return;
46479
46616
  }
46480
- const isUserMessage = _optionalChain([msg, 'access', _1145 => _1145.owner, 'optionalAccess', _1146 => _1146.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1147 => _1147.owner, 'optionalAccess', _1148 => _1148.type]) === OWNER_TYPE.ADMIN;
46617
+ const isUserMessage = _optionalChain([msg, 'access', _1148 => _1148.owner, 'optionalAccess', _1149 => _1149.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _1150 => _1150.owner, 'optionalAccess', _1151 => _1151.type]) === OWNER_TYPE.ADMIN;
46481
46618
  if (isUserMessage) {
46482
46619
  flushAssistantMessage();
46483
- const userAuthorType = _optionalChain([msg, 'access', _1149 => _1149.owner, 'optionalAccess', _1150 => _1150.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
46620
+ const userAuthorType = _optionalChain([msg, 'access', _1152 => _1152.owner, 'optionalAccess', _1153 => _1153.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
46484
46621
  messageDataArray.forEach((data) => {
46485
46622
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
46486
46623
  const rawContext = data.contextItems;
46487
- const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1151 => _1151.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1152 => _1152.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
46624
+ const contextItems = Array.isArray(rawContext) ? rawContext.filter((c) => typeof _optionalChain([c, 'optionalAccess', _1154 => _1154.type]) === "string" && typeof _optionalChain([c, 'optionalAccess', _1155 => _1155.id]) === "string").map((c) => ({ type: c.type, id: c.id, label: c.id })) : void 0;
46488
46625
  processedMessages.push({
46489
46626
  id: msg.id,
46490
46627
  role: "user",
@@ -46508,7 +46645,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
46508
46645
  });
46509
46646
  const nextMsg = messages[index + 1];
46510
46647
  const isLastMessage = index === messages.length - 1;
46511
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1153 => _1153.owner, 'optionalAccess', _1154 => _1154.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1155 => _1155.owner, 'optionalAccess', _1156 => _1156.type]) === OWNER_TYPE.ADMIN);
46648
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1156 => _1156.owner, 'optionalAccess', _1157 => _1157.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1158 => _1158.owner, 'optionalAccess', _1159 => _1159.type]) === OWNER_TYPE.ADMIN);
46512
46649
  if (isLastMessage || nextIsFromUser) {
46513
46650
  flushAssistantMessage();
46514
46651
  }
@@ -46844,7 +46981,7 @@ function useNatsChatAdapter(config, options = {}) {
46844
46981
  }, [active, fetchDialogs, loadDialogsPage]);
46845
46982
  const sendMessage = _react.useCallback.call(void 0,
46846
46983
  async (text, sendOptions) => {
46847
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1157 => _1157.hidden]), () => ( false));
46984
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1160 => _1160.hidden]), () => ( false));
46848
46985
  setMessages((prev) => [
46849
46986
  ...prev,
46850
46987
  {
@@ -47008,11 +47145,11 @@ function useNatsChatAdapter(config, options = {}) {
47008
47145
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
47009
47146
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
47010
47147
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
47011
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1158 => _1158.provider]), () => ( modelProvider)), () => ( null)),
47012
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1159 => _1159.modelLabel]), () => ( modelLabel)), () => ( null)),
47013
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1160 => _1160.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1161 => _1161.contextWindowMaxTokens]))), () => ( null)),
47014
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1162 => _1162.inputTokensSize]), () => ( null)),
47015
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1163 => _1163.outputTokensSize]), () => ( null)),
47148
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1161 => _1161.provider]), () => ( modelProvider)), () => ( null)),
47149
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1162 => _1162.modelLabel]), () => ( modelLabel)), () => ( null)),
47150
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1163 => _1163.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1164 => _1164.contextWindowMaxTokens]))), () => ( null)),
47151
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1165 => _1165.inputTokensSize]), () => ( null)),
47152
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1166 => _1166.outputTokensSize]), () => ( null)),
47016
47153
  currentCacheHitRatePct: null,
47017
47154
  currentUsageBreakdown: null,
47018
47155
  // Dialog management
@@ -47260,7 +47397,7 @@ function extractIncompleteMessageState(lastMessage) {
47260
47397
  break;
47261
47398
  case "approval_batch": {
47262
47399
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
47263
- (c) => _optionalChain([segment, 'access', _1164 => _1164.data, 'access', _1165 => _1165.executions, 'optionalAccess', _1166 => _1166[c.toolExecutionRequestId], 'optionalAccess', _1167 => _1167.status]) === "done"
47400
+ (c) => _optionalChain([segment, 'access', _1167 => _1167.data, 'access', _1168 => _1168.executions, 'optionalAccess', _1169 => _1169[c.toolExecutionRequestId], 'optionalAccess', _1170 => _1170.status]) === "done"
47264
47401
  );
47265
47402
  if (segment.status !== "rejected" && !allDone) {
47266
47403
  hasIncompleteState = true;
@@ -47328,20 +47465,20 @@ function mergeHistoryWithRealtime(input) {
47328
47465
  const seqCoverageKnown = realtimeSeenStreamSeq > 0 && historyMaxStreamSeq > 0;
47329
47466
  const historyCoversRealtime = seqCoverageKnown ? historyMaxStreamSeq >= realtimeSeenStreamSeq : null;
47330
47467
  const trailing = processedHistory[processedHistory.length - 1];
47331
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1168 => _1168.role]) === "assistant" ? trailing : null;
47332
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1169 => _1169.content, 'access', _1170 => _1170.find, 'call', _1171 => _1171((s) => s.type === "approval_batch"), 'optionalAccess', _1172 => _1172.data, 'optionalAccess', _1173 => _1173.approvalRequestId]), () => ( null)) : null;
47468
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1171 => _1171.role]) === "assistant" ? trailing : null;
47469
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1172 => _1172.content, 'access', _1173 => _1173.find, 'call', _1174 => _1174((s) => s.type === "approval_batch"), 'optionalAccess', _1175 => _1175.data, 'optionalAccess', _1176 => _1176.approvalRequestId]), () => ( null)) : null;
47333
47470
  let processedToUse = processedHistory;
47334
47471
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
47335
47472
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
47336
47473
  if (historyBatchId) {
47337
47474
  const batchTwins = existingMessages.filter(
47338
47475
  (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
47339
- (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1174 => _1174.data, 'optionalAccess', _1175 => _1175.approvalRequestId]) === historyBatchId
47476
+ (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1177 => _1177.data, 'optionalAccess', _1178 => _1178.approvalRequestId]) === historyBatchId
47340
47477
  )
47341
47478
  );
47342
47479
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
47343
47480
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
47344
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1176 => _1176.content])) ? historyTrailingAssistant.content.length : 0;
47481
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1179 => _1179.content])) ? historyTrailingAssistant.content.length : 0;
47345
47482
  const realtimeSize = existingWithSameBatch.content.length;
47346
47483
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
47347
47484
  processedToUse = processedHistory.slice(0, -1);
@@ -47357,16 +47494,16 @@ function mergeHistoryWithRealtime(input) {
47357
47494
  if (pinnedSyntheticIds.has(m.id)) return true;
47358
47495
  if (droppedSyntheticIds.has(m.id)) return false;
47359
47496
  if (processedIds.has(m.id)) return false;
47360
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _1177 => _1177.has, 'call', _1178 => _1178(m.id)])) return false;
47497
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _1180 => _1180.has, 'call', _1181 => _1181(m.id)])) return false;
47361
47498
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
47362
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1179 => _1179.timestamp, 'optionalAccess', _1180 => _1180.getTime, 'call', _1181 => _1181()]), () => ( 0))) <= historyFetchedAt;
47499
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1182 => _1182.timestamp, 'optionalAccess', _1183 => _1183.getTime, 'call', _1184 => _1184()]), () => ( 0))) <= historyFetchedAt;
47363
47500
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
47364
47501
  }
47365
47502
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
47366
47503
  if (m.role === "assistant" && trailingAssistantText && assistantAnswerText(m.content) === trailingAssistantText) {
47367
47504
  return false;
47368
47505
  }
47369
- const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1182 => _1182.timestamp, 'optionalAccess', _1183 => _1183.getTime, 'call', _1184 => _1184()]), () => ( 0))) <= historyFetchedAt;
47506
+ const covered = typeof m.streamSeq === "number" && historyMaxStreamSeq > 0 ? historyMaxStreamSeq >= m.streamSeq : historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1185 => _1185.timestamp, 'optionalAccess', _1186 => _1186.getTime, 'call', _1187 => _1187()]), () => ( 0))) <= historyFetchedAt;
47370
47507
  if (covered) return false;
47371
47508
  }
47372
47509
  return true;
@@ -47586,7 +47723,7 @@ function useChatDialogManager({
47586
47723
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
47587
47724
  if (restoreTarget) {
47588
47725
  try {
47589
- await _optionalChain([unarchiveDialog, 'optionalCall', _1185 => _1185(restoreTarget.id)]);
47726
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1188 => _1188(restoreTarget.id)]);
47590
47727
  } catch (err) {
47591
47728
  console.error("[useChatDialogManager] unarchive failed:", err);
47592
47729
  return;
@@ -47995,7 +48132,7 @@ function EmbeddableChatInner({
47995
48132
  }),
47996
48133
  [commandsUrl]
47997
48134
  );
47998
- const userName = _optionalChain([identityUser, 'optionalAccess', _1186 => _1186.firstName, 'optionalAccess', _1187 => _1187.trim, 'call', _1188 => _1188()]) || _optionalChain([identityUser, 'optionalAccess', _1189 => _1189.name, 'optionalAccess', _1190 => _1190.split, 'call', _1191 => _1191(" "), 'access', _1192 => _1192[0], 'optionalAccess', _1193 => _1193.trim, 'call', _1194 => _1194()]) || void 0;
48135
+ const userName = _optionalChain([identityUser, 'optionalAccess', _1189 => _1189.firstName, 'optionalAccess', _1190 => _1190.trim, 'call', _1191 => _1191()]) || _optionalChain([identityUser, 'optionalAccess', _1192 => _1192.name, 'optionalAccess', _1193 => _1193.split, 'call', _1194 => _1194(" "), 'access', _1195 => _1195[0], 'optionalAccess', _1196 => _1196.trim, 'call', _1197 => _1197()]) || void 0;
47999
48136
  const effectiveModes = _react.useMemo.call(void 0, () => {
48000
48137
  if (modes) return modes;
48001
48138
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -48004,19 +48141,19 @@ function EmbeddableChatInner({
48004
48141
  const mingoCaps = _react.useMemo.call(void 0, () => {
48005
48142
  if (mingoState) {
48006
48143
  return {
48007
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1195 => _1195.canRename]), () => ( false)),
48008
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1196 => _1196.canArchive]), () => ( false)),
48009
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1197 => _1197.fetchArchivedDialogs]),
48010
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1198 => _1198.unarchiveDialog]),
48011
- searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1199 => _1199.searchQuery]),
48012
- onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1200 => _1200.onSearchChange])
48144
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1198 => _1198.canRename]), () => ( false)),
48145
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1199 => _1199.canArchive]), () => ( false)),
48146
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1200 => _1200.fetchArchivedDialogs]),
48147
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1201 => _1201.unarchiveDialog]),
48148
+ searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1202 => _1202.searchQuery]),
48149
+ onSearchChange: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1203 => _1203.onSearchChange])
48013
48150
  };
48014
48151
  }
48015
48152
  return {
48016
- canRename: !!_optionalChain([effectiveModes, 'access', _1201 => _1201.mingo, 'optionalAccess', _1202 => _1202.renameDialog]),
48017
- canArchive: !!_optionalChain([effectiveModes, 'access', _1203 => _1203.mingo, 'optionalAccess', _1204 => _1204.archiveDialog]),
48018
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1205 => _1205.mingo, 'optionalAccess', _1206 => _1206.fetchArchivedDialogs]),
48019
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _1207 => _1207.mingo, 'optionalAccess', _1208 => _1208.unarchiveDialog]),
48153
+ canRename: !!_optionalChain([effectiveModes, 'access', _1204 => _1204.mingo, 'optionalAccess', _1205 => _1205.renameDialog]),
48154
+ canArchive: !!_optionalChain([effectiveModes, 'access', _1206 => _1206.mingo, 'optionalAccess', _1207 => _1207.archiveDialog]),
48155
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1208 => _1208.mingo, 'optionalAccess', _1209 => _1209.fetchArchivedDialogs]),
48156
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _1210 => _1210.mingo, 'optionalAccess', _1211 => _1211.unarchiveDialog]),
48020
48157
  searchQuery: void 0,
48021
48158
  onSearchChange: void 0
48022
48159
  };
@@ -48030,7 +48167,7 @@ function EmbeddableChatInner({
48030
48167
  if (controlledActiveMode === void 0) {
48031
48168
  setUncontrolledActiveMode(next);
48032
48169
  }
48033
- _optionalChain([onActiveModeChange, 'optionalCall', _1209 => _1209(next)]);
48170
+ _optionalChain([onActiveModeChange, 'optionalCall', _1212 => _1212(next)]);
48034
48171
  },
48035
48172
  [controlledActiveMode, onActiveModeChange]
48036
48173
  );
@@ -48084,7 +48221,7 @@ function EmbeddableChatInner({
48084
48221
  clear: clearAttachments
48085
48222
  } = useChatAttachments();
48086
48223
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
48087
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1210 => _1210.maxItems]), () => ( 10));
48224
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1213 => _1213.maxItems]), () => ( 10));
48088
48225
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
48089
48226
  const [contextItems, setContextItems] = _react.useState.call(void 0, []);
48090
48227
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -48101,10 +48238,10 @@ function EmbeddableChatInner({
48101
48238
  }, [activeDialogId, activeMode]);
48102
48239
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
48103
48240
  const m = /* @__PURE__ */ new Map();
48104
- for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1211 => _1211.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
48241
+ for (const t of _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1214 => _1214.entityTypes]), () => ( []))) if (t.marker) m.set(t.type, t.marker);
48105
48242
  return m;
48106
- }, [_optionalChain([contextPicker, 'optionalAccess', _1212 => _1212.entityTypes])]);
48107
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1213 => _1213.entityTypes]);
48243
+ }, [_optionalChain([contextPicker, 'optionalAccess', _1215 => _1215.entityTypes])]);
48244
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1216 => _1216.entityTypes]);
48108
48245
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
48109
48246
  const byType = /* @__PURE__ */ new Map();
48110
48247
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -48116,7 +48253,7 @@ function EmbeddableChatInner({
48116
48253
  if (mentionActiveRef.current) {
48117
48254
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
48118
48255
  if (contextItems.length >= contextMaxItems) return;
48119
- _optionalChain([chatInputRef, 'access', _1214 => _1214.current, 'optionalAccess', _1215 => _1215.commitMention, 'call', _1216 => _1216(mentionTokenOf(key, mentionMarkerByType), {
48256
+ _optionalChain([chatInputRef, 'access', _1217 => _1217.current, 'optionalAccess', _1218 => _1218.commitMention, 'call', _1219 => _1219(mentionTokenOf(key, mentionMarkerByType), {
48120
48257
  label: item.label,
48121
48258
  icon: resolveContextIcon(item)
48122
48259
  })]);
@@ -48138,9 +48275,9 @@ function EmbeddableChatInner({
48138
48275
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
48139
48276
  if (mentionKeysRef.current.has(key)) {
48140
48277
  mentionKeysRef.current.delete(key);
48141
- const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1217 => _1217.current, 'optionalAccess', _1218 => _1218.getValue, 'call', _1219 => _1219()]), () => ( ""));
48278
+ const cur = _nullishCoalesce(_optionalChain([chatInputRef, 'access', _1220 => _1220.current, 'optionalAccess', _1221 => _1221.getValue, 'call', _1222 => _1222()]), () => ( ""));
48142
48279
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
48143
- _optionalChain([chatInputRef, 'access', _1220 => _1220.current, 'optionalAccess', _1221 => _1221.setValue, 'call', _1222 => _1222(next)]);
48280
+ _optionalChain([chatInputRef, 'access', _1223 => _1223.current, 'optionalAccess', _1224 => _1224.setValue, 'call', _1225 => _1225(next)]);
48144
48281
  }
48145
48282
  }, [mentionMarkerByType]);
48146
48283
  const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
@@ -48157,7 +48294,7 @@ function EmbeddableChatInner({
48157
48294
  }, []);
48158
48295
  const closeContextPicker = _react.useCallback.call(void 0, () => {
48159
48296
  if (mentionActiveRef.current) {
48160
- _optionalChain([chatInputRef, 'access', _1223 => _1223.current, 'optionalAccess', _1224 => _1224.removeMentionTrigger, 'call', _1225 => _1225()]);
48297
+ _optionalChain([chatInputRef, 'access', _1226 => _1226.current, 'optionalAccess', _1227 => _1227.removeMentionTrigger, 'call', _1228 => _1228()]);
48161
48298
  }
48162
48299
  setContextPickerOpen(false);
48163
48300
  setMentionQuery(null);
@@ -48191,8 +48328,8 @@ function EmbeddableChatInner({
48191
48328
  []
48192
48329
  );
48193
48330
  const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
48194
- const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1226 => _1226.firstName]), _optionalChain([identityUser, 'optionalAccess', _1227 => _1227.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1228 => _1228.name, 'optionalAccess', _1229 => _1229.trim, 'call', _1230 => _1230()]) || void 0 : void 0;
48195
- const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1231 => _1231.avatarUrl, 'optionalAccess', _1232 => _1232.trim, 'call', _1233 => _1233()]) || void 0 : void 0;
48331
+ const guideUserName = activeMode === "guide" ? [_optionalChain([identityUser, 'optionalAccess', _1229 => _1229.firstName]), _optionalChain([identityUser, 'optionalAccess', _1230 => _1230.lastName])].filter(Boolean).join(" ").trim() || _optionalChain([identityUser, 'optionalAccess', _1231 => _1231.name, 'optionalAccess', _1232 => _1232.trim, 'call', _1233 => _1233()]) || void 0 : void 0;
48332
+ const guideUserAvatar = activeMode === "guide" ? _optionalChain([identityUser, 'optionalAccess', _1234 => _1234.avatarUrl, 'optionalAccess', _1235 => _1235.trim, 'call', _1236 => _1236()]) || void 0 : void 0;
48196
48333
  const messages = _react.useMemo.call(void 0, () => {
48197
48334
  const cache = timestampCacheRef.current;
48198
48335
  const seenIds = /* @__PURE__ */ new Set();
@@ -48340,9 +48477,9 @@ function EmbeddableChatInner({
48340
48477
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
48341
48478
  const lastSources = _react.useMemo.call(void 0, () => {
48342
48479
  if (chatLoading) return void 0;
48343
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1234 => _1234.sources]);
48480
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1237 => _1237.sources]);
48344
48481
  if (!sources || sources.length === 0) return void 0;
48345
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1235 => _1235.content]) || "";
48482
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1238 => _1238.content]) || "";
48346
48483
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
48347
48484
  (m) => parseInt(m[1], 10)
48348
48485
  );
@@ -48389,7 +48526,7 @@ function EmbeddableChatInner({
48389
48526
  ChatPanelHeader,
48390
48527
  {
48391
48528
  showBack: hasConversation || guideCanReturnToMingo,
48392
- title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1236 => _1236.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
48529
+ title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1239 => _1239.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
48393
48530
  backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
48394
48531
  isArchivedView: isViewingArchived,
48395
48532
  onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
@@ -48507,7 +48644,7 @@ function EmbeddableChatInner({
48507
48644
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
48508
48645
  subtitleLoading: emptyStateLoading,
48509
48646
  ...guideWelcome,
48510
- quickActions: _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1237 => _1237.quickActions]), () => ( guideSuggestedActions)),
48647
+ quickActions: _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1240 => _1240.quickActions]), () => ( guideSuggestedActions)),
48511
48648
  onQuickAction: (action) => {
48512
48649
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
48513
48650
  },
@@ -49576,5 +49713,6 @@ function EmbeddableChatInner({
49576
49713
 
49577
49714
 
49578
49715
 
49579
- 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.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.Progress = Progress; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video; 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.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.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.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.SquareAvatar = SquareAvatar; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ONBOARDING_ICONS = ONBOARDING_ICONS; exports.resolveOnboardingIcon = resolveOnboardingIcon; exports.ONBOARDING_ICON_OPTIONS = ONBOARDING_ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = ChatQuickActionRowSkeleton; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.FlamingoLogo = FlamingoLogo; exports.OpenmspLogo = OpenmspLogo; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.extractSections = extractSections; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.AssigneeDropdown = AssigneeDropdown; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayout = AppLayout; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
49580
- //# sourceMappingURL=chunk-GLKQDTCI.cjs.map
49716
+
49717
+ exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.DateFilterMenu = DateFilterMenu; exports.DurationInput = DurationInput; exports.HoneypotField = HoneypotField; exports.ProgressBar = ProgressBar; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.InputTrigger = InputTrigger; exports.InteractiveCard = InteractiveCard; exports.MediaTypeSelector = MediaTypeSelector; exports.noDataIconClasses = noDataIconClasses; exports.noDataActionsVariants = noDataActionsVariants; exports.NoDataMessage = NoDataMessage; exports.NoDataAction = NoDataAction; exports.NoDataActions = NoDataActions; exports.NoData = NoData; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.Switch = Switch; exports.badgeVariants = badgeVariants; exports.Badge = Badge; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; exports.Textarea = Textarea; exports.AlertDialog = AlertDialog; exports.AlertDialogTrigger = AlertDialogTrigger; exports.AlertDialogPortal = AlertDialogPortal; exports.AlertDialogOverlay = AlertDialogOverlay; exports.AlertDialogContent = AlertDialogContent; exports.AlertDialogHeader = AlertDialogHeader; exports.AlertDialogFooter = AlertDialogFooter; exports.AlertDialogTitle = AlertDialogTitle; exports.AlertDialogDescription = AlertDialogDescription; exports.AlertDialogAction = AlertDialogAction; exports.AlertDialogCancel = AlertDialogCancel; exports.AspectRatio = AspectRatio; exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription; exports.ImageGalleryModal = ImageGalleryModal; exports.Modal = Modal2; exports.ModalContent = ModalContent2; exports.ModalHeader = ModalHeader2; exports.ModalTitle = ModalTitle2; exports.ModalFooter = ModalFooter2; exports.Modal2 = Modal; exports.ModalContent2 = ModalContent; exports.ModalHeader2 = ModalHeader; exports.ModalTitle2 = ModalTitle; exports.ModalFooter2 = ModalFooter; exports.Separator = Separator2; exports.Sheet = Sheet; exports.SheetTrigger = SheetTrigger; exports.SheetClose = SheetClose; exports.SheetPortal = SheetPortal; exports.SheetOverlay = SheetOverlay; exports.SheetContent = SheetContent; exports.SheetHeader = SheetHeader; exports.SheetFooter = SheetFooter; exports.SheetTitle = SheetTitle; exports.SheetDescription = SheetDescription; exports.Drawer = Drawer; exports.DrawerTrigger = DrawerTrigger; exports.DrawerClose = DrawerClose; exports.DrawerPortal = DrawerPortal; exports.DrawerOverlay = DrawerOverlay; exports.DrawerContent = DrawerContent; exports.DrawerHeader = DrawerHeader; exports.DrawerTitle = DrawerTitle; exports.DrawerDescription = DrawerDescription; exports.DrawerBody = DrawerBody; exports.DrawerFooter = DrawerFooter; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.Progress = Progress; exports.fetchPriorityProp = fetchPriorityProp; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video; 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.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.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.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.StatusIndicator = StatusIndicator; exports.HoverDropdown = HoverDropdown; exports.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.SquareAvatar = SquareAvatar; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.ColorSwatch = ColorSwatch; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.getReadableTextColor = getReadableTextColor; exports.HEX_PATTERN = HEX_PATTERN; exports.hexToRgb = hexToRgb; exports.rgbToHex = rgbToHex; exports.deriveHoverColor = deriveHoverColor; exports.deriveActiveColor = deriveActiveColor; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.kindToCanonicalStatus = kindToCanonicalStatus; exports.usesCanonicalStatusStyle = usesCanonicalStatusStyle; exports.resolveStatusTagProps = resolveStatusTagProps; exports.TicketStatusTag = TicketStatusTag; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.ChatTypingIndicator = ChatTypingIndicator; exports.MingoOnboardingCard = MingoOnboardingCard; exports.ONBOARDING_ICONS = ONBOARDING_ICONS; exports.resolveOnboardingIcon = resolveOnboardingIcon; exports.ONBOARDING_ICON_OPTIONS = ONBOARDING_ICON_OPTIONS; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.remarkMentionChips = remarkMentionChips; exports.BlockCard = BlockCard; exports.CONTEXT_ROW_CLASS = CONTEXT_ROW_CLASS; exports.CONTEXT_ICON_CLASS = CONTEXT_ICON_CLASS; exports.CONTEXT_LABEL_CLASS = CONTEXT_LABEL_CLASS; exports.CONTEXT_BACK_CLASS = CONTEXT_BACK_CLASS; exports.CONTEXT_STATE_CLASS = CONTEXT_STATE_CLASS; exports.ContextMenuRow = ContextMenuRow; exports.ContextItemsSkeleton = ContextItemsSkeleton; exports.ContextItemsList = ContextItemsList; exports.ContextErrorBoundary = ContextErrorBoundary; exports.CHAT_CONTEXT_ITEMS_DEFAULT_MAX = CHAT_CONTEXT_ITEMS_DEFAULT_MAX; exports.ChatComposerPlusMenu = ChatComposerPlusMenu; exports.ChatContextPicker = ChatContextPicker; exports.ChatContextChipStrip = ChatContextChipStrip; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.getProxiedImageUrl = getProxiedImageUrl; exports.urlPathLooksLikeSvg = urlPathLooksLikeSvg; exports.shouldProxyImage = shouldProxyImage; exports.generateImageSizes = generateImageSizes; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatQuickActionRowSkeleton = ChatQuickActionRowSkeleton; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.MspOrganizationCard = MspOrganizationCard; exports.MspOrganizationCardSkeleton = MspOrganizationCardSkeleton; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ModelDisplaySkeleton = ModelDisplaySkeleton; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.isCrossOriginUrl = isCrossOriginUrl; exports.decideNewTab = decideNewTab; exports.computeIsNewTab = computeIsNewTab; exports.newTabAnchorAttrs = newTabAnchorAttrs; exports.buildAnchorProps = buildAnchorProps; exports.NEW_TAB_FEATURES = NEW_TAB_FEATURES; exports.isModifierClick = isModifierClick; exports.stripSameOriginToPath = stripSameOriginToPath; exports.resolveExternalNavigation = resolveExternalNavigation; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.EMPTY_AUTHOR_PLACEHOLDER = EMPTY_AUTHOR_PLACEHOLDER; exports.EntityMetadataValueCell = EntityMetadataValueCell; exports.EntityMetadataAuthorCell = EntityMetadataAuthorCell; exports.EntityAuthorCard = EntityAuthorCard; exports.BlogImagePlaceholder = BlogImagePlaceholder; exports.FlamingoLogo = FlamingoLogo; exports.OpenmspLogo = OpenmspLogo; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl2 = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; exports.PAGE_HEADING_CLASS = PAGE_HEADING_CLASS; exports.SECTION_HEADING_CLASS = SECTION_HEADING_CLASS; exports.PageHeading = PageHeading; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.formatReleaseDate = formatReleaseDate; exports.formatDateShort = formatDateShort; exports.formatDateSlashUTC = formatDateSlashUTC; exports.resolveReleaseCover = resolveReleaseCover; exports.releaseTypeToBadgeColor = releaseTypeToBadgeColor; exports.defaultBuildProductReleaseCardProps = defaultBuildProductReleaseCardProps; exports.buildProductReleaseCardProps = buildProductReleaseCardProps; exports.useEntityCardLink = useEntityCardLink; exports.COMPACT_CARD_OUTER = COMPACT_CARD_OUTER; exports.COMPACT_CARD_OUTER_STATIC = COMPACT_CARD_OUTER_STATIC; exports.COMPACT_CARD_SKELETON_OUTER = COMPACT_CARD_SKELETON_OUTER; exports.COMPACT_CARD_IMAGE_SLOT = COMPACT_CARD_IMAGE_SLOT; exports.COMPACT_CARD_SKELETON_IMAGE_SLOT = COMPACT_CARD_SKELETON_IMAGE_SLOT; exports.COMPACT_CARD_ICON_SLOT = COMPACT_CARD_ICON_SLOT; exports.COMPACT_CARD_TEXT_COL = COMPACT_CARD_TEXT_COL; exports.COMPACT_CARD_TITLE_ROW = COMPACT_CARD_TITLE_ROW; exports.COMPACT_CARD_META_ROW_BOX = COMPACT_CARD_META_ROW_BOX; exports.COMPACT_CARD_TITLE = COMPACT_CARD_TITLE; exports.COMPACT_CARD_SUBTITLE = COMPACT_CARD_SUBTITLE; exports.COMPACT_CARD_SUMMARY = COMPACT_CARD_SUMMARY; exports.COMPACT_CARD_META_ROW = COMPACT_CARD_META_ROW; exports.COMPACT_CARD_ROW_FILLER = COMPACT_CARD_ROW_FILLER; exports.safeHref = safeHref; exports.BlogCardSkeleton = BlogCardSkeleton; exports.BlogCard = BlogCard; exports.CaseStudyCardSkeleton = CaseStudyCardSkeleton; exports.CaseStudyCard = CaseStudyCard; exports.CustomerInterviewCardSkeleton = CustomerInterviewCardSkeleton; exports.CustomerInterviewCard = CustomerInterviewCard; exports.formatInvestorUpdatePeriod = formatInvestorUpdatePeriod; exports.InvestorUpdateCardSkeleton = InvestorUpdateCardSkeleton; exports.InvestorUpdateCard = InvestorUpdateCard; exports.OnboardingGuideCardSkeleton = OnboardingGuideCardSkeleton; exports.OnboardingGuideCard = OnboardingGuideCard; exports.RoadmapVoteButton = RoadmapVoteButton; exports.getStatusColorScheme = getStatusColorScheme; exports.CUSTOM_ITEM_ID = CUSTOM_ITEM_ID; exports.getTaskTypeLabel = getTaskTypeLabel; exports.TaskTypeIcon = TaskTypeIcon; exports.RoadmapCardSkeleton = RoadmapCardSkeleton; exports.RoadmapCard = RoadmapCard; exports.GitHubActivityCard = GitHubActivityCard; exports.GitHubActivityCardSkeleton = GitHubActivityCardSkeleton; exports.SlackMessageCard = SlackMessageCard; exports.SlackMessageCardSkeleton = SlackMessageCardSkeleton; exports.HubspotTicketCard = HubspotTicketCard; exports.HubspotTicketCardSkeleton = HubspotTicketCardSkeleton; exports.DataRoomDocCard = DataRoomDocCard; exports.DataRoomDocCardSkeleton = DataRoomDocCardSkeleton; exports.ProgramCardSkeleton = ProgramCardSkeleton; exports.ProgramCard = ProgramCard; exports.CampaignCardAdmin = CampaignCardAdmin; exports.CampaignCardAdminSkeleton = CampaignCardAdminSkeleton; exports.GenericEntityCard = GenericEntityCard; exports.GenericEntityCardSkeleton = GenericEntityCardSkeleton; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; exports.SOURCE_ICON_NAMES = SOURCE_ICON_NAMES; exports.getSourceIconName = getSourceIconName; exports.SOURCE_LABELS_BY_TABLE = SOURCE_LABELS_BY_TABLE; exports.getSourceLabel = getSourceLabel; exports.DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID; exports.defaultTableIdForDocumentType = defaultTableIdForDocumentType; exports.ICON_REGISTRY = ICON_REGISTRY; exports.normalizeIconKey = normalizeIconKey; exports.getIconComponent = getIconComponent; exports.getDynamicIcon = getDynamicIcon; exports.resolveSourceRowCTA = resolveSourceRowCTA; exports.resolveSourceIcon = resolveSourceIcon; exports.ChatCardLoader = ChatCardLoader; exports.renderChatInlineEntityCard = renderChatInlineEntityCard; exports.CHAT_TYPE = CHAT_TYPE; exports.OWNER_TYPE = OWNER_TYPE; exports.MESSAGE_ROLE = MESSAGE_ROLE; exports.ASSISTANT_TYPE = ASSISTANT_TYPE; exports.AUTHOR_TYPE = AUTHOR_TYPE; exports.APPROVAL_STATUS = APPROVAL_STATUS; exports.CONNECTION_STATUS = CONNECTION_STATUS; exports.buildChatRefKey = buildChatRefKey; exports.isStructuredContent = isStructuredContent; exports.normalizeContent = normalizeContent2; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.transformEventToProgram = transformEventToProgram; exports.transformPodcastToProgram = transformPodcastToProgram; exports.transformWebinarToProgram = transformWebinarToProgram; exports.useChunkCatchup = useChunkCatchup; exports.useJetStreamDialogSubscription = useJetStreamDialogSubscription; exports.useNatsDialogSubscription = useNatsDialogSubscription; exports.buildNatsWsUrl = buildNatsWsUrl; exports.parseChunkToAction = parseChunkToAction; exports.isControlChunk = isControlChunk; exports.isErrorChunk = isErrorChunk; exports.isMetadataChunk = isMetadataChunk; exports.extractTextFromChunk = extractTextFromChunk; exports.MessageSegmentAccumulator = MessageSegmentAccumulator; exports.createMessageSegmentAccumulator = createMessageSegmentAccumulator; exports.useRealtimeChunkProcessor = useRealtimeChunkProcessor; exports.fetchSlashCommands = fetchSlashCommands; exports.useSlashCommands = useSlashCommands; exports.useSlashCommandRegistry = useSlashCommandRegistry; exports.fetchEmptyStateConfig = fetchEmptyStateConfig; exports.useEmptyStateConfig = useEmptyStateConfig; exports.useChatAttachments = useChatAttachments; exports.useChatAttachmentImageGallery = useChatAttachmentImageGallery; exports.ChatIdentityProvider = ChatIdentityProvider; exports.useChatIdentity = useChatIdentity; exports.useCloseOnNavigation = useCloseOnNavigation; exports.useSSE = useSSE; exports.useChat = useChat; exports.SCROLL_ANCHOR_WIRE_KEY = SCROLL_ANCHOR_WIRE_KEY; exports.parseScrollAnchor = parseScrollAnchor; exports.AUTO_CONTINUATION_DIRECTIVE_PREFIX = AUTO_CONTINUATION_DIRECTIVE_PREFIX; exports.buildAutoContinuationDirective = buildAutoContinuationDirective; exports.flattenAssistantContent = flattenAssistantContent; exports.parseWireCommandOverride = parseWireCommandOverride; exports.sanitizeTitleForChat = sanitizeTitleForChat; exports.formatSingularLookupInvocation = formatSingularLookupInvocation; exports.extractEntityIdFilter = extractEntityIdFilter; exports.buildDiscussAddendum = buildDiscussAddendum; exports.useSseChatAdapter = useSseChatAdapter; exports.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.useNatsChatAdapter = useNatsChatAdapter; exports.useUnifiedChat = useUnifiedChat; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.SYNTHETIC_REALTIME_ID_PREFIXES = SYNTHETIC_REALTIME_ID_PREFIXES; exports.flattenMessagePagesChronological = flattenMessagePagesChronological; exports.maxPersistedStreamSeq = maxPersistedStreamSeq; exports.mergeHistoryWithRealtime = mergeHistoryWithRealtime; exports.computeHistoryPrepend = computeHistoryPrepend; exports.CHIP_ACTION_BUTTON_CLASS = CHIP_ACTION_BUTTON_CLASS; exports.chatChipClass = chatChipClass; exports.clickupTaskUrl = clickupTaskUrl; exports.EmbeddableChat = EmbeddableChat; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TITLE_BLOCK_MIN_HEIGHT = TITLE_BLOCK_MIN_HEIGHT; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.serializeJsonLd = serializeJsonLd; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.SEO_TITLE_MAX_LENGTH = SEO_TITLE_MAX_LENGTH; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.isValidEmailDomain = isValidEmailDomain; exports.validateEmailDomain = validateEmailDomain; exports.validateEmailDomainList = validateEmailDomainList; exports.cleanEmailDomain = cleanEmailDomain; exports.getConfidenceColorClass = getConfidenceColorClass; exports.getConfidenceLevel = getConfidenceLevel; exports.getConfidenceBorderClass = getConfidenceBorderClass; exports.getConfidenceTextClass = getConfidenceTextClass; exports.getConfidenceBgClass = getConfidenceBgClass; exports.getConfidenceLabel = getConfidenceLabel; exports.DEV_SECTION_PARAM_KEYS = DEV_SECTION_PARAM_KEYS; exports.devSectionAnchorId = devSectionAnchorId; exports.normalizeToolType = normalizeToolType; exports.normalizeToolTypeWithFallback = normalizeToolTypeWithFallback; exports.toToolLabel = toToolLabel; exports.isValidToolType = isValidToolType; exports.getToolTypeAliases = getToolTypeAliases; exports.getToolLabel = getToolLabel; exports.ShellTypeValues = ShellTypeValues; exports.SHELL_TYPES = SHELL_TYPES; exports.shellLabels = shellLabels; exports.getShellLabel = getShellLabel; exports.getShellIcon = getShellIcon; exports.OSTypeValues = OSTypeValues; exports.OS_TYPES = OS_TYPES; exports.osLabels = osLabels; exports.normalizeOSType = normalizeOSType; exports.getOSLabel = getOSLabel; exports.getOSIcon = getOSIcon; exports.getOSTypeDefinition = getOSTypeDefinition; exports.getOSPlatformId = getOSPlatformId; exports.isOSPlatform = isOSPlatform; exports.getCountryPhoneData = getCountryPhoneData; exports.getCountryByCode = getCountryByCode; exports.validatePhoneNumber = validatePhoneNumber; exports.formatPhoneE164 = formatPhoneE164; exports.GENERIC_EMAIL_DOMAINS = GENERIC_EMAIL_DOMAINS; exports.extractDomainFromEmail = extractDomainFromEmail; exports.normalizeDomain = normalizeDomain; exports.isGenericDomain = isGenericDomain; exports.hasGenericEmailDomain = hasGenericEmailDomain; exports.isGenericWebsiteDomain = isGenericWebsiteDomain; exports.DESIGN_PALETTE = DESIGN_PALETTE; exports.getContrastRatio = getContrastRatio; exports.extractDominantColor = extractDominantColor; exports.getBestContrastColor = getBestContrastColor; exports.analyzeImageColor = analyzeImageColor; exports.extractImageEdgeColorAsync = extractImageEdgeColorAsync; exports.formatTicketRelativeTime = formatTicketRelativeTime; exports.formatTicketFullTimestamp = formatTicketFullTimestamp; exports.formatRelativeTime = formatRelativeTime; exports.formatAbsoluteDate = formatAbsoluteDate; exports.formatDateTime = formatDateTime; exports.getDetailedTimeDifference = getDetailedTimeDifference; exports.isToday = isToday; exports.isWithinMinutes = isWithinMinutes; exports.createUTCTimestamp = createUTCTimestamp; exports.readLeadingDecisionFrame = readLeadingDecisionFrame; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TASK_TYPE_LABELS = TASK_TYPE_LABELS; exports.TASK_TYPE_TEXT_COLORS = TASK_TYPE_TEXT_COLORS; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.ROADMAP_STATUS_OPTIONS = ROADMAP_STATUS_OPTIONS; exports.DELIVERY_TASK_TYPE_OPTIONS = DELIVERY_TASK_TYPE_OPTIONS; exports.TICKET_STATUS_OPTIONS = TICKET_STATUS_OPTIONS; exports.OPENFRAME_DEV_SECTIONS = OPENFRAME_DEV_SECTIONS; exports.canonicalContentRefType = canonicalContentRefType; exports.buildListUrl = buildListUrl; exports.faqSectionSlug = faqSectionSlug; exports.faqItemAnchor = faqItemAnchor; exports.parseFaqHash = parseFaqHash; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.buildSuggestionUrl = buildSuggestionUrl; exports.DEFAULT_CONTENT_SUFFIXES = DEFAULT_CONTENT_SUFFIXES; exports.makeComposeContentUrl = makeComposeContentUrl; exports.buildDefaultHref = buildDefaultHref; exports.resolveContentHref = resolveContentHref; exports.DEFAULT_FOLDER_INDEX_FILE = DEFAULT_FOLDER_INDEX_FILE; exports.stripFolderIndexFromPath = stripFolderIndexFromPath; exports.findDocNodeByPath = findDocNodeByPath; exports.getDocAncestorNodeIds = getDocAncestorNodeIds; exports.resolveContentFetchPath = resolveContentFetchPath; exports.getInitialExpandedNodeIds = getInitialExpandedNodeIds; exports.getDocSourceDefaultPath = getDocSourceDefaultPath; exports.toDocSlug = toDocSlug; exports.pathToNodeId = pathToNodeId; exports.normalizeDocPath = normalizeDocPath; exports.formatDocName = formatDocName; exports.sortTreeChildren = sortTreeChildren; exports.buildDocumentTree = buildDocumentTree; exports.stripInlineMarkdown = stripInlineMarkdown; exports.markdownToPlainText = markdownToPlainText; exports.extractSections = extractSections; exports.SECTION_HERO_ICON_CLASS = SECTION_HERO_ICON_CLASS; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.ChevronButton = ChevronButton; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon2; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon2; exports.XCircleIcon = XCircleIcon; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.TruncateText = TruncateText; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.DropdownButton = DropdownButton; exports.MoreActionsMenu = MoreActionsMenu; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.Slider = Slider; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.init_pagination = init_pagination; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; exports.THEME_STORAGE_KEY = THEME_STORAGE_KEY; exports.THEME_ATTRIBUTE = THEME_ATTRIBUTE; exports.DEFAULT_THEME = DEFAULT_THEME; exports.ThemeProvider = ThemeProvider; exports.useTheme = useTheme; exports.useThemeToggle = useThemeToggle; exports.ArrayEntryManager = ArrayEntryManager; exports.ProviderButton = ProviderButton; exports.AuthProvidersList = AuthProvidersList; exports.ChangelogManager = ChangelogManager; exports.ChangelogSectionsManager = ChangelogSectionsManager; exports.ClickUpTasksManager = ClickUpTasksManager; exports.CommandBox = CommandBox; exports.TAG_BADGE_CLASS = TAG_BADGE_CLASS; exports.EntityTagBadges = EntityTagBadges; exports.ErrorBoundary = ErrorBoundary; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.OPENFRAME_DOCTOR_COMMANDS = OPENFRAME_DOCTOR_COMMANDS; exports.getOpenFrameDoctorCommand = getOpenFrameDoctorCommand; exports.PlatformFilterComponent = PlatformFilterComponent; exports.PushButtonSelector = PushButtonSelector; exports.ReleaseMediaManager = ReleaseMediaManager; exports.SelectButton = SelectButton; exports.SEOEditorPreview = SEOEditorPreview; exports.SocialLinksManager = SocialLinksManager; exports.StartWithOpenFrameButton = StartWithOpenFrameButton; exports.StatusFilterComponent = StatusFilterComponent; exports.TagsSelector = TagsSelector; exports.WarningBlock = WarningBlock; exports.MUX_STREAM_ORIGIN = MUX_STREAM_ORIGIN; exports.MUX_IMAGE_ORIGIN = MUX_IMAGE_ORIGIN; exports.useVideoOriginPreconnect = useVideoOriginPreconnect; exports.useVideoWarmup = useVideoWarmup; exports.getCaptionsUrl = getCaptionsUrl; exports.VideoSourceSelector = VideoSourceSelector; exports.ConfidenceBadge = ConfidenceBadge; exports.TranscriptSummaryEditor = TranscriptSummaryEditor; exports.AIEnrichButton = AIEnrichButton; exports.AIWarningsSection = AIWarningsSection; exports.AIEnrichSection = AIEnrichSection; exports.HighlightVideoSection = HighlightVideoSection; exports.HighlightConfigSection = HighlightConfigSection; exports.EntitySummaryEditor = EntitySummaryEditor; exports.AIStatusIndicator = AIStatusIndicator; exports.AIRequiredBadge = AIRequiredBadge; exports.TranscribeSummarizeSection = TranscribeSummarizeSection; exports.VideoClipsSection = VideoClipsSection; exports.HighlightGenerationSection = HighlightGenerationSection; exports.HighlightVideoPreview = HighlightVideoPreview; exports.TranscribeAndSummarizeCombinedSection = TranscribeAndSummarizeCombinedSection; exports.HighlightVideoCombinedSection = HighlightVideoCombinedSection; exports.ViewToggle = ViewToggle; exports.PolicyConfigurationPanel = PolicyConfigurationPanel; exports.PhoneInput = PhoneInput; exports.WaitlistForm = WaitlistForm; exports.NotificationsProvider = NotificationsProvider; exports.useNotifications = useNotifications; exports.useOptionalNotifications = useOptionalNotifications; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; exports.NotificationPopups = NotificationPopups; exports.ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE; exports.isApprovalNotification = isApprovalNotification; exports.getApprovalMeta = getApprovalMeta; exports.resolutionToStatus = resolutionToStatus; exports.approvalMetaToBatchData = approvalMetaToBatchData; exports.ApprovalRequestNotificationTile = ApprovalRequestNotificationTile; exports.TimeTrackerProvider = TimeTrackerProvider; exports.useTimeTracker = useTimeTracker; exports.useOptionalTimeTracker = useOptionalTimeTracker; exports.useTrackerClock = useTrackerClock; exports.TimeTrackerPanel = TimeTrackerPanel; exports.HeaderButton = HeaderButton; exports.TimeTrackerHeaderButton = TimeTrackerHeaderButton; exports.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; exports.BoardTicketApproval = BoardTicketApproval; exports.TicketCard = TicketCard; exports.TicketCardSkeleton = TicketCardSkeleton; exports.BoardColumn = BoardColumn; exports.useBoardCollapse = useBoardCollapse; exports.Board = Board; exports.columnFromTicketStatus = columnFromTicketStatus; exports.groupTicketsByStatus = groupTicketsByStatus; exports.TicketStatusConfigList = TicketStatusConfigList; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.TICKET_STATUS_COLOR_PRESETS = TICKET_STATUS_COLOR_PRESETS; exports.CUSTOM_PRESET_KEY = CUSTOM_PRESET_KEY; exports.DEFAULT_CUSTOM_STATUS_COLOR = DEFAULT_CUSTOM_STATUS_COLOR; exports.ColorPresetSelect = ColorPresetSelect; exports.ColorPickerInput = ColorPickerInput; exports.TicketStatusConfigRow = TicketStatusConfigRow; exports.AssigneeDropdown = AssigneeDropdown; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.FilterPillRow = FilterPillRow; exports.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderGlobalSearch = HeaderGlobalSearch; exports.HeaderMingoButton = HeaderMingoButton; exports.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.useAppLayoutDrawerContainer = useAppLayoutDrawerContainer; exports.AppLayout = AppLayout; exports.AppLayoutDrawerRoot = AppLayoutDrawerRoot; exports.AppLayoutDrawerTrigger = AppLayoutDrawerTrigger; exports.AppLayoutDrawerClose = AppLayoutDrawerClose; exports.AppLayoutDrawerContent = AppLayoutDrawerContent; exports.AppLayoutDrawerHeader = AppLayoutDrawerHeader; exports.AppLayoutDrawerTitle = AppLayoutDrawerTitle; exports.AppLayoutDrawerDescription = AppLayoutDrawerDescription; exports.AppLayoutDrawerBody = AppLayoutDrawerBody; exports.AppLayoutDrawerFooter = AppLayoutDrawerFooter; exports.MultiLevelNavigation = MultiLevelNavigation; exports.MobileNavigationDropdown = MobileNavigationDropdown; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.assets = assets;
49718
+ //# sourceMappingURL=chunk-AYBSXRRC.cjs.map