@flamingo-stack/openframe-frontend-core 0.0.324 → 0.0.325

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 (89) hide show
  1. package/dist/{chunk-NPM3PSRW.cjs → chunk-4USOR7KK.cjs} +25 -25
  2. package/dist/{chunk-NPM3PSRW.cjs.map → chunk-4USOR7KK.cjs.map} +1 -1
  3. package/dist/{chunk-X6NDSU3W.cjs → chunk-5COLEZW6.cjs} +62 -62
  4. package/dist/{chunk-X6NDSU3W.cjs.map → chunk-5COLEZW6.cjs.map} +1 -1
  5. package/dist/{chunk-7343ZUA2.js → chunk-5CWJGCOL.js} +4 -4
  6. package/dist/{chunk-UNFD5VKD.cjs → chunk-5DXWGCTW.cjs} +56 -56
  7. package/dist/{chunk-UNFD5VKD.cjs.map → chunk-5DXWGCTW.cjs.map} +1 -1
  8. package/dist/{chunk-VD2JHSBW.cjs → chunk-5GXMQPG7.cjs} +37 -37
  9. package/dist/{chunk-VD2JHSBW.cjs.map → chunk-5GXMQPG7.cjs.map} +1 -1
  10. package/dist/{chunk-OZORBZ23.cjs → chunk-5HRCKYFX.cjs} +9 -9
  11. package/dist/{chunk-OZORBZ23.cjs.map → chunk-5HRCKYFX.cjs.map} +1 -1
  12. package/dist/{chunk-FM4KGO75.js → chunk-5YGKK636.js} +4 -4
  13. package/dist/{chunk-RTPVAKRQ.js → chunk-6GSM6K5W.js} +2 -2
  14. package/dist/{chunk-ALXY56MH.cjs → chunk-AYBSXRRC.cjs} +659 -527
  15. package/dist/chunk-AYBSXRRC.cjs.map +1 -0
  16. package/dist/{chunk-WRRZKIFU.js → chunk-EQSGC5WT.js} +2 -2
  17. package/dist/{chunk-O4SGWVZK.js → chunk-GYWMN4AK.js} +4 -4
  18. package/dist/{chunk-SIQWYHZF.js → chunk-HS2YU2NF.js} +2 -2
  19. package/dist/{chunk-POMQVPWA.cjs → chunk-K2PS5MJH.cjs} +5 -5
  20. package/dist/{chunk-POMQVPWA.cjs.map → chunk-K2PS5MJH.cjs.map} +1 -1
  21. package/dist/{chunk-TQX5O6OU.js → chunk-MIVP6B6P.js} +4 -4
  22. package/dist/{chunk-F3DK3ETT.js → chunk-P3IIAUCL.js} +311 -179
  23. package/dist/chunk-P3IIAUCL.js.map +1 -0
  24. package/dist/{chunk-QVWKPHD3.cjs → chunk-QLSUOQMU.cjs} +7 -7
  25. package/dist/{chunk-QVWKPHD3.cjs.map → chunk-QLSUOQMU.cjs.map} +1 -1
  26. package/dist/{chunk-G5NW2RHD.cjs → chunk-U74OC6PM.cjs} +26 -26
  27. package/dist/{chunk-G5NW2RHD.cjs.map → chunk-U74OC6PM.cjs.map} +1 -1
  28. package/dist/{chunk-M2ZHKEZG.js → chunk-UJIDDEXD.js} +2 -2
  29. package/dist/{chunk-PBHJEI4L.js → chunk-VSUBZBG7.js} +2 -2
  30. package/dist/{chunk-BXBRH4VK.js → chunk-VUE2FSVD.js} +2 -2
  31. package/dist/{chunk-3MVY3CT6.cjs → chunk-WAYJ7VBD.cjs} +12 -12
  32. package/dist/{chunk-3MVY3CT6.cjs.map → chunk-WAYJ7VBD.cjs.map} +1 -1
  33. package/dist/{chunk-PD2G6OXQ.js → chunk-XFRQUV5M.js} +2 -2
  34. package/dist/{chunk-FAJRYL3A.cjs → chunk-XQBK7IVF.cjs} +15 -15
  35. package/dist/{chunk-FAJRYL3A.cjs.map → chunk-XQBK7IVF.cjs.map} +1 -1
  36. package/dist/{chunk-2YESJYW6.cjs → chunk-XTV2EZHO.cjs} +31 -31
  37. package/dist/{chunk-2YESJYW6.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/index.cjs +2 -2
  41. package/dist/components/chat/index.js +1 -1
  42. package/dist/components/contact/index.cjs +3 -3
  43. package/dist/components/contact/index.js +2 -2
  44. package/dist/components/docs/index.cjs +5 -5
  45. package/dist/components/docs/index.js +4 -4
  46. package/dist/components/embeds/index.cjs +3 -3
  47. package/dist/components/embeds/index.js +2 -2
  48. package/dist/components/faq/index.cjs +3 -3
  49. package/dist/components/faq/index.js +2 -2
  50. package/dist/components/features/index.cjs +2 -2
  51. package/dist/components/features/index.js +1 -1
  52. package/dist/components/help-center-pages/index.cjs +20 -20
  53. package/dist/components/help-center-pages/index.js +11 -11
  54. package/dist/components/index.cjs +122 -120
  55. package/dist/components/index.cjs.map +1 -1
  56. package/dist/components/index.js +11 -9
  57. package/dist/components/index.js.map +1 -1
  58. package/dist/components/navigation/index.cjs +2 -2
  59. package/dist/components/navigation/index.js +1 -1
  60. package/dist/components/onboarding-guides/index.cjs +5 -5
  61. package/dist/components/onboarding-guides/index.js +4 -4
  62. package/dist/components/related-content/index.cjs +3 -3
  63. package/dist/components/related-content/index.js +2 -2
  64. package/dist/components/tickets/index.cjs +5 -5
  65. package/dist/components/tickets/index.js +4 -4
  66. package/dist/components/ui/date-picker.d.ts +47 -0
  67. package/dist/components/ui/date-picker.d.ts.map +1 -1
  68. package/dist/components/ui/index.cjs +4 -2
  69. package/dist/components/ui/index.cjs.map +1 -1
  70. package/dist/components/ui/index.js +3 -1
  71. package/dist/index.cjs +4 -2
  72. package/dist/index.cjs.map +1 -1
  73. package/dist/index.js +3 -1
  74. package/package.json +1 -1
  75. package/src/components/ui/date-picker.tsx +214 -9
  76. package/src/stories/DatePicker.stories.tsx +141 -0
  77. package/dist/chunk-ALXY56MH.cjs.map +0 -1
  78. package/dist/chunk-F3DK3ETT.js.map +0 -1
  79. /package/dist/{chunk-7343ZUA2.js.map → chunk-5CWJGCOL.js.map} +0 -0
  80. /package/dist/{chunk-FM4KGO75.js.map → chunk-5YGKK636.js.map} +0 -0
  81. /package/dist/{chunk-RTPVAKRQ.js.map → chunk-6GSM6K5W.js.map} +0 -0
  82. /package/dist/{chunk-WRRZKIFU.js.map → chunk-EQSGC5WT.js.map} +0 -0
  83. /package/dist/{chunk-O4SGWVZK.js.map → chunk-GYWMN4AK.js.map} +0 -0
  84. /package/dist/{chunk-SIQWYHZF.js.map → chunk-HS2YU2NF.js.map} +0 -0
  85. /package/dist/{chunk-TQX5O6OU.js.map → chunk-MIVP6B6P.js.map} +0 -0
  86. /package/dist/{chunk-M2ZHKEZG.js.map → chunk-UJIDDEXD.js.map} +0 -0
  87. /package/dist/{chunk-PBHJEI4L.js.map → chunk-VSUBZBG7.js.map} +0 -0
  88. /package/dist/{chunk-BXBRH4VK.js.map → chunk-VUE2FSVD.js.map} +0 -0
  89. /package/dist/{chunk-PD2G6OXQ.js.map → chunk-XFRQUV5M.js.map} +0 -0
@@ -12013,7 +12013,8 @@ function DatePickerCalendar({
12013
12013
  numberOfMonths = 1,
12014
12014
  fromDate,
12015
12015
  toDate: toDate2,
12016
- locale
12016
+ locale,
12017
+ fluid = false
12017
12018
  }) {
12018
12019
  const today = /* @__PURE__ */ new Date();
12019
12020
  const isMdUp = _nullishCoalesce(_chunk27IO7V3Pcjs.useMdUp.call(void 0, ), () => ( true));
@@ -12042,28 +12043,33 @@ function DatePickerCalendar({
12042
12043
  setHoveredDate(void 0);
12043
12044
  onSelect(completed);
12044
12045
  };
12046
+ const cellOuter = fluid ? "flex-1 aspect-square min-w-0" : "size-10";
12047
+ const cellInner = fluid ? "size-full" : "size-10";
12045
12048
  const classNames = {
12046
- root: "p-4 date-picker-calendar",
12049
+ root: _chunkFIG2RKZFcjs.cn.call(void 0, "p-4 date-picker-calendar", fluid && "w-full"),
12047
12050
  months: "flex gap-8",
12048
- month: "flex flex-col gap-2",
12051
+ month: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-2", fluid && "w-full"),
12049
12052
  month_caption: "hidden",
12050
12053
  nav: "hidden",
12051
- month_grid: "border-collapse",
12054
+ month_grid: _chunkFIG2RKZFcjs.cn.call(void 0, "border-collapse", fluid && "w-full"),
12052
12055
  weekdays: "flex",
12053
12056
  weekday: _chunkFIG2RKZFcjs.cn.call(void 0,
12054
- "size-10 flex items-center justify-center",
12057
+ cellOuter,
12058
+ "flex items-center justify-center",
12055
12059
  "text-[14px] font-medium leading-5 text-ods-text-secondary"
12056
12060
  ),
12057
12061
  week: "flex",
12058
12062
  day: _chunkFIG2RKZFcjs.cn.call(void 0,
12059
- "size-10 flex items-center justify-center",
12063
+ cellOuter,
12064
+ "flex items-center justify-center",
12060
12065
  "text-h4 text-ods-text-primary",
12061
12066
  "cursor-pointer",
12062
12067
  "transition-colors duration-150",
12063
12068
  "hover:bg-ods-bg-surface hover:rounded-[6px]"
12064
12069
  ),
12065
12070
  day_button: _chunkFIG2RKZFcjs.cn.call(void 0,
12066
- "size-10 flex items-center justify-center",
12071
+ cellInner,
12072
+ "flex items-center justify-center",
12067
12073
  "cursor-pointer bg-transparent border-none outline-none",
12068
12074
  "text-inherit font-inherit"
12069
12075
  ),
@@ -12146,7 +12152,7 @@ function DatePickerCalendar({
12146
12152
  }
12147
12153
  `;
12148
12154
  if (mode === "single") {
12149
- 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: [
12150
12156
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-between px-4 pt-4", children: [
12151
12157
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12152
12158
  CalendarNavButton,
@@ -12188,7 +12194,7 @@ function DatePickerCalendar({
12188
12194
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
12189
12195
  "div",
12190
12196
  {
12191
- 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"),
12192
12198
  onMouseLeave: () => setHoveredDate(void 0),
12193
12199
  children: [
12194
12200
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "style", { children: rangeStyles }),
@@ -12712,6 +12718,131 @@ function DatePickerInputSimple({
12712
12718
  ] });
12713
12719
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.FieldWrapper, { label, error, className, children: content });
12714
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
+ }
12715
12846
 
12716
12847
  // src/components/ui/duration-input.tsx
12717
12848
  _chunkFIG2RKZFcjs.init_cn.call(void 0, );
@@ -12735,7 +12866,7 @@ function DurationInput({ value, onChange, invalid, className }) {
12735
12866
  setSegments((prev) => compose(prev) === value ? prev : split(value));
12736
12867
  }, [value]);
12737
12868
  const focusSegment = (i) => {
12738
- 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]);
12739
12870
  if (!el) return;
12740
12871
  el.focus();
12741
12872
  el.select();
@@ -13225,7 +13356,7 @@ var NoData = React112.default.forwardRef(function NoData2({
13225
13356
  ...props
13226
13357
  }, ref) {
13227
13358
  const hasMessage = !!(icon || title || description);
13228
- const hasActions = !!_optionalChain([actions, 'optionalAccess', _255 => _255.length]);
13359
+ const hasActions = !!_optionalChain([actions, 'optionalAccess', _258 => _258.length]);
13229
13360
  const footerButton = _nullishCoalesce(button, () => ( (buttonLabel != null ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13230
13361
  _chunkQJGRP2YEcjs.Button,
13231
13362
  {
@@ -13233,7 +13364,7 @@ var NoData = React112.default.forwardRef(function NoData2({
13233
13364
  leftIcon: buttonIcon,
13234
13365
  onClick: onButtonClick,
13235
13366
  ...buttonProps,
13236
- 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])),
13237
13368
  children: buttonLabel
13238
13369
  }
13239
13370
  ) : null)));
@@ -13468,7 +13599,7 @@ var Switch = React47.forwardRef(({ className, checked, onCheckedChange, ...props
13468
13599
  }, [checked]);
13469
13600
  const handleCheckedChange = (newChecked) => {
13470
13601
  setIsChecked(newChecked);
13471
- _optionalChain([onCheckedChange, 'optionalCall', _257 => _257(newChecked)]);
13602
+ _optionalChain([onCheckedChange, 'optionalCall', _260 => _260(newChecked)]);
13472
13603
  };
13473
13604
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13474
13605
  SwitchPrimitives.Root,
@@ -13677,7 +13808,7 @@ function TagsManager({
13677
13808
  const name = search.trim();
13678
13809
  if (!name) return;
13679
13810
  const result = await onCreateTag(name);
13680
- if (_optionalChain([result, 'optionalAccess', _258 => _258.id])) {
13811
+ if (_optionalChain([result, 'optionalAccess', _261 => _261.id])) {
13681
13812
  onChange([...selectedIds, result.id]);
13682
13813
  setSearch("");
13683
13814
  }
@@ -13685,7 +13816,7 @@ function TagsManager({
13685
13816
  const startEdit = React49.useCallback((id, name) => {
13686
13817
  setEditingId(id);
13687
13818
  setEditingName(name);
13688
- 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);
13689
13820
  }, []);
13690
13821
  const confirmEdit = React49.useCallback(async () => {
13691
13822
  if (!onUpdateTag || !editingId || !editingName.trim()) return;
@@ -13712,7 +13843,7 @@ function TagsManager({
13712
13843
  e.stopPropagation();
13713
13844
  onChange([]);
13714
13845
  setSearch("");
13715
- _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()]);
13716
13847
  },
13717
13848
  [onChange]
13718
13849
  );
@@ -13811,10 +13942,10 @@ function TagsManager({
13811
13942
  align: "start",
13812
13943
  onOpenAutoFocus: (e) => {
13813
13944
  e.preventDefault();
13814
- _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()]);
13815
13946
  },
13816
13947
  onInteractOutside: (e) => {
13817
- 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)])) {
13818
13949
  e.preventDefault();
13819
13950
  }
13820
13951
  },
@@ -14099,7 +14230,7 @@ var Textarea = React50.forwardRef(
14099
14230
  "button",
14100
14231
  {
14101
14232
  type: "button",
14102
- "aria-label": _nullishCoalesce(_optionalChain([endIconButtonProps, 'optionalAccess', _271 => _271["aria-label"]]), () => ( "Submit")),
14233
+ "aria-label": _nullishCoalesce(_optionalChain([endIconButtonProps, 'optionalAccess', _274 => _274["aria-label"]]), () => ( "Submit")),
14103
14234
  ...endIconButtonProps,
14104
14235
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
14105
14236
  // `h-6` matches the textarea's `leading-6` line box so the icon's
@@ -14113,7 +14244,7 @@ var Textarea = React50.forwardRef(
14113
14244
  "cursor-pointer hover:text-ods-text-primary",
14114
14245
  "focus-visible:outline-none focus-visible:text-ods-accent",
14115
14246
  "disabled:cursor-not-allowed disabled:opacity-40 disabled:hover:text-ods-text-secondary",
14116
- _optionalChain([endIconButtonProps, 'optionalAccess', _272 => _272.className])
14247
+ _optionalChain([endIconButtonProps, 'optionalAccess', _275 => _275.className])
14117
14248
  ),
14118
14249
  children: endIcon
14119
14250
  }
@@ -15350,19 +15481,19 @@ function TabNavigation({
15350
15481
  const validTabIds = _react.useMemo.call(void 0, () => new Set(tabs.map((t) => t.id)), [tabs]);
15351
15482
  const getInitialTab = () => {
15352
15483
  if (isUrlSyncEnabled) {
15353
- 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)]) || "";
15354
15485
  if (validTabIds.has(fromUrl)) {
15355
15486
  return fromUrl;
15356
15487
  }
15357
15488
  }
15358
- 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]) || "";
15359
15490
  };
15360
15491
  const [internalActiveTab, setInternalActiveTab] = _react.useState.call(void 0, getInitialTab);
15361
15492
  const activeTab = isUrlSyncEnabled ? internalActiveTab : controlledActiveTab || "";
15362
15493
  _react.useEffect.call(void 0, () => {
15363
15494
  if (!isUrlSyncEnabled) return;
15364
- const fromUrl = _optionalChain([searchParams, 'optionalAccess', _277 => _277.get, 'call', _278 => _278(paramName)]) || "";
15365
- 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]) || "";
15366
15497
  if (nextTab !== internalActiveTab) {
15367
15498
  setInternalActiveTab(nextTab);
15368
15499
  }
@@ -15370,13 +15501,13 @@ function TabNavigation({
15370
15501
  const handleTabChange = (tabId) => {
15371
15502
  if (isUrlSyncEnabled) {
15372
15503
  setInternalActiveTab(tabId);
15373
- 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()]));
15374
15505
  params.set(paramName, tabId);
15375
15506
  const method = replaceState ? "replace" : "push";
15376
15507
  router[method](`${pathname}?${params.toString()}`);
15377
- _optionalChain([controlledOnTabChange, 'optionalCall', _283 => _283(tabId)]);
15508
+ _optionalChain([controlledOnTabChange, 'optionalCall', _286 => _286(tabId)]);
15378
15509
  } else {
15379
- _optionalChain([controlledOnTabChange, 'optionalCall', _284 => _284(tabId)]);
15510
+ _optionalChain([controlledOnTabChange, 'optionalCall', _287 => _287(tabId)]);
15380
15511
  }
15381
15512
  };
15382
15513
  const scrollRef = _react.useRef.call(void 0, null);
@@ -15464,7 +15595,7 @@ function TabNavigation({
15464
15595
  var getTabById = (tabs, tabId) => tabs.find((tab) => tab.id === tabId);
15465
15596
  var getTabComponent = (tabs, tabId) => {
15466
15597
  const tab = getTabById(tabs, tabId);
15467
- return _optionalChain([tab, 'optionalAccess', _285 => _285.component]) || null;
15598
+ return _optionalChain([tab, 'optionalAccess', _288 => _288.component]) || null;
15468
15599
  };
15469
15600
 
15470
15601
  // src/components/ui/alert.tsx
@@ -15715,13 +15846,13 @@ var SocialEmbedCache = class _SocialEmbedCache {
15715
15846
  errorData = await response.json();
15716
15847
  } catch (e19) {
15717
15848
  }
15718
- 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])) {
15719
15850
  console.log(`\u{1F6AB} [${platformName} Proxy] Content unavailable: ${errorData.message}`);
15720
15851
  onError(errorData.message);
15721
15852
  onLoading(false);
15722
15853
  return;
15723
15854
  }
15724
- if (_optionalChain([errorData, 'optionalAccess', _288 => _288.error])) {
15855
+ if (_optionalChain([errorData, 'optionalAccess', _291 => _291.error])) {
15725
15856
  throw new Error(`Server error: ${errorData.error}`);
15726
15857
  }
15727
15858
  throw new Error(`Server proxy failed: ${response.status}`);
@@ -16173,7 +16304,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
16173
16304
  apiEndpoint: redditProxyUrl,
16174
16305
  dataValidator: validateRedditData,
16175
16306
  onDataUpdate: (data) => {
16176
- 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])) {
16177
16308
  setRedditData(data[0].data.children[0].data);
16178
16309
  }
16179
16310
  },
@@ -16244,11 +16375,11 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
16244
16375
  gallery_data: redditData.gallery_data,
16245
16376
  media_metadata: redditData.media_metadata
16246
16377
  });
16247
- 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]);
16248
16379
  if (video && video.fallback_url) {
16249
16380
  console.log("\u{1F4F9} Found Reddit video:", video);
16250
16381
  let posterUrl = "";
16251
- 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])) {
16252
16383
  posterUrl = redditData.preview.images[0].source.url.replace(/&/g, "&");
16253
16384
  console.log("\u2705 Using preview image as video poster:", posterUrl);
16254
16385
  } else {
@@ -16301,7 +16432,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
16301
16432
  return media;
16302
16433
  }
16303
16434
  }
16304
- 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) {
16305
16436
  const imageData = redditData.preview.images[0];
16306
16437
  console.log("\u{1F5BC}\uFE0F Found preview image data:", imageData);
16307
16438
  let source = imageData.source;
@@ -16336,7 +16467,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
16336
16467
  } else if (directUrl.match(/\.(mp4|webm|mov|avi)(\?.*)?$/i)) {
16337
16468
  console.log("\u{1F3AC} Found direct video URL");
16338
16469
  let posterUrl = "";
16339
- 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])) {
16340
16471
  posterUrl = redditData.preview.images[0].source.url.replace(/&/g, "&");
16341
16472
  }
16342
16473
  media.push({
@@ -16349,7 +16480,7 @@ function RedditEmbedClient({ url, maxWidth = 700 }) {
16349
16480
  });
16350
16481
  } else if (directUrl.includes("imgur.com") && !directUrl.includes(".gifv")) {
16351
16482
  console.log("\u{1F310} Found Imgur link");
16352
- 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]]);
16353
16484
  if (imgurId && !directUrl.includes("/a/") && !directUrl.includes("/gallery/")) {
16354
16485
  media.push({
16355
16486
  type: "image",
@@ -16498,7 +16629,7 @@ function TwitterEmbedClient({ url, tweetId, maxWidth = 700 }) {
16498
16629
  const [loading, setLoading] = _react.useState.call(void 0, true);
16499
16630
  const [error, setError] = _react.useState.call(void 0, null);
16500
16631
  const initializationDone = _react.useRef.call(void 0, false);
16501
- 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]]);
16502
16633
  const tweetUrl = url.includes("twitter.com") || url.includes("x.com") ? url : `https://twitter.com/twitter/status/${extractedTweetId}`;
16503
16634
  _react.useEffect.call(void 0, () => {
16504
16635
  if (initializationDone.current) return;
@@ -16565,10 +16696,10 @@ function TwitterEmbedClient({ url, tweetId, maxWidth = 700 }) {
16565
16696
  const parser = new DOMParser();
16566
16697
  const doc = parser.parseFromString(tweetData.html, "text/html");
16567
16698
  const blockquote = doc.querySelector("blockquote");
16568
- const fullText = _optionalChain([blockquote, 'optionalAccess', _317 => _317.textContent]) || "";
16699
+ const fullText = _optionalChain([blockquote, 'optionalAccess', _320 => _320.textContent]) || "";
16569
16700
  const tweetText = fullText.replace(/- .* \(@.*\).*$/, "").trim();
16570
16701
  const username = tweetData.author_url ? tweetData.author_url.split("/").pop() : "";
16571
- 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) => ({
16572
16703
  url: link.href,
16573
16704
  text: link.textContent || link.href
16574
16705
  })).filter((link) => !link.url.includes("twitter.com") && !link.url.includes("x.com"));
@@ -16823,7 +16954,7 @@ var OGLinkPreview = ({
16823
16954
  const response = await fetch(endpoint);
16824
16955
  if (response.ok) {
16825
16956
  const data = await response.json();
16826
- 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") {
16827
16958
  setOgData(data);
16828
16959
  } else {
16829
16960
  setError(true);
@@ -16850,8 +16981,8 @@ var OGLinkPreview = ({
16850
16981
  type: "website",
16851
16982
  favicon: `https://www.google.com/s2/favicons?domain=${domain}&sz=32`
16852
16983
  } : null)));
16853
- const placeholderImageUrl = enablePlaceholder && buildPlaceholderUrl && _optionalChain([effectiveData, 'optionalAccess', _321 => _321.title]) ? buildPlaceholderUrl(effectiveData.title, effectiveData.siteName || domain) : null;
16854
- 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;
16855
16986
  const hasImage = !!resolvedImageUrl;
16856
16987
  const isFallbackImage = resolvedImageUrl === fallbackImage;
16857
16988
  const isPlaceholder = resolvedImageUrl === placeholderImageUrl && !isFallbackImage;
@@ -17097,9 +17228,9 @@ function toFigmaEmbedUrl(url, opts) {
17097
17228
  if (match2) {
17098
17229
  const [, urlType, fileKey, titleSlug, queryString] = match2;
17099
17230
  const isSlides = urlType === "slides" || urlType === "deck";
17100
- 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";
17101
17232
  const pathSuffix = titleSlug ? `/${titleSlug}` : "";
17102
- 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(/^\?/, "")]) || "");
17103
17234
  if (!params.has("embed-host")) {
17104
17235
  params.set("embed-host", "flamingo");
17105
17236
  }
@@ -17180,7 +17311,7 @@ function EmbedIframe({
17180
17311
  allow,
17181
17312
  referrerPolicy,
17182
17313
  loading,
17183
- 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
17184
17315
  },
17185
17316
  src
17186
17317
  )
@@ -17931,7 +18062,7 @@ var RichMarkdownInner = ({
17931
18062
  const extractText2 = (node) => {
17932
18063
  if (typeof node === "string") return node;
17933
18064
  if (Array.isArray(node)) return node.map(extractText2).join("");
17934
- 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);
17935
18066
  return "";
17936
18067
  };
17937
18068
  const text = extractText2(children);
@@ -17947,7 +18078,7 @@ var RichMarkdownInner = ({
17947
18078
  const extractText2 = (node) => {
17948
18079
  if (typeof node === "string") return node;
17949
18080
  if (Array.isArray(node)) return node.map(extractText2).join("");
17950
- 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);
17951
18082
  return "";
17952
18083
  };
17953
18084
  const text = extractText2(children);
@@ -17965,7 +18096,7 @@ var RichMarkdownInner = ({
17965
18096
  const extractText2 = (node) => {
17966
18097
  if (typeof node === "string") return node;
17967
18098
  if (Array.isArray(node)) return node.map(extractText2).join("");
17968
- 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);
17969
18100
  return "";
17970
18101
  };
17971
18102
  const text = extractText2(children);
@@ -17983,7 +18114,7 @@ var RichMarkdownInner = ({
17983
18114
  const extractText2 = (node) => {
17984
18115
  if (typeof node === "string") return node;
17985
18116
  if (Array.isArray(node)) return node.map(extractText2).join("");
17986
- 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);
17987
18118
  return "";
17988
18119
  };
17989
18120
  const text = extractText2(children);
@@ -18001,7 +18132,7 @@ var RichMarkdownInner = ({
18001
18132
  const extractText2 = (node) => {
18002
18133
  if (typeof node === "string") return node;
18003
18134
  if (Array.isArray(node)) return node.map(extractText2).join("");
18004
- 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);
18005
18136
  return "";
18006
18137
  };
18007
18138
  const text = extractText2(children);
@@ -18019,7 +18150,7 @@ var RichMarkdownInner = ({
18019
18150
  const extractText2 = (node) => {
18020
18151
  if (typeof node === "string") return node;
18021
18152
  if (Array.isArray(node)) return node.map(extractText2).join("");
18022
- 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);
18023
18154
  return "";
18024
18155
  };
18025
18156
  const text = extractText2(children);
@@ -18095,8 +18226,8 @@ var RichMarkdownInner = ({
18095
18226
  {
18096
18227
  href,
18097
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 || ""}`,
18098
- target: _optionalChain([href, 'optionalAccess', _341 => _341.startsWith, 'call', _342 => _342("http")]) ? "_blank" : void 0,
18099
- 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,
18100
18231
  children
18101
18232
  }
18102
18233
  );
@@ -18220,7 +18351,7 @@ function ReleaseChangelogSection({
18220
18351
  className: "overflow-hidden transition-[max-height] duration-500",
18221
18352
  style: {
18222
18353
  transitionTimingFunction: "cubic-bezier(0.33, 1, 0.68, 1)",
18223
- 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,
18224
18355
  ...previewNeedsFade && !previewExpanded ? {
18225
18356
  maskImage: "linear-gradient(to bottom, black 30%, transparent 100%)",
18226
18357
  WebkitMaskImage: "linear-gradient(to bottom, black 30%, transparent 100%)"
@@ -18657,16 +18788,16 @@ function FilterModal({
18657
18788
  };
18658
18789
  const handleReset = () => {
18659
18790
  onFilterChange({});
18660
- _optionalChain([onTagsChange, 'optionalCall', _347 => _347([])]);
18791
+ _optionalChain([onTagsChange, 'optionalCall', _350 => _350([])]);
18661
18792
  onClose();
18662
18793
  };
18663
18794
  const handleApply = () => {
18664
18795
  onFilterChange(selectedFilters);
18665
- _optionalChain([onTagsChange, 'optionalCall', _348 => _348(pendingTags)]);
18796
+ _optionalChain([onTagsChange, 'optionalCall', _351 => _351(pendingTags)]);
18666
18797
  onClose();
18667
18798
  };
18668
18799
  const getColumnDirection = (columnKey) => {
18669
- 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;
18670
18801
  };
18671
18802
  const hasSort = !!sortConfig && sortConfig.columns.length > 0;
18672
18803
  const hasFilterGroups = filterGroups.length > 0;
@@ -18715,7 +18846,7 @@ function FilterModal({
18715
18846
  {
18716
18847
  column,
18717
18848
  currentDirection: getColumnDirection(column.key),
18718
- onSort: (direction) => _optionalChain([onSort, 'optionalCall', _350 => _350(column.key, direction)]),
18849
+ onSort: (direction) => _optionalChain([onSort, 'optionalCall', _353 => _353(column.key, direction)]),
18719
18850
  onClear: onSortClear ? () => onSortClear(column.key) : void 0
18720
18851
  },
18721
18852
  column.key
@@ -18893,7 +19024,7 @@ function IconButtonsVariant({
18893
19024
  }) {
18894
19025
  const desktopActions = actions.filter((a) => !a.showOnlyMobile);
18895
19026
  const hasMenuActions = !!menuActions && menuActions.some((g) => g.items.length > 0);
18896
- 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]);
18897
19028
  const singleAction = isSingleAction ? actions[0] : null;
18898
19029
  const useSingleActionMobile = isSingleAction && !hasMenuActions;
18899
19030
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -20049,7 +20180,7 @@ function getShellIcon(shellType) {
20049
20180
  if (!shellType) return void 0;
20050
20181
  const normalized = shellType.toUpperCase();
20051
20182
  const shellDef = SHELL_TYPES.find((s) => s.id === normalized);
20052
- return _optionalChain([shellDef, 'optionalAccess', _354 => _354.icon]);
20183
+ return _optionalChain([shellDef, 'optionalAccess', _357 => _357.icon]);
20053
20184
  }
20054
20185
 
20055
20186
  // src/types/os.types.ts
@@ -20122,7 +20253,7 @@ function getOSIcon(osType) {
20122
20253
  const normalized = normalizeOSType(osType);
20123
20254
  if (!normalized) return void 0;
20124
20255
  const osTypeDef = OS_TYPES.find((t) => t.id === normalized);
20125
- return _optionalChain([osTypeDef, 'optionalAccess', _355 => _355.icon]);
20256
+ return _optionalChain([osTypeDef, 'optionalAccess', _358 => _358.icon]);
20126
20257
  }
20127
20258
  function getOSTypeDefinition(osType) {
20128
20259
  if (!osType) return void 0;
@@ -20132,7 +20263,7 @@ function getOSTypeDefinition(osType) {
20132
20263
  }
20133
20264
  function getOSPlatformId(osType) {
20134
20265
  const osTypeDef = getOSTypeDefinition(osType);
20135
- return _optionalChain([osTypeDef, 'optionalAccess', _356 => _356.platformId]);
20266
+ return _optionalChain([osTypeDef, 'optionalAccess', _359 => _359.platformId]);
20136
20267
  }
20137
20268
  function isOSPlatform(deviceOS, targetPlatform) {
20138
20269
  if (!deviceOS || !targetPlatform) return false;
@@ -20225,10 +20356,10 @@ var GENERIC_EMAIL_DOMAINS = [
20225
20356
  ];
20226
20357
  function extractDomainFromEmail(email) {
20227
20358
  if (!email || !email.includes("@")) return null;
20228
- 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;
20229
20360
  }
20230
20361
  function normalizeDomain(domain) {
20231
- 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()]) || "";
20232
20363
  }
20233
20364
  function isGenericDomain(domain) {
20234
20365
  const normalized = normalizeDomain(domain);
@@ -20662,7 +20793,7 @@ function defaultTableIdForDocumentType(documentType) {
20662
20793
 
20663
20794
  // src/utils/sse-decision-frame.ts
20664
20795
  async function readLeadingDecisionFrame(response) {
20665
- 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()]);
20666
20797
  if (!reader) throw new Error("readLeadingDecisionFrame: response has no body");
20667
20798
  const decoder = new TextDecoder();
20668
20799
  let buffer = "";
@@ -20691,9 +20822,9 @@ async function readLeadingDecisionFrame(response) {
20691
20822
  );
20692
20823
  }
20693
20824
  const obj = parsed;
20694
- if (_optionalChain([obj, 'optionalAccess', _376 => _376.kind]) !== "decision_resolved") {
20825
+ if (_optionalChain([obj, 'optionalAccess', _379 => _379.kind]) !== "decision_resolved") {
20695
20826
  throw new Error(
20696
- `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]))}`
20697
20828
  );
20698
20829
  }
20699
20830
  frame = normalizeDecisionFrame(obj);
@@ -20734,7 +20865,7 @@ var AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
20734
20865
  function buildAutoContinuationDirective(toolName, opts = {}) {
20735
20866
  const ticketRef = opts.ticketId ? ` (ticket #${opts.ticketId})` : "";
20736
20867
  const ticketHash = opts.ticketId ? ` #${opts.ticketId}` : "";
20737
- 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";
20738
20869
  if (toolName === "create_ticket") {
20739
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.`;
20740
20871
  }
@@ -20796,7 +20927,7 @@ function formatSingularLookupInvocation(cmdId, value) {
20796
20927
  return safe ? `/${cmdId} "${safe}"` : `/${cmdId}`;
20797
20928
  }
20798
20929
  function extractEntityIdFilter(override, expectedTableId) {
20799
- const f = _optionalChain([override, 'optionalAccess', _381 => _381.entityIdFilter]);
20930
+ const f = _optionalChain([override, 'optionalAccess', _384 => _384.entityIdFilter]);
20800
20931
  if (!f) return null;
20801
20932
  const tableId = typeof f.tableId === "string" ? f.tableId : "";
20802
20933
  const id = typeof f.id === "string" ? f.id : "";
@@ -20871,7 +21002,7 @@ function getTaskTypeLabel(customItemId) {
20871
21002
 
20872
21003
  // src/components/chat/utils/agent-status-message.ts
20873
21004
  function getStatusColorScheme(status) {
20874
- const s = _optionalChain([status, 'optionalAccess', _382 => _382.toLowerCase, 'call', _383 => _383()]) || "";
21005
+ const s = _optionalChain([status, 'optionalAccess', _385 => _385.toLowerCase, 'call', _386 => _386()]) || "";
20875
21006
  switch (status) {
20876
21007
  case "completed":
20877
21008
  case "success":
@@ -21153,10 +21284,10 @@ var CONTENT_REF_GROUPS = {
21153
21284
  what_i_shipped: { label: "What I Shipped", order: 10, layout: "grid", gridSize: "default" }
21154
21285
  };
21155
21286
  function getContentRefLabel(type) {
21156
- 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));
21157
21288
  }
21158
21289
  function getContentRefLabelOrTitleCase(type) {
21159
- 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())));
21160
21291
  }
21161
21292
  function orderContentRefTypes(present) {
21162
21293
  const presentSet = new Set(present);
@@ -21315,7 +21446,7 @@ function getDocSourceDefaultPath(structure, folderIndexFile = DEFAULT_FOLDER_IND
21315
21446
  const firstFolderWithReadme = structure.find(
21316
21447
  (node) => node.type === "folder" && node.hasReadme && !!node.path
21317
21448
  );
21318
- return _nullishCoalesce(_optionalChain([firstFolderWithReadme, 'optionalAccess', _388 => _388.path]), () => ( null));
21449
+ return _nullishCoalesce(_optionalChain([firstFolderWithReadme, 'optionalAccess', _391 => _391.path]), () => ( null));
21319
21450
  }
21320
21451
 
21321
21452
  // src/utils/doc-path-utils.ts
@@ -21326,7 +21457,7 @@ function pathToNodeId(path) {
21326
21457
  return path.replace(/[\/\s]/g, "-").toLowerCase();
21327
21458
  }
21328
21459
  function normalizeDocPath(segments, folderIndexFile = DEFAULT_FOLDER_INDEX_FILE) {
21329
- 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();
21330
21461
  const lowerIndex = folderIndexFile.toLowerCase();
21331
21462
  const suffix = `/${lowerIndex}`;
21332
21463
  if (lowerPath.endsWith(suffix)) return lowerPath.slice(0, -suffix.length);
@@ -22148,26 +22279,26 @@ function DeviceCard({
22148
22279
  ] }),
22149
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 })
22150
22281
  ] }),
22151
- _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,
22152
22283
  "div",
22153
22284
  {
22154
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",
22155
22286
  onClick: (e) => {
22156
22287
  e.stopPropagation();
22157
- _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()]);
22158
22289
  },
22159
22290
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.Ellipsis01Icon, { className: "text-ods-text-primary" })
22160
22291
  }
22161
22292
  ),
22162
- _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 }),
22163
- _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(
22164
22295
  (action, index) => action.visible !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22165
22296
  "div",
22166
22297
  {
22167
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",
22168
22299
  onClick: (e) => {
22169
22300
  e.stopPropagation();
22170
- _optionalChain([action, 'access', _403 => _403.onClick, 'optionalCall', _404 => _404()]);
22301
+ _optionalChain([action, 'access', _406 => _406.onClick, 'optionalCall', _407 => _407()]);
22171
22302
  },
22172
22303
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h3 text-ods-text-primary text-nowrap tracking-[-0.36px]", children: action.label })
22173
22304
  },
@@ -22667,7 +22798,7 @@ function MoreActionsMenu({
22667
22798
  ] });
22668
22799
  const handleActivate = (e) => {
22669
22800
  e.stopPropagation();
22670
- 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()]);
22671
22802
  };
22672
22803
  if (item.href) {
22673
22804
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -22734,7 +22865,7 @@ function OrganizationCard({
22734
22865
  const handleActionClick = (e) => {
22735
22866
  e.preventDefault();
22736
22867
  e.stopPropagation();
22737
- _optionalChain([actionButton, 'optionalAccess', _407 => _407.onClick, 'call', _408 => _408(organization, e)]);
22868
+ _optionalChain([actionButton, 'optionalAccess', _410 => _410.onClick, 'call', _411 => _411(organization, e)]);
22738
22869
  };
22739
22870
  const card = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
22740
22871
  "div",
@@ -23640,10 +23771,10 @@ var getContentDimensions = (config) => {
23640
23771
  const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
23641
23772
  const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
23642
23773
  const envDesktopHeight = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT) : null;
23643
- const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _409 => _409.mobileContentDimensions, 'optionalAccess', _410 => _410.width]))), () => ( defaultMobile.width));
23644
- const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _411 => _411.mobileContentDimensions, 'optionalAccess', _412 => _412.height]))), () => ( defaultMobile.height));
23645
- const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _413 => _413.desktopContentDimensions, 'optionalAccess', _414 => _414.width]))), () => ( defaultDesktop.width));
23646
- 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));
23647
23778
  return {
23648
23779
  mobile: { width: mobileWidth, height: mobileHeight },
23649
23780
  desktop: { width: desktopWidth, height: desktopHeight }
@@ -23777,7 +23908,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
23777
23908
  const contentDimensions = getContentDimensions(config);
23778
23909
  const mobileHeight = contentDimensions.mobile.height;
23779
23910
  const calculatedHeight = Math.max(mobileHeight + 100, 400);
23780
- 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`;
23781
23912
  })(),
23782
23913
  minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
23783
23914
  const contentDimensions = getContentDimensions(config);
@@ -23882,7 +24013,7 @@ var FigmaPrototypeViewer = ({
23882
24013
  const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
23883
24014
  const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
23884
24015
  const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
23885
- 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]) || ""
23886
24017
  );
23887
24018
  const activeSection = externalActiveSection || internalActiveSection;
23888
24019
  const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
@@ -23972,7 +24103,7 @@ var FigmaPrototypeViewer = ({
23972
24103
  const handleMessage = (event) => {
23973
24104
  if (event.origin !== "https://www.figma.com") return;
23974
24105
  const validEvents = ["INITIAL_LOAD", "NEW_STATE", "PRESENTED_NODE_CHANGED"];
23975
- 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)) {
23976
24107
  const figmaEvent = event.data;
23977
24108
  console.log("[Figma Event]", figmaEvent.type, viewMode);
23978
24109
  switch (figmaEvent.type) {
@@ -23982,19 +24113,19 @@ var FigmaPrototypeViewer = ({
23982
24113
  setIframeState("READY");
23983
24114
  break;
23984
24115
  case "PRESENTED_NODE_CHANGED":
23985
- if (_optionalChain([figmaEvent, 'access', _423 => _423.data, 'optionalAccess', _424 => _424.presentedNodeId])) {
24116
+ if (_optionalChain([figmaEvent, 'access', _426 => _426.data, 'optionalAccess', _427 => _427.presentedNodeId])) {
23986
24117
  setCurrentNodeId(figmaEvent.data.presentedNodeId);
23987
24118
  if (!isNavigating) {
23988
24119
  const matchingSection = config.sections.find((s) => {
23989
- 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]);
23990
- 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]);
23991
24122
  return desktopMatch || mobileMatch;
23992
24123
  });
23993
24124
  if (matchingSection && matchingSection.id !== activeSection) {
23994
24125
  if (!externalActiveSection) {
23995
24126
  setInternalActiveSection(matchingSection.id);
23996
24127
  }
23997
- _optionalChain([config, 'access', _436 => _436.onSectionChange, 'optionalCall', _437 => _437(matchingSection.id)]);
24128
+ _optionalChain([config, 'access', _439 => _439.onSectionChange, 'optionalCall', _440 => _440(matchingSection.id)]);
23998
24129
  }
23999
24130
  }
24000
24131
  }
@@ -24007,7 +24138,7 @@ var FigmaPrototypeViewer = ({
24007
24138
  }, [config.sections, activeSection, isNavigating, externalActiveSection, config.onSectionChange, viewMode]);
24008
24139
  const navigateToSection = _react.useCallback.call(void 0, (sectionId) => {
24009
24140
  const section = config.sections.find((s) => s.id === sectionId);
24010
- 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) {
24011
24142
  return;
24012
24143
  }
24013
24144
  setIsNavigating(true);
@@ -24015,7 +24146,7 @@ var FigmaPrototypeViewer = ({
24015
24146
  if (!externalActiveSection) {
24016
24147
  setInternalActiveSection(sectionId);
24017
24148
  }
24018
- _optionalChain([config, 'access', _440 => _440.onSectionChange, 'optionalCall', _441 => _441(sectionId)]);
24149
+ _optionalChain([config, 'access', _443 => _443.onSectionChange, 'optionalCall', _444 => _444(sectionId)]);
24019
24150
  const command = {
24020
24151
  type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
24021
24152
  data: { nodeId }
@@ -24335,7 +24466,7 @@ var FiltersDropdown = ({
24335
24466
  defaults[section.id] = section.defaultSelected || [];
24336
24467
  });
24337
24468
  setSelectedFilters(defaults);
24338
- _optionalChain([onReset, 'optionalCall', _442 => _442()]);
24469
+ _optionalChain([onReset, 'optionalCall', _445 => _445()]);
24339
24470
  setIsOpen(false);
24340
24471
  };
24341
24472
  const handleApply = () => {
@@ -24628,7 +24759,7 @@ function MediaGalleryManager({
24628
24759
  const [deletingIndex, setDeletingIndex] = _react.useState.call(void 0, null);
24629
24760
  const [draggedIndex, setDraggedIndex] = _react.useState.call(void 0, null);
24630
24761
  const handleFileSelect = _react.useCallback.call(void 0, async (event) => {
24631
- 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]]);
24632
24763
  if (!file) return;
24633
24764
  let mediaType;
24634
24765
  if (file.type.startsWith("image/")) {
@@ -24743,7 +24874,7 @@ function MediaGalleryManager({
24743
24874
  {
24744
24875
  type: "button",
24745
24876
  variant: "outline",
24746
- 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()]),
24747
24878
  disabled: isUploading,
24748
24879
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
24749
24880
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -25411,7 +25542,7 @@ function ReleaseMediaManager({
25411
25542
  const fileInputRef = _react.useRef.call(void 0, null);
25412
25543
  const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
25413
25544
  const handleFileSelect = async (event) => {
25414
- 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]]);
25415
25546
  if (!file) return;
25416
25547
  let mediaType;
25417
25548
  if (file.type.startsWith("image/")) {
@@ -25491,7 +25622,7 @@ function ReleaseMediaManager({
25491
25622
  {
25492
25623
  type: "button",
25493
25624
  variant: "outline",
25494
- 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()]),
25495
25626
  disabled: uploadingIndex !== null,
25496
25627
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
25497
25628
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -25706,7 +25837,7 @@ function SEOEditorPreview({
25706
25837
  const displayImage = hasOgImage || hasFeaturedImage;
25707
25838
  const handleImageUpload = async (event) => {
25708
25839
  if (!onOgImageUpload) return;
25709
- 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]]);
25710
25841
  if (!file) return;
25711
25842
  setIsUploading(true);
25712
25843
  try {
@@ -25856,7 +25987,7 @@ function SEOEditorPreview({
25856
25987
  type: "button",
25857
25988
  variant: "outline",
25858
25989
  size: "icon",
25859
- onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _458 => _458.click, 'call', _459 => _459()]),
25990
+ onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _461 => _461.click, 'call', _462 => _462()]),
25860
25991
  disabled: disabled || isUploading,
25861
25992
  className: "bg-white text-black hover:bg-gray-100 rounded-full opacity-0 group-hover:opacity-100",
25862
25993
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
@@ -25879,7 +26010,7 @@ function SEOEditorPreview({
25879
26010
  "div",
25880
26011
  {
25881
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",
25882
- onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _460 => _460.click, 'call', _461 => _461()]),
26013
+ onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _463 => _463.click, 'call', _464 => _464()]),
25883
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: [
25884
26015
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
25885
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" })
@@ -25964,7 +26095,7 @@ function SocialLinksManager({
25964
26095
  className = ""
25965
26096
  }) {
25966
26097
  const addLink = () => {
25967
- 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";
25968
26099
  onChange([...links, { platform: firstPlatform, url: "" }]);
25969
26100
  };
25970
26101
  const removeLink = (index) => {
@@ -25976,7 +26107,7 @@ function SocialLinksManager({
25976
26107
  onChange(updated);
25977
26108
  };
25978
26109
  const getIcon = (link, platform) => {
25979
- const iconKey = _optionalChain([platform, 'optionalAccess', _464 => _464.icon_name]) || link.platform;
26110
+ const iconKey = _optionalChain([platform, 'optionalAccess', _467 => _467.icon_name]) || link.platform;
25980
26111
  const IconComponent = iconMap[iconKey];
25981
26112
  return IconComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: "w-5 h-5 text-ods-text-secondary" }) : null;
25982
26113
  };
@@ -26001,7 +26132,7 @@ function SocialLinksManager({
26001
26132
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26002
26133
  _chunkQJGRP2YEcjs.Input,
26003
26134
  {
26004
- placeholder: _optionalChain([platform, 'optionalAccess', _465 => _465.placeholder]) || "Profile URL",
26135
+ placeholder: _optionalChain([platform, 'optionalAccess', _468 => _468.placeholder]) || "Profile URL",
26005
26136
  value: link.url,
26006
26137
  onChange: (e) => updateLink(index, "url", e.target.value),
26007
26138
  onKeyDown: (e) => {
@@ -26380,7 +26511,7 @@ function useVideoOriginPreconnect({
26380
26511
  supabaseStorageOrigin
26381
26512
  } = {}) {
26382
26513
  const runtime = _chunkN2DVKXN4cjs.useChatRuntime.call(void 0, );
26383
- 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])));
26384
26515
  try {
26385
26516
  ReactDOM2.default.preconnect(MUX_STREAM_ORIGIN, { crossOrigin: "anonymous" });
26386
26517
  ReactDOM2.default.preconnect(MUX_IMAGE_ORIGIN, { crossOrigin: "anonymous" });
@@ -26399,13 +26530,13 @@ function useVideoWarmup({
26399
26530
  nearMargin = "1000px"
26400
26531
  } = {}) {
26401
26532
  const runtime = _chunkN2DVKXN4cjs.useChatRuntime.call(void 0, );
26402
- 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])));
26403
26534
  useVideoOriginPreconnect({ supabaseStorageOrigin: resolvedOrigin });
26404
26535
  const { ref, isNear } = _chunk27IO7V3Pcjs.useNearViewport.call(void 0, nearMargin);
26405
26536
  _react.useEffect.call(void 0, () => {
26406
26537
  if (!isNear || !videoUrl || !resolvedOrigin) return;
26407
26538
  const conn = navigator.connection;
26408
- if (_optionalChain([conn, 'optionalAccess', _470 => _470.saveData]) === true) return;
26539
+ if (_optionalChain([conn, 'optionalAccess', _473 => _473.saveData]) === true) return;
26409
26540
  let videoOrigin;
26410
26541
  try {
26411
26542
  videoOrigin = new URL(videoUrl, "http://placeholder.local").origin;
@@ -26475,7 +26606,7 @@ function VideoSourceSelector({
26475
26606
  input.accept = "video/*";
26476
26607
  input.onchange = async (e) => {
26477
26608
  const target = e.target;
26478
- 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]]);
26479
26610
  if (!file) return;
26480
26611
  setIsUploading(true);
26481
26612
  setUploadProgress(0);
@@ -26836,7 +26967,7 @@ function TranscriptSummaryEditor({
26836
26967
  {
26837
26968
  id: "subtitles",
26838
26969
  value: subtitles || "",
26839
- onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _473 => _473(e.target.value)]),
26970
+ onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _476 => _476(e.target.value)]),
26840
26971
  placeholder: subtitlesPlaceholder,
26841
26972
  disabled: disabled || !onSubtitlesChange,
26842
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",
@@ -26989,7 +27120,7 @@ var AIEnrichSection = ({
26989
27120
  }) => {
26990
27121
  const hasResults = status === "success" || status === "error";
26991
27122
  const shouldDisable = disabled || !canEnrich;
26992
- 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)]) || [];
26993
27124
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
26994
27125
  "div",
26995
27126
  {
@@ -27027,7 +27158,7 @@ var AIEnrichSection = ({
27027
27158
  {
27028
27159
  id: "ai-enrich-custom-instructions",
27029
27160
  value: _nullishCoalesce(customInstructions, () => ( "")),
27030
- onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _476 => _476(e.target.value)]),
27161
+ onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _479 => _479(e.target.value)]),
27031
27162
  placeholder: customInstructionsPlaceholder,
27032
27163
  disabled: loading,
27033
27164
  maxLength: customInstructionsMaxLength,
@@ -27156,7 +27287,7 @@ function HighlightVideoSection({
27156
27287
  input.accept = "video/*";
27157
27288
  input.onchange = async (e) => {
27158
27289
  const target = e.target;
27159
- 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]]);
27160
27291
  if (!file) return;
27161
27292
  setUploadError(null);
27162
27293
  try {
@@ -27658,7 +27789,7 @@ function HighlightVideoPreview({
27658
27789
  input.accept = "video/*";
27659
27790
  input.onchange = async (e) => {
27660
27791
  const target = e.target;
27661
- 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]]);
27662
27793
  if (!file) return;
27663
27794
  await onUpload(file);
27664
27795
  };
@@ -27845,7 +27976,7 @@ function HighlightVideoCombinedSection({
27845
27976
  input.accept = "video/*";
27846
27977
  input.onchange = async (e) => {
27847
27978
  const target = e.target;
27848
- 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]]);
27849
27980
  if (!file) return;
27850
27981
  await onUpload(file);
27851
27982
  };
@@ -28142,7 +28273,7 @@ var getApprovalLevelLabel = (level, editMode = false) => {
28142
28273
  return editMode ? "Set Global Permission" : "";
28143
28274
  }
28144
28275
  const option = approvalLevelOptions.find((opt) => opt.value === level);
28145
- return _optionalChain([option, 'optionalAccess', _483 => _483.label]) || level;
28276
+ return _optionalChain([option, 'optionalAccess', _486 => _486.label]) || level;
28146
28277
  };
28147
28278
  var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
28148
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: [
@@ -28356,12 +28487,12 @@ function PhoneInput({
28356
28487
  const runValidation = _react.useCallback.call(void 0, (phone) => {
28357
28488
  if (!phone || digitCount(phone) === 0) {
28358
28489
  setIsInvalid(false);
28359
- _optionalChain([onValidationChange, 'optionalCall', _484 => _484(false)]);
28490
+ _optionalChain([onValidationChange, 'optionalCall', _487 => _487(false)]);
28360
28491
  return;
28361
28492
  }
28362
28493
  const invalid = !validatePhoneNumber(phone, countryCode);
28363
28494
  setIsInvalid(invalid);
28364
- _optionalChain([onValidationChange, 'optionalCall', _485 => _485(invalid)]);
28495
+ _optionalChain([onValidationChange, 'optionalCall', _488 => _488(invalid)]);
28365
28496
  }, [countryCode, digitCount, onValidationChange]);
28366
28497
  const debouncedValidation = _react.useCallback.call(void 0, (phone) => {
28367
28498
  if (debounceRef.current) clearTimeout(debounceRef.current);
@@ -28410,7 +28541,7 @@ function PhoneInput({
28410
28541
  debouncedValidation(val);
28411
28542
  } else if (digitCount(val) === 0) {
28412
28543
  setIsInvalid(false);
28413
- _optionalChain([onValidationChange, 'optionalCall', _486 => _486(false)]);
28544
+ _optionalChain([onValidationChange, 'optionalCall', _489 => _489(false)]);
28414
28545
  }
28415
28546
  }
28416
28547
  },
@@ -28751,19 +28882,19 @@ function NotificationsProvider({
28751
28882
  }, []);
28752
28883
  const markRead = React90.useCallback((id) => {
28753
28884
  dispatch({ type: "markRead", id });
28754
- 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)]);
28755
28886
  }, []);
28756
28887
  const markAllRead = React90.useCallback(() => {
28757
28888
  dispatch({ type: "markAllRead" });
28758
- 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()]);
28759
28890
  }, []);
28760
28891
  const markSettled = React90.useCallback((id) => {
28761
28892
  dispatch({ type: "markSettled", id });
28762
- 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)]);
28763
28894
  }, []);
28764
28895
  const remove = React90.useCallback((id) => {
28765
28896
  dispatch({ type: "remove", id });
28766
- 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)]);
28767
28898
  }, []);
28768
28899
  const clear = React90.useCallback(() => dispatch({ type: "clear" }), []);
28769
28900
  const open = React90.useCallback(() => setIsOpen(true), []);
@@ -28772,14 +28903,14 @@ function NotificationsProvider({
28772
28903
  const setShowPopups = React90.useCallback(
28773
28904
  (value2) => {
28774
28905
  setShowPopupsState(value2);
28775
- _optionalChain([onShowPopupsChange, 'optionalCall', _499 => _499(value2)]);
28906
+ _optionalChain([onShowPopupsChange, 'optionalCall', _502 => _502(value2)]);
28776
28907
  },
28777
28908
  [onShowPopupsChange]
28778
28909
  );
28779
28910
  const setShowDesktopPopups = React90.useCallback(
28780
28911
  (value2) => {
28781
28912
  setShowDesktopPopupsState(value2);
28782
- _optionalChain([onShowDesktopPopupsChange, 'optionalCall', _500 => _500(value2)]);
28913
+ _optionalChain([onShowDesktopPopupsChange, 'optionalCall', _503 => _503(value2)]);
28783
28914
  },
28784
28915
  [onShowDesktopPopupsChange]
28785
28916
  );
@@ -28883,7 +29014,7 @@ function NotificationTile({
28883
29014
  if (!counting) return;
28884
29015
  const remaining = Math.max(0, liveDurationMs - initialElapsed);
28885
29016
  const timer = window.setTimeout(() => {
28886
- _optionalChain([onSettle, 'optionalCall', _501 => _501(id)]);
29017
+ _optionalChain([onSettle, 'optionalCall', _504 => _504(id)]);
28887
29018
  }, remaining);
28888
29019
  return () => window.clearTimeout(timer);
28889
29020
  }, [id, counting, initialElapsed, liveDurationMs, onSettle]);
@@ -28945,7 +29076,7 @@ function NotificationTile({
28945
29076
  "button",
28946
29077
  {
28947
29078
  type: "button",
28948
- onClick: () => _optionalChain([onSettle, 'optionalCall', _502 => _502(id)]),
29079
+ onClick: () => _optionalChain([onSettle, 'optionalCall', _505 => _505(id)]),
28949
29080
  "aria-label": "Dismiss notification",
28950
29081
  tabIndex: isLive ? 0 : -1,
28951
29082
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
@@ -29078,7 +29209,7 @@ function DrawerScrollList({
29078
29209
  if (!sentinel || !root) return;
29079
29210
  const observer = new IntersectionObserver(
29080
29211
  (entries) => {
29081
- 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()]);
29082
29213
  },
29083
29214
  { root, rootMargin: loadMoreRootMargin }
29084
29215
  );
@@ -29093,7 +29224,7 @@ function DrawerScrollList({
29093
29224
  className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
29094
29225
  children: isEmpty && !isLoadingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyState, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
29095
29226
  unreadNotifications.map((n) => {
29096
- const custom = _optionalChain([renderTile, 'optionalCall', _507 => _507(n, { onComplete, onSettle, liveDurationMs })]);
29227
+ const custom = _optionalChain([renderTile, 'optionalCall', _510 => _510(n, { onComplete, onSettle, liveDurationMs })]);
29097
29228
  if (custom) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: custom }, n.id);
29098
29229
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29099
29230
  NotificationTile,
@@ -29257,7 +29388,7 @@ function NotificationPopups({
29257
29388
  className
29258
29389
  ),
29259
29390
  children: live.map((n) => {
29260
- 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 })]);
29261
29392
  if (custom) {
29262
29393
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto", children: custom }, n.id);
29263
29394
  }
@@ -29437,21 +29568,21 @@ function transformWebinarToProgram(webinar) {
29437
29568
  // src/components/features/notifications/types.ts
29438
29569
  var ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = "ADMIN_APPROVAL_REQUEST";
29439
29570
  function isApprovalNotification(notification) {
29440
- 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;
29441
29572
  }
29442
29573
  function getApprovalMeta(notification) {
29443
29574
  if (!isApprovalNotification(notification)) return null;
29444
29575
  const meta = notification.meta;
29445
- const approvalRequestId = _optionalChain([meta, 'optionalAccess', _511 => _511.approvalRequestId]);
29446
- 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]);
29447
29578
  if (typeof approvalRequestId !== "string" || !Array.isArray(toolCalls)) return null;
29448
29579
  return {
29449
29580
  approvalRequestId,
29450
- dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _513 => _513.dialogId]), () => ( null)),
29451
- ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _514 => _514.ticketId]), () => ( null)),
29452
- approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _515 => _515.approvalType]), () => ( null)),
29453
- resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _516 => _516.resolution]), () => ( null)),
29454
- 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)),
29455
29586
  toolCalls
29456
29587
  };
29457
29588
  }
@@ -29500,7 +29631,7 @@ function ApprovalRequestNotificationTile({
29500
29631
  const [pinned, setPinned] = _react.useState.call(void 0, defaultExpanded);
29501
29632
  const [localStatus, setLocalStatus] = _react.useState.call(void 0, null);
29502
29633
  const approval = getApprovalMeta(notification);
29503
- const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _518 => _518.resolution]));
29634
+ const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _521 => _521.resolution]));
29504
29635
  const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
29505
29636
  const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
29506
29637
  const { innerRef, containerStyle } = useCollapsible({ expanded });
@@ -29768,7 +29899,7 @@ function TimeTrackerPanel({
29768
29899
  error: showFieldError ? "Required if no notes added" : void 0,
29769
29900
  disableClientFilter: !!onTicketSearch,
29770
29901
  onInputChange: (value, reason) => {
29771
- if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _519 => _519(value)]);
29902
+ if (reason === "input") _optionalChain([onTicketSearch, 'optionalCall', _522 => _522(value)]);
29772
29903
  }
29773
29904
  }
29774
29905
  )
@@ -29858,7 +29989,7 @@ function LastEntryRow({ entry, onClick }) {
29858
29989
  {
29859
29990
  variant: "outline",
29860
29991
  size: "icon",
29861
- onClick: () => _optionalChain([onClick, 'optionalCall', _520 => _520(entry)]),
29992
+ onClick: () => _optionalChain([onClick, 'optionalCall', _523 => _523(entry)]),
29862
29993
  disabled: !onClick,
29863
29994
  "aria-label": `Open entry: ${entry.title}`,
29864
29995
  className: "h-12 w-12 shrink-0 [&_svg]:!size-6",
@@ -29902,9 +30033,9 @@ function HeaderButton({
29902
30033
  function TimeTrackerHeaderButton({ className, disabled }) {
29903
30034
  const ctx = useOptionalTimeTracker();
29904
30035
  const elapsedLabel = useTrackerClock({
29905
- status: _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _521 => _521.status]), () => ( "ready")),
29906
- runningSince: _optionalChain([ctx, 'optionalAccess', _522 => _522.runningSince]),
29907
- 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])
29908
30039
  });
29909
30040
  if (!ctx) return null;
29910
30041
  const { isOpen, open, close, status } = ctx;
@@ -30187,15 +30318,15 @@ function TicketCard({
30187
30318
  transition: sortable.transition
30188
30319
  };
30189
30320
  if (showNewMessage) style.borderColor = columnColor;
30190
- 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);
30191
30322
  const deviceText = [
30192
- _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(", ")]),
30193
30324
  ticket.organizationName
30194
30325
  ].filter(Boolean).join(", ");
30195
30326
  const handleClick = (e) => {
30196
30327
  if (sortable.isDragging) e.preventDefault();
30197
30328
  };
30198
- 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);
30199
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: [
30200
30331
  ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30201
30332
  _chunkGXRWE7NBcjs.Flag02Icon,
@@ -30204,7 +30335,7 @@ function TicketCard({
30204
30335
  "aria-label": `Priority: ${ticket.priority}`
30205
30336
  }
30206
30337
  ),
30207
- 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: [
30208
30339
  ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30209
30340
  SquareAvatar,
30210
30341
  {
@@ -30235,7 +30366,7 @@ function TicketCard({
30235
30366
  ] }),
30236
30367
  rightSection
30237
30368
  ] }),
30238
- _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,
30239
30370
  timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Tooltip, { children: [
30240
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 }) }),
30241
30372
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipContent, { children: tooltipLabel })
@@ -30435,7 +30566,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
30435
30566
  const observer = new IntersectionObserver(
30436
30567
  (entries) => {
30437
30568
  if (entries.some((e) => e.isIntersecting)) {
30438
- _optionalChain([loadMoreRef, 'access', _535 => _535.current, 'optionalCall', _536 => _536(columnIdRef.current)]);
30569
+ _optionalChain([loadMoreRef, 'access', _538 => _538.current, 'optionalCall', _539 => _539(columnIdRef.current)]);
30439
30570
  }
30440
30571
  },
30441
30572
  { root, rootMargin: loadMoreRootMargin }
@@ -30465,7 +30596,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onApprove, onReje
30465
30596
  ticket: t,
30466
30597
  columnId: column.id,
30467
30598
  columnColor: column.color,
30468
- href: _optionalChain([getTicketHref, 'optionalCall', _537 => _537(t.id)]),
30599
+ href: _optionalChain([getTicketHref, 'optionalCall', _540 => _540(t.id)]),
30469
30600
  renderAssignSlot,
30470
30601
  onApprove,
30471
30602
  onReject,
@@ -30565,17 +30696,17 @@ function Board({
30565
30696
  const pointer = _core.pointerWithin.call(void 0, args);
30566
30697
  const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
30567
30698
  const ticketHit = intersections.find(
30568
- (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"
30569
30700
  );
30570
30701
  if (ticketHit) return [ticketHit];
30571
30702
  const columnHit = intersections.find(
30572
- (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"
30573
30704
  );
30574
30705
  if (columnHit) {
30575
- 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]);
30576
30707
  const ticketsInColumn = args.droppableContainers.filter((c) => {
30577
30708
  const d = c.data.current;
30578
- return _optionalChain([d, 'optionalAccess', _553 => _553.type]) === "ticket" && d.columnId === columnId;
30709
+ return _optionalChain([d, 'optionalAccess', _556 => _556.type]) === "ticket" && d.columnId === columnId;
30579
30710
  });
30580
30711
  if (ticketsInColumn.length > 0) {
30581
30712
  const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
@@ -30600,20 +30731,20 @@ function Board({
30600
30731
  const overId = String(over.id);
30601
30732
  if (activeId === overId) return;
30602
30733
  const overData = over.data.current;
30603
- const fromColumnId = _optionalChain([locate, 'call', _554 => _554(items, activeId), 'optionalAccess', _555 => _555.columnId]);
30604
- 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]);
30605
30736
  if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
30606
30737
  const origin = dragOriginRef.current;
30607
- const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _557 => _557.fromColumnId]) === toColumnId;
30738
+ const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _560 => _560.fromColumnId]) === toColumnId;
30608
30739
  const targetCol = items.find((c) => c.id === toColumnId);
30609
- const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _558 => _558.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
30610
- 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;
30611
30742
  setItems((prev) => {
30612
30743
  const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
30613
30744
  const toCol = prev.find((c) => c.id === toColumnId);
30614
30745
  if (fromIndex < 0 || !toCol) return prev;
30615
30746
  let toIndex;
30616
- if (_optionalChain([overData, 'optionalAccess', _560 => _560.type]) === "column") {
30747
+ if (_optionalChain([overData, 'optionalAccess', _563 => _563.type]) === "column") {
30617
30748
  toIndex = toCol.tickets.length;
30618
30749
  } else {
30619
30750
  const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
@@ -30655,14 +30786,14 @@ function Board({
30655
30786
  const toColumnId = located.columnId;
30656
30787
  const isCrossColumn = origin.fromColumnId !== toColumnId;
30657
30788
  const targetCol = items.find((c) => c.id === toColumnId);
30658
- 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))) {
30659
30790
  setItems(columns);
30660
30791
  return;
30661
30792
  }
30662
30793
  let finalIndex = located.index;
30663
- 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]), () => ( []));
30664
30795
  const overData = over.data.current;
30665
- if (_optionalChain([overData, 'optionalAccess', _566 => _566.type]) === "ticket") {
30796
+ if (_optionalChain([overData, 'optionalAccess', _569 => _569.type]) === "ticket") {
30666
30797
  const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
30667
30798
  if (overIndex >= 0 && overIndex !== located.index) {
30668
30799
  finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
@@ -30682,8 +30813,8 @@ function Board({
30682
30813
  ticketId: origin.ticketId,
30683
30814
  fromColumnId: origin.fromColumnId,
30684
30815
  toColumnId,
30685
- afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _567 => _567[finalIndex - 1], 'optionalAccess', _568 => _568.id]), () => ( null)),
30686
- 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))
30687
30818
  });
30688
30819
  };
30689
30820
  const handleDragCancel = () => {
@@ -30712,8 +30843,8 @@ function Board({
30712
30843
  children: items.map((column, i) => {
30713
30844
  const prev = items[i - 1];
30714
30845
  const next = items[i + 1];
30715
- const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _571 => _571.system]));
30716
- 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]));
30717
30848
  const showGap = i > 0 && !joinLeft;
30718
30849
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React96.Fragment, { children: [
30719
30850
  showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
@@ -30766,7 +30897,7 @@ function Board({
30766
30897
  {
30767
30898
  ticket: activeTicket.ticket,
30768
30899
  columnId: activeTicket.columnId,
30769
- 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]),
30770
30901
  isOverlay: true
30771
30902
  }
30772
30903
  ) : null })
@@ -30782,7 +30913,7 @@ function locate(cols, ticketId) {
30782
30913
  return null;
30783
30914
  }
30784
30915
  function findIndexInColumn(cols, columnId, ticketId) {
30785
- 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));
30786
30917
  }
30787
30918
 
30788
30919
  // src/components/features/board/types.ts
@@ -31030,7 +31161,7 @@ function Header2({ config, platform }) {
31030
31161
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
31031
31162
  "flex justify-start w-full",
31032
31163
  "font-bold text-[16px] leading-none tracking-[-0.32px]",
31033
- 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",
31034
31165
  "text-ods-text-primary",
31035
31166
  // All dropdown items use primary text color
31036
31167
  child.isActive && "bg-ods-bg-hover"
@@ -31122,7 +31253,7 @@ function Header2({ config, platform }) {
31122
31253
  style: config.style,
31123
31254
  children: [
31124
31255
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
31125
- _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 }),
31126
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 })
31127
31258
  ] }),
31128
31259
  config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -31139,7 +31270,7 @@ function Header2({ config, platform }) {
31139
31270
  }
31140
31271
  ),
31141
31272
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
31142
- _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 }),
31143
31274
  config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31144
31275
  _chunkQJGRP2YEcjs.Button,
31145
31276
  {
@@ -31147,10 +31278,10 @@ function Header2({ config, platform }) {
31147
31278
  size: "icon",
31148
31279
  className: "flex md:hidden",
31149
31280
  onClick: () => {
31150
- _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()]);
31151
31282
  },
31152
- "aria-label": _optionalChain([config, 'access', _590 => _590.mobile, 'optionalAccess', _591 => _591.isOpen]) ? "Close menu" : "Open menu",
31153
- 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, {})
31154
31285
  }
31155
31286
  )
31156
31287
  ] })
@@ -31167,10 +31298,10 @@ function Header2({ config, platform }) {
31167
31298
  // src/components/navigation/header-skeleton.tsx
31168
31299
 
31169
31300
  function HeaderSkeleton({ config }) {
31170
- const showNavigation = _optionalChain([config, 'optionalAccess', _594 => _594.navigation]) && config.navigation.items.length > 0;
31171
- const showActions = _optionalChain([config, 'optionalAccess', _595 => _595.actions, 'optionalAccess', _596 => _596.right]) && config.actions.right.length > 0;
31172
- const showMobileMenu = _optionalChain([config, 'optionalAccess', _597 => _597.mobile, 'optionalAccess', _598 => _598.enabled]);
31173
- 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")]);
31174
31305
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
31175
31306
  "header",
31176
31307
  {
@@ -31179,11 +31310,11 @@ function HeaderSkeleton({ config }) {
31179
31310
  "bg-ods-card border-b border-ods-border backdrop-blur-sm",
31180
31311
  "px-6 py-3",
31181
31312
  "transition-opacity duration-300 ease-in-out",
31182
- _optionalChain([config, 'optionalAccess', _602 => _602.className])
31313
+ _optionalChain([config, 'optionalAccess', _605 => _605.className])
31183
31314
  ),
31184
31315
  children: [
31185
31316
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
31186
- 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" }) }),
31187
31318
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
31188
31319
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
31189
31320
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
@@ -31191,8 +31322,8 @@ function HeaderSkeleton({ config }) {
31191
31322
  ] }),
31192
31323
  showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkFIG2RKZFcjs.cn.call(void 0,
31193
31324
  "hidden md:flex items-center gap-2",
31194
- _optionalChain([config, 'optionalAccess', _605 => _605.navigation, 'optionalAccess', _606 => _606.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
31195
- _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"
31196
31327
  ), children: [
31197
31328
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
31198
31329
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
@@ -31240,7 +31371,7 @@ function MobileNavPanel({ isOpen, config }) {
31240
31371
  _react.useEffect.call(void 0, () => {
31241
31372
  const handleKeyDown = (e) => {
31242
31373
  if (e.key === "Escape" && isOpen) {
31243
- _optionalChain([config, 'access', _609 => _609.onClose, 'optionalCall', _610 => _610()]);
31374
+ _optionalChain([config, 'access', _612 => _612.onClose, 'optionalCall', _613 => _613()]);
31244
31375
  }
31245
31376
  };
31246
31377
  if (isOpen) {
@@ -31257,7 +31388,7 @@ function MobileNavPanel({ isOpen, config }) {
31257
31388
  if (item.onClick) {
31258
31389
  item.onClick();
31259
31390
  }
31260
- _optionalChain([config, 'access', _611 => _611.onClose, 'optionalCall', _612 => _612()]);
31391
+ _optionalChain([config, 'access', _614 => _614.onClose, 'optionalCall', _615 => _615()]);
31261
31392
  };
31262
31393
  if (item.href) {
31263
31394
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -31427,7 +31558,7 @@ function SlidingSidebar({ config }) {
31427
31558
  variant: "transparent",
31428
31559
  size: "default",
31429
31560
  onClick: () => {
31430
- _optionalChain([item, 'access', _613 => _613.onClick, 'optionalCall', _614 => _614()]);
31561
+ _optionalChain([item, 'access', _616 => _616.onClick, 'optionalCall', _617 => _617()]);
31431
31562
  config.onClose();
31432
31563
  },
31433
31564
  leftIcon: item.icon,
@@ -31450,7 +31581,7 @@ function SlidingSidebar({ config }) {
31450
31581
  variant: "transparent",
31451
31582
  size: "default",
31452
31583
  onClick: () => {
31453
- _optionalChain([item, 'access', _615 => _615.onClick, 'optionalCall', _616 => _616()]);
31584
+ _optionalChain([item, 'access', _618 => _618.onClick, 'optionalCall', _619 => _619()]);
31454
31585
  config.onClose();
31455
31586
  },
31456
31587
  leftIcon: item.icon,
@@ -31577,7 +31708,7 @@ function StickySectionNav({
31577
31708
  ] });
31578
31709
  }
31579
31710
  function useSectionNavigation(sections, options) {
31580
- 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]) || "");
31581
31712
  const isScrollingFromClick = _react.useRef.call(void 0, false);
31582
31713
  const { offset: offset2 = 100 } = options || {};
31583
31714
  const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
@@ -31601,7 +31732,7 @@ function useSectionNavigation(sections, options) {
31601
31732
  const handleScroll = () => {
31602
31733
  if (isScrollingFromClick.current) return;
31603
31734
  const scrollPosition = window.scrollY + offset2 + 50;
31604
- 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]) || "";
31605
31736
  for (let i = sections.length - 1; i >= 0; i--) {
31606
31737
  const element = document.getElementById(sections[i].id);
31607
31738
  if (element && scrollPosition >= element.offsetTop) {
@@ -31802,7 +31933,7 @@ function NavigationSidebar({ config, disabled = false }) {
31802
31933
  } else {
31803
31934
  setDesktopMinimized((prev) => !prev);
31804
31935
  }
31805
- _optionalChain([config, 'access', _621 => _621.onToggleMinimized, 'optionalCall', _622 => _622()]);
31936
+ _optionalChain([config, 'access', _624 => _624.onToggleMinimized, 'optionalCall', _625 => _625()]);
31806
31937
  }, [isTablet, setDesktopMinimized, config]);
31807
31938
  const closeOverlay = _react.useCallback.call(void 0, () => {
31808
31939
  setTabletMinimized(true);
@@ -31816,11 +31947,11 @@ function NavigationSidebar({ config, disabled = false }) {
31816
31947
  return () => document.removeEventListener("keydown", handleKeyDown);
31817
31948
  }, [isOverlayOpen, closeOverlay]);
31818
31949
  const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
31819
- _optionalChain([event, 'optionalAccess', _623 => _623.stopPropagation, 'call', _624 => _624()]);
31950
+ _optionalChain([event, 'optionalAccess', _626 => _626.stopPropagation, 'call', _627 => _627()]);
31820
31951
  if (item.onClick) {
31821
31952
  item.onClick();
31822
31953
  } else if (item.path) {
31823
- _optionalChain([config, 'access', _625 => _625.onNavigate, 'optionalCall', _626 => _626(item.path)]);
31954
+ _optionalChain([config, 'access', _628 => _628.onNavigate, 'optionalCall', _629 => _629(item.path)]);
31824
31955
  }
31825
31956
  if (isTablet) setTabletMinimized(true);
31826
31957
  }, [config, isTablet]);
@@ -31940,11 +32071,11 @@ function HeaderGlobalSearch({
31940
32071
  };
31941
32072
  const handleSubmit = (e) => {
31942
32073
  e.preventDefault();
31943
- _optionalChain([onSubmit, 'optionalCall', _627 => _627(currentValue)]);
32074
+ _optionalChain([onSubmit, 'optionalCall', _630 => _630(currentValue)]);
31944
32075
  };
31945
32076
  const handleKeyDown = (e) => {
31946
32077
  if (e.key === "Enter") {
31947
- _optionalChain([onSubmit, 'optionalCall', _628 => _628(currentValue)]);
32078
+ _optionalChain([onSubmit, 'optionalCall', _631 => _631(currentValue)]);
31948
32079
  }
31949
32080
  };
31950
32081
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -32038,8 +32169,8 @@ function HeaderOrganizationFilter({
32038
32169
  className
32039
32170
  }) {
32040
32171
  const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
32041
- const displayName = _optionalChain([selectedOrg, 'optionalAccess', _629 => _629.name]) || "All Organizations";
32042
- 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));
32043
32174
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQJGRP2YEcjs.DropdownMenu, { children: [
32044
32175
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQJGRP2YEcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
32045
32176
  "button",
@@ -32064,11 +32195,11 @@ function HeaderOrganizationFilter({
32064
32195
  }
32065
32196
  ) }),
32066
32197
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkQJGRP2YEcjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
32067
- /* @__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" }),
32068
32199
  organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32069
32200
  _chunkQJGRP2YEcjs.DropdownMenuItem,
32070
32201
  {
32071
- onClick: () => _optionalChain([onOrgChange, 'optionalCall', _632 => _632(org.id)]),
32202
+ onClick: () => _optionalChain([onOrgChange, 'optionalCall', _635 => _635(org.id)]),
32072
32203
  children: org.name
32073
32204
  },
32074
32205
  org.id
@@ -32258,9 +32389,9 @@ function NotificationsHeaderButton({
32258
32389
  dimmedClass
32259
32390
  }) {
32260
32391
  const ctx = useOptionalNotifications();
32261
- const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _633 => _633.unreadCount]), () => ( fallbackUnreadCount))) > 0;
32262
- const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _634 => _634.isOpen]), () => ( false));
32263
- 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]);
32264
32395
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32265
32396
  HeaderButton,
32266
32397
  {
@@ -32324,7 +32455,7 @@ var MobileBurgerMenu = React112.default.memo(function MobileBurgerMenu2({
32324
32455
  if (item.onClick) {
32325
32456
  item.onClick();
32326
32457
  } else if (item.path) {
32327
- _optionalChain([config, 'access', _636 => _636.onNavigate, 'optionalCall', _637 => _637(item.path)]);
32458
+ _optionalChain([config, 'access', _639 => _639.onNavigate, 'optionalCall', _640 => _640(item.path)]);
32328
32459
  }
32329
32460
  onClose();
32330
32461
  }, [config, onClose]);
@@ -32567,7 +32698,7 @@ var AppLayoutDrawerRoot = ({
32567
32698
  const handleOpenChange = React105.useCallback(
32568
32699
  (next) => {
32569
32700
  if (!isControlled) setInternalOpen(next);
32570
- _optionalChain([onOpenChange, 'optionalCall', _638 => _638(next)]);
32701
+ _optionalChain([onOpenChange, 'optionalCall', _641 => _641(next)]);
32571
32702
  },
32572
32703
  [isControlled, onOpenChange]
32573
32704
  );
@@ -32948,10 +33079,10 @@ var AppLayoutDrawerContent = React105.forwardRef(
32948
33079
  ),
32949
33080
  style,
32950
33081
  onInteractOutside: (event) => {
32951
- _optionalChain([onInteractOutside, 'optionalCall', _639 => _639(event)]);
33082
+ _optionalChain([onInteractOutside, 'optionalCall', _642 => _642(event)]);
32952
33083
  if (event.defaultPrevented) return;
32953
33084
  const target = event.target;
32954
- 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)]);
32955
33086
  if (!isInsideContainer) {
32956
33087
  event.preventDefault();
32957
33088
  return;
@@ -33364,7 +33495,7 @@ var ShellTypeBadge = ({
33364
33495
  className,
33365
33496
  iconClassName
33366
33497
  }) => {
33367
- const normalizedType = _optionalChain([shellType, 'optionalAccess', _642 => _642.toUpperCase, 'call', _643 => _643()]);
33498
+ const normalizedType = _optionalChain([shellType, 'optionalAccess', _645 => _645.toUpperCase, 'call', _646 => _646()]);
33368
33499
  const label = getShellLabel(normalizedType);
33369
33500
  const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
33370
33501
  const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
@@ -33751,12 +33882,12 @@ function OnboardingWalkthrough({
33751
33882
  }
33752
33883
  }, [state.completedSteps, markComplete]);
33753
33884
  const handleStepSkip = (step) => {
33754
- _optionalChain([step, 'access', _644 => _644.onSkip, 'optionalCall', _645 => _645()]);
33885
+ _optionalChain([step, 'access', _647 => _647.onSkip, 'optionalCall', _648 => _648()]);
33755
33886
  markSkipped(step.id);
33756
33887
  };
33757
33888
  const handleDismiss = () => {
33758
33889
  dismissOnboarding();
33759
- _optionalChain([onDismiss, 'optionalCall', _646 => _646()]);
33890
+ _optionalChain([onDismiss, 'optionalCall', _649 => _649()]);
33760
33891
  };
33761
33892
  if (state.dismissed) {
33762
33893
  return null;
@@ -33886,7 +34017,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
33886
34017
  onKeyDown: (e) => {
33887
34018
  if (e.key === "Enter" || e.key === " ") {
33888
34019
  e.preventDefault();
33889
- _optionalChain([onClick, 'optionalCall', _647 => _647()]);
34020
+ _optionalChain([onClick, 'optionalCall', _650 => _650()]);
33890
34021
  }
33891
34022
  },
33892
34023
  children: [
@@ -33987,7 +34118,7 @@ var LogsList = React109.forwardRef(({
33987
34118
  log,
33988
34119
  isLast: index === logs.length - 1,
33989
34120
  showConnector,
33990
- onClick: () => _optionalChain([onLogClick, 'optionalCall', _648 => _648(log)])
34121
+ onClick: () => _optionalChain([onLogClick, 'optionalCall', _651 => _651(log)])
33991
34122
  },
33992
34123
  log.id
33993
34124
  ))
@@ -34088,7 +34219,7 @@ var Slider = React111.forwardRef(
34088
34219
  ({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
34089
34220
  const handleChange = (e) => {
34090
34221
  const newValue = [Number(e.target.value)];
34091
- _optionalChain([onValueChange, 'optionalCall', _649 => _649(newValue)]);
34222
+ _optionalChain([onValueChange, 'optionalCall', _652 => _652(newValue)]);
34092
34223
  };
34093
34224
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34094
34225
  "input",
@@ -34519,7 +34650,7 @@ function CursorPaginationSimple({
34519
34650
  {
34520
34651
  variant: "transparent",
34521
34652
  size: "icon",
34522
- onClick: () => _optionalChain([onPrevious, 'optionalCall', _650 => _650("")]),
34653
+ onClick: () => _optionalChain([onPrevious, 'optionalCall', _653 => _653("")]),
34523
34654
  disabled: !hasPreviousPage || loading,
34524
34655
  className: "h-8 w-8",
34525
34656
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
@@ -34531,7 +34662,7 @@ function CursorPaginationSimple({
34531
34662
  {
34532
34663
  variant: "transparent",
34533
34664
  size: "icon",
34534
- onClick: () => _optionalChain([onNext, 'optionalCall', _651 => _651("")]),
34665
+ onClick: () => _optionalChain([onNext, 'optionalCall', _654 => _654("")]),
34535
34666
  disabled: !hasNextPage || loading,
34536
34667
  className: "h-8 w-8",
34537
34668
  rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
@@ -34551,8 +34682,8 @@ function TableEmptyState({ message: message2, icon, action, className }) {
34551
34682
  icon: _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}))),
34552
34683
  title: _nullishCoalesce(message2, () => ( "No results found")),
34553
34684
  description: message2 == null ? "Try adjusting your search or filters" : void 0,
34554
- buttonLabel: _optionalChain([action, 'optionalAccess', _652 => _652.label]),
34555
- onButtonClick: _optionalChain([action, 'optionalAccess', _653 => _653.onClick]),
34685
+ buttonLabel: _optionalChain([action, 'optionalAccess', _655 => _655.label]),
34686
+ onButtonClick: _optionalChain([action, 'optionalAccess', _656 => _656.onClick]),
34556
34687
  className: _chunkFIG2RKZFcjs.cn.call(void 0, "py-[var(--spacing-system-xxl)]", className)
34557
34688
  }
34558
34689
  );
@@ -34573,7 +34704,7 @@ function TableColumnFilterDropdown({
34573
34704
  placement = "bottom-start",
34574
34705
  dropdownClassName = "min-w-[240px]"
34575
34706
  }) {
34576
- 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;
34577
34708
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34578
34709
  FiltersDropdown,
34579
34710
  {
@@ -34616,7 +34747,7 @@ function TableColumnFilterDropdown({
34616
34747
  delete newFilters[columnKey];
34617
34748
  onFilterChange(newFilters);
34618
34749
  },
34619
- currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _656 => _656[columnKey]]) || [] },
34750
+ currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _659 => _659[columnKey]]) || [] },
34620
34751
  placement,
34621
34752
  dropdownClassName
34622
34753
  }
@@ -34913,7 +35044,7 @@ function TableRow({
34913
35044
  const keys = column.key.split(".");
34914
35045
  let value = item;
34915
35046
  for (const key of keys) {
34916
- value = _optionalChain([value, 'optionalAccess', _657 => _657[key]]);
35047
+ value = _optionalChain([value, 'optionalAccess', _660 => _660[key]]);
34917
35048
  }
34918
35049
  if (value === null || value === void 0) {
34919
35050
  return "-";
@@ -34983,7 +35114,7 @@ function TableRow({
34983
35114
  // src/components/ui/table/table.tsx
34984
35115
 
34985
35116
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
34986
- const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _658 => _658.length])) || Boolean(renderRowActions);
35117
+ const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _661 => _661.length])) || Boolean(renderRowActions);
34987
35118
  const result = [...columns];
34988
35119
  if (hasActions) {
34989
35120
  const actionsColumn = {
@@ -35077,7 +35208,7 @@ function Table({
35077
35208
  return rowKey(item);
35078
35209
  }
35079
35210
  const key = item[rowKey];
35080
- 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();
35081
35212
  };
35082
35213
  const getRowClassName = (item, index) => {
35083
35214
  if (typeof rowClassName === "function") {
@@ -35111,23 +35242,23 @@ function Table({
35111
35242
  const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
35112
35243
  const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
35113
35244
  const sentinelRef = _react.useRef.call(void 0, null);
35114
- const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _661 => _661.onLoadMore]));
35115
- 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]);
35116
35247
  _react.useEffect.call(void 0, () => {
35117
- if (!_optionalChain([infiniteScroll, 'optionalAccess', _663 => _663.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
35248
+ if (!_optionalChain([infiniteScroll, 'optionalAccess', _666 => _666.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
35118
35249
  const sentinel = sentinelRef.current;
35119
35250
  if (!sentinel) return;
35120
35251
  const observer = new IntersectionObserver(
35121
35252
  (entries) => {
35122
- if (_optionalChain([entries, 'access', _664 => _664[0], 'optionalAccess', _665 => _665.isIntersecting])) {
35123
- _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()]);
35124
35255
  }
35125
35256
  },
35126
35257
  { rootMargin: "200px" }
35127
35258
  );
35128
35259
  observer.observe(sentinel);
35129
35260
  return () => observer.disconnect();
35130
- }, [_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])]);
35131
35262
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
35132
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: [
35133
35264
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
@@ -35198,7 +35329,7 @@ function Table({
35198
35329
  },
35199
35330
  getRowKey(item, index)
35200
35331
  )),
35201
- _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,
35202
35333
  TableCardSkeleton,
35203
35334
  {
35204
35335
  columns,
@@ -35207,7 +35338,7 @@ function Table({
35207
35338
  hasChevron: Boolean(rowHref)
35208
35339
  }
35209
35340
  ),
35210
- _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" }),
35211
35342
  !infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
35212
35343
  "div",
35213
35344
  {
@@ -35565,7 +35696,7 @@ function QueryReportTable({
35565
35696
  );
35566
35697
  const handleExport = () => {
35567
35698
  exportToCSV(data, columns, exportFilename);
35568
- _optionalChain([onExport, 'optionalCall', _672 => _672()]);
35699
+ _optionalChain([onExport, 'optionalCall', _675 => _675()]);
35569
35700
  };
35570
35701
  const tableMinWidth = columns.length * (columnWidth + 16);
35571
35702
  const {
@@ -35738,7 +35869,7 @@ function DataTableColumnFilter({
35738
35869
  align = "left"
35739
35870
  }) {
35740
35871
  const currentValue = column.getFilterValue();
35741
- const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _673 => _673.length]), () => ( 0));
35872
+ const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _676 => _676.length]), () => ( 0));
35742
35873
  const sections = _react.useMemo.call(void 0,
35743
35874
  () => [
35744
35875
  {
@@ -35818,7 +35949,7 @@ function DataTableHeader({
35818
35949
  const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
35819
35950
  if (header.isPlaceholder) return false;
35820
35951
  if (isLgUp) return true;
35821
- 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]));
35822
35953
  });
35823
35954
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35824
35955
  "div",
@@ -35848,20 +35979,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
35848
35979
  if (header.isPlaceholder) return null;
35849
35980
  const column = header.column;
35850
35981
  const meta = column.columnDef.meta;
35851
- const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _678 => _678.filter]));
35852
- const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _679 => _679.align]), () => ( "left"));
35853
- const canSort = _optionalChain([meta, 'optionalAccess', _680 => _680.sortable]) === true;
35854
- 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;
35855
35986
  if (!isLgUp && !hasFilter) return null;
35856
35987
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35857
35988
  "div",
35858
35989
  {
35859
35990
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
35860
35991
  "flex items-stretch",
35861
- isLgUp && (_optionalChain([meta, 'optionalAccess', _682 => _682.width]) || "flex-1 min-w-0"),
35862
- _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]),
35863
35994
  // Don't apply hide classes if column is filterable on tablet (keep filter accessible)
35864
- !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _684 => _684.hideAt]))
35995
+ !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _687 => _687.hideAt]))
35865
35996
  ),
35866
35997
  children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
35867
35998
  DataTableColumnFilter,
@@ -35880,7 +36011,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
35880
36011
  isLgUp && alignJustify(align),
35881
36012
  canSort && "group cursor-pointer"
35882
36013
  ),
35883
- onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _685 => _685(column.id)]) : void 0,
36014
+ onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _688 => _688(column.id)]) : void 0,
35884
36015
  children: [
35885
36016
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
35886
36017
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -35945,7 +36076,7 @@ function DataTableSkeleton({
35945
36076
  }) {
35946
36077
  const table = useDataTableContext();
35947
36078
  const columns = table.getVisibleFlatColumns();
35948
- 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]);
35949
36080
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
35950
36081
  "div",
35951
36082
  {
@@ -35969,7 +36100,7 @@ function DataTableSkeleton({
35969
36100
  {
35970
36101
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
35971
36102
  "flex flex-col justify-center shrink-0",
35972
- _optionalChain([meta, 'optionalAccess', _688 => _688.width]) || "flex-1"
36103
+ _optionalChain([meta, 'optionalAccess', _691 => _691.width]) || "flex-1"
35973
36104
  ),
35974
36105
  children: [
35975
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)]" }),
@@ -36018,7 +36149,7 @@ function DataTableRowImpl({
36018
36149
  const handleClick = _react.useCallback.call(void 0,
36019
36150
  (e) => {
36020
36151
  const target = e.target;
36021
- 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)])) {
36022
36153
  if (isLinkMode) e.preventDefault();
36023
36154
  return;
36024
36155
  }
@@ -36026,7 +36157,7 @@ function DataTableRowImpl({
36026
36157
  if (isLinkMode) e.preventDefault();
36027
36158
  return;
36028
36159
  }
36029
- _optionalChain([onClick, 'optionalCall', _692 => _692(row.original)]);
36160
+ _optionalChain([onClick, 'optionalCall', _695 => _695(row.original)]);
36030
36161
  },
36031
36162
  [onClick, row.original, isLinkMode]
36032
36163
  );
@@ -36051,10 +36182,10 @@ function DataTableRowImpl({
36051
36182
  {
36052
36183
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
36053
36184
  "flex flex-col overflow-hidden",
36054
- alignJustify(_optionalChain([meta, 'optionalAccess', _693 => _693.align])),
36055
- _optionalChain([meta, 'optionalAccess', _694 => _694.width]) || "flex-1 min-w-0",
36056
- _optionalChain([meta, 'optionalAccess', _695 => _695.cellClassName]),
36057
- 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]))
36058
36189
  ),
36059
36190
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
36060
36191
  },
@@ -36133,7 +36264,7 @@ function DataTableBody({
36133
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: [
36134
36265
  rows.map((row, index) => {
36135
36266
  const item = row.original;
36136
- const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _697 => _697(item)]), () => ( void 0));
36267
+ const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _700 => _700(item)]), () => ( void 0));
36137
36268
  const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
36138
36269
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
36139
36270
  DataTableRow,
@@ -36143,7 +36274,7 @@ function DataTableBody({
36143
36274
  href,
36144
36275
  compact,
36145
36276
  className: cls,
36146
- subRow: _optionalChain([renderSubRow, 'optionalCall', _698 => _698(item)])
36277
+ subRow: _optionalChain([renderSubRow, 'optionalCall', _701 => _701(item)])
36147
36278
  },
36148
36279
  row.id
36149
36280
  );
@@ -36198,7 +36329,7 @@ function DataTableInfiniteFooter({
36198
36329
  if (!sentinel) return;
36199
36330
  const observer = new IntersectionObserver(
36200
36331
  (entries) => {
36201
- 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();
36202
36333
  },
36203
36334
  { rootMargin }
36204
36335
  );
@@ -36246,7 +36377,7 @@ function DataTableRowCount({
36246
36377
  const table = useDataTableContext();
36247
36378
  const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
36248
36379
  if (hideWhenEmpty && count === 0) return null;
36249
- 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`)));
36250
36381
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
36251
36382
  "span",
36252
36383
  {
@@ -36405,7 +36536,7 @@ function SearchInput({
36405
36536
  if (!showHiddenTags) return;
36406
36537
  const handleClick = (e) => {
36407
36538
  const target = e.target;
36408
- 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)])) {
36409
36540
  setShowHiddenTags(false);
36410
36541
  }
36411
36542
  };
@@ -36453,10 +36584,10 @@ function SearchInput({
36453
36584
  } else {
36454
36585
  setInternalValue("");
36455
36586
  }
36456
- _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()]);
36457
36588
  };
36458
36589
  const handleResultClick = (result, e) => {
36459
- _optionalChain([onResultSelect, 'optionalCall', _711 => _711(
36590
+ _optionalChain([onResultSelect, 'optionalCall', _714 => _714(
36460
36591
  result,
36461
36592
  e ? {
36462
36593
  metaKey: e.metaKey,
@@ -36488,7 +36619,7 @@ function SearchInput({
36488
36619
  if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
36489
36620
  handleResultClick(flatResults[highlightedIndex]);
36490
36621
  } else {
36491
- _optionalChain([onSubmit, 'optionalCall', _712 => _712(currentValue)]);
36622
+ _optionalChain([onSubmit, 'optionalCall', _715 => _715(currentValue)]);
36492
36623
  }
36493
36624
  break;
36494
36625
  case "Escape":
@@ -36566,7 +36697,7 @@ function SearchInput({
36566
36697
  dropdownVisible && "!border-ods-accent"
36567
36698
  ),
36568
36699
  onClick: () => {
36569
- _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()]);
36570
36701
  setIsOpen(true);
36571
36702
  },
36572
36703
  children: [
@@ -36650,10 +36781,10 @@ function SearchInput({
36650
36781
  align: "start",
36651
36782
  onOpenAutoFocus: (e) => {
36652
36783
  e.preventDefault();
36653
- _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()]);
36654
36785
  },
36655
36786
  onInteractOutside: (e) => {
36656
- 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)])) {
36657
36788
  e.preventDefault();
36658
36789
  }
36659
36790
  },
@@ -36670,10 +36801,10 @@ function SearchInput({
36670
36801
  ref: hiddenTagsPopupRef,
36671
36802
  items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
36672
36803
  style: {
36673
- 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
36674
36805
  },
36675
36806
  onRemove: (value2) => {
36676
- _optionalChain([onFilterRemove, 'optionalCall', _726 => _726(value2)]);
36807
+ _optionalChain([onFilterRemove, 'optionalCall', _729 => _729(value2)]);
36677
36808
  if (hiddenCount <= 1) setShowHiddenTags(false);
36678
36809
  }
36679
36810
  }
@@ -36724,7 +36855,7 @@ function FilterListItem({
36724
36855
  }) {
36725
36856
  const handleToggle = () => {
36726
36857
  if (disabled) return;
36727
- _optionalChain([onToggle, 'optionalCall', _727 => _727(!selected)]);
36858
+ _optionalChain([onToggle, 'optionalCall', _730 => _730(!selected)]);
36728
36859
  };
36729
36860
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
36730
36861
  "div",
@@ -36771,7 +36902,7 @@ function FilterListItem({
36771
36902
  CheckboxPrimitive4.Root,
36772
36903
  {
36773
36904
  checked: selected,
36774
- onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _728 => _728(c === true)]),
36905
+ onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _731 => _731(c === true)]),
36775
36906
  onClick: (e) => e.stopPropagation(),
36776
36907
  disabled,
36777
36908
  "aria-label": title,
@@ -36870,7 +37001,7 @@ function TagSearchInput({
36870
37001
  if (!showHiddenTags) return;
36871
37002
  const handleClick = (e) => {
36872
37003
  const target = e.target;
36873
- 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)])) {
36874
37005
  setShowHiddenTags(false);
36875
37006
  }
36876
37007
  };
@@ -36886,13 +37017,13 @@ function TagSearchInput({
36886
37017
  e.preventDefault();
36887
37018
  onSubmit(searchValue);
36888
37019
  }
36889
- _optionalChain([onKeyDown, 'optionalCall', _735 => _735(e)]);
37020
+ _optionalChain([onKeyDown, 'optionalCall', _738 => _738(e)]);
36890
37021
  };
36891
37022
  const handleClearAll = (e) => {
36892
37023
  e.stopPropagation();
36893
37024
  e.preventDefault();
36894
- _optionalChain([onClearAll, 'optionalCall', _736 => _736()]);
36895
- _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()]);
36896
37027
  };
36897
37028
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
36898
37029
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -36909,7 +37040,7 @@ function TagSearchInput({
36909
37040
  className
36910
37041
  ),
36911
37042
  onClick: () => {
36912
- 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()]);
36913
37044
  },
36914
37045
  children: [
36915
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" }) }),
@@ -36981,7 +37112,7 @@ function TagSearchInput({
36981
37112
  items: hiddenTags,
36982
37113
  disabled,
36983
37114
  style: {
36984
- 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
36985
37116
  },
36986
37117
  onRemove: (value) => {
36987
37118
  onTagRemove(value);
@@ -37082,7 +37213,7 @@ function MarkdownEditor({
37082
37213
  const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
37083
37214
  _react.useEffect.call(void 0, () => {
37084
37215
  Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
37085
- if (_optionalChain([mod, 'access', _747 => _747.commands, 'optionalAccess', _748 => _748.getExtraCommands])) {
37216
+ if (_optionalChain([mod, 'access', _750 => _750.commands, 'optionalAccess', _751 => _751.getExtraCommands])) {
37086
37217
  setDefaultExtraCommands(mod.commands.getExtraCommands());
37087
37218
  }
37088
37219
  });
@@ -37116,7 +37247,7 @@ function MarkdownEditor({
37116
37247
  const isImage = file.type.startsWith("image/");
37117
37248
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
37118
37249
  insertTextAtCursor(markdown);
37119
- _optionalChain([onFileUploaded, 'optionalCall', _749 => _749(url, file.name)]);
37250
+ _optionalChain([onFileUploaded, 'optionalCall', _752 => _752(url, file.name)]);
37120
37251
  } catch (error) {
37121
37252
  console.error("File upload failed:", error);
37122
37253
  setUploadProgress("Upload failed. Please try again.");
@@ -37129,7 +37260,7 @@ function MarkdownEditor({
37129
37260
  );
37130
37261
  const handleFileInputChange = _react.useCallback.call(void 0,
37131
37262
  (e) => {
37132
- 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]]);
37133
37264
  if (file) {
37134
37265
  handleFileUpload(file);
37135
37266
  e.target.value = "";
@@ -37140,7 +37271,7 @@ function MarkdownEditor({
37140
37271
  const handlePaste = _react.useCallback.call(void 0,
37141
37272
  (e) => {
37142
37273
  if (!onUploadFile) return;
37143
- 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]);
37144
37275
  if (!items) return;
37145
37276
  for (const item of items) {
37146
37277
  if (item.type.startsWith("image/")) {
@@ -37165,7 +37296,7 @@ function MarkdownEditor({
37165
37296
  buttonProps: { "aria-label": "Upload file", title: "Upload file" },
37166
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" }),
37167
37298
  execute: () => {
37168
- _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()]);
37169
37300
  }
37170
37301
  } : null;
37171
37302
  const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
@@ -37177,7 +37308,7 @@ function MarkdownEditor({
37177
37308
  const EDGE_ZONE = 60;
37178
37309
  const MAX_SCROLL_SPEED = 15;
37179
37310
  const findScrollParent = _react.useCallback.call(void 0, (el) => {
37180
- let node = _optionalChain([el, 'optionalAccess', _758 => _758.parentElement]);
37311
+ let node = _optionalChain([el, 'optionalAccess', _761 => _761.parentElement]);
37181
37312
  while (node && node !== document.documentElement) {
37182
37313
  const { overflowY } = window.getComputedStyle(node);
37183
37314
  if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
@@ -37320,7 +37451,7 @@ function matchesAccept(file, accept) {
37320
37451
  });
37321
37452
  }
37322
37453
  function dragHasFiles(e) {
37323
- 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]);
37324
37455
  if (!types) return false;
37325
37456
  for (let i = 0; i < types.length; i++) {
37326
37457
  if (types[i] === "Files") return true;
@@ -37415,7 +37546,7 @@ function FileUpload({
37415
37546
  e.stopPropagation();
37416
37547
  setDragActive(false);
37417
37548
  if (disabled) return;
37418
- 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])) {
37419
37550
  handleFiles(e.dataTransfer.files);
37420
37551
  }
37421
37552
  };
@@ -37443,7 +37574,7 @@ function FileUpload({
37443
37574
  e.preventDefault();
37444
37575
  dragCounter = 0;
37445
37576
  setDragActive(false);
37446
- 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])) {
37447
37578
  handleFilesRef.current(e.dataTransfer.files);
37448
37579
  }
37449
37580
  };
@@ -37465,7 +37596,7 @@ function FileUpload({
37465
37596
  };
37466
37597
  }, [acceptWindowDrops, disabled]);
37467
37598
  const handleFileSelect = (e) => {
37468
- 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])) {
37469
37600
  handleFiles(e.target.files);
37470
37601
  }
37471
37602
  };
@@ -37482,7 +37613,7 @@ function FileUpload({
37482
37613
  };
37483
37614
  const openDialog = async () => {
37484
37615
  if (disabled) return;
37485
- _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()]);
37486
37617
  };
37487
37618
  const displayError = error || validationError || void 0;
37488
37619
  const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
@@ -37560,7 +37691,7 @@ function FileUpload({
37560
37691
  "button",
37561
37692
  {
37562
37693
  type: "button",
37563
- onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _773 => _773(entry.id)]),
37694
+ onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _776 => _776(entry.id)]),
37564
37695
  className: "shrink-0 p-1 rounded hover:bg-ods-bg transition-colors",
37565
37696
  "aria-label": `Remove ${entry.fileName}`,
37566
37697
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "size-4 text-ods-text-secondary" })
@@ -37683,7 +37814,7 @@ function ImageUploader({
37683
37814
  onChange(file);
37684
37815
  };
37685
37816
  const handleFileSelect = (e) => {
37686
- 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]]));
37687
37818
  if (inputRef.current) inputRef.current.value = "";
37688
37819
  };
37689
37820
  const handleDrag = (e) => {
@@ -37698,11 +37829,11 @@ function ImageUploader({
37698
37829
  e.stopPropagation();
37699
37830
  setDragActive(false);
37700
37831
  if (!interactive) return;
37701
- 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]]));
37702
37833
  };
37703
37834
  const openDialog = () => {
37704
37835
  if (!interactive) return;
37705
- _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()]);
37706
37837
  };
37707
37838
  const handleRootKeyDown = (e) => {
37708
37839
  if (hasImage || !interactive) return;
@@ -37892,8 +38023,8 @@ function ColorPresetSelect({
37892
38023
  }) {
37893
38024
  const selectedPreset = presets.find((p) => p.key === presetKey);
37894
38025
  const isCustom = !selectedPreset;
37895
- const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _783 => _783.label]), () => ( "Custom"));
37896
- 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));
37897
38028
  const groups = [
37898
38029
  {
37899
38030
  items: [
@@ -38183,7 +38314,7 @@ function TicketStatusConfigRow({
38183
38314
  _chunkQJGRP2YEcjs.Input,
38184
38315
  {
38185
38316
  value: name,
38186
- onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _785 => _785(e.target.value)]),
38317
+ onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _788 => _788(e.target.value)]),
38187
38318
  disabled: isSystem,
38188
38319
  readOnly: isSystem,
38189
38320
  "aria-label": "Status name",
@@ -38266,7 +38397,7 @@ function CompactAssigneeDropdown({
38266
38397
  return [current, ...filtered.filter((o) => o.value !== currentAssignee.id)];
38267
38398
  }, [filtered, currentAssignee]);
38268
38399
  const handleSelect = (userId) => {
38269
- const next = _optionalChain([currentAssignee, 'optionalAccess', _786 => _786.id]) === userId ? null : userId;
38400
+ const next = _optionalChain([currentAssignee, 'optionalAccess', _789 => _789.id]) === userId ? null : userId;
38270
38401
  onAssign(next);
38271
38402
  setIsOpen(false);
38272
38403
  };
@@ -38331,7 +38462,7 @@ function CompactAssigneeDropdown({
38331
38462
  }
38332
38463
  ) }),
38333
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) => {
38334
- const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _787 => _787.id]) === opt.value;
38465
+ const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _790 => _790.id]) === opt.value;
38335
38466
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
38336
38467
  "button",
38337
38468
  {
@@ -38400,7 +38531,7 @@ function DefaultAssigneeDropdown({
38400
38531
  Autocomplete,
38401
38532
  {
38402
38533
  options,
38403
- value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _788 => _788.id]), () => ( null)),
38534
+ value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _791 => _791.id]), () => ( null)),
38404
38535
  onChange: (val) => {
38405
38536
  onAssign(val);
38406
38537
  setIsEditing(false);
@@ -38789,14 +38920,14 @@ function TicketInfoSection({
38789
38920
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38790
38921
  SquareAvatar,
38791
38922
  {
38792
- src: _optionalChain([organization, 'optionalAccess', _789 => _789.imageSrc]),
38793
- alt: _optionalChain([organization, 'optionalAccess', _790 => _790.name]),
38794
- 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",
38795
38926
  size: "md",
38796
38927
  className: "shrink-0"
38797
38928
  }
38798
38929
  ),
38799
- /* @__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" })
38800
38931
  ] }),
38801
38932
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38802
38933
  AssigneeDropdown,
@@ -38817,10 +38948,10 @@ function TicketInfoSection({
38817
38948
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
38818
38949
  InfoCell2,
38819
38950
  {
38820
- value: _optionalChain([device, 'optionalAccess', _793 => _793.name]) || "Unassigned",
38951
+ value: _optionalChain([device, 'optionalAccess', _796 => _796.name]) || "Unassigned",
38821
38952
  label: "Device",
38822
- icon: _optionalChain([device, 'optionalAccess', _794 => _794.icon]),
38823
- onClick: _optionalChain([device, 'optionalAccess', _795 => _795.onClick])
38953
+ icon: _optionalChain([device, 'optionalAccess', _797 => _797.icon]),
38954
+ onClick: _optionalChain([device, 'optionalAccess', _798 => _798.onClick])
38824
38955
  }
38825
38956
  ),
38826
38957
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
@@ -39150,7 +39281,7 @@ function RoadmapCard({
39150
39281
  const compactHref = safeHref(_nullishCoalesce(href, () => ( null)));
39151
39282
  const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
39152
39283
  const hasFigma = !!item.figmaUrl;
39153
- 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;
39154
39285
  const typeLabel = getTaskTypeLabel(item.customItemId);
39155
39286
  const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
39156
39287
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -39169,7 +39300,7 @@ function RoadmapCard({
39169
39300
  unoptimized: true,
39170
39301
  className: "h-8 w-8 object-contain"
39171
39302
  }
39172
- ) : /* @__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)]) || "??" })
39173
39304
  }
39174
39305
  ),
39175
39306
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -39244,7 +39375,7 @@ function RoadmapCard({
39244
39375
  unoptimized: true,
39245
39376
  className: "object-contain p-1"
39246
39377
  }
39247
- ) : /* @__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)]) || "??" }) }),
39248
39379
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
39249
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 }) }),
39250
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: [
@@ -39754,7 +39885,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
39754
39885
  ] }) : null,
39755
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
39756
39887
  ] }),
39757
- _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
39758
39889
  ] });
39759
39890
  if (!anchorProps) {
39760
39891
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
@@ -39824,7 +39955,7 @@ function getDefaultOptions() {
39824
39955
  // node_modules/date-fns/startOfWeek.mjs
39825
39956
  function startOfWeek(date, options) {
39826
39957
  const defaultOptions2 = getDefaultOptions();
39827
- 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));
39828
39959
  const _date = toDate(date);
39829
39960
  const day = _date.getDay();
39830
39961
  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
@@ -39999,7 +40130,7 @@ var formatDistance = (token, count, options) => {
39999
40130
  } else {
40000
40131
  result = tokenValue.other.replace("{{count}}", count.toString());
40001
40132
  }
40002
- if (_optionalChain([options, 'optionalAccess', _812 => _812.addSuffix])) {
40133
+ if (_optionalChain([options, 'optionalAccess', _815 => _815.addSuffix])) {
40003
40134
  if (options.comparison && options.comparison > 0) {
40004
40135
  return "in " + result;
40005
40136
  } else {
@@ -40066,15 +40197,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
40066
40197
  // node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
40067
40198
  function buildLocalizeFn(args) {
40068
40199
  return (value, options) => {
40069
- 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";
40070
40201
  let valuesArray;
40071
40202
  if (context === "formatting" && args.formattingValues) {
40072
40203
  const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
40073
- 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;
40074
40205
  valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
40075
40206
  } else {
40076
40207
  const defaultWidth = args.defaultWidth;
40077
- 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;
40078
40209
  valuesArray = args.values[width] || args.values[defaultWidth];
40079
40210
  }
40080
40211
  const index = args.argumentCallback ? args.argumentCallback(value) : value;
@@ -40454,7 +40585,7 @@ function getWeekYear(date, options) {
40454
40585
  const _date = toDate(date);
40455
40586
  const year = _date.getFullYear();
40456
40587
  const defaultOptions2 = getDefaultOptions();
40457
- 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));
40458
40589
  const firstWeekOfNextYear = constructFrom(date, 0);
40459
40590
  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
40460
40591
  firstWeekOfNextYear.setHours(0, 0, 0, 0);
@@ -40475,7 +40606,7 @@ function getWeekYear(date, options) {
40475
40606
  // node_modules/date-fns/startOfWeekYear.mjs
40476
40607
  function startOfWeekYear(date, options) {
40477
40608
  const defaultOptions2 = getDefaultOptions();
40478
- 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));
40479
40610
  const year = getWeekYear(date, options);
40480
40611
  const firstWeek = constructFrom(date, 0);
40481
40612
  firstWeek.setFullYear(year, 0, firstWeekContainsDate);
@@ -41290,9 +41421,9 @@ var doubleQuoteRegExp = /''/g;
41290
41421
  var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
41291
41422
  function format(date, formatStr, options) {
41292
41423
  const defaultOptions2 = getDefaultOptions();
41293
- const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _830 => _830.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
41294
- 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));
41295
- 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));
41296
41427
  const originalDate = toDate(date);
41297
41428
  if (!isValid(originalDate)) {
41298
41429
  throw new RangeError("Invalid time value");
@@ -41333,7 +41464,7 @@ function format(date, formatStr, options) {
41333
41464
  return parts.map((part) => {
41334
41465
  if (!part.isToken) return part.value;
41335
41466
  const token = part.value;
41336
- 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)) {
41337
41468
  warnOrThrowProtectedError(token, formatStr, String(date));
41338
41469
  }
41339
41470
  const formatter = formatters[token[0]];
@@ -41514,7 +41645,7 @@ function ProgramCard({
41514
41645
  const dur = formatDurationFromRange(w.start_at, w.end_at);
41515
41646
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
41516
41647
  }
41517
- 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(
41518
41649
  (s) => typeof s === "string" && s.length > 0
41519
41650
  );
41520
41651
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunkFIG2RKZFcjs.cn.call(void 0, COMPACT_CARD_OUTER, className), children: [
@@ -41671,7 +41802,7 @@ function ProgramCard({
41671
41802
 
41672
41803
 
41673
41804
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
41674
- 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;
41675
41806
  const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
41676
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" }) }),
41677
41808
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
@@ -41833,7 +41964,7 @@ function resolveSourceRowCTA(row, ctx = {}) {
41833
41964
  if (row.path && shouldFallbackToPathNav(row) && !row.externalUrl) {
41834
41965
  const safePath = sanitizePath(row.path);
41835
41966
  if (safePath) {
41836
- 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;
41837
41968
  if (docTarget) {
41838
41969
  const seg = docTarget.basePath.split("/").filter(Boolean).join("/");
41839
41970
  const base = `${_chunkFIG2RKZFcjs.getBaseUrl.call(void 0, docTarget.platform)}${seg ? `/${seg}` : ""}/`;
@@ -42048,8 +42179,8 @@ function cardMenuGroups(href, discuss, openDetails) {
42048
42179
  if (href) {
42049
42180
  items.push({
42050
42181
  id: "open-details",
42051
- label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _853 => _853.label]), () => ( "Open Details")),
42052
- 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 }))),
42053
42184
  // Main row → open the entity (same tab, soft Link nav).
42054
42185
  href,
42055
42186
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -42079,8 +42210,8 @@ function HubspotTicketChatCard({
42079
42210
  isNewTab,
42080
42211
  discuss
42081
42212
  }) {
42082
- const status = typeof _optionalChain([chatRef, 'access', _855 => _855.metadata, 'optionalAccess', _856 => _856.status]) === "string" ? chatRef.metadata.status : void 0;
42083
- 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;
42084
42215
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
42085
42216
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42086
42217
  MingoInfoCard,
@@ -42103,7 +42234,7 @@ function FaqChatCard({
42103
42234
  isNewTab,
42104
42235
  discuss
42105
42236
  }) {
42106
- 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;
42107
42238
  const statusLabel = section && section.length > 0 ? section : "FAQ";
42108
42239
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42109
42240
  MingoInfoCard,
@@ -42123,7 +42254,7 @@ function SlackChatCard({
42123
42254
  isNewTab,
42124
42255
  discuss
42125
42256
  }) {
42126
- 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;
42127
42258
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
42128
42259
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
42129
42260
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -42163,7 +42294,7 @@ function GenericFinancialChatCard({
42163
42294
  isNewTab,
42164
42295
  discuss
42165
42296
  }) {
42166
- 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;
42167
42298
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42168
42299
  MingoInfoCard,
42169
42300
  {
@@ -42232,12 +42363,12 @@ function ProductReleaseChatCard({
42232
42363
  discuss
42233
42364
  }) {
42234
42365
  const releaseProps = buildProps(item);
42235
- 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" };
42236
42367
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42237
42368
  EntityMingoCard,
42238
42369
  {
42239
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _866 => _866.title]), () => ( "")),
42240
- 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,
42241
42372
  cover: releaseProps.coverImage || void 0,
42242
42373
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.Rocket02Icon, { size: 24 }),
42243
42374
  status,
@@ -42254,17 +42385,17 @@ function CampaignChatCard({
42254
42385
  isNewTab,
42255
42386
  discuss
42256
42387
  }) {
42257
- 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;
42258
42389
  const meta = [
42259
- _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,
42260
42391
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
42261
42392
  "Marketing campaign"
42262
42393
  ].filter(Boolean).join(" \xB7 ");
42263
42394
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42264
42395
  EntityMingoCard,
42265
42396
  {
42266
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _870 => _870.name]), () => ( "")),
42267
- 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,
42268
42399
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.Megaphone01Icon, { size: 24 }),
42269
42400
  chatRef,
42270
42401
  isNewTab,
@@ -42317,14 +42448,14 @@ function BlogChatCard({
42317
42448
  hasEmbeddedVideo,
42318
42449
  discuss
42319
42450
  }) {
42320
- 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;
42321
42452
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
42322
42453
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42323
42454
  EntityMingoCard,
42324
42455
  {
42325
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _877 => _877.title]), () => ( "")),
42326
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _878 => _878.summary]), () => ( void 0)),
42327
- 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),
42328
42459
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.NewspaperIcon, { size: 24 }),
42329
42460
  status,
42330
42461
  chatRef,
@@ -42341,13 +42472,13 @@ function CaseStudyChatCard({
42341
42472
  ogPlaceholder,
42342
42473
  discuss
42343
42474
  }) {
42344
- 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 ");
42345
42476
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42346
42477
  EntityMingoCard,
42347
42478
  {
42348
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _884 => _884.title]), () => ( "")),
42349
- description: _optionalChain([item, 'optionalAccess', _885 => _885.summary]) || meta || void 0,
42350
- 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),
42351
42482
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.TrophyIcon, { size: 24 }),
42352
42483
  status: { label: "Case study", variant: "grey" },
42353
42484
  chatRef,
@@ -42364,13 +42495,13 @@ function CustomerInterviewChatCard({
42364
42495
  ogPlaceholder,
42365
42496
  discuss
42366
42497
  }) {
42367
- 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 ");
42368
42499
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42369
42500
  EntityMingoCard,
42370
42501
  {
42371
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _891 => _891.title]), () => ( "")),
42372
- description: _optionalChain([item, 'optionalAccess', _892 => _892.video_summary]) || meta || void 0,
42373
- 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),
42374
42505
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.MicrophoneIcon, { size: 24 }),
42375
42506
  status: { label: "Interview", variant: "grey" },
42376
42507
  chatRef,
@@ -42387,13 +42518,13 @@ function InvestorUpdateChatCard({
42387
42518
  ogPlaceholder,
42388
42519
  discuss
42389
42520
  }) {
42390
- 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]), () => ( "?"))}`;
42391
42522
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42392
42523
  EntityMingoCard,
42393
42524
  {
42394
42525
  title,
42395
- 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,
42396
- 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),
42397
42528
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.PresentationLineIcon, { size: 24 }),
42398
42529
  status: { label: "Investor update", variant: "grey" },
42399
42530
  chatRef,
@@ -42410,12 +42541,12 @@ function OnboardingGuideChatCard({
42410
42541
  ogPlaceholder,
42411
42542
  discuss
42412
42543
  }) {
42413
- 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)));
42414
42545
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42415
42546
  EntityMingoCard,
42416
42547
  {
42417
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _904 => _904.title]), () => ( "")),
42418
- 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)),
42419
42550
  cover,
42420
42551
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkGXRWE7NBcjs.CompassIcon, { size: 24 }),
42421
42552
  status: { label: "Guide", variant: "grey" },
@@ -42436,25 +42567,25 @@ function ProgramChatCard({
42436
42567
  discuss
42437
42568
  }) {
42438
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 });
42439
- const isScheduled = _optionalChain([item, 'optionalAccess', _907 => _907.status]) === "scheduled";
42570
+ const isScheduled = _optionalChain([item, 'optionalAccess', _910 => _910.status]) === "scheduled";
42440
42571
  let typeMeta;
42441
- 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) {
42442
42573
  typeMeta = formatDurationCompact(item.duration_seconds);
42443
- } 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) {
42444
42575
  typeMeta = item.location_name;
42445
- } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _910 => _910.start_at])) {
42576
+ } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _913 => _913.start_at])) {
42446
42577
  const time = formatTimeWithTimezone(item.start_at, _nullishCoalesce(item.timezone, () => ( null)));
42447
42578
  const dur = formatDurationFromRange(item.start_at, item.end_at);
42448
42579
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
42449
42580
  }
42450
- 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" });
42451
42582
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
42452
42583
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42453
42584
  EntityMingoCard,
42454
42585
  {
42455
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _912 => _912.title]), () => ( "")),
42456
- description: meta || _optionalChain([item, 'optionalAccess', _913 => _913.description]) || void 0,
42457
- 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),
42458
42589
  fallbackIcon: icon,
42459
42590
  status: { label, variant: "grey" },
42460
42591
  chatRef,
@@ -42471,10 +42602,10 @@ function RoadmapChatCard({
42471
42602
  cardType,
42472
42603
  discuss
42473
42604
  }) {
42474
- const logoUrl = typeof _optionalChain([item, 'optionalAccess', _915 => _915.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
42475
- 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;
42476
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 });
42477
- 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 ? (
42478
42609
  // Contained (not full-bleed) so the integration logo keeps its aspect
42479
42610
  // ratio inside the bordered icon box — matches RoadmapCard.
42480
42611
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
@@ -42482,10 +42613,10 @@ function RoadmapChatCard({
42482
42613
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42483
42614
  EntityMingoCard,
42484
42615
  {
42485
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _918 => _918.title]), () => ( "")),
42486
- 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)),
42487
42618
  fallbackIcon: icon,
42488
- status: statusPill(_optionalChain([item, 'optionalAccess', _920 => _920.status])),
42619
+ status: statusPill(_optionalChain([item, 'optionalAccess', _923 => _923.status])),
42489
42620
  chatRef,
42490
42621
  isNewTab,
42491
42622
  discuss,
@@ -42571,7 +42702,7 @@ function programRegistryEntries() {
42571
42702
  discuss: opts.discuss,
42572
42703
  configKey: cfg.configKey,
42573
42704
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
42574
- 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))
42575
42706
  }
42576
42707
  )
42577
42708
  };
@@ -42723,8 +42854,8 @@ var CHAT_CARD_REGISTRY = {
42723
42854
  chatRef,
42724
42855
  isNewTab: opts.isNewTab,
42725
42856
  discuss: opts.discuss,
42726
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _925 => _925.extras, 'optionalAccess', _926 => _926.buildOgPlaceholderUrl, 'optionalCall', _927 => _927(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _928 => _928.title]), () => ( "")))]), () => ( null)),
42727
- 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
42728
42859
  }
42729
42860
  )
42730
42861
  },
@@ -42741,7 +42872,7 @@ var CHAT_CARD_REGISTRY = {
42741
42872
  chatRef,
42742
42873
  isNewTab: opts.isNewTab,
42743
42874
  discuss: opts.discuss,
42744
- 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))
42745
42876
  }
42746
42877
  )
42747
42878
  },
@@ -42758,7 +42889,7 @@ var CHAT_CARD_REGISTRY = {
42758
42889
  chatRef,
42759
42890
  isNewTab: opts.isNewTab,
42760
42891
  discuss: opts.discuss,
42761
- 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))
42762
42893
  }
42763
42894
  )
42764
42895
  },
@@ -42769,7 +42900,7 @@ var CHAT_CARD_REGISTRY = {
42769
42900
  bareInline: true,
42770
42901
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
42771
42902
  render: (item, chatRef, opts) => {
42772
- 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));
42773
42904
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42774
42905
  ProductReleaseChatCard,
42775
42906
  {
@@ -42796,7 +42927,7 @@ var CHAT_CARD_REGISTRY = {
42796
42927
  chatRef,
42797
42928
  isNewTab: opts.isNewTab,
42798
42929
  discuss: opts.discuss,
42799
- 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))
42800
42931
  }
42801
42932
  )
42802
42933
  },
@@ -42815,7 +42946,7 @@ var CHAT_CARD_REGISTRY = {
42815
42946
  chatRef,
42816
42947
  isNewTab: opts.isNewTab,
42817
42948
  discuss: opts.discuss,
42818
- 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))
42819
42950
  }
42820
42951
  )
42821
42952
  },
@@ -42827,7 +42958,7 @@ var CHAT_CARD_REGISTRY = {
42827
42958
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
42828
42959
  // No public viewer — synthesize the hub-internal admin URL post-fetch
42829
42960
  // so the wrapper + isNewTab computation see the actual destination.
42830
- 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,
42831
42962
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42832
42963
  CampaignChatCard,
42833
42964
  {
@@ -42853,12 +42984,12 @@ function ChatCardNavWrap({
42853
42984
  const onClickCapture = (e) => {
42854
42985
  if (!href) return;
42855
42986
  const targetEl = e.target;
42856
- if (_optionalChain([targetEl, 'optionalAccess', _950 => _950.closest, 'optionalCall', _951 => _951("button")])) return;
42857
- 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;
42858
42989
  const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
42859
42990
  if (!handled) return;
42860
42991
  e.stopPropagation();
42861
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _954 => _954.closeChat])) panel.closeChat();
42992
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _957 => _957.closeChat])) panel.closeChat();
42862
42993
  };
42863
42994
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
42864
42995
  }
@@ -42880,7 +43011,7 @@ function ChatCardLoader({
42880
43011
  title: chatRef.title,
42881
43012
  externalUrl: chatRef.url,
42882
43013
  targetPlatform: chatRef.targetPlatform,
42883
- 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
42884
43015
  },
42885
43016
  sourceRowCtxFromRuntime(runtime, { baseRoute, chipBasePlatform })
42886
43017
  );
@@ -42894,7 +43025,7 @@ function ChatCardLoader({
42894
43025
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
42895
43026
  const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
42896
43027
  const { item, isLoading } = useChatCardItem(
42897
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _957 => _957.contentRefType]), () => ( "")),
43028
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _960 => _960.contentRefType]), () => ( "")),
42898
43029
  fetchEntry ? resolvedChatRef.id : ""
42899
43030
  );
42900
43031
  if (!entry) return null;
@@ -42925,7 +43056,7 @@ function ChatCardLoader({
42925
43056
  isNewTab,
42926
43057
  discuss
42927
43058
  };
42928
- 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;
42929
43060
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42930
43061
  ChatCardNavWrap,
42931
43062
  {
@@ -43311,7 +43442,7 @@ function useJetStreamDialogSubscription({
43311
43442
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
43312
43443
  conn: sharedConn,
43313
43444
  wsUrl,
43314
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _960 => _960.current, 'optionalCall', _961 => _961()]),
43445
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _963 => _963.current, 'optionalCall', _964 => _964()]),
43315
43446
  backoff: reconnectionBackoffRef.current,
43316
43447
  getFreshUrl: () => getNatsWsUrlRef.current(),
43317
43448
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -43326,7 +43457,7 @@ function useJetStreamDialogSubscription({
43326
43457
  setReconnectionCount((c) => c + 1);
43327
43458
  }
43328
43459
  hadConnectionBeforeRef.current = true;
43329
- _optionalChain([onConnectRef, 'access', _962 => _962.current, 'optionalCall', _963 => _963()]);
43460
+ _optionalChain([onConnectRef, 'access', _965 => _965.current, 'optionalCall', _966 => _966()]);
43330
43461
  }
43331
43462
  if (status === "error") {
43332
43463
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -43336,7 +43467,7 @@ function useJetStreamDialogSubscription({
43336
43467
  setIsConnected(false);
43337
43468
  setIsSubscribed(false);
43338
43469
  tearDownSubscription();
43339
- _optionalChain([onDisconnectRef, 'access', _964 => _964.current, 'optionalCall', _965 => _965()]);
43470
+ _optionalChain([onDisconnectRef, 'access', _967 => _967.current, 'optionalCall', _968 => _968()]);
43340
43471
  }
43341
43472
  }
43342
43473
  });
@@ -43415,7 +43546,7 @@ function useJetStreamDialogSubscription({
43415
43546
  }
43416
43547
  subscriptionRef.current = handle;
43417
43548
  setIsSubscribed(true);
43418
- _optionalChain([onSubscribedRef, 'access', _966 => _966.current, 'optionalCall', _967 => _967()]);
43549
+ _optionalChain([onSubscribedRef, 'access', _969 => _969.current, 'optionalCall', _970 => _970()]);
43419
43550
  } catch (e44) {
43420
43551
  if (!cancelled) {
43421
43552
  setIsSubscribed(false);
@@ -43528,20 +43659,20 @@ function useNatsDialogSubscription({
43528
43659
  const tearDownSubscriptions = () => {
43529
43660
  subscriptionRefs.current.forEach((sub) => {
43530
43661
  try {
43531
- _optionalChain([sub, 'optionalAccess', _968 => _968.unsubscribe, 'call', _969 => _969()]);
43662
+ _optionalChain([sub, 'optionalAccess', _971 => _971.unsubscribe, 'call', _972 => _972()]);
43532
43663
  } catch (e46) {
43533
43664
  }
43534
43665
  });
43535
43666
  subscriptionRefs.current.clear();
43536
43667
  lastSubscribedDialogIdRef.current = null;
43537
- _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()]);
43538
43669
  abortControllerRef.current = null;
43539
43670
  };
43540
43671
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
43541
43672
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
43542
43673
  conn: sharedConn,
43543
43674
  wsUrl,
43544
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _973 => _973.current, 'optionalCall', _974 => _974()]),
43675
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _976 => _976.current, 'optionalCall', _977 => _977()]),
43545
43676
  backoff: reconnectionBackoffRef.current,
43546
43677
  getFreshUrl: () => getNatsWsUrlRef.current(),
43547
43678
  shouldRetryOn: isDisconnectStatus,
@@ -43552,7 +43683,7 @@ function useNatsDialogSubscription({
43552
43683
  setReconnectionCount((c) => c + 1);
43553
43684
  }
43554
43685
  hadConnectionBeforeRef.current = true;
43555
- _optionalChain([onConnectRef, 'access', _975 => _975.current, 'optionalCall', _976 => _976()]);
43686
+ _optionalChain([onConnectRef, 'access', _978 => _978.current, 'optionalCall', _979 => _979()]);
43556
43687
  }
43557
43688
  if (status === "error") {
43558
43689
  console.warn("[NATS] protocol error:", evt.data);
@@ -43562,7 +43693,7 @@ function useNatsDialogSubscription({
43562
43693
  setIsConnected(false);
43563
43694
  setIsSubscribed(false);
43564
43695
  tearDownSubscriptions();
43565
- _optionalChain([onDisconnectRef, 'access', _977 => _977.current, 'optionalCall', _978 => _978()]);
43696
+ _optionalChain([onDisconnectRef, 'access', _980 => _980.current, 'optionalCall', _981 => _981()]);
43566
43697
  }
43567
43698
  }
43568
43699
  });
@@ -43593,13 +43724,13 @@ function useNatsDialogSubscription({
43593
43724
  setIsSubscribed(false);
43594
43725
  subscriptionRefs.current.forEach((sub) => {
43595
43726
  try {
43596
- _optionalChain([sub, 'optionalAccess', _979 => _979.unsubscribe, 'call', _980 => _980()]);
43727
+ _optionalChain([sub, 'optionalAccess', _982 => _982.unsubscribe, 'call', _983 => _983()]);
43597
43728
  } catch (e47) {
43598
43729
  }
43599
43730
  });
43600
43731
  subscriptionRefs.current.clear();
43601
43732
  lastSubscribedDialogIdRef.current = null;
43602
- _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()]);
43603
43734
  abortControllerRef.current = null;
43604
43735
  }
43605
43736
  return;
@@ -43611,12 +43742,12 @@ function useNatsDialogSubscription({
43611
43742
  if (subscriptionRefs.current.size > 0) {
43612
43743
  subscriptionRefs.current.forEach((sub) => {
43613
43744
  try {
43614
- _optionalChain([sub, 'optionalAccess', _984 => _984.unsubscribe, 'call', _985 => _985()]);
43745
+ _optionalChain([sub, 'optionalAccess', _987 => _987.unsubscribe, 'call', _988 => _988()]);
43615
43746
  } catch (e48) {
43616
43747
  }
43617
43748
  });
43618
43749
  subscriptionRefs.current.clear();
43619
- _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()]);
43620
43751
  }
43621
43752
  abortControllerRef.current = new AbortController();
43622
43753
  const abort = abortControllerRef.current;
@@ -43648,7 +43779,7 @@ function useNatsDialogSubscription({
43648
43779
  });
43649
43780
  lastSubscribedDialogIdRef.current = dialogId;
43650
43781
  setIsSubscribed(true);
43651
- _optionalChain([onSubscribedRef, 'access', _989 => _989.current, 'optionalCall', _990 => _990()]);
43782
+ _optionalChain([onSubscribedRef, 'access', _992 => _992.current, 'optionalCall', _993 => _993()]);
43652
43783
  };
43653
43784
  if (isConnectedRef.current) {
43654
43785
  createSubscriptions();
@@ -43658,7 +43789,7 @@ function useNatsDialogSubscription({
43658
43789
  abort.abort();
43659
43790
  subscriptionRefs.current.forEach((sub) => {
43660
43791
  try {
43661
- _optionalChain([sub, 'optionalAccess', _991 => _991.unsubscribe, 'call', _992 => _992()]);
43792
+ _optionalChain([sub, 'optionalAccess', _994 => _994.unsubscribe, 'call', _995 => _995()]);
43662
43793
  } catch (e50) {
43663
43794
  }
43664
43795
  });
@@ -43699,7 +43830,7 @@ function useNatsDialogSubscription({
43699
43830
  });
43700
43831
  lastSubscribedDialogIdRef.current = dialogId2;
43701
43832
  setIsSubscribed(true);
43702
- _optionalChain([onSubscribedRef, 'access', _993 => _993.current, 'optionalCall', _994 => _994()]);
43833
+ _optionalChain([onSubscribedRef, 'access', _996 => _996.current, 'optionalCall', _997 => _997()]);
43703
43834
  } else if (subscriptionRefs.current.size > 0) {
43704
43835
  setIsSubscribed(true);
43705
43836
  }
@@ -43707,10 +43838,10 @@ function useNatsDialogSubscription({
43707
43838
  return { isConnected, isSubscribed, reconnectionCount };
43708
43839
  }
43709
43840
  function buildNatsWsUrl(apiBaseUrl, options) {
43710
- 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";
43711
43842
  const u = new URL(path, apiBaseUrl);
43712
43843
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
43713
- 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])) {
43714
43845
  u.searchParams.set("authorization", options.token);
43715
43846
  }
43716
43847
  return u.toString();
@@ -43846,7 +43977,7 @@ function parseChunkToAction(chunk) {
43846
43977
  // is REQUIRED on `ChatContextItem`, so fall back to the id (same as the
43847
43978
  // historical path in `process-historical-messages.ts`) — keeps both
43848
43979
  // message sources producing an identical shape.
43849
- 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
43850
43981
  };
43851
43982
  case MESSAGE_TYPE.TOKEN_USAGE:
43852
43983
  return {
@@ -44038,8 +44169,8 @@ var MessageSegmentAccumulator = class {
44038
44169
  type: "tool_execution",
44039
44170
  data: {
44040
44171
  ...toolData,
44041
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _1000 => _1000.data, 'access', _1001 => _1001.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _1002 => _1002.toolTitle]))),
44042
- 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])
44043
44174
  }
44044
44175
  };
44045
44176
  if (existingIndex !== -1) {
@@ -44063,8 +44194,8 @@ var MessageSegmentAccumulator = class {
44063
44194
  if (seg.type !== "approval_batch") return seg;
44064
44195
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
44065
44196
  if (!hasCall) return seg;
44066
- const prev = _optionalChain([seg, 'access', _1004 => _1004.data, 'access', _1005 => _1005.executions, 'optionalAccess', _1006 => _1006[execId]]);
44067
- 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]) };
44068
44199
  matched = true;
44069
44200
  return {
44070
44201
  ...seg,
@@ -44186,10 +44317,10 @@ var MessageSegmentAccumulator = class {
44186
44317
  const segment = {
44187
44318
  type: "approval_request",
44188
44319
  data: {
44189
- command: _optionalChain([pendingApproval, 'optionalAccess', _1009 => _1009.command]) || "",
44190
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _1010 => _1010.explanation]),
44320
+ command: _optionalChain([pendingApproval, 'optionalAccess', _1012 => _1012.command]) || "",
44321
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _1013 => _1013.explanation]),
44191
44322
  requestId,
44192
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1011 => _1011.approvalType]) || approvalType
44323
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _1014 => _1014.approvalType]) || approvalType
44193
44324
  },
44194
44325
  status,
44195
44326
  onApprove: this.callbacks.onApprove,
@@ -44381,7 +44512,7 @@ function useRealtimeChunkProcessor(options) {
44381
44512
  if (initialState.escalatedApprovals) {
44382
44513
  pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
44383
44514
  initialState.escalatedApprovals.forEach((data, requestId) => {
44384
- _optionalChain([callbacks, 'access', _1012 => _1012.onEscalatedApproval, 'optionalCall', _1013 => _1013(requestId, data)]);
44515
+ _optionalChain([callbacks, 'access', _1015 => _1015.onEscalatedApproval, 'optionalCall', _1016 => _1016(requestId, data)]);
44385
44516
  });
44386
44517
  }
44387
44518
  hasEverStreamedRef.current = true;
@@ -44402,12 +44533,12 @@ function useRealtimeChunkProcessor(options) {
44402
44533
  if (!action) return;
44403
44534
  const accumulator = accumulatorRef.current;
44404
44535
  const streamSeq = chunk && typeof chunk === "object" && typeof chunk.streamSeq === "number" ? chunk.streamSeq : void 0;
44405
- 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)]);
44406
44537
  if (action.action === "direct_message") sawDirectMessageRef.current = true;
44407
44538
  if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
44408
44539
  if (isInStreamRef.current) {
44409
44540
  isInStreamRef.current = false;
44410
- _optionalChain([callbacks, 'access', _1016 => _1016.onStreamEnd, 'optionalCall', _1017 => _1017()]);
44541
+ _optionalChain([callbacks, 'access', _1019 => _1019.onStreamEnd, 'optionalCall', _1020 => _1020()]);
44411
44542
  accumulator.resetSegments();
44412
44543
  }
44413
44544
  return;
@@ -44416,16 +44547,16 @@ function useRealtimeChunkProcessor(options) {
44416
44547
  case "message_start":
44417
44548
  isInStreamRef.current = true;
44418
44549
  hasEverStreamedRef.current = true;
44419
- _optionalChain([callbacks, 'access', _1018 => _1018.onStreamStart, 'optionalCall', _1019 => _1019()]);
44550
+ _optionalChain([callbacks, 'access', _1021 => _1021.onStreamStart, 'optionalCall', _1022 => _1022()]);
44420
44551
  accumulator.resetSegments();
44421
44552
  break;
44422
44553
  case "message_end":
44423
44554
  isInStreamRef.current = false;
44424
- _optionalChain([callbacks, 'access', _1020 => _1020.onStreamEnd, 'optionalCall', _1021 => _1021()]);
44555
+ _optionalChain([callbacks, 'access', _1023 => _1023.onStreamEnd, 'optionalCall', _1024 => _1024()]);
44425
44556
  accumulator.resetSegments();
44426
44557
  break;
44427
44558
  case "metadata":
44428
- _optionalChain([callbacks, 'access', _1022 => _1022.onMetadata, 'optionalCall', _1023 => _1023(action)]);
44559
+ _optionalChain([callbacks, 'access', _1025 => _1025.onMetadata, 'optionalCall', _1026 => _1026(action)]);
44429
44560
  break;
44430
44561
  case "text": {
44431
44562
  const segments = accumulator.appendText(action.text);
@@ -44468,7 +44599,7 @@ function useRealtimeChunkProcessor(options) {
44468
44599
  emitSegments(segments);
44469
44600
  } else {
44470
44601
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
44471
- _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 })]);
44472
44603
  }
44473
44604
  break;
44474
44605
  }
@@ -44480,13 +44611,13 @@ function useRealtimeChunkProcessor(options) {
44480
44611
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
44481
44612
  pendingEscalatedRef.current.set(requestId, {
44482
44613
  command: summary,
44483
- explanation: _optionalChain([required, 'optionalAccess', _1026 => _1026.toolExplanation]),
44614
+ explanation: _optionalChain([required, 'optionalAccess', _1029 => _1029.toolExplanation]),
44484
44615
  approvalType,
44485
44616
  toolCalls
44486
44617
  });
44487
- _optionalChain([callbacks, 'access', _1027 => _1027.onEscalatedApproval, 'optionalCall', _1028 => _1028(requestId, {
44618
+ _optionalChain([callbacks, 'access', _1030 => _1030.onEscalatedApproval, 'optionalCall', _1031 => _1031(requestId, {
44488
44619
  command: summary,
44489
- explanation: _optionalChain([required, 'optionalAccess', _1029 => _1029.toolExplanation]),
44620
+ explanation: _optionalChain([required, 'optionalAccess', _1032 => _1032.toolExplanation]),
44490
44621
  approvalType
44491
44622
  })]);
44492
44623
  break;
@@ -44516,7 +44647,7 @@ function useRealtimeChunkProcessor(options) {
44516
44647
  const status = approved ? "approved" : "rejected";
44517
44648
  if (escalatedData) {
44518
44649
  pendingEscalatedRef.current.delete(requestId);
44519
- _optionalChain([callbacks, 'access', _1030 => _1030.onEscalatedApprovalResult, 'optionalCall', _1031 => _1031(requestId, approved, {
44650
+ _optionalChain([callbacks, 'access', _1033 => _1033.onEscalatedApprovalResult, 'optionalCall', _1034 => _1034(requestId, approved, {
44520
44651
  command: escalatedData.command,
44521
44652
  explanation: escalatedData.explanation,
44522
44653
  approvalType: escalatedData.approvalType
@@ -44562,29 +44693,29 @@ function useRealtimeChunkProcessor(options) {
44562
44693
  emitSegments(accumulator.getSegments());
44563
44694
  }
44564
44695
  }
44565
- _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)]);
44566
44697
  break;
44567
44698
  }
44568
44699
  case "error": {
44569
44700
  let message2;
44570
- if ("details" in action && _optionalChain([action, 'optionalAccess', _1034 => _1034.details])) {
44701
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _1037 => _1037.details])) {
44571
44702
  try {
44572
- 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]);
44573
44704
  } catch (e52) {
44574
44705
  message2 = action.details;
44575
44706
  }
44576
44707
  }
44577
44708
  const segments = accumulator.addError(action.error, message2);
44578
44709
  emitSegments(segments);
44579
- _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)]);
44580
44711
  break;
44581
44712
  }
44582
44713
  case "system": {
44583
- _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 })]);
44584
44715
  break;
44585
44716
  }
44586
44717
  case "direct_message": {
44587
- _optionalChain([callbacks, 'access', _1043 => _1043.onDirectMessage, 'optionalCall', _1044 => _1044(action.text, {
44718
+ _optionalChain([callbacks, 'access', _1046 => _1046.onDirectMessage, 'optionalCall', _1047 => _1047(action.text, {
44588
44719
  ownerType: action.ownerType,
44589
44720
  displayName: action.displayName,
44590
44721
  userId: action.userId,
@@ -44593,7 +44724,7 @@ function useRealtimeChunkProcessor(options) {
44593
44724
  break;
44594
44725
  }
44595
44726
  case "message_request":
44596
- _optionalChain([callbacks, 'access', _1045 => _1045.onUserMessage, 'optionalCall', _1046 => _1046(action.text, {
44727
+ _optionalChain([callbacks, 'access', _1048 => _1048.onUserMessage, 'optionalCall', _1049 => _1049(action.text, {
44597
44728
  ownerType: action.ownerType,
44598
44729
  displayName: action.displayName,
44599
44730
  userId: action.userId,
@@ -44602,7 +44733,7 @@ function useRealtimeChunkProcessor(options) {
44602
44733
  })]);
44603
44734
  break;
44604
44735
  case "token_usage":
44605
- _optionalChain([callbacks, 'access', _1047 => _1047.onTokenUsage, 'optionalCall', _1048 => _1048(action.data)]);
44736
+ _optionalChain([callbacks, 'access', _1050 => _1050.onTokenUsage, 'optionalCall', _1051 => _1051(action.data)]);
44606
44737
  break;
44607
44738
  case "context_compaction_start": {
44608
44739
  const standalone = !isInStreamRef.current;
@@ -44617,7 +44748,7 @@ function useRealtimeChunkProcessor(options) {
44617
44748
  break;
44618
44749
  }
44619
44750
  case "dialog_closed":
44620
- _optionalChain([callbacks, 'access', _1049 => _1049.onDialogClosed, 'optionalCall', _1050 => _1050()]);
44751
+ _optionalChain([callbacks, 'access', _1052 => _1052.onDialogClosed, 'optionalCall', _1053 => _1053()]);
44621
44752
  break;
44622
44753
  default:
44623
44754
  break;
@@ -44664,7 +44795,7 @@ async function fetchSlashCommands(prefix, signal, commandsUrl) {
44664
44795
  const data = await res.json();
44665
44796
  return _nullishCoalesce(data.commands, () => ( []));
44666
44797
  } catch (err) {
44667
- if (_optionalChain([err, 'optionalAccess', _1051 => _1051.name]) === "AbortError") throw err;
44798
+ if (_optionalChain([err, 'optionalAccess', _1054 => _1054.name]) === "AbortError") throw err;
44668
44799
  console.warn("[chat] slash-commands fetch failed, showing none:", err);
44669
44800
  return [];
44670
44801
  }
@@ -44685,7 +44816,7 @@ function useSlashCommands(prefix, commandsUrl) {
44685
44816
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
44686
44817
  if (!cancelled) setCommands(next);
44687
44818
  } catch (err) {
44688
- if (!cancelled && _optionalChain([err, 'optionalAccess', _1052 => _1052.name]) !== "AbortError") {
44819
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _1055 => _1055.name]) !== "AbortError") {
44689
44820
  console.warn("[use-slash-commands] fetch failed:", err);
44690
44821
  }
44691
44822
  } finally {
@@ -44704,7 +44835,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
44704
44835
  const query = _reactquery.useQuery.call(void 0, {
44705
44836
  queryKey: ["chat-slash-commands", commandsUrl],
44706
44837
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
44707
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1053 => _1053.enabled]), () => ( true)),
44838
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1056 => _1056.enabled]), () => ( true)),
44708
44839
  staleTime: Infinity,
44709
44840
  gcTime: Infinity,
44710
44841
  // The commands registry is non-critical chrome — a failure degrades to an
@@ -44740,18 +44871,18 @@ async function fetchEmptyStateConfig(signal, emptyStateUrl) {
44740
44871
  }
44741
44872
  const data = await res.json();
44742
44873
  return {
44743
- greeting: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1054 => _1054.greeting]), () => ( null)),
44744
- enabledRagTableIds: _nullishCoalesce(_optionalChain([data, 'optionalAccess', _1055 => _1055.enabledRagTableIds]), () => ( [])),
44745
- 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]), () => ( []))
44746
44877
  };
44747
44878
  } catch (err) {
44748
- if (_optionalChain([err, 'optionalAccess', _1057 => _1057.name]) === "AbortError") throw err;
44879
+ if (_optionalChain([err, 'optionalAccess', _1060 => _1060.name]) === "AbortError") throw err;
44749
44880
  console.warn("[chat] empty-state config fetch failed, using neutral defaults:", err);
44750
44881
  return EMPTY_STATE_FALLBACK;
44751
44882
  }
44752
44883
  }
44753
44884
  function useEmptyStateConfig(emptyStateUrl, options) {
44754
- const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1058 => _1058.enabled]), () => ( true))) && !!emptyStateUrl;
44885
+ const enabled = (_nullishCoalesce(_optionalChain([options, 'optionalAccess', _1061 => _1061.enabled]), () => ( true))) && !!emptyStateUrl;
44755
44886
  const query = _reactquery.useQuery.call(void 0, {
44756
44887
  queryKey: ["chat-empty-state", emptyStateUrl],
44757
44888
  queryFn: ({ signal }) => fetchEmptyStateConfig(signal, emptyStateUrl),
@@ -44780,7 +44911,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
44780
44911
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
44781
44912
  function uploadWithProgress(url, file, token, onProgress, signal) {
44782
44913
  return new Promise((resolve, reject) => {
44783
- if (_optionalChain([signal, 'optionalAccess', _1059 => _1059.aborted])) {
44914
+ if (_optionalChain([signal, 'optionalAccess', _1062 => _1062.aborted])) {
44784
44915
  reject(new Error("Upload cancelled"));
44785
44916
  return;
44786
44917
  }
@@ -44794,7 +44925,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
44794
44925
  xhr.removeEventListener("error", handleError);
44795
44926
  xhr.removeEventListener("abort", handleAbort);
44796
44927
  xhr.removeEventListener("timeout", handleTimeout);
44797
- _optionalChain([signal, 'optionalAccess', _1060 => _1060.removeEventListener, 'call', _1061 => _1061("abort", handleSignalAbort)]);
44928
+ _optionalChain([signal, 'optionalAccess', _1063 => _1063.removeEventListener, 'call', _1064 => _1064("abort", handleSignalAbort)]);
44798
44929
  if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
44799
44930
  };
44800
44931
  const handleProgress = (event) => {
@@ -44830,7 +44961,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
44830
44961
  const handleSignalAbort = () => {
44831
44962
  xhr.abort();
44832
44963
  };
44833
- _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 })]);
44834
44965
  xhr.upload.addEventListener("progress", handleProgress);
44835
44966
  xhr.addEventListener("load", handleLoad);
44836
44967
  xhr.addEventListener("error", handleError);
@@ -44874,12 +45005,12 @@ function useChatAttachments() {
44874
45005
  try {
44875
45006
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
44876
45007
  } catch (err) {
44877
- 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;
44878
45009
  throw new Error(
44879
45010
  `Could not read file content: ${err instanceof Error ? err.message : String(err)}`
44880
45011
  );
44881
45012
  }
44882
- 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;
44883
45014
  if (!sniffed) {
44884
45015
  throw new Error("Unrecognized file format");
44885
45016
  }
@@ -44893,7 +45024,7 @@ function useChatAttachments() {
44893
45024
  const urlResp = await _chunk27IO7V3Pcjs.embedAuthedFetch.call(void 0, uploadUrlEndpoint, {
44894
45025
  method: "POST",
44895
45026
  headers: { "Content-Type": "application/json" },
44896
- signal: _optionalChain([ctrl, 'optionalAccess', _1068 => _1068.signal]),
45027
+ signal: _optionalChain([ctrl, 'optionalAccess', _1071 => _1071.signal]),
44897
45028
  body: JSON.stringify({
44898
45029
  fileName: att.file.name,
44899
45030
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -44919,9 +45050,9 @@ function useChatAttachments() {
44919
45050
  (pct) => {
44920
45051
  updateOne(att.id, { progress: pct });
44921
45052
  },
44922
- _optionalChain([ctrl, 'optionalAccess', _1069 => _1069.signal])
45053
+ _optionalChain([ctrl, 'optionalAccess', _1072 => _1072.signal])
44923
45054
  );
44924
- 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;
44925
45056
  updateOne(att.id, {
44926
45057
  status: "ready",
44927
45058
  progress: 100,
@@ -44929,7 +45060,7 @@ function useChatAttachments() {
44929
45060
  viewToken: mintData.viewToken
44930
45061
  });
44931
45062
  } catch (err) {
44932
- 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;
44933
45064
  const message2 = err instanceof Error ? err.message : String(err);
44934
45065
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
44935
45066
  } finally {
@@ -45080,7 +45211,7 @@ var ANON_DEFAULTS = {
45080
45211
  function useResolveChatIdentity(enabled) {
45081
45212
  const runtime = _chunkN2DVKXN4cjs.useRequiredChatRuntime.call(void 0, );
45082
45213
  const url = runtime.endpoints.identityUrl;
45083
- 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));
45084
45215
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
45085
45216
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
45086
45217
  _react.useEffect.call(void 0, () => {
@@ -45171,7 +45302,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
45171
45302
  yield chunk;
45172
45303
  }
45173
45304
  } catch (err) {
45174
- if (_optionalChain([err, 'optionalAccess', _1075 => _1075.name]) === "AbortError" || ctrl.signal.aborted) {
45305
+ if (_optionalChain([err, 'optionalAccess', _1078 => _1078.name]) === "AbortError" || ctrl.signal.aborted) {
45175
45306
  return;
45176
45307
  }
45177
45308
  const errorMessage = err instanceof Error ? err.message : "An error occurred";
@@ -45222,7 +45353,7 @@ function useChat({
45222
45353
  const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
45223
45354
  onMessagesChangeRef.current = onMessagesChange;
45224
45355
  _react.useEffect.call(void 0, () => {
45225
- _optionalChain([onMessagesChangeRef, 'access', _1076 => _1076.current, 'optionalCall', _1077 => _1077(messages)]);
45356
+ _optionalChain([onMessagesChangeRef, 'access', _1079 => _1079.current, 'optionalCall', _1080 => _1080(messages)]);
45226
45357
  }, [messages]);
45227
45358
  const {
45228
45359
  streamMessage,
@@ -45259,7 +45390,7 @@ function useChat({
45259
45390
  name: "You",
45260
45391
  content: text,
45261
45392
  timestamp: /* @__PURE__ */ new Date(),
45262
- ..._optionalChain([options, 'optionalAccess', _1078 => _1078.hidden]) ? { hidden: true } : {}
45393
+ ..._optionalChain([options, 'optionalAccess', _1081 => _1081.hidden]) ? { hidden: true } : {}
45263
45394
  };
45264
45395
  addMessage(userMessage);
45265
45396
  setIsTyping(true);
@@ -45321,7 +45452,7 @@ function useChat({
45321
45452
  currentTextSegment = "";
45322
45453
  }
45323
45454
  const seg = segment;
45324
- 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]);
45325
45456
  const updateApprovalMessage = (transform) => {
45326
45457
  setMessages((prev) => {
45327
45458
  for (let i = prev.length - 1; i >= 0; i--) {
@@ -45330,7 +45461,7 @@ function useChat({
45330
45461
  if (!Array.isArray(m.content)) continue;
45331
45462
  const segments = m.content;
45332
45463
  const hasMatch = segments.some(
45333
- (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
45334
45465
  );
45335
45466
  if (!hasMatch) continue;
45336
45467
  const next = [...prev];
@@ -45372,11 +45503,11 @@ function useChat({
45372
45503
  if (!Array.isArray(m.content)) continue;
45373
45504
  const segments = m.content;
45374
45505
  const hasMatch = segments.some(
45375
- (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
45376
45507
  );
45377
45508
  if (!hasMatch) continue;
45378
45509
  const flipped = segments.map(
45379
- (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
45380
45511
  );
45381
45512
  const next = [...prev];
45382
45513
  next[i] = { ...m, content: flipped };
@@ -45538,8 +45669,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
45538
45669
  })),
45539
45670
  { role: "user", content: message2 }
45540
45671
  ];
45541
- const targetPath = _optionalChain([extra, 'optionalAccess', _1087 => _1087.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
45542
- 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]) ? {
45543
45674
  proposal_id: extra.approvalAction.proposalId,
45544
45675
  action: extra.approvalAction.action,
45545
45676
  messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
@@ -45548,8 +45679,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
45548
45679
  }))
45549
45680
  } : {
45550
45681
  messages: apiMessages,
45551
- ..._optionalChain([extra, 'optionalAccess', _1089 => _1089.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
45552
- ..._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 } : {}
45553
45684
  };
45554
45685
  const response = await _chunk27IO7V3Pcjs.embedAuthedFetch.call(void 0, targetPath, {
45555
45686
  method: "POST",
@@ -45559,7 +45690,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
45559
45690
  if (!response.ok) {
45560
45691
  throw new Error(`Chat request failed: ${response.status}`);
45561
45692
  }
45562
- 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()]);
45563
45694
  if (!reader) throw new Error("No response body");
45564
45695
  const decoder = new TextDecoder();
45565
45696
  let buffer = "";
@@ -45642,7 +45773,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
45642
45773
  const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
45643
45774
  const result = _nullishCoalesce(meta.result, () => ( null));
45644
45775
  const card = _nullishCoalesce(meta.card, () => ( null));
45645
- 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])) {
45646
45777
  const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
45647
45778
  const key = buildChatRefKey(card.type, card.ref.id);
45648
45779
  refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
@@ -45655,8 +45786,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
45655
45786
  willAutoContinue: meta.willAutoContinue === true,
45656
45787
  ...toolName ? { toolName } : {},
45657
45788
  ...result ? { result } : {},
45658
- ..._optionalChain([card, 'optionalAccess', _1097 => _1097.marker]) ? { marker: card.marker } : {},
45659
- ..._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 } : {},
45660
45791
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
45661
45792
  proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
45662
45793
  };
@@ -45775,7 +45906,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
45775
45906
  var chatStorageKey = (source) => {
45776
45907
  const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
45777
45908
  const auth = _chunk27IO7V3Pcjs.getEmbedProxyAuth.call(void 0, );
45778
- if (_optionalChain([auth, 'optionalAccess', _1099 => _1099.email])) {
45909
+ if (_optionalChain([auth, 'optionalAccess', _1102 => _1102.email])) {
45779
45910
  return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
45780
45911
  }
45781
45912
  return base;
@@ -45830,7 +45961,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
45830
45961
  const { active = true } = runtimeOptions;
45831
45962
  const runtime = _chunkN2DVKXN4cjs.useRequiredChatRuntime.call(void 0, );
45832
45963
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
45833
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1100 => _1100.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
45964
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _1103 => _1103.tableIdForDocumentType]), () => ( defaultTableIdForDocumentType));
45834
45965
  const persistedRef = _react.useRef.call(void 0, null);
45835
45966
  if (persistedRef.current === null) {
45836
45967
  pruneStaleChatStorage(source);
@@ -45935,7 +46066,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
45935
46066
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
45936
46067
  sources = sourcesMapRef.current.get(lookupIdx);
45937
46068
  chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
45938
- 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));
45939
46070
  }
45940
46071
  return {
45941
46072
  id: m.id,
@@ -45983,7 +46114,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
45983
46114
  );
45984
46115
  return;
45985
46116
  }
45986
- 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 : "";
45987
46118
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
45988
46119
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
45989
46120
  const text = `/${cmdId} display "${escaped}"`;
@@ -46055,18 +46186,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
46055
46186
  clearMessages,
46056
46187
  streamingPhase,
46057
46188
  /** Provider key for the lib's `<ModelDisplay>` icon. */
46058
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1107 => _1107.provider]), () => ( null)),
46059
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1108 => _1108.modelLabel]), () => ( null)),
46060
- 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)),
46061
46192
  /** Input tokens (known after server's message_start frame; null until). */
46062
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1110 => _1110.inputTokens]), () => ( null)),
46193
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1113 => _1113.inputTokens]), () => ( null)),
46063
46194
  /** Output tokens (known only after server's trailing usage frame). */
46064
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1111 => _1111.outputTokens]), () => ( null)),
46195
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1114 => _1114.outputTokens]), () => ( null)),
46065
46196
  /** Cache hit % (read / total-input × 100). null during streaming. */
46066
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1112 => _1112.cacheHitRatePct]), () => ( null)),
46197
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1115 => _1115.cacheHitRatePct]), () => ( null)),
46067
46198
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
46068
46199
  * token counts). null until the trailing usage frame lands. */
46069
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1113 => _1113.breakdown]), () => ( null)),
46200
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _1116 => _1116.breakdown]), () => ( null)),
46070
46201
  // ─── Dialog management — stubs for v1 ────────────────────────────────
46071
46202
  // Guide mode currently keeps its history in `localStorage` opaquely
46072
46203
  // under the hood (`runtime.source` namespaced key). Surfacing that
@@ -46124,15 +46255,15 @@ var noopRejectRequest = async (_id, _reason) => {
46124
46255
 
46125
46256
  // src/components/chat/utils/process-historical-messages.ts
46126
46257
  function getOwnerDisplayName(owner) {
46127
- 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) {
46128
46259
  const { firstName, lastName } = owner.user;
46129
46260
  const name = [firstName, lastName].filter(Boolean).join(" ");
46130
46261
  if (name) return name;
46131
46262
  }
46132
- 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";
46133
46264
  }
46134
46265
  function getOwnerAvatar(owner) {
46135
- 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));
46136
46267
  }
46137
46268
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
46138
46269
  messageDataArray.forEach((data) => {
@@ -46195,14 +46326,14 @@ function processHistoricalMessages(messages, options = {}) {
46195
46326
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
46196
46327
  return;
46197
46328
  }
46198
- 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;
46199
46330
  if (isUserMessage) {
46200
46331
  flushAssistantMessage();
46201
- 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";
46202
46333
  messageDataArray.forEach((data) => {
46203
46334
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
46204
46335
  const rawContext = data.contextItems;
46205
- 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;
46206
46337
  processedMessages.push({
46207
46338
  id: msg.id,
46208
46339
  role: "user",
@@ -46226,7 +46357,7 @@ function processHistoricalMessages(messages, options = {}) {
46226
46357
  });
46227
46358
  const nextMsg = messages[index + 1];
46228
46359
  const isLastMessage = index === messages.length - 1;
46229
- 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);
46230
46361
  if (isLastMessage || nextIsFromUser) {
46231
46362
  flushAssistantMessage();
46232
46363
  }
@@ -46336,7 +46467,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46336
46467
  }
46337
46468
  }
46338
46469
  } else {
46339
- _optionalChain([escalatedApprovals, 'optionalAccess', _1131 => _1131.set, 'call', _1132 => _1132(data.approvalRequestId, {
46470
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1134 => _1134.set, 'call', _1135 => _1135(data.approvalRequestId, {
46340
46471
  command: data.command || "",
46341
46472
  explanation: data.explanation,
46342
46473
  approvalType,
@@ -46350,8 +46481,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46350
46481
  const existingStatus = approvalStatuses[data.approvalRequestId];
46351
46482
  const status = existingStatus || (data.approved ? "approved" : "rejected");
46352
46483
  const resolvedByName = "resolvedByName" in data ? data.resolvedByName : void 0;
46353
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _1133 => _1133.get, 'call', _1134 => _1134(data.approvalRequestId)]);
46354
- 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) {
46355
46486
  if (batchApprovalsEnabled) {
46356
46487
  accumulator.addApprovalBatch(
46357
46488
  data.approvalRequestId,
@@ -46373,7 +46504,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46373
46504
  );
46374
46505
  }
46375
46506
  }
46376
- _optionalChain([escalatedApprovals, 'optionalAccess', _1136 => _1136.delete, 'call', _1137 => _1137(data.approvalRequestId)]);
46507
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1139 => _1139.delete, 'call', _1140 => _1140(data.approvalRequestId)]);
46377
46508
  break;
46378
46509
  }
46379
46510
  if (escalatedData) {
@@ -46382,7 +46513,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46382
46513
  explanation: escalatedData.explanation,
46383
46514
  approvalType: escalatedData.approvalType
46384
46515
  });
46385
- _optionalChain([escalatedApprovals, 'optionalAccess', _1138 => _1138.delete, 'call', _1139 => _1139(data.approvalRequestId)]);
46516
+ _optionalChain([escalatedApprovals, 'optionalAccess', _1141 => _1141.delete, 'call', _1142 => _1142(data.approvalRequestId)]);
46386
46517
  }
46387
46518
  const before = accumulator.getSegments();
46388
46519
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status, resolvedByName);
@@ -46398,9 +46529,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
46398
46529
  case MESSAGE_TYPE.ERROR:
46399
46530
  if ("error" in data) {
46400
46531
  let message2;
46401
- if ("details" in data && _optionalChain([data, 'optionalAccess', _1140 => _1140.details])) {
46532
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _1143 => _1143.details])) {
46402
46533
  try {
46403
- 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]);
46404
46535
  } catch (e59) {
46405
46536
  message2 = data.details;
46406
46537
  }
@@ -46483,14 +46614,14 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
46483
46614
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
46484
46615
  return;
46485
46616
  }
46486
- 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;
46487
46618
  if (isUserMessage) {
46488
46619
  flushAssistantMessage();
46489
- 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";
46490
46621
  messageDataArray.forEach((data) => {
46491
46622
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
46492
46623
  const rawContext = data.contextItems;
46493
- 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;
46494
46625
  processedMessages.push({
46495
46626
  id: msg.id,
46496
46627
  role: "user",
@@ -46514,7 +46645,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
46514
46645
  });
46515
46646
  const nextMsg = messages[index + 1];
46516
46647
  const isLastMessage = index === messages.length - 1;
46517
- 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);
46518
46649
  if (isLastMessage || nextIsFromUser) {
46519
46650
  flushAssistantMessage();
46520
46651
  }
@@ -46850,7 +46981,7 @@ function useNatsChatAdapter(config, options = {}) {
46850
46981
  }, [active, fetchDialogs, loadDialogsPage]);
46851
46982
  const sendMessage = _react.useCallback.call(void 0,
46852
46983
  async (text, sendOptions) => {
46853
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1157 => _1157.hidden]), () => ( false));
46984
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1160 => _1160.hidden]), () => ( false));
46854
46985
  setMessages((prev) => [
46855
46986
  ...prev,
46856
46987
  {
@@ -47014,11 +47145,11 @@ function useNatsChatAdapter(config, options = {}) {
47014
47145
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
47015
47146
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
47016
47147
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
47017
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1158 => _1158.provider]), () => ( modelProvider)), () => ( null)),
47018
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1159 => _1159.modelLabel]), () => ( modelLabel)), () => ( null)),
47019
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1160 => _1160.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1161 => _1161.contextWindowMaxTokens]))), () => ( null)),
47020
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1162 => _1162.inputTokensSize]), () => ( null)),
47021
- 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)),
47022
47153
  currentCacheHitRatePct: null,
47023
47154
  currentUsageBreakdown: null,
47024
47155
  // Dialog management
@@ -47266,7 +47397,7 @@ function extractIncompleteMessageState(lastMessage) {
47266
47397
  break;
47267
47398
  case "approval_batch": {
47268
47399
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
47269
- (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"
47270
47401
  );
47271
47402
  if (segment.status !== "rejected" && !allDone) {
47272
47403
  hasIncompleteState = true;
@@ -47334,20 +47465,20 @@ function mergeHistoryWithRealtime(input) {
47334
47465
  const seqCoverageKnown = realtimeSeenStreamSeq > 0 && historyMaxStreamSeq > 0;
47335
47466
  const historyCoversRealtime = seqCoverageKnown ? historyMaxStreamSeq >= realtimeSeenStreamSeq : null;
47336
47467
  const trailing = processedHistory[processedHistory.length - 1];
47337
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1168 => _1168.role]) === "assistant" ? trailing : null;
47338
- 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;
47339
47470
  let processedToUse = processedHistory;
47340
47471
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
47341
47472
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
47342
47473
  if (historyBatchId) {
47343
47474
  const batchTwins = existingMessages.filter(
47344
47475
  (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
47345
- (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
47346
47477
  )
47347
47478
  );
47348
47479
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
47349
47480
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
47350
- 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;
47351
47482
  const realtimeSize = existingWithSameBatch.content.length;
47352
47483
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
47353
47484
  processedToUse = processedHistory.slice(0, -1);
@@ -47363,16 +47494,16 @@ function mergeHistoryWithRealtime(input) {
47363
47494
  if (pinnedSyntheticIds.has(m.id)) return true;
47364
47495
  if (droppedSyntheticIds.has(m.id)) return false;
47365
47496
  if (processedIds.has(m.id)) return false;
47366
- 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;
47367
47498
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
47368
- 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;
47369
47500
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
47370
47501
  }
47371
47502
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
47372
47503
  if (m.role === "assistant" && trailingAssistantText && assistantAnswerText(m.content) === trailingAssistantText) {
47373
47504
  return false;
47374
47505
  }
47375
- 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;
47376
47507
  if (covered) return false;
47377
47508
  }
47378
47509
  return true;
@@ -47592,7 +47723,7 @@ function useChatDialogManager({
47592
47723
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
47593
47724
  if (restoreTarget) {
47594
47725
  try {
47595
- await _optionalChain([unarchiveDialog, 'optionalCall', _1185 => _1185(restoreTarget.id)]);
47726
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1188 => _1188(restoreTarget.id)]);
47596
47727
  } catch (err) {
47597
47728
  console.error("[useChatDialogManager] unarchive failed:", err);
47598
47729
  return;
@@ -48001,7 +48132,7 @@ function EmbeddableChatInner({
48001
48132
  }),
48002
48133
  [commandsUrl]
48003
48134
  );
48004
- 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;
48005
48136
  const effectiveModes = _react.useMemo.call(void 0, () => {
48006
48137
  if (modes) return modes;
48007
48138
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -48010,19 +48141,19 @@ function EmbeddableChatInner({
48010
48141
  const mingoCaps = _react.useMemo.call(void 0, () => {
48011
48142
  if (mingoState) {
48012
48143
  return {
48013
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1195 => _1195.canRename]), () => ( false)),
48014
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1196 => _1196.canArchive]), () => ( false)),
48015
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1197 => _1197.fetchArchivedDialogs]),
48016
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1198 => _1198.unarchiveDialog]),
48017
- searchQuery: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1199 => _1199.searchQuery]),
48018
- 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])
48019
48150
  };
48020
48151
  }
48021
48152
  return {
48022
- canRename: !!_optionalChain([effectiveModes, 'access', _1201 => _1201.mingo, 'optionalAccess', _1202 => _1202.renameDialog]),
48023
- canArchive: !!_optionalChain([effectiveModes, 'access', _1203 => _1203.mingo, 'optionalAccess', _1204 => _1204.archiveDialog]),
48024
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1205 => _1205.mingo, 'optionalAccess', _1206 => _1206.fetchArchivedDialogs]),
48025
- 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]),
48026
48157
  searchQuery: void 0,
48027
48158
  onSearchChange: void 0
48028
48159
  };
@@ -48036,7 +48167,7 @@ function EmbeddableChatInner({
48036
48167
  if (controlledActiveMode === void 0) {
48037
48168
  setUncontrolledActiveMode(next);
48038
48169
  }
48039
- _optionalChain([onActiveModeChange, 'optionalCall', _1209 => _1209(next)]);
48170
+ _optionalChain([onActiveModeChange, 'optionalCall', _1212 => _1212(next)]);
48040
48171
  },
48041
48172
  [controlledActiveMode, onActiveModeChange]
48042
48173
  );
@@ -48090,7 +48221,7 @@ function EmbeddableChatInner({
48090
48221
  clear: clearAttachments
48091
48222
  } = useChatAttachments();
48092
48223
  const { panelRef: galleryPanelRef, modal: galleryModal } = useChatAttachmentImageGallery();
48093
- const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1210 => _1210.maxItems]), () => ( 10));
48224
+ const contextMaxItems = _nullishCoalesce(_optionalChain([contextPicker, 'optionalAccess', _1213 => _1213.maxItems]), () => ( 10));
48094
48225
  const contextPickerForMode = activeMode === "mingo" ? contextPicker : void 0;
48095
48226
  const [contextItems, setContextItems] = _react.useState.call(void 0, []);
48096
48227
  const [contextPickerOpen, setContextPickerOpen] = _react.useState.call(void 0, false);
@@ -48107,10 +48238,10 @@ function EmbeddableChatInner({
48107
48238
  }, [activeDialogId, activeMode]);
48108
48239
  const mentionMarkerByType = _react.useMemo.call(void 0, () => {
48109
48240
  const m = /* @__PURE__ */ new Map();
48110
- 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);
48111
48242
  return m;
48112
- }, [_optionalChain([contextPicker, 'optionalAccess', _1212 => _1212.entityTypes])]);
48113
- const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1213 => _1213.entityTypes]);
48243
+ }, [_optionalChain([contextPicker, 'optionalAccess', _1215 => _1215.entityTypes])]);
48244
+ const contextEntityTypes = _optionalChain([contextPicker, 'optionalAccess', _1216 => _1216.entityTypes]);
48114
48245
  const resolveContextIcon = _react.useMemo.call(void 0, () => {
48115
48246
  const byType = /* @__PURE__ */ new Map();
48116
48247
  for (const t of _nullishCoalesce(contextEntityTypes, () => ( []))) byType.set(t.type, t.icon);
@@ -48122,7 +48253,7 @@ function EmbeddableChatInner({
48122
48253
  if (mentionActiveRef.current) {
48123
48254
  if (contextItems.some((p) => `${p.type}:${p.id}` === key)) return;
48124
48255
  if (contextItems.length >= contextMaxItems) return;
48125
- _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), {
48126
48257
  label: item.label,
48127
48258
  icon: resolveContextIcon(item)
48128
48259
  })]);
@@ -48144,9 +48275,9 @@ function EmbeddableChatInner({
48144
48275
  setContextItems((prev) => prev.filter((p) => `${p.type}:${p.id}` !== key));
48145
48276
  if (mentionKeysRef.current.has(key)) {
48146
48277
  mentionKeysRef.current.delete(key);
48147
- 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()]), () => ( ""));
48148
48279
  const next = cur.replace(`@${mentionTokenOf(key, mentionMarkerByType)}`, "").replace(/\s{2,}/g, " ").trimStart();
48149
- _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)]);
48150
48281
  }
48151
48282
  }, [mentionMarkerByType]);
48152
48283
  const handleContextValueChange = _react.useCallback.call(void 0, (value) => {
@@ -48163,7 +48294,7 @@ function EmbeddableChatInner({
48163
48294
  }, []);
48164
48295
  const closeContextPicker = _react.useCallback.call(void 0, () => {
48165
48296
  if (mentionActiveRef.current) {
48166
- _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()]);
48167
48298
  }
48168
48299
  setContextPickerOpen(false);
48169
48300
  setMentionQuery(null);
@@ -48197,8 +48328,8 @@ function EmbeddableChatInner({
48197
48328
  []
48198
48329
  );
48199
48330
  const timestampCacheRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
48200
- 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;
48201
- 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;
48202
48333
  const messages = _react.useMemo.call(void 0, () => {
48203
48334
  const cache = timestampCacheRef.current;
48204
48335
  const seenIds = /* @__PURE__ */ new Set();
@@ -48346,9 +48477,9 @@ function EmbeddableChatInner({
48346
48477
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
48347
48478
  const lastSources = _react.useMemo.call(void 0, () => {
48348
48479
  if (chatLoading) return void 0;
48349
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1234 => _1234.sources]);
48480
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1237 => _1237.sources]);
48350
48481
  if (!sources || sources.length === 0) return void 0;
48351
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1235 => _1235.content]) || "";
48482
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1238 => _1238.content]) || "";
48352
48483
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
48353
48484
  (m) => parseInt(m[1], 10)
48354
48485
  );
@@ -48395,7 +48526,7 @@ function EmbeddableChatInner({
48395
48526
  ChatPanelHeader,
48396
48527
  {
48397
48528
  showBack: hasConversation || guideCanReturnToMingo,
48398
- 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",
48399
48530
  backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
48400
48531
  isArchivedView: isViewingArchived,
48401
48532
  onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
@@ -48513,7 +48644,7 @@ function EmbeddableChatInner({
48513
48644
  subtitle: _nullishCoalesce(effectiveGreeting, () => ( void 0)),
48514
48645
  subtitleLoading: emptyStateLoading,
48515
48646
  ...guideWelcome,
48516
- quickActions: _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1237 => _1237.quickActions]), () => ( guideSuggestedActions)),
48647
+ quickActions: _nullishCoalesce(_optionalChain([guideWelcome, 'optionalAccess', _1240 => _1240.quickActions]), () => ( guideSuggestedActions)),
48517
48648
  onQuickAction: (action) => {
48518
48649
  handleSend(_nullishCoalesce(action.prompt, () => ( action.label)));
48519
48650
  },
@@ -49582,5 +49713,6 @@ function EmbeddableChatInner({
49582
49713
 
49583
49714
 
49584
49715
 
49585
- 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;
49586
- //# sourceMappingURL=chunk-ALXY56MH.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