@flamingo-stack/openframe-frontend-core 0.0.273 → 0.0.274

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 (65) hide show
  1. package/dist/{chunk-IXRPEMZP.cjs → chunk-2KHFSSFZ.cjs} +11 -11
  2. package/dist/{chunk-IXRPEMZP.cjs.map → chunk-2KHFSSFZ.cjs.map} +1 -1
  3. package/dist/{chunk-Q32JUFIK.cjs → chunk-4DYXV3E7.cjs} +508 -543
  4. package/dist/chunk-4DYXV3E7.cjs.map +1 -0
  5. package/dist/{chunk-MCCYGAPE.js → chunk-FLIWL6V4.js} +2 -2
  6. package/dist/{chunk-4SNHFZQT.js → chunk-GL5X6VVC.js} +2 -2
  7. package/dist/{chunk-VFMMVGA4.js → chunk-OPSZNW3I.js} +316 -351
  8. package/dist/chunk-OPSZNW3I.js.map +1 -0
  9. package/dist/{chunk-UQCB2CP7.js → chunk-VASNLWPZ.js} +2 -2
  10. package/dist/{chunk-EEMZBQ7O.cjs → chunk-W5KBDFCR.cjs} +25 -25
  11. package/dist/{chunk-EEMZBQ7O.cjs.map → chunk-W5KBDFCR.cjs.map} +1 -1
  12. package/dist/{chunk-V5OZQF4B.cjs → chunk-WU6PMH5L.cjs} +32 -32
  13. package/dist/{chunk-V5OZQF4B.cjs.map → chunk-WU6PMH5L.cjs.map} +1 -1
  14. package/dist/components/chat/index.cjs +2 -2
  15. package/dist/components/chat/index.js +1 -1
  16. package/dist/components/contact/index.cjs +3 -3
  17. package/dist/components/contact/index.js +2 -2
  18. package/dist/components/features/index.cjs +2 -2
  19. package/dist/components/features/index.js +1 -1
  20. package/dist/components/index.cjs +54 -56
  21. package/dist/components/index.cjs.map +1 -1
  22. package/dist/components/index.js +3 -5
  23. package/dist/components/index.js.map +1 -1
  24. package/dist/components/navigation/index.cjs +2 -2
  25. package/dist/components/navigation/index.js +1 -1
  26. package/dist/components/related-content/index.cjs +3 -3
  27. package/dist/components/related-content/index.js +2 -2
  28. package/dist/components/tickets/index.cjs +53 -53
  29. package/dist/components/tickets/index.js +3 -3
  30. package/dist/components/ui/data-table/data-table-body.d.ts +5 -1
  31. package/dist/components/ui/data-table/data-table-body.d.ts.map +1 -1
  32. package/dist/components/ui/data-table/data-table-empty.d.ts +10 -10
  33. package/dist/components/ui/data-table/data-table-empty.d.ts.map +1 -1
  34. package/dist/components/ui/index.cjs +2 -4
  35. package/dist/components/ui/index.cjs.map +1 -1
  36. package/dist/components/ui/index.js +1 -3
  37. package/dist/components/ui/no-data/no-data-actions.d.ts +11 -15
  38. package/dist/components/ui/no-data/no-data-actions.d.ts.map +1 -1
  39. package/dist/components/ui/no-data/no-data-styles.d.ts +0 -1
  40. package/dist/components/ui/no-data/no-data-styles.d.ts.map +1 -1
  41. package/dist/components/ui/no-data/no-data.d.ts.map +1 -1
  42. package/dist/components/ui/query-report-table/query-report-table.d.ts.map +1 -1
  43. package/dist/components/ui/table/table-empty-state.d.ts +1 -2
  44. package/dist/components/ui/table/table-empty-state.d.ts.map +1 -1
  45. package/dist/components/ui/table/table.d.ts.map +1 -1
  46. package/dist/index.cjs +2 -4
  47. package/dist/index.cjs.map +1 -1
  48. package/dist/index.js +1 -3
  49. package/package.json +1 -1
  50. package/src/components/ui/data-table/.data-table-empty.md +28 -24
  51. package/src/components/ui/data-table/data-table-body.tsx +13 -2
  52. package/src/components/ui/data-table/data-table-empty.tsx +18 -35
  53. package/src/components/ui/no-data/no-data-actions.tsx +20 -43
  54. package/src/components/ui/no-data/no-data-styles.ts +8 -18
  55. package/src/components/ui/no-data/no-data.tsx +7 -1
  56. package/src/components/ui/query-report-table/query-report-table.tsx +1 -1
  57. package/src/components/ui/table/table-empty-state.tsx +12 -37
  58. package/src/components/ui/table/table.tsx +1 -1
  59. package/src/stories/DataTable.stories.tsx +26 -2
  60. package/src/stories/EmptyState.stories.tsx +21 -34
  61. package/dist/chunk-Q32JUFIK.cjs.map +0 -1
  62. package/dist/chunk-VFMMVGA4.js.map +0 -1
  63. /package/dist/{chunk-MCCYGAPE.js.map → chunk-FLIWL6V4.js.map} +0 -0
  64. /package/dist/{chunk-4SNHFZQT.js.map → chunk-GL5X6VVC.js.map} +0 -0
  65. /package/dist/{chunk-UQCB2CP7.js.map → chunk-VASNLWPZ.js.map} +0 -0
@@ -9113,12 +9113,11 @@ var noDataIconClasses = "inline-flex shrink-0 items-center justify-center [&_svg
9113
9113
  var noDataActionsVariants = _classvarianceauthority.cva.call(void 0, "overflow-hidden rounded-md", {
9114
9114
  variants: {
9115
9115
  variant: {
9116
- outline: "bg-ods-card border border-ods-border"
9116
+ outline: "border border-ods-border"
9117
9117
  }
9118
9118
  },
9119
9119
  defaultVariants: { variant: "outline" }
9120
9120
  });
9121
- var noDataActionInteractiveClasses = "cursor-pointer transition-colors hover:bg-ods-bg-hover active:bg-ods-bg-active focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-focus focus-visible:ring-inset disabled:cursor-default disabled:pointer-events-none disabled:text-ods-text-disabled";
9122
9121
 
9123
9122
  // src/components/ui/no-data/no-data-message.tsx
9124
9123
 
@@ -9150,22 +9149,19 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
9150
9149
 
9151
9150
 
9152
9151
  var NoDataAction = React92.default.forwardRef(
9153
- function NoDataAction2({ icon, label, children, className, disabled, type, ...props }, ref) {
9152
+ function NoDataAction2({ icon, label, children, className, ...props }, ref) {
9154
9153
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
9155
- "button",
9154
+ "div",
9156
9155
  {
9157
9156
  ref,
9158
- type: _nullishCoalesce(type, () => ( "button")),
9159
- disabled,
9160
9157
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
9161
- "flex flex-1 items-center gap-[var(--spacing-system-s)] p-[var(--spacing-system-m)] text-left text-ods-text-secondary",
9162
- "md:flex-col md:items-start md:gap-[var(--spacing-system-xs)]",
9163
- noDataActionInteractiveClasses,
9158
+ "flex flex-1 items-center gap-[var(--spacing-system-s)] p-[var(--spacing-system-m)] text-ods-text-secondary",
9159
+ "md:w-[224px] md:flex-none md:flex-col md:items-start md:gap-[var(--spacing-system-xs)]",
9164
9160
  className
9165
9161
  ),
9166
9162
  ...props,
9167
9163
  children: [
9168
- icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: noDataIconClasses, children: icon }),
9164
+ icon && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunkFIG2RKZFcjs.cn.call(void 0, noDataIconClasses, "text-ods-text-primary"), children: icon }),
9169
9165
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-w-0 flex-1 break-words text-h6 md:w-full md:flex-none", children: _nullishCoalesce(label, () => ( children)) })
9170
9166
  ]
9171
9167
  }
@@ -9179,11 +9175,7 @@ var NoDataActions = React92.default.forwardRef(
9179
9175
  "div",
9180
9176
  {
9181
9177
  ref,
9182
- className: _chunkFIG2RKZFcjs.cn.call(void 0,
9183
- noDataActionsVariants({ variant }),
9184
- "flex w-full flex-col md:w-auto md:flex-row",
9185
- className
9186
- ),
9178
+ className: _chunkFIG2RKZFcjs.cn.call(void 0, noDataActionsVariants({ variant }), "flex w-full flex-col md:w-auto md:flex-row", className),
9187
9179
  ...props,
9188
9180
  children: blocks.map((block, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React92.default.Fragment, { children: [
9189
9181
  index > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -9217,7 +9209,17 @@ var NoData = React92.default.forwardRef(function NoData2({
9217
9209
  }, ref) {
9218
9210
  const hasMessage = !!(icon || title || description);
9219
9211
  const hasActions = !!_optionalChain([actions, 'optionalAccess', _180 => _180.length]);
9220
- const footerButton = _nullishCoalesce(button, () => ( (buttonLabel != null ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN5UOJC3Vcjs.Button, { variant: "outline", leftIcon: buttonIcon, onClick: onButtonClick, ...buttonProps, children: buttonLabel }) : null)));
9212
+ const footerButton = _nullishCoalesce(button, () => ( (buttonLabel != null ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9213
+ _chunkN5UOJC3Vcjs.Button,
9214
+ {
9215
+ variant: "outline",
9216
+ leftIcon: buttonIcon,
9217
+ onClick: onButtonClick,
9218
+ ...buttonProps,
9219
+ className: _chunkFIG2RKZFcjs.cn.call(void 0, "w-full md:w-auto", _optionalChain([buttonProps, 'optionalAccess', _181 => _181.className])),
9220
+ children: buttonLabel
9221
+ }
9222
+ ) : null)));
9221
9223
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
9222
9224
  "div",
9223
9225
  {
@@ -9449,7 +9451,7 @@ var Switch = React35.forwardRef(({ className, checked, onCheckedChange, ...props
9449
9451
  }, [checked]);
9450
9452
  const handleCheckedChange = (newChecked) => {
9451
9453
  setIsChecked(newChecked);
9452
- _optionalChain([onCheckedChange, 'optionalCall', _181 => _181(newChecked)]);
9454
+ _optionalChain([onCheckedChange, 'optionalCall', _182 => _182(newChecked)]);
9453
9455
  };
9454
9456
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9455
9457
  SwitchPrimitives.Root,
@@ -9658,7 +9660,7 @@ function TagsManager({
9658
9660
  const name = search.trim();
9659
9661
  if (!name) return;
9660
9662
  const result = await onCreateTag(name);
9661
- if (_optionalChain([result, 'optionalAccess', _182 => _182.id])) {
9663
+ if (_optionalChain([result, 'optionalAccess', _183 => _183.id])) {
9662
9664
  onChange([...selectedIds, result.id]);
9663
9665
  setSearch("");
9664
9666
  }
@@ -9666,7 +9668,7 @@ function TagsManager({
9666
9668
  const startEdit = React37.useCallback((id, name) => {
9667
9669
  setEditingId(id);
9668
9670
  setEditingName(name);
9669
- setTimeout(() => _optionalChain([editInputRef, 'access', _183 => _183.current, 'optionalAccess', _184 => _184.focus, 'call', _185 => _185()]), 0);
9671
+ setTimeout(() => _optionalChain([editInputRef, 'access', _184 => _184.current, 'optionalAccess', _185 => _185.focus, 'call', _186 => _186()]), 0);
9670
9672
  }, []);
9671
9673
  const confirmEdit = React37.useCallback(async () => {
9672
9674
  if (!onUpdateTag || !editingId || !editingName.trim()) return;
@@ -9693,7 +9695,7 @@ function TagsManager({
9693
9695
  e.stopPropagation();
9694
9696
  onChange([]);
9695
9697
  setSearch("");
9696
- _optionalChain([inputRef, 'access', _186 => _186.current, 'optionalAccess', _187 => _187.focus, 'call', _188 => _188()]);
9698
+ _optionalChain([inputRef, 'access', _187 => _187.current, 'optionalAccess', _188 => _188.focus, 'call', _189 => _189()]);
9697
9699
  },
9698
9700
  [onChange]
9699
9701
  );
@@ -9792,10 +9794,10 @@ function TagsManager({
9792
9794
  align: "start",
9793
9795
  onOpenAutoFocus: (e) => {
9794
9796
  e.preventDefault();
9795
- _optionalChain([inputRef, 'access', _189 => _189.current, 'optionalAccess', _190 => _190.focus, 'call', _191 => _191()]);
9797
+ _optionalChain([inputRef, 'access', _190 => _190.current, 'optionalAccess', _191 => _191.focus, 'call', _192 => _192()]);
9796
9798
  },
9797
9799
  onInteractOutside: (e) => {
9798
- if (_optionalChain([containerRef, 'access', _192 => _192.current, 'optionalAccess', _193 => _193.contains, 'call', _194 => _194(e.target)])) {
9800
+ if (_optionalChain([containerRef, 'access', _193 => _193.current, 'optionalAccess', _194 => _194.contains, 'call', _195 => _195(e.target)])) {
9799
9801
  e.preventDefault();
9800
9802
  }
9801
9803
  },
@@ -11193,19 +11195,19 @@ function TabNavigation({
11193
11195
  const validTabIds = _react.useMemo.call(void 0, () => new Set(tabs.map((t) => t.id)), [tabs]);
11194
11196
  const getInitialTab = () => {
11195
11197
  if (isUrlSyncEnabled) {
11196
- const fromUrl = _optionalChain([searchParams, 'optionalAccess', _195 => _195.get, 'call', _196 => _196(paramName)]) || "";
11198
+ const fromUrl = _optionalChain([searchParams, 'optionalAccess', _196 => _196.get, 'call', _197 => _197(paramName)]) || "";
11197
11199
  if (validTabIds.has(fromUrl)) {
11198
11200
  return fromUrl;
11199
11201
  }
11200
11202
  }
11201
- return defaultTab || _optionalChain([tabs, 'access', _197 => _197[0], 'optionalAccess', _198 => _198.id]) || "";
11203
+ return defaultTab || _optionalChain([tabs, 'access', _198 => _198[0], 'optionalAccess', _199 => _199.id]) || "";
11202
11204
  };
11203
11205
  const [internalActiveTab, setInternalActiveTab] = _react.useState.call(void 0, getInitialTab);
11204
11206
  const activeTab = isUrlSyncEnabled ? internalActiveTab : controlledActiveTab || "";
11205
11207
  _react.useEffect.call(void 0, () => {
11206
11208
  if (!isUrlSyncEnabled) return;
11207
- const fromUrl = _optionalChain([searchParams, 'optionalAccess', _199 => _199.get, 'call', _200 => _200(paramName)]) || "";
11208
- const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _201 => _201[0], 'optionalAccess', _202 => _202.id]) || "";
11209
+ const fromUrl = _optionalChain([searchParams, 'optionalAccess', _200 => _200.get, 'call', _201 => _201(paramName)]) || "";
11210
+ const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _202 => _202[0], 'optionalAccess', _203 => _203.id]) || "";
11209
11211
  if (nextTab !== internalActiveTab) {
11210
11212
  setInternalActiveTab(nextTab);
11211
11213
  }
@@ -11213,13 +11215,13 @@ function TabNavigation({
11213
11215
  const handleTabChange = (tabId) => {
11214
11216
  if (isUrlSyncEnabled) {
11215
11217
  setInternalActiveTab(tabId);
11216
- const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _203 => _203.toString, 'call', _204 => _204()]));
11218
+ const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _204 => _204.toString, 'call', _205 => _205()]));
11217
11219
  params.set(paramName, tabId);
11218
11220
  const method = replaceState ? "replace" : "push";
11219
11221
  router[method](`${pathname}?${params.toString()}`);
11220
- _optionalChain([controlledOnTabChange, 'optionalCall', _205 => _205(tabId)]);
11221
- } else {
11222
11222
  _optionalChain([controlledOnTabChange, 'optionalCall', _206 => _206(tabId)]);
11223
+ } else {
11224
+ _optionalChain([controlledOnTabChange, 'optionalCall', _207 => _207(tabId)]);
11223
11225
  }
11224
11226
  };
11225
11227
  const scrollRef = _react.useRef.call(void 0, null);
@@ -11307,7 +11309,7 @@ function TabNavigation({
11307
11309
  var getTabById = (tabs, tabId) => tabs.find((tab) => tab.id === tabId);
11308
11310
  var getTabComponent = (tabs, tabId) => {
11309
11311
  const tab = getTabById(tabs, tabId);
11310
- return _optionalChain([tab, 'optionalAccess', _207 => _207.component]) || null;
11312
+ return _optionalChain([tab, 'optionalAccess', _208 => _208.component]) || null;
11311
11313
  };
11312
11314
 
11313
11315
  // src/components/ui/alert.tsx
@@ -11447,7 +11449,7 @@ function ReleaseChangelogSection({
11447
11449
  className: "overflow-hidden transition-[max-height] duration-500",
11448
11450
  style: {
11449
11451
  transitionTimingFunction: "cubic-bezier(0.33, 1, 0.68, 1)",
11450
- maxHeight: previewExpanded || !previewNeedsFade ? _nullishCoalesce(_optionalChain([previewContentRef, 'access', _208 => _208.current, 'optionalAccess', _209 => _209.scrollHeight]), () => ( 2e3)) : PREVIEW_COLLAPSED_HEIGHT,
11452
+ maxHeight: previewExpanded || !previewNeedsFade ? _nullishCoalesce(_optionalChain([previewContentRef, 'access', _209 => _209.current, 'optionalAccess', _210 => _210.scrollHeight]), () => ( 2e3)) : PREVIEW_COLLAPSED_HEIGHT,
11451
11453
  ...previewNeedsFade && !previewExpanded ? {
11452
11454
  maskImage: "linear-gradient(to bottom, black 30%, transparent 100%)",
11453
11455
  WebkitMaskImage: "linear-gradient(to bottom, black 30%, transparent 100%)"
@@ -11884,16 +11886,16 @@ function FilterModal({
11884
11886
  };
11885
11887
  const handleReset = () => {
11886
11888
  onFilterChange({});
11887
- _optionalChain([onTagsChange, 'optionalCall', _210 => _210([])]);
11889
+ _optionalChain([onTagsChange, 'optionalCall', _211 => _211([])]);
11888
11890
  onClose();
11889
11891
  };
11890
11892
  const handleApply = () => {
11891
11893
  onFilterChange(selectedFilters);
11892
- _optionalChain([onTagsChange, 'optionalCall', _211 => _211(pendingTags)]);
11894
+ _optionalChain([onTagsChange, 'optionalCall', _212 => _212(pendingTags)]);
11893
11895
  onClose();
11894
11896
  };
11895
11897
  const getColumnDirection = (columnKey) => {
11896
- return _optionalChain([sortConfig, 'optionalAccess', _212 => _212.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
11898
+ return _optionalChain([sortConfig, 'optionalAccess', _213 => _213.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
11897
11899
  };
11898
11900
  const hasSort = !!sortConfig && sortConfig.columns.length > 0;
11899
11901
  const hasFilterGroups = filterGroups.length > 0;
@@ -11942,7 +11944,7 @@ function FilterModal({
11942
11944
  {
11943
11945
  column,
11944
11946
  currentDirection: getColumnDirection(column.key),
11945
- onSort: (direction) => _optionalChain([onSort, 'optionalCall', _213 => _213(column.key, direction)]),
11947
+ onSort: (direction) => _optionalChain([onSort, 'optionalCall', _214 => _214(column.key, direction)]),
11946
11948
  onClear: onSortClear ? () => onSortClear(column.key) : void 0
11947
11949
  },
11948
11950
  column.key
@@ -12583,7 +12585,7 @@ function getShellIcon(shellType) {
12583
12585
  if (!shellType) return void 0;
12584
12586
  const normalized = shellType.toUpperCase();
12585
12587
  const shellDef = SHELL_TYPES.find((s) => s.id === normalized);
12586
- return _optionalChain([shellDef, 'optionalAccess', _214 => _214.icon]);
12588
+ return _optionalChain([shellDef, 'optionalAccess', _215 => _215.icon]);
12587
12589
  }
12588
12590
 
12589
12591
  // src/types/os.types.ts
@@ -12656,7 +12658,7 @@ function getOSIcon(osType) {
12656
12658
  const normalized = normalizeOSType(osType);
12657
12659
  if (!normalized) return void 0;
12658
12660
  const osTypeDef = OS_TYPES.find((t) => t.id === normalized);
12659
- return _optionalChain([osTypeDef, 'optionalAccess', _215 => _215.icon]);
12661
+ return _optionalChain([osTypeDef, 'optionalAccess', _216 => _216.icon]);
12660
12662
  }
12661
12663
  function getOSTypeDefinition(osType) {
12662
12664
  if (!osType) return void 0;
@@ -12666,7 +12668,7 @@ function getOSTypeDefinition(osType) {
12666
12668
  }
12667
12669
  function getOSPlatformId(osType) {
12668
12670
  const osTypeDef = getOSTypeDefinition(osType);
12669
- return _optionalChain([osTypeDef, 'optionalAccess', _216 => _216.platformId]);
12671
+ return _optionalChain([osTypeDef, 'optionalAccess', _217 => _217.platformId]);
12670
12672
  }
12671
12673
  function isOSPlatform(deviceOS, targetPlatform) {
12672
12674
  if (!deviceOS || !targetPlatform) return false;
@@ -12759,10 +12761,10 @@ var GENERIC_EMAIL_DOMAINS = [
12759
12761
  ];
12760
12762
  function extractDomainFromEmail(email) {
12761
12763
  if (!email || !email.includes("@")) return null;
12762
- return _optionalChain([email, 'access', _217 => _217.split, 'call', _218 => _218("@"), 'access', _219 => _219[1], 'optionalAccess', _220 => _220.toLowerCase, 'call', _221 => _221()]) || null;
12764
+ return _optionalChain([email, 'access', _218 => _218.split, 'call', _219 => _219("@"), 'access', _220 => _220[1], 'optionalAccess', _221 => _221.toLowerCase, 'call', _222 => _222()]) || null;
12763
12765
  }
12764
12766
  function normalizeDomain(domain) {
12765
- return _optionalChain([domain, 'optionalAccess', _222 => _222.toLowerCase, 'call', _223 => _223(), 'access', _224 => _224.replace, 'call', _225 => _225(/^https?:\/\//, ""), 'access', _226 => _226.replace, 'call', _227 => _227(/^www\./, ""), 'access', _228 => _228.split, 'call', _229 => _229("/"), 'access', _230 => _230[0], 'access', _231 => _231.trim, 'call', _232 => _232()]) || "";
12767
+ return _optionalChain([domain, 'optionalAccess', _223 => _223.toLowerCase, 'call', _224 => _224(), 'access', _225 => _225.replace, 'call', _226 => _226(/^https?:\/\//, ""), 'access', _227 => _227.replace, 'call', _228 => _228(/^www\./, ""), 'access', _229 => _229.split, 'call', _230 => _230("/"), 'access', _231 => _231[0], 'access', _232 => _232.trim, 'call', _233 => _233()]) || "";
12766
12768
  }
12767
12769
  function isGenericDomain(domain) {
12768
12770
  const normalized = normalizeDomain(domain);
@@ -13072,7 +13074,7 @@ function createLocalStorageAdapter(options) {
13072
13074
  const tag = _nullishCoalesce(options.logTag, () => ( "[local-storage]"));
13073
13075
  const backend = _nullishCoalesce(options.backend, () => ( "local"));
13074
13076
  const resolveKey = () => {
13075
- const ns = _optionalChain([options, 'access', _233 => _233.namespace, 'optionalCall', _234 => _234()]);
13077
+ const ns = _optionalChain([options, 'access', _234 => _234.namespace, 'optionalCall', _235 => _235()]);
13076
13078
  return ns ? `${ns}.${options.key}` : options.key;
13077
13079
  };
13078
13080
  return {
@@ -13159,7 +13161,7 @@ function getEmbedProxyAuth() {
13159
13161
  }
13160
13162
  function getPersistedProxyEmail() {
13161
13163
  const persisted = adapter.load();
13162
- return _nullishCoalesce(_optionalChain([persisted, 'optionalAccess', _235 => _235.email, 'access', _236 => _236.trim, 'call', _237 => _237(), 'access', _238 => _238.toLowerCase, 'call', _239 => _239()]), () => ( null));
13164
+ return _nullishCoalesce(_optionalChain([persisted, 'optionalAccess', _236 => _236.email, 'access', _237 => _237.trim, 'call', _238 => _238(), 'access', _239 => _239.toLowerCase, 'call', _240 => _240()]), () => ( null));
13163
13165
  }
13164
13166
  function setEmbedProxyAuth(value) {
13165
13167
  adapter.save({
@@ -13176,15 +13178,15 @@ function clearEmbedProxyAuth() {
13176
13178
  function applyProxyAuth(url, baseHeaders = { "Content-Type": "application/json" }) {
13177
13179
  const auth = getEmbedProxyAuth();
13178
13180
  const headers = { ...baseHeaders };
13179
- if (_optionalChain([auth, 'optionalAccess', _240 => _240.secret])) {
13181
+ if (_optionalChain([auth, 'optionalAccess', _241 => _241.secret])) {
13180
13182
  headers.Authorization = `Bearer ${auth.secret}`;
13181
13183
  }
13182
- if (_optionalChain([auth, 'optionalAccess', _241 => _241.email])) {
13184
+ if (_optionalChain([auth, 'optionalAccess', _242 => _242.email])) {
13183
13185
  headers["X-Chat-Act-As"] = auth.email;
13184
13186
  }
13185
- if (_optionalChain([auth, 'optionalAccess', _242 => _242.firstName])) headers["X-Chat-First-Name"] = auth.firstName;
13186
- if (_optionalChain([auth, 'optionalAccess', _243 => _243.lastName])) headers["X-Chat-Last-Name"] = auth.lastName;
13187
- if (_optionalChain([auth, 'optionalAccess', _244 => _244.avatarUrl])) headers["X-Chat-Avatar-Url"] = auth.avatarUrl;
13187
+ if (_optionalChain([auth, 'optionalAccess', _243 => _243.firstName])) headers["X-Chat-First-Name"] = auth.firstName;
13188
+ if (_optionalChain([auth, 'optionalAccess', _244 => _244.lastName])) headers["X-Chat-Last-Name"] = auth.lastName;
13189
+ if (_optionalChain([auth, 'optionalAccess', _245 => _245.avatarUrl])) headers["X-Chat-Avatar-Url"] = auth.avatarUrl;
13188
13190
  return { url, headers };
13189
13191
  }
13190
13192
 
@@ -13236,7 +13238,7 @@ function setInFlightRefresh(refresh) {
13236
13238
  }
13237
13239
  function dedupedRefresh() {
13238
13240
  const adapter2 = getRegisteredAuthAdapter();
13239
- if (!_optionalChain([adapter2, 'optionalAccess', _245 => _245.refresh])) return Promise.resolve(false);
13241
+ if (!_optionalChain([adapter2, 'optionalAccess', _246 => _246.refresh])) return Promise.resolve(false);
13240
13242
  let inFlightRefresh = getInFlightRefresh();
13241
13243
  if (!inFlightRefresh) {
13242
13244
  inFlightRefresh = Promise.resolve().then(() => adapter2.refresh()).catch(() => false).finally(() => {
@@ -13249,12 +13251,12 @@ function dedupedRefresh() {
13249
13251
  async function fetchWithRefresh(url, init, baseHeaders, isRetry) {
13250
13252
  const { url: authedUrl, headers } = applyProxyAuth(url, { ...baseHeaders });
13251
13253
  const adapter2 = getRegisteredAuthAdapter();
13252
- if (_optionalChain([adapter2, 'optionalAccess', _246 => _246.getHeaders])) {
13254
+ if (_optionalChain([adapter2, 'optionalAccess', _247 => _247.getHeaders])) {
13253
13255
  for (const [k, v] of Object.entries(adapter2.getHeaders())) {
13254
13256
  if (v !== void 0) headers[k] = v;
13255
13257
  }
13256
13258
  }
13257
- const credentials = _nullishCoalesce(_nullishCoalesce(_optionalChain([adapter2, 'optionalAccess', _247 => _247.credentials]), () => ( init.credentials)), () => ( "same-origin"));
13259
+ const credentials = _nullishCoalesce(_nullishCoalesce(_optionalChain([adapter2, 'optionalAccess', _248 => _248.credentials]), () => ( init.credentials)), () => ( "same-origin"));
13258
13260
  const response = await fetch(authedUrl, {
13259
13261
  ...init,
13260
13262
  headers,
@@ -13265,7 +13267,7 @@ async function fetchWithRefresh(url, init, baseHeaders, isRetry) {
13265
13267
  // `SameSite=None` must be configured server-side for that to work).
13266
13268
  credentials
13267
13269
  });
13268
- if (response.status === 401 && !isRetry && _optionalChain([adapter2, 'optionalAccess', _248 => _248.refresh])) {
13270
+ if (response.status === 401 && !isRetry && _optionalChain([adapter2, 'optionalAccess', _249 => _249.refresh])) {
13269
13271
  const refreshed = await dedupedRefresh();
13270
13272
  if (refreshed) {
13271
13273
  return fetchWithRefresh(url, init, baseHeaders, true);
@@ -13303,7 +13305,7 @@ function assertSameOrigin(url) {
13303
13305
 
13304
13306
  // src/utils/sse-decision-frame.ts
13305
13307
  async function readLeadingDecisionFrame(response) {
13306
- const reader = _optionalChain([response, 'access', _249 => _249.body, 'optionalAccess', _250 => _250.getReader, 'call', _251 => _251()]);
13308
+ const reader = _optionalChain([response, 'access', _250 => _250.body, 'optionalAccess', _251 => _251.getReader, 'call', _252 => _252()]);
13307
13309
  if (!reader) throw new Error("readLeadingDecisionFrame: response has no body");
13308
13310
  const decoder = new TextDecoder();
13309
13311
  let buffer = "";
@@ -13332,9 +13334,9 @@ async function readLeadingDecisionFrame(response) {
13332
13334
  );
13333
13335
  }
13334
13336
  const obj = parsed;
13335
- if (_optionalChain([obj, 'optionalAccess', _252 => _252.kind]) !== "decision_resolved") {
13337
+ if (_optionalChain([obj, 'optionalAccess', _253 => _253.kind]) !== "decision_resolved") {
13336
13338
  throw new Error(
13337
- `readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _253 => _253.kind]))}`
13339
+ `readLeadingDecisionFrame: expected decision_resolved, got kind=${String(_optionalChain([obj, 'optionalAccess', _254 => _254.kind]))}`
13338
13340
  );
13339
13341
  }
13340
13342
  frame = normalizeDecisionFrame(obj);
@@ -13375,7 +13377,7 @@ var AUTO_CONTINUATION_DIRECTIVE_PREFIX = "[internal-auto-continuation]";
13375
13377
  function buildAutoContinuationDirective(toolName, opts = {}) {
13376
13378
  const ticketRef = opts.ticketId ? ` (ticket #${opts.ticketId})` : "";
13377
13379
  const ticketHash = opts.ticketId ? ` #${opts.ticketId}` : "";
13378
- const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _254 => _254.status, 'optionalAccess', _255 => _255.toUpperCase, 'call', _256 => _256()]) === "CLOSED";
13380
+ const isClose = toolName === "update_ticket" && _optionalChain([opts, 'access', _255 => _255.status, 'optionalAccess', _256 => _256.toUpperCase, 'call', _257 => _257()]) === "CLOSED";
13379
13381
  if (toolName === "create_ticket") {
13380
13382
  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.`;
13381
13383
  }
@@ -13437,7 +13439,7 @@ function formatSingularLookupInvocation(cmdId, value) {
13437
13439
  return safe ? `/${cmdId} "${safe}"` : `/${cmdId}`;
13438
13440
  }
13439
13441
  function extractEntityIdFilter(override, expectedTableId) {
13440
- const f = _optionalChain([override, 'optionalAccess', _257 => _257.entityIdFilter]);
13442
+ const f = _optionalChain([override, 'optionalAccess', _258 => _258.entityIdFilter]);
13441
13443
  if (!f) return null;
13442
13444
  const tableId = typeof f.tableId === "string" ? f.tableId : "";
13443
13445
  const id = typeof f.id === "string" ? f.id : "";
@@ -13512,7 +13514,7 @@ function getTaskTypeLabel(customItemId) {
13512
13514
 
13513
13515
  // src/components/chat/utils/agent-status-message.ts
13514
13516
  function getStatusColorScheme(status) {
13515
- const s = _optionalChain([status, 'optionalAccess', _258 => _258.toLowerCase, 'call', _259 => _259()]) || "";
13517
+ const s = _optionalChain([status, 'optionalAccess', _259 => _259.toLowerCase, 'call', _260 => _260()]) || "";
13516
13518
  switch (status) {
13517
13519
  case "completed":
13518
13520
  case "success":
@@ -13775,10 +13777,10 @@ var CONTENT_REF_GROUPS = {
13775
13777
  what_i_shipped: { label: "What I Shipped", order: 10, layout: "grid", gridSize: "default" }
13776
13778
  };
13777
13779
  function getContentRefLabel(type) {
13778
- return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _260 => _260[type], 'optionalAccess', _261 => _261.label]), () => ( null));
13780
+ return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _261 => _261[type], 'optionalAccess', _262 => _262.label]), () => ( null));
13779
13781
  }
13780
13782
  function getContentRefLabelOrTitleCase(type) {
13781
- return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _262 => _262[type], 'optionalAccess', _263 => _263.label]), () => ( type.replace(/_/g, " ").replace(/\b\w/g, (ch) => ch.toUpperCase())));
13783
+ return _nullishCoalesce(_optionalChain([CONTENT_REF_GROUPS, 'access', _263 => _263[type], 'optionalAccess', _264 => _264.label]), () => ( type.replace(/_/g, " ").replace(/\b\w/g, (ch) => ch.toUpperCase())));
13782
13784
  }
13783
13785
  function orderContentRefTypes(present) {
13784
13786
  const presentSet = new Set(present);
@@ -14450,26 +14452,26 @@ function DeviceCard({
14450
14452
  ] }),
14451
14453
  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 })
14452
14454
  ] }),
14453
- _optionalChain([actions, 'access', _264 => _264.moreButton, 'optionalAccess', _265 => _265.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14455
+ _optionalChain([actions, 'access', _265 => _265.moreButton, 'optionalAccess', _266 => _266.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14454
14456
  "div",
14455
14457
  {
14456
14458
  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",
14457
14459
  onClick: (e) => {
14458
14460
  e.stopPropagation();
14459
- _optionalChain([actions, 'access', _266 => _266.moreButton, 'optionalAccess', _267 => _267.onClick, 'optionalCall', _268 => _268()]);
14461
+ _optionalChain([actions, 'access', _267 => _267.moreButton, 'optionalAccess', _268 => _268.onClick, 'optionalCall', _269 => _269()]);
14460
14462
  },
14461
14463
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Ellipsis01Icon, { className: "text-ods-text-primary" })
14462
14464
  }
14463
14465
  ),
14464
- _optionalChain([actions, 'access', _269 => _269.detailsButton, 'optionalAccess', _270 => _270.visible]) !== false && _optionalChain([actions, 'access', _271 => _271.detailsButton, 'optionalAccess', _272 => _272.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
14465
- _optionalChain([actions, 'access', _273 => _273.customActions, 'optionalAccess', _274 => _274.map, 'call', _275 => _275(
14466
+ _optionalChain([actions, 'access', _270 => _270.detailsButton, 'optionalAccess', _271 => _271.visible]) !== false && _optionalChain([actions, 'access', _272 => _272.detailsButton, 'optionalAccess', _273 => _273.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
14467
+ _optionalChain([actions, 'access', _274 => _274.customActions, 'optionalAccess', _275 => _275.map, 'call', _276 => _276(
14466
14468
  (action, index) => action.visible !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14467
14469
  "div",
14468
14470
  {
14469
14471
  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",
14470
14472
  onClick: (e) => {
14471
14473
  e.stopPropagation();
14472
- _optionalChain([action, 'access', _276 => _276.onClick, 'optionalCall', _277 => _277()]);
14474
+ _optionalChain([action, 'access', _277 => _277.onClick, 'optionalCall', _278 => _278()]);
14473
14475
  },
14474
14476
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h3 text-ods-text-primary text-nowrap tracking-[-0.36px]", children: action.label })
14475
14477
  },
@@ -14969,7 +14971,7 @@ function MoreActionsMenu({
14969
14971
  ] });
14970
14972
  const handleActivate = (e) => {
14971
14973
  e.stopPropagation();
14972
- if (!item.disabled) _optionalChain([item, 'access', _278 => _278.onClick, 'optionalCall', _279 => _279()]);
14974
+ if (!item.disabled) _optionalChain([item, 'access', _279 => _279.onClick, 'optionalCall', _280 => _280()]);
14973
14975
  };
14974
14976
  if (item.href) {
14975
14977
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -15036,7 +15038,7 @@ function OrganizationCard({
15036
15038
  const handleActionClick = (e) => {
15037
15039
  e.preventDefault();
15038
15040
  e.stopPropagation();
15039
- _optionalChain([actionButton, 'optionalAccess', _280 => _280.onClick, 'call', _281 => _281(organization, e)]);
15041
+ _optionalChain([actionButton, 'optionalAccess', _281 => _281.onClick, 'call', _282 => _282(organization, e)]);
15040
15042
  };
15041
15043
  const card = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
15042
15044
  "div",
@@ -15911,10 +15913,10 @@ var getContentDimensions = (config) => {
15911
15913
  const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
15912
15914
  const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
15913
15915
  const envDesktopHeight = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT) : null;
15914
- const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _282 => _282.mobileContentDimensions, 'optionalAccess', _283 => _283.width]))), () => ( defaultMobile.width));
15915
- const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _284 => _284.mobileContentDimensions, 'optionalAccess', _285 => _285.height]))), () => ( defaultMobile.height));
15916
- const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _286 => _286.desktopContentDimensions, 'optionalAccess', _287 => _287.width]))), () => ( defaultDesktop.width));
15917
- const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _288 => _288.desktopContentDimensions, 'optionalAccess', _289 => _289.height]))), () => ( defaultDesktop.height));
15916
+ const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _283 => _283.mobileContentDimensions, 'optionalAccess', _284 => _284.width]))), () => ( defaultMobile.width));
15917
+ const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _285 => _285.mobileContentDimensions, 'optionalAccess', _286 => _286.height]))), () => ( defaultMobile.height));
15918
+ const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _287 => _287.desktopContentDimensions, 'optionalAccess', _288 => _288.width]))), () => ( defaultDesktop.width));
15919
+ const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _289 => _289.desktopContentDimensions, 'optionalAccess', _290 => _290.height]))), () => ( defaultDesktop.height));
15918
15920
  return {
15919
15921
  mobile: { width: mobileWidth, height: mobileHeight },
15920
15922
  desktop: { width: desktopWidth, height: desktopHeight }
@@ -16048,7 +16050,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
16048
16050
  const contentDimensions = getContentDimensions(config);
16049
16051
  const mobileHeight = contentDimensions.mobile.height;
16050
16052
  const calculatedHeight = Math.max(mobileHeight + 100, 400);
16051
- return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _290 => _290.innerHeight]) * 0.85 || 650)}px`;
16053
+ return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _291 => _291.innerHeight]) * 0.85 || 650)}px`;
16052
16054
  })(),
16053
16055
  minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
16054
16056
  const contentDimensions = getContentDimensions(config);
@@ -16153,7 +16155,7 @@ var FigmaPrototypeViewer = ({
16153
16155
  const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
16154
16156
  const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
16155
16157
  const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
16156
- config.defaultSectionId || _optionalChain([config, 'access', _291 => _291.sections, 'access', _292 => _292[0], 'optionalAccess', _293 => _293.id]) || ""
16158
+ config.defaultSectionId || _optionalChain([config, 'access', _292 => _292.sections, 'access', _293 => _293[0], 'optionalAccess', _294 => _294.id]) || ""
16157
16159
  );
16158
16160
  const activeSection = externalActiveSection || internalActiveSection;
16159
16161
  const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
@@ -16243,7 +16245,7 @@ var FigmaPrototypeViewer = ({
16243
16245
  const handleMessage = (event) => {
16244
16246
  if (event.origin !== "https://www.figma.com") return;
16245
16247
  const validEvents = ["INITIAL_LOAD", "NEW_STATE", "PRESENTED_NODE_CHANGED"];
16246
- if (_optionalChain([event, 'access', _294 => _294.data, 'optionalAccess', _295 => _295.type]) && validEvents.includes(event.data.type)) {
16248
+ if (_optionalChain([event, 'access', _295 => _295.data, 'optionalAccess', _296 => _296.type]) && validEvents.includes(event.data.type)) {
16247
16249
  const figmaEvent = event.data;
16248
16250
  console.log("[Figma Event]", figmaEvent.type, viewMode);
16249
16251
  switch (figmaEvent.type) {
@@ -16253,19 +16255,19 @@ var FigmaPrototypeViewer = ({
16253
16255
  setIframeState("READY");
16254
16256
  break;
16255
16257
  case "PRESENTED_NODE_CHANGED":
16256
- if (_optionalChain([figmaEvent, 'access', _296 => _296.data, 'optionalAccess', _297 => _297.presentedNodeId])) {
16258
+ if (_optionalChain([figmaEvent, 'access', _297 => _297.data, 'optionalAccess', _298 => _298.presentedNodeId])) {
16257
16259
  setCurrentNodeId(figmaEvent.data.presentedNodeId);
16258
16260
  if (!isNavigating) {
16259
16261
  const matchingSection = config.sections.find((s) => {
16260
- const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _298 => _298.data, 'optionalAccess', _299 => _299.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _300 => _300.data, 'optionalAccess', _301 => _301.presentedNodeId]);
16261
- const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _302 => _302.data, 'optionalAccess', _303 => _303.presentedNodeId]) || _optionalChain([s, 'access', _304 => _304.mobileStartingNodeId, 'optionalAccess', _305 => _305.replace, 'call', _306 => _306(":", "-")]) === _optionalChain([figmaEvent, 'access', _307 => _307.data, 'optionalAccess', _308 => _308.presentedNodeId]);
16262
+ const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _299 => _299.data, 'optionalAccess', _300 => _300.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _301 => _301.data, 'optionalAccess', _302 => _302.presentedNodeId]);
16263
+ const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _303 => _303.data, 'optionalAccess', _304 => _304.presentedNodeId]) || _optionalChain([s, 'access', _305 => _305.mobileStartingNodeId, 'optionalAccess', _306 => _306.replace, 'call', _307 => _307(":", "-")]) === _optionalChain([figmaEvent, 'access', _308 => _308.data, 'optionalAccess', _309 => _309.presentedNodeId]);
16262
16264
  return desktopMatch || mobileMatch;
16263
16265
  });
16264
16266
  if (matchingSection && matchingSection.id !== activeSection) {
16265
16267
  if (!externalActiveSection) {
16266
16268
  setInternalActiveSection(matchingSection.id);
16267
16269
  }
16268
- _optionalChain([config, 'access', _309 => _309.onSectionChange, 'optionalCall', _310 => _310(matchingSection.id)]);
16270
+ _optionalChain([config, 'access', _310 => _310.onSectionChange, 'optionalCall', _311 => _311(matchingSection.id)]);
16269
16271
  }
16270
16272
  }
16271
16273
  }
@@ -16278,7 +16280,7 @@ var FigmaPrototypeViewer = ({
16278
16280
  }, [config.sections, activeSection, isNavigating, externalActiveSection, config.onSectionChange, viewMode]);
16279
16281
  const navigateToSection = _react.useCallback.call(void 0, (sectionId) => {
16280
16282
  const section = config.sections.find((s) => s.id === sectionId);
16281
- if (!section || !_optionalChain([iframeRef, 'access', _311 => _311.current, 'optionalAccess', _312 => _312.contentWindow]) || !isInitialized) {
16283
+ if (!section || !_optionalChain([iframeRef, 'access', _312 => _312.current, 'optionalAccess', _313 => _313.contentWindow]) || !isInitialized) {
16282
16284
  return;
16283
16285
  }
16284
16286
  setIsNavigating(true);
@@ -16286,7 +16288,7 @@ var FigmaPrototypeViewer = ({
16286
16288
  if (!externalActiveSection) {
16287
16289
  setInternalActiveSection(sectionId);
16288
16290
  }
16289
- _optionalChain([config, 'access', _313 => _313.onSectionChange, 'optionalCall', _314 => _314(sectionId)]);
16291
+ _optionalChain([config, 'access', _314 => _314.onSectionChange, 'optionalCall', _315 => _315(sectionId)]);
16290
16292
  const command = {
16291
16293
  type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
16292
16294
  data: { nodeId }
@@ -16606,7 +16608,7 @@ var FiltersDropdown = ({
16606
16608
  defaults[section.id] = section.defaultSelected || [];
16607
16609
  });
16608
16610
  setSelectedFilters(defaults);
16609
- _optionalChain([onReset, 'optionalCall', _315 => _315()]);
16611
+ _optionalChain([onReset, 'optionalCall', _316 => _316()]);
16610
16612
  setIsOpen(false);
16611
16613
  };
16612
16614
  const handleApply = () => {
@@ -16899,7 +16901,7 @@ function MediaGalleryManager({
16899
16901
  const [deletingIndex, setDeletingIndex] = _react.useState.call(void 0, null);
16900
16902
  const [draggedIndex, setDraggedIndex] = _react.useState.call(void 0, null);
16901
16903
  const handleFileSelect = _react.useCallback.call(void 0, async (event) => {
16902
- const file = _optionalChain([event, 'access', _316 => _316.target, 'access', _317 => _317.files, 'optionalAccess', _318 => _318[0]]);
16904
+ const file = _optionalChain([event, 'access', _317 => _317.target, 'access', _318 => _318.files, 'optionalAccess', _319 => _319[0]]);
16903
16905
  if (!file) return;
16904
16906
  let mediaType;
16905
16907
  if (file.type.startsWith("image/")) {
@@ -17014,7 +17016,7 @@ function MediaGalleryManager({
17014
17016
  {
17015
17017
  type: "button",
17016
17018
  variant: "outline",
17017
- onClick: () => _optionalChain([fileInputRef, 'access', _319 => _319.current, 'optionalAccess', _320 => _320.click, 'call', _321 => _321()]),
17019
+ onClick: () => _optionalChain([fileInputRef, 'access', _320 => _320.current, 'optionalAccess', _321 => _321.click, 'call', _322 => _322()]),
17018
17020
  disabled: isUploading,
17019
17021
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
17020
17022
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -17665,7 +17667,7 @@ function ReleaseMediaManager({
17665
17667
  const fileInputRef = _react.useRef.call(void 0, null);
17666
17668
  const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
17667
17669
  const handleFileSelect = async (event) => {
17668
- const file = _optionalChain([event, 'access', _322 => _322.target, 'access', _323 => _323.files, 'optionalAccess', _324 => _324[0]]);
17670
+ const file = _optionalChain([event, 'access', _323 => _323.target, 'access', _324 => _324.files, 'optionalAccess', _325 => _325[0]]);
17669
17671
  if (!file) return;
17670
17672
  let mediaType;
17671
17673
  if (file.type.startsWith("image/")) {
@@ -17745,7 +17747,7 @@ function ReleaseMediaManager({
17745
17747
  {
17746
17748
  type: "button",
17747
17749
  variant: "outline",
17748
- onClick: () => _optionalChain([fileInputRef, 'access', _325 => _325.current, 'optionalAccess', _326 => _326.click, 'call', _327 => _327()]),
17750
+ onClick: () => _optionalChain([fileInputRef, 'access', _326 => _326.current, 'optionalAccess', _327 => _327.click, 'call', _328 => _328()]),
17749
17751
  disabled: uploadingIndex !== null,
17750
17752
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
17751
17753
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -17958,7 +17960,7 @@ function SEOEditorPreview({
17958
17960
  const displayImage = hasOgImage || hasFeaturedImage;
17959
17961
  const handleImageUpload = async (event) => {
17960
17962
  if (!onOgImageUpload) return;
17961
- const file = _optionalChain([event, 'access', _328 => _328.target, 'access', _329 => _329.files, 'optionalAccess', _330 => _330[0]]);
17963
+ const file = _optionalChain([event, 'access', _329 => _329.target, 'access', _330 => _330.files, 'optionalAccess', _331 => _331[0]]);
17962
17964
  if (!file) return;
17963
17965
  setIsUploading(true);
17964
17966
  try {
@@ -18089,7 +18091,7 @@ function SEOEditorPreview({
18089
18091
  type: "button",
18090
18092
  variant: "outline",
18091
18093
  size: "icon",
18092
- onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _331 => _331.click, 'call', _332 => _332()]),
18094
+ onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _332 => _332.click, 'call', _333 => _333()]),
18093
18095
  disabled: disabled || isUploading,
18094
18096
  className: "bg-white text-black hover:bg-gray-100 rounded-full opacity-0 group-hover:opacity-100",
18095
18097
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
@@ -18112,7 +18114,7 @@ function SEOEditorPreview({
18112
18114
  "div",
18113
18115
  {
18114
18116
  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",
18115
- onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _333 => _333.click, 'call', _334 => _334()]),
18117
+ onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _334 => _334.click, 'call', _335 => _335()]),
18116
18118
  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: [
18117
18119
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
18118
18120
  /* @__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" })
@@ -18197,7 +18199,7 @@ function SocialLinksManager({
18197
18199
  className = ""
18198
18200
  }) {
18199
18201
  const addLink = () => {
18200
- const firstPlatform = _optionalChain([platforms, 'access', _335 => _335[0], 'optionalAccess', _336 => _336.name]) || "website";
18202
+ const firstPlatform = _optionalChain([platforms, 'access', _336 => _336[0], 'optionalAccess', _337 => _337.name]) || "website";
18201
18203
  onChange([...links, { platform: firstPlatform, url: "" }]);
18202
18204
  };
18203
18205
  const removeLink = (index) => {
@@ -18209,7 +18211,7 @@ function SocialLinksManager({
18209
18211
  onChange(updated);
18210
18212
  };
18211
18213
  const getIcon = (link, platform) => {
18212
- const iconKey = _optionalChain([platform, 'optionalAccess', _337 => _337.icon_name]) || link.platform;
18214
+ const iconKey = _optionalChain([platform, 'optionalAccess', _338 => _338.icon_name]) || link.platform;
18213
18215
  const IconComponent = iconMap[iconKey];
18214
18216
  return IconComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: "w-5 h-5 text-ods-text-secondary" }) : null;
18215
18217
  };
@@ -18234,7 +18236,7 @@ function SocialLinksManager({
18234
18236
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18235
18237
  _chunk6JINAOI7cjs.Input,
18236
18238
  {
18237
- placeholder: _optionalChain([platform, 'optionalAccess', _338 => _338.placeholder]) || "Profile URL",
18239
+ placeholder: _optionalChain([platform, 'optionalAccess', _339 => _339.placeholder]) || "Profile URL",
18238
18240
  value: link.url,
18239
18241
  onChange: (e) => updateLink(index, "url", e.target.value),
18240
18242
  onKeyDown: (e) => {
@@ -18614,7 +18616,7 @@ function VideoSourceSelector({
18614
18616
  input.accept = "video/*";
18615
18617
  input.onchange = async (e) => {
18616
18618
  const target = e.target;
18617
- const file = _optionalChain([target, 'access', _339 => _339.files, 'optionalAccess', _340 => _340[0]]);
18619
+ const file = _optionalChain([target, 'access', _340 => _340.files, 'optionalAccess', _341 => _341[0]]);
18618
18620
  if (!file) return;
18619
18621
  setIsUploading(true);
18620
18622
  setUploadProgress(0);
@@ -18975,7 +18977,7 @@ function TranscriptSummaryEditor({
18975
18977
  {
18976
18978
  id: "subtitles",
18977
18979
  value: subtitles || "",
18978
- onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _341 => _341(e.target.value)]),
18980
+ onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _342 => _342(e.target.value)]),
18979
18981
  placeholder: subtitlesPlaceholder,
18980
18982
  disabled: disabled || !onSubtitlesChange,
18981
18983
  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",
@@ -19128,7 +19130,7 @@ var AIEnrichSection = ({
19128
19130
  }) => {
19129
19131
  const hasResults = status === "success" || status === "error";
19130
19132
  const shouldDisable = disabled || !canEnrich;
19131
- const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _342 => _342.filter, 'call', _343 => _343((f) => !f.isFilled)]) || [];
19133
+ const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _343 => _343.filter, 'call', _344 => _344((f) => !f.isFilled)]) || [];
19132
19134
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
19133
19135
  "div",
19134
19136
  {
@@ -19166,7 +19168,7 @@ var AIEnrichSection = ({
19166
19168
  {
19167
19169
  id: "ai-enrich-custom-instructions",
19168
19170
  value: _nullishCoalesce(customInstructions, () => ( "")),
19169
- onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _344 => _344(e.target.value)]),
19171
+ onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _345 => _345(e.target.value)]),
19170
19172
  placeholder: customInstructionsPlaceholder,
19171
19173
  disabled: loading,
19172
19174
  maxLength: customInstructionsMaxLength,
@@ -19295,7 +19297,7 @@ function HighlightVideoSection({
19295
19297
  input.accept = "video/*";
19296
19298
  input.onchange = async (e) => {
19297
19299
  const target = e.target;
19298
- const file = _optionalChain([target, 'access', _345 => _345.files, 'optionalAccess', _346 => _346[0]]);
19300
+ const file = _optionalChain([target, 'access', _346 => _346.files, 'optionalAccess', _347 => _347[0]]);
19299
19301
  if (!file) return;
19300
19302
  setUploadError(null);
19301
19303
  try {
@@ -19797,7 +19799,7 @@ function HighlightVideoPreview({
19797
19799
  input.accept = "video/*";
19798
19800
  input.onchange = async (e) => {
19799
19801
  const target = e.target;
19800
- const file = _optionalChain([target, 'access', _347 => _347.files, 'optionalAccess', _348 => _348[0]]);
19802
+ const file = _optionalChain([target, 'access', _348 => _348.files, 'optionalAccess', _349 => _349[0]]);
19801
19803
  if (!file) return;
19802
19804
  await onUpload(file);
19803
19805
  };
@@ -19984,7 +19986,7 @@ function HighlightVideoCombinedSection({
19984
19986
  input.accept = "video/*";
19985
19987
  input.onchange = async (e) => {
19986
19988
  const target = e.target;
19987
- const file = _optionalChain([target, 'access', _349 => _349.files, 'optionalAccess', _350 => _350[0]]);
19989
+ const file = _optionalChain([target, 'access', _350 => _350.files, 'optionalAccess', _351 => _351[0]]);
19988
19990
  if (!file) return;
19989
19991
  await onUpload(file);
19990
19992
  };
@@ -20281,7 +20283,7 @@ var getApprovalLevelLabel = (level, editMode = false) => {
20281
20283
  return editMode ? "Set Global Permission" : "";
20282
20284
  }
20283
20285
  const option = approvalLevelOptions.find((opt) => opt.value === level);
20284
- return _optionalChain([option, 'optionalAccess', _351 => _351.label]) || level;
20286
+ return _optionalChain([option, 'optionalAccess', _352 => _352.label]) || level;
20285
20287
  };
20286
20288
  var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
20287
20289
  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: [
@@ -20495,12 +20497,12 @@ function PhoneInput({
20495
20497
  const runValidation = _react.useCallback.call(void 0, (phone) => {
20496
20498
  if (!phone || digitCount(phone) === 0) {
20497
20499
  setIsInvalid(false);
20498
- _optionalChain([onValidationChange, 'optionalCall', _352 => _352(false)]);
20500
+ _optionalChain([onValidationChange, 'optionalCall', _353 => _353(false)]);
20499
20501
  return;
20500
20502
  }
20501
20503
  const invalid = !validatePhoneNumber(phone, countryCode);
20502
20504
  setIsInvalid(invalid);
20503
- _optionalChain([onValidationChange, 'optionalCall', _353 => _353(invalid)]);
20505
+ _optionalChain([onValidationChange, 'optionalCall', _354 => _354(invalid)]);
20504
20506
  }, [countryCode, digitCount, onValidationChange]);
20505
20507
  const debouncedValidation = _react.useCallback.call(void 0, (phone) => {
20506
20508
  if (debounceRef.current) clearTimeout(debounceRef.current);
@@ -20549,7 +20551,7 @@ function PhoneInput({
20549
20551
  debouncedValidation(val);
20550
20552
  } else if (digitCount(val) === 0) {
20551
20553
  setIsInvalid(false);
20552
- _optionalChain([onValidationChange, 'optionalCall', _354 => _354(false)]);
20554
+ _optionalChain([onValidationChange, 'optionalCall', _355 => _355(false)]);
20553
20555
  }
20554
20556
  }
20555
20557
  },
@@ -20889,19 +20891,19 @@ function NotificationsProvider({
20889
20891
  }, []);
20890
20892
  const markRead = React72.useCallback((id) => {
20891
20893
  dispatch({ type: "markRead", id });
20892
- void _optionalChain([actionsRef, 'access', _355 => _355.current, 'optionalAccess', _356 => _356.onMarkRead, 'optionalCall', _357 => _357(id)]);
20894
+ void _optionalChain([actionsRef, 'access', _356 => _356.current, 'optionalAccess', _357 => _357.onMarkRead, 'optionalCall', _358 => _358(id)]);
20893
20895
  }, []);
20894
20896
  const markAllRead = React72.useCallback(() => {
20895
20897
  dispatch({ type: "markAllRead" });
20896
- void _optionalChain([actionsRef, 'access', _358 => _358.current, 'optionalAccess', _359 => _359.onMarkAllRead, 'optionalCall', _360 => _360()]);
20898
+ void _optionalChain([actionsRef, 'access', _359 => _359.current, 'optionalAccess', _360 => _360.onMarkAllRead, 'optionalCall', _361 => _361()]);
20897
20899
  }, []);
20898
20900
  const markSettled = React72.useCallback((id) => {
20899
20901
  dispatch({ type: "markSettled", id });
20900
- void _optionalChain([actionsRef, 'access', _361 => _361.current, 'optionalAccess', _362 => _362.onMarkSettled, 'optionalCall', _363 => _363(id)]);
20902
+ void _optionalChain([actionsRef, 'access', _362 => _362.current, 'optionalAccess', _363 => _363.onMarkSettled, 'optionalCall', _364 => _364(id)]);
20901
20903
  }, []);
20902
20904
  const remove = React72.useCallback((id) => {
20903
20905
  dispatch({ type: "remove", id });
20904
- void _optionalChain([actionsRef, 'access', _364 => _364.current, 'optionalAccess', _365 => _365.onRemove, 'optionalCall', _366 => _366(id)]);
20906
+ void _optionalChain([actionsRef, 'access', _365 => _365.current, 'optionalAccess', _366 => _366.onRemove, 'optionalCall', _367 => _367(id)]);
20905
20907
  }, []);
20906
20908
  const clear = React72.useCallback(() => dispatch({ type: "clear" }), []);
20907
20909
  const open = React72.useCallback(() => setIsOpen(true), []);
@@ -20910,14 +20912,14 @@ function NotificationsProvider({
20910
20912
  const setShowPopups = React72.useCallback(
20911
20913
  (value2) => {
20912
20914
  setShowPopupsState(value2);
20913
- _optionalChain([onShowPopupsChange, 'optionalCall', _367 => _367(value2)]);
20915
+ _optionalChain([onShowPopupsChange, 'optionalCall', _368 => _368(value2)]);
20914
20916
  },
20915
20917
  [onShowPopupsChange]
20916
20918
  );
20917
20919
  const setShowDesktopPopups = React72.useCallback(
20918
20920
  (value2) => {
20919
20921
  setShowDesktopPopupsState(value2);
20920
- _optionalChain([onShowDesktopPopupsChange, 'optionalCall', _368 => _368(value2)]);
20922
+ _optionalChain([onShowDesktopPopupsChange, 'optionalCall', _369 => _369(value2)]);
20921
20923
  },
20922
20924
  [onShowDesktopPopupsChange]
20923
20925
  );
@@ -21019,7 +21021,7 @@ function NotificationTile({
21019
21021
  if (!counting) return;
21020
21022
  const remaining = Math.max(0, liveDurationMs - initialElapsed);
21021
21023
  const timer = window.setTimeout(() => {
21022
- _optionalChain([onSettle, 'optionalCall', _369 => _369(id)]);
21024
+ _optionalChain([onSettle, 'optionalCall', _370 => _370(id)]);
21023
21025
  }, remaining);
21024
21026
  return () => window.clearTimeout(timer);
21025
21027
  }, [id, counting, initialElapsed, liveDurationMs, onSettle]);
@@ -21081,7 +21083,7 @@ function NotificationTile({
21081
21083
  "button",
21082
21084
  {
21083
21085
  type: "button",
21084
- onClick: () => _optionalChain([onSettle, 'optionalCall', _370 => _370(id)]),
21086
+ onClick: () => _optionalChain([onSettle, 'optionalCall', _371 => _371(id)]),
21085
21087
  "aria-label": "Dismiss notification",
21086
21088
  tabIndex: isLive ? 0 : -1,
21087
21089
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
@@ -21212,7 +21214,7 @@ function DrawerScrollList({
21212
21214
  if (!sentinel || !root) return;
21213
21215
  const observer = new IntersectionObserver(
21214
21216
  (entries) => {
21215
- if (_optionalChain([entries, 'access', _371 => _371[0], 'optionalAccess', _372 => _372.isIntersecting])) _optionalChain([loadMoreRef, 'access', _373 => _373.current, 'optionalCall', _374 => _374()]);
21217
+ if (_optionalChain([entries, 'access', _372 => _372[0], 'optionalAccess', _373 => _373.isIntersecting])) _optionalChain([loadMoreRef, 'access', _374 => _374.current, 'optionalCall', _375 => _375()]);
21216
21218
  },
21217
21219
  { root, rootMargin: loadMoreRootMargin }
21218
21220
  );
@@ -21227,7 +21229,7 @@ function DrawerScrollList({
21227
21229
  className: "flex flex-1 flex-col gap-[var(--spacing-system-xs)] overflow-y-auto px-[var(--spacing-system-m)]",
21228
21230
  children: isEmpty && !isLoadingMore ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmptyState, {}) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
21229
21231
  unreadNotifications.map((n) => {
21230
- const custom = _optionalChain([renderTile, 'optionalCall', _375 => _375(n, { onComplete, onSettle, liveDurationMs })]);
21232
+ const custom = _optionalChain([renderTile, 'optionalCall', _376 => _376(n, { onComplete, onSettle, liveDurationMs })]);
21231
21233
  if (custom) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { children: custom }, n.id);
21232
21234
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21233
21235
  NotificationTile,
@@ -21383,7 +21385,7 @@ function NotificationPopups({
21383
21385
  className
21384
21386
  ),
21385
21387
  children: live.map((n) => {
21386
- const custom = _optionalChain([renderTile, 'optionalCall', _376 => _376(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
21388
+ const custom = _optionalChain([renderTile, 'optionalCall', _377 => _377(n, { onComplete: markRead, onSettle: markSettled, liveDurationMs })]);
21387
21389
  if (custom) {
21388
21390
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-auto", children: custom }, n.id);
21389
21391
  }
@@ -21563,21 +21565,21 @@ function transformWebinarToProgram(webinar) {
21563
21565
  // src/components/features/notifications/types.ts
21564
21566
  var ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE = "ADMIN_APPROVAL_REQUEST";
21565
21567
  function isApprovalNotification(notification) {
21566
- return _optionalChain([notification, 'access', _377 => _377.meta, 'optionalAccess', _378 => _378.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
21568
+ return _optionalChain([notification, 'access', _378 => _378.meta, 'optionalAccess', _379 => _379.contextType]) === ADMIN_APPROVAL_REQUEST_CONTEXT_TYPE;
21567
21569
  }
21568
21570
  function getApprovalMeta(notification) {
21569
21571
  if (!isApprovalNotification(notification)) return null;
21570
21572
  const meta = notification.meta;
21571
- const approvalRequestId = _optionalChain([meta, 'optionalAccess', _379 => _379.approvalRequestId]);
21572
- const toolCalls = _optionalChain([meta, 'optionalAccess', _380 => _380.toolCalls]);
21573
+ const approvalRequestId = _optionalChain([meta, 'optionalAccess', _380 => _380.approvalRequestId]);
21574
+ const toolCalls = _optionalChain([meta, 'optionalAccess', _381 => _381.toolCalls]);
21573
21575
  if (typeof approvalRequestId !== "string" || !Array.isArray(toolCalls)) return null;
21574
21576
  return {
21575
21577
  approvalRequestId,
21576
- dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _381 => _381.dialogId]), () => ( null)),
21577
- ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _382 => _382.ticketId]), () => ( null)),
21578
- approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _383 => _383.approvalType]), () => ( null)),
21579
- resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _384 => _384.resolution]), () => ( null)),
21580
- resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _385 => _385.resolvedByName]), () => ( null)),
21578
+ dialogId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _382 => _382.dialogId]), () => ( null)),
21579
+ ticketId: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _383 => _383.ticketId]), () => ( null)),
21580
+ approvalType: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _384 => _384.approvalType]), () => ( null)),
21581
+ resolution: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _385 => _385.resolution]), () => ( null)),
21582
+ resolvedByName: _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _386 => _386.resolvedByName]), () => ( null)),
21581
21583
  toolCalls
21582
21584
  };
21583
21585
  }
@@ -21626,7 +21628,7 @@ function ApprovalRequestNotificationTile({
21626
21628
  const [pinned, setPinned] = _react.useState.call(void 0, defaultExpanded);
21627
21629
  const [localStatus, setLocalStatus] = _react.useState.call(void 0, null);
21628
21630
  const approval = getApprovalMeta(notification);
21629
- const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _386 => _386.resolution]));
21631
+ const resolvedStatus = resolutionToStatus(_optionalChain([approval, 'optionalAccess', _387 => _387.resolution]));
21630
21632
  const status = resolvedStatus !== "pending" ? resolvedStatus : _nullishCoalesce(localStatus, () => ( "pending"));
21631
21633
  const batchData = _react.useMemo.call(void 0, () => approval ? approvalMetaToBatchData(approval) : null, [approval]);
21632
21634
  const { innerRef, containerStyle } = useCollapsible({ expanded });
@@ -21862,15 +21864,15 @@ function TicketCard({
21862
21864
  transform: _utilities.CSS.Transform.toString(sortable.transform),
21863
21865
  transition: sortable.transition
21864
21866
  };
21865
- const showDeviceRow = !!(_optionalChain([ticket, 'access', _387 => _387.deviceHostnames, 'optionalAccess', _388 => _388.length]) || ticket.organizationName);
21867
+ const showDeviceRow = !!(_optionalChain([ticket, 'access', _388 => _388.deviceHostnames, 'optionalAccess', _389 => _389.length]) || ticket.organizationName);
21866
21868
  const deviceText = [
21867
- _optionalChain([ticket, 'access', _389 => _389.deviceHostnames, 'optionalAccess', _390 => _390.join, 'call', _391 => _391(", ")]),
21869
+ _optionalChain([ticket, 'access', _390 => _390.deviceHostnames, 'optionalAccess', _391 => _391.join, 'call', _392 => _392(", ")]),
21868
21870
  ticket.organizationName
21869
21871
  ].filter(Boolean).join(", ");
21870
21872
  const handleClick = (e) => {
21871
21873
  if (sortable.isDragging) e.preventDefault();
21872
21874
  };
21873
- const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _392 => _392.assignees, 'optionalAccess', _393 => _393.length]) || renderAssignSlot);
21875
+ const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _393 => _393.assignees, 'optionalAccess', _394 => _394.length]) || renderAssignSlot);
21874
21876
  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: [
21875
21877
  ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21876
21878
  _chunkC6ASEPZLcjs.Flag02Icon,
@@ -21879,7 +21881,7 @@ function TicketCard({
21879
21881
  "aria-label": `Priority: ${ticket.priority}`
21880
21882
  }
21881
21883
  ),
21882
- renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _394 => _394.assignees, 'optionalAccess', _395 => _395.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
21884
+ renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _395 => _395.assignees, 'optionalAccess', _396 => _396.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
21883
21885
  ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21884
21886
  _chunk7NJUPRN6cjs.SquareAvatar,
21885
21887
  {
@@ -21910,7 +21912,7 @@ function TicketCard({
21910
21912
  ] }),
21911
21913
  rightSection
21912
21914
  ] }),
21913
- _optionalChain([ticket, 'access', _396 => _396.tags, 'optionalAccess', _397 => _397.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
21915
+ _optionalChain([ticket, 'access', _397 => _397.tags, 'optionalAccess', _398 => _398.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null,
21914
21916
  timestampLabel && tooltipLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipProvider, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Tooltip, { children: [
21915
21917
  /* @__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 }) }),
21916
21918
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TooltipContent, { children: tooltipLabel })
@@ -22089,7 +22091,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
22089
22091
  const observer = new IntersectionObserver(
22090
22092
  (entries) => {
22091
22093
  if (entries.some((e) => e.isIntersecting)) {
22092
- _optionalChain([loadMoreRef, 'access', _398 => _398.current, 'optionalCall', _399 => _399(columnIdRef.current)]);
22094
+ _optionalChain([loadMoreRef, 'access', _399 => _399.current, 'optionalCall', _400 => _400(columnIdRef.current)]);
22093
22095
  }
22094
22096
  },
22095
22097
  { root, rootMargin: loadMoreRootMargin }
@@ -22118,7 +22120,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
22118
22120
  {
22119
22121
  ticket: t,
22120
22122
  columnId: column.id,
22121
- href: _optionalChain([getTicketHref, 'optionalCall', _400 => _400(t.id)]),
22123
+ href: _optionalChain([getTicketHref, 'optionalCall', _401 => _401(t.id)]),
22122
22124
  renderAssignSlot,
22123
22125
  dragDisabled: column.dragDisabled
22124
22126
  },
@@ -22214,17 +22216,17 @@ function Board({
22214
22216
  const pointer = _core.pointerWithin.call(void 0, args);
22215
22217
  const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
22216
22218
  const ticketHit = intersections.find(
22217
- (c) => _optionalChain([c, 'access', _401 => _401.data, 'optionalAccess', _402 => _402.droppableContainer, 'optionalAccess', _403 => _403.data, 'optionalAccess', _404 => _404.current, 'optionalAccess', _405 => _405.type]) === "ticket"
22219
+ (c) => _optionalChain([c, 'access', _402 => _402.data, 'optionalAccess', _403 => _403.droppableContainer, 'optionalAccess', _404 => _404.data, 'optionalAccess', _405 => _405.current, 'optionalAccess', _406 => _406.type]) === "ticket"
22218
22220
  );
22219
22221
  if (ticketHit) return [ticketHit];
22220
22222
  const columnHit = intersections.find(
22221
- (c) => _optionalChain([c, 'access', _406 => _406.data, 'optionalAccess', _407 => _407.droppableContainer, 'optionalAccess', _408 => _408.data, 'optionalAccess', _409 => _409.current, 'optionalAccess', _410 => _410.type]) === "column"
22223
+ (c) => _optionalChain([c, 'access', _407 => _407.data, 'optionalAccess', _408 => _408.droppableContainer, 'optionalAccess', _409 => _409.data, 'optionalAccess', _410 => _410.current, 'optionalAccess', _411 => _411.type]) === "column"
22222
22224
  );
22223
22225
  if (columnHit) {
22224
- const columnId = _optionalChain([columnHit, 'access', _411 => _411.data, 'optionalAccess', _412 => _412.droppableContainer, 'optionalAccess', _413 => _413.data, 'optionalAccess', _414 => _414.current, 'optionalAccess', _415 => _415.columnId]);
22226
+ const columnId = _optionalChain([columnHit, 'access', _412 => _412.data, 'optionalAccess', _413 => _413.droppableContainer, 'optionalAccess', _414 => _414.data, 'optionalAccess', _415 => _415.current, 'optionalAccess', _416 => _416.columnId]);
22225
22227
  const ticketsInColumn = args.droppableContainers.filter((c) => {
22226
22228
  const d = c.data.current;
22227
- return _optionalChain([d, 'optionalAccess', _416 => _416.type]) === "ticket" && d.columnId === columnId;
22229
+ return _optionalChain([d, 'optionalAccess', _417 => _417.type]) === "ticket" && d.columnId === columnId;
22228
22230
  });
22229
22231
  if (ticketsInColumn.length > 0) {
22230
22232
  const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
@@ -22249,20 +22251,20 @@ function Board({
22249
22251
  const overId = String(over.id);
22250
22252
  if (activeId === overId) return;
22251
22253
  const overData = over.data.current;
22252
- const fromColumnId = _optionalChain([locate, 'call', _417 => _417(items, activeId), 'optionalAccess', _418 => _418.columnId]);
22253
- const toColumnId = _optionalChain([overData, 'optionalAccess', _419 => _419.columnId]);
22254
+ const fromColumnId = _optionalChain([locate, 'call', _418 => _418(items, activeId), 'optionalAccess', _419 => _419.columnId]);
22255
+ const toColumnId = _optionalChain([overData, 'optionalAccess', _420 => _420.columnId]);
22254
22256
  if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
22255
22257
  const origin = dragOriginRef.current;
22256
- const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _420 => _420.fromColumnId]) === toColumnId;
22258
+ const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _421 => _421.fromColumnId]) === toColumnId;
22257
22259
  const targetCol = items.find((c) => c.id === toColumnId);
22258
- const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _421 => _421.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
22259
- if (_optionalChain([targetCol, 'optionalAccess', _422 => _422.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
22260
+ const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _422 => _422.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
22261
+ if (_optionalChain([targetCol, 'optionalAccess', _423 => _423.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
22260
22262
  setItems((prev) => {
22261
22263
  const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
22262
22264
  const toCol = prev.find((c) => c.id === toColumnId);
22263
22265
  if (fromIndex < 0 || !toCol) return prev;
22264
22266
  let toIndex;
22265
- if (_optionalChain([overData, 'optionalAccess', _423 => _423.type]) === "column") {
22267
+ if (_optionalChain([overData, 'optionalAccess', _424 => _424.type]) === "column") {
22266
22268
  toIndex = toCol.tickets.length;
22267
22269
  } else {
22268
22270
  const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
@@ -22304,14 +22306,14 @@ function Board({
22304
22306
  const toColumnId = located.columnId;
22305
22307
  const isCrossColumn = origin.fromColumnId !== toColumnId;
22306
22308
  const targetCol = items.find((c) => c.id === toColumnId);
22307
- if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _424 => _424.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _425 => _425.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
22309
+ if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _425 => _425.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _426 => _426.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
22308
22310
  setItems(columns);
22309
22311
  return;
22310
22312
  }
22311
22313
  let finalIndex = located.index;
22312
- let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _426 => _426.find, 'call', _427 => _427((c) => c.id === toColumnId), 'optionalAccess', _428 => _428.tickets]), () => ( []));
22314
+ let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _427 => _427.find, 'call', _428 => _428((c) => c.id === toColumnId), 'optionalAccess', _429 => _429.tickets]), () => ( []));
22313
22315
  const overData = over.data.current;
22314
- if (_optionalChain([overData, 'optionalAccess', _429 => _429.type]) === "ticket") {
22316
+ if (_optionalChain([overData, 'optionalAccess', _430 => _430.type]) === "ticket") {
22315
22317
  const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
22316
22318
  if (overIndex >= 0 && overIndex !== located.index) {
22317
22319
  finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
@@ -22331,8 +22333,8 @@ function Board({
22331
22333
  ticketId: origin.ticketId,
22332
22334
  fromColumnId: origin.fromColumnId,
22333
22335
  toColumnId,
22334
- afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _430 => _430[finalIndex - 1], 'optionalAccess', _431 => _431.id]), () => ( null)),
22335
- beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _432 => _432[finalIndex + 1], 'optionalAccess', _433 => _433.id]), () => ( null))
22336
+ afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _431 => _431[finalIndex - 1], 'optionalAccess', _432 => _432.id]), () => ( null)),
22337
+ beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _433 => _433[finalIndex + 1], 'optionalAccess', _434 => _434.id]), () => ( null))
22336
22338
  });
22337
22339
  };
22338
22340
  const handleDragCancel = () => {
@@ -22361,8 +22363,8 @@ function Board({
22361
22363
  children: items.map((column, i) => {
22362
22364
  const prev = items[i - 1];
22363
22365
  const next = items[i + 1];
22364
- const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _434 => _434.system]));
22365
- const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _435 => _435.system]));
22366
+ const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _435 => _435.system]));
22367
+ const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _436 => _436.system]));
22366
22368
  const showGap = i > 0 && !joinLeft;
22367
22369
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React76.Fragment, { children: [
22368
22370
  showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
@@ -22421,7 +22423,7 @@ function locate(cols, ticketId) {
22421
22423
  return null;
22422
22424
  }
22423
22425
  function findIndexInColumn(cols, columnId, ticketId) {
22424
- return _nullishCoalesce(_optionalChain([cols, 'access', _436 => _436.find, 'call', _437 => _437((c) => c.id === columnId), 'optionalAccess', _438 => _438.tickets, 'access', _439 => _439.findIndex, 'call', _440 => _440((t) => t.id === ticketId)]), () => ( -1));
22426
+ return _nullishCoalesce(_optionalChain([cols, 'access', _437 => _437.find, 'call', _438 => _438((c) => c.id === columnId), 'optionalAccess', _439 => _439.tickets, 'access', _440 => _440.findIndex, 'call', _441 => _441((t) => t.id === ticketId)]), () => ( -1));
22425
22427
  }
22426
22428
 
22427
22429
  // src/components/features/board/types.ts
@@ -22669,7 +22671,7 @@ function Header2({ config, platform }) {
22669
22671
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
22670
22672
  "flex justify-start w-full",
22671
22673
  "font-bold text-[16px] leading-none tracking-[-0.32px]",
22672
- index < (_nullishCoalesce(_optionalChain([item, 'access', _441 => _441.children, 'optionalAccess', _442 => _442.length]), () => ( 0))) - 1 && "mb-1",
22674
+ index < (_nullishCoalesce(_optionalChain([item, 'access', _442 => _442.children, 'optionalAccess', _443 => _443.length]), () => ( 0))) - 1 && "mb-1",
22673
22675
  "text-ods-text-primary",
22674
22676
  // All dropdown items use primary text color
22675
22677
  child.isActive && "bg-ods-bg-hover"
@@ -22761,7 +22763,7 @@ function Header2({ config, platform }) {
22761
22763
  style: config.style,
22762
22764
  children: [
22763
22765
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
22764
- _optionalChain([config, 'access', _443 => _443.actions, 'optionalAccess', _444 => _444.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
22766
+ _optionalChain([config, 'access', _444 => _444.actions, 'optionalAccess', _445 => _445.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
22765
22767
  /* @__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 })
22766
22768
  ] }),
22767
22769
  config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -22778,7 +22780,7 @@ function Header2({ config, platform }) {
22778
22780
  }
22779
22781
  ),
22780
22782
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
22781
- _optionalChain([config, 'access', _445 => _445.actions, 'optionalAccess', _446 => _446.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
22783
+ _optionalChain([config, 'access', _446 => _446.actions, 'optionalAccess', _447 => _447.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
22782
22784
  config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22783
22785
  _chunkN5UOJC3Vcjs.Button,
22784
22786
  {
@@ -22786,10 +22788,10 @@ function Header2({ config, platform }) {
22786
22788
  size: "icon",
22787
22789
  className: "flex md:hidden",
22788
22790
  onClick: () => {
22789
- _optionalChain([config, 'access', _447 => _447.mobile, 'optionalAccess', _448 => _448.onToggle, 'optionalCall', _449 => _449()]);
22791
+ _optionalChain([config, 'access', _448 => _448.mobile, 'optionalAccess', _449 => _449.onToggle, 'optionalCall', _450 => _450()]);
22790
22792
  },
22791
- "aria-label": _optionalChain([config, 'access', _450 => _450.mobile, 'optionalAccess', _451 => _451.isOpen]) ? "Close menu" : "Open menu",
22792
- leftIcon: _optionalChain([config, 'access', _452 => _452.mobile, 'optionalAccess', _453 => _453.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Menu01Icon, {})
22793
+ "aria-label": _optionalChain([config, 'access', _451 => _451.mobile, 'optionalAccess', _452 => _452.isOpen]) ? "Close menu" : "Open menu",
22794
+ leftIcon: _optionalChain([config, 'access', _453 => _453.mobile, 'optionalAccess', _454 => _454.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Menu01Icon, {})
22793
22795
  }
22794
22796
  )
22795
22797
  ] })
@@ -22806,10 +22808,10 @@ function Header2({ config, platform }) {
22806
22808
  // src/components/navigation/header-skeleton.tsx
22807
22809
 
22808
22810
  function HeaderSkeleton({ config }) {
22809
- const showNavigation = _optionalChain([config, 'optionalAccess', _454 => _454.navigation]) && config.navigation.items.length > 0;
22810
- const showActions = _optionalChain([config, 'optionalAccess', _455 => _455.actions, 'optionalAccess', _456 => _456.right]) && config.actions.right.length > 0;
22811
- const showMobileMenu = _optionalChain([config, 'optionalAccess', _457 => _457.mobile, 'optionalAccess', _458 => _458.enabled]);
22812
- const isAdminHeader = _optionalChain([config, 'optionalAccess', _459 => _459.className, 'optionalAccess', _460 => _460.includes, 'call', _461 => _461("admin")]);
22811
+ const showNavigation = _optionalChain([config, 'optionalAccess', _455 => _455.navigation]) && config.navigation.items.length > 0;
22812
+ const showActions = _optionalChain([config, 'optionalAccess', _456 => _456.actions, 'optionalAccess', _457 => _457.right]) && config.actions.right.length > 0;
22813
+ const showMobileMenu = _optionalChain([config, 'optionalAccess', _458 => _458.mobile, 'optionalAccess', _459 => _459.enabled]);
22814
+ const isAdminHeader = _optionalChain([config, 'optionalAccess', _460 => _460.className, 'optionalAccess', _461 => _461.includes, 'call', _462 => _462("admin")]);
22813
22815
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
22814
22816
  "header",
22815
22817
  {
@@ -22818,11 +22820,11 @@ function HeaderSkeleton({ config }) {
22818
22820
  "bg-ods-card border-b border-ods-border backdrop-blur-sm",
22819
22821
  "px-6 py-3",
22820
22822
  "transition-opacity duration-300 ease-in-out",
22821
- _optionalChain([config, 'optionalAccess', _462 => _462.className])
22823
+ _optionalChain([config, 'optionalAccess', _463 => _463.className])
22822
22824
  ),
22823
22825
  children: [
22824
22826
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
22825
- isAdminHeader && _optionalChain([config, 'optionalAccess', _463 => _463.actions, 'optionalAccess', _464 => _464.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" }) }),
22827
+ isAdminHeader && _optionalChain([config, 'optionalAccess', _464 => _464.actions, 'optionalAccess', _465 => _465.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" }) }),
22826
22828
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
22827
22829
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
22828
22830
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
@@ -22830,8 +22832,8 @@ function HeaderSkeleton({ config }) {
22830
22832
  ] }),
22831
22833
  showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkFIG2RKZFcjs.cn.call(void 0,
22832
22834
  "hidden md:flex items-center gap-2",
22833
- _optionalChain([config, 'optionalAccess', _465 => _465.navigation, 'optionalAccess', _466 => _466.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
22834
- _optionalChain([config, 'optionalAccess', _467 => _467.navigation, 'optionalAccess', _468 => _468.position]) === "right" && "ml-auto mr-4"
22835
+ _optionalChain([config, 'optionalAccess', _466 => _466.navigation, 'optionalAccess', _467 => _467.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
22836
+ _optionalChain([config, 'optionalAccess', _468 => _468.navigation, 'optionalAccess', _469 => _469.position]) === "right" && "ml-auto mr-4"
22835
22837
  ), children: [
22836
22838
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
22837
22839
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
@@ -22879,7 +22881,7 @@ function MobileNavPanel({ isOpen, config }) {
22879
22881
  _react.useEffect.call(void 0, () => {
22880
22882
  const handleKeyDown = (e) => {
22881
22883
  if (e.key === "Escape" && isOpen) {
22882
- _optionalChain([config, 'access', _469 => _469.onClose, 'optionalCall', _470 => _470()]);
22884
+ _optionalChain([config, 'access', _470 => _470.onClose, 'optionalCall', _471 => _471()]);
22883
22885
  }
22884
22886
  };
22885
22887
  if (isOpen) {
@@ -22896,7 +22898,7 @@ function MobileNavPanel({ isOpen, config }) {
22896
22898
  if (item.onClick) {
22897
22899
  item.onClick();
22898
22900
  }
22899
- _optionalChain([config, 'access', _471 => _471.onClose, 'optionalCall', _472 => _472()]);
22901
+ _optionalChain([config, 'access', _472 => _472.onClose, 'optionalCall', _473 => _473()]);
22900
22902
  };
22901
22903
  if (item.href) {
22902
22904
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -23066,7 +23068,7 @@ function SlidingSidebar({ config }) {
23066
23068
  variant: "transparent",
23067
23069
  size: "default",
23068
23070
  onClick: () => {
23069
- _optionalChain([item, 'access', _473 => _473.onClick, 'optionalCall', _474 => _474()]);
23071
+ _optionalChain([item, 'access', _474 => _474.onClick, 'optionalCall', _475 => _475()]);
23070
23072
  config.onClose();
23071
23073
  },
23072
23074
  leftIcon: item.icon,
@@ -23089,7 +23091,7 @@ function SlidingSidebar({ config }) {
23089
23091
  variant: "transparent",
23090
23092
  size: "default",
23091
23093
  onClick: () => {
23092
- _optionalChain([item, 'access', _475 => _475.onClick, 'optionalCall', _476 => _476()]);
23094
+ _optionalChain([item, 'access', _476 => _476.onClick, 'optionalCall', _477 => _477()]);
23093
23095
  config.onClose();
23094
23096
  },
23095
23097
  leftIcon: item.icon,
@@ -23216,7 +23218,7 @@ function StickySectionNav({
23216
23218
  ] });
23217
23219
  }
23218
23220
  function useSectionNavigation(sections, options) {
23219
- const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _477 => _477[0], 'optionalAccess', _478 => _478.id]) || "");
23221
+ const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _478 => _478[0], 'optionalAccess', _479 => _479.id]) || "");
23220
23222
  const isScrollingFromClick = _react.useRef.call(void 0, false);
23221
23223
  const { offset: offset2 = 100 } = options || {};
23222
23224
  const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
@@ -23240,7 +23242,7 @@ function useSectionNavigation(sections, options) {
23240
23242
  const handleScroll = () => {
23241
23243
  if (isScrollingFromClick.current) return;
23242
23244
  const scrollPosition = window.scrollY + offset2 + 50;
23243
- let currentSection = _optionalChain([sections, 'access', _479 => _479[0], 'optionalAccess', _480 => _480.id]) || "";
23245
+ let currentSection = _optionalChain([sections, 'access', _480 => _480[0], 'optionalAccess', _481 => _481.id]) || "";
23244
23246
  for (let i = sections.length - 1; i >= 0; i--) {
23245
23247
  const element = document.getElementById(sections[i].id);
23246
23248
  if (element && scrollPosition >= element.offsetTop) {
@@ -23441,7 +23443,7 @@ function NavigationSidebar({ config, disabled = false }) {
23441
23443
  } else {
23442
23444
  setDesktopMinimized((prev) => !prev);
23443
23445
  }
23444
- _optionalChain([config, 'access', _481 => _481.onToggleMinimized, 'optionalCall', _482 => _482()]);
23446
+ _optionalChain([config, 'access', _482 => _482.onToggleMinimized, 'optionalCall', _483 => _483()]);
23445
23447
  }, [isTablet, setDesktopMinimized, config]);
23446
23448
  const closeOverlay = _react.useCallback.call(void 0, () => {
23447
23449
  setTabletMinimized(true);
@@ -23455,11 +23457,11 @@ function NavigationSidebar({ config, disabled = false }) {
23455
23457
  return () => document.removeEventListener("keydown", handleKeyDown);
23456
23458
  }, [isOverlayOpen, closeOverlay]);
23457
23459
  const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
23458
- _optionalChain([event, 'optionalAccess', _483 => _483.stopPropagation, 'call', _484 => _484()]);
23460
+ _optionalChain([event, 'optionalAccess', _484 => _484.stopPropagation, 'call', _485 => _485()]);
23459
23461
  if (item.onClick) {
23460
23462
  item.onClick();
23461
23463
  } else if (item.path) {
23462
- _optionalChain([config, 'access', _485 => _485.onNavigate, 'optionalCall', _486 => _486(item.path)]);
23464
+ _optionalChain([config, 'access', _486 => _486.onNavigate, 'optionalCall', _487 => _487(item.path)]);
23463
23465
  }
23464
23466
  if (isTablet) setTabletMinimized(true);
23465
23467
  }, [config, isTablet]);
@@ -23604,11 +23606,11 @@ function HeaderGlobalSearch({
23604
23606
  };
23605
23607
  const handleSubmit = (e) => {
23606
23608
  e.preventDefault();
23607
- _optionalChain([onSubmit, 'optionalCall', _487 => _487(currentValue)]);
23609
+ _optionalChain([onSubmit, 'optionalCall', _488 => _488(currentValue)]);
23608
23610
  };
23609
23611
  const handleKeyDown = (e) => {
23610
23612
  if (e.key === "Enter") {
23611
- _optionalChain([onSubmit, 'optionalCall', _488 => _488(currentValue)]);
23613
+ _optionalChain([onSubmit, 'optionalCall', _489 => _489(currentValue)]);
23612
23614
  }
23613
23615
  };
23614
23616
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -23702,8 +23704,8 @@ function HeaderOrganizationFilter({
23702
23704
  className
23703
23705
  }) {
23704
23706
  const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
23705
- const displayName = _optionalChain([selectedOrg, 'optionalAccess', _489 => _489.name]) || "All Organizations";
23706
- const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _490 => _490.deviceCount]), () => ( totalDeviceCount));
23707
+ const displayName = _optionalChain([selectedOrg, 'optionalAccess', _490 => _490.name]) || "All Organizations";
23708
+ const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _491 => _491.deviceCount]), () => ( totalDeviceCount));
23707
23709
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkN5UOJC3Vcjs.DropdownMenu, { children: [
23708
23710
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN5UOJC3Vcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
23709
23711
  "button",
@@ -23728,11 +23730,11 @@ function HeaderOrganizationFilter({
23728
23730
  }
23729
23731
  ) }),
23730
23732
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkN5UOJC3Vcjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
23731
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN5UOJC3Vcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _491 => _491("")]), children: "All Organizations" }),
23733
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkN5UOJC3Vcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _492 => _492("")]), children: "All Organizations" }),
23732
23734
  organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23733
23735
  _chunkN5UOJC3Vcjs.DropdownMenuItem,
23734
23736
  {
23735
- onClick: () => _optionalChain([onOrgChange, 'optionalCall', _492 => _492(org.id)]),
23737
+ onClick: () => _optionalChain([onOrgChange, 'optionalCall', _493 => _493(org.id)]),
23736
23738
  children: org.name
23737
23739
  },
23738
23740
  org.id
@@ -23917,9 +23919,9 @@ function NotificationsHeaderButton({
23917
23919
  dimmedClass
23918
23920
  }) {
23919
23921
  const ctx = useOptionalNotifications();
23920
- const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _493 => _493.unreadCount]), () => ( fallbackUnreadCount))) > 0;
23921
- const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _494 => _494.isOpen]), () => ( false));
23922
- const onClick = _optionalChain([ctx, 'optionalAccess', _495 => _495.toggle]);
23922
+ const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _494 => _494.unreadCount]), () => ( fallbackUnreadCount))) > 0;
23923
+ const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _495 => _495.isOpen]), () => ( false));
23924
+ const onClick = _optionalChain([ctx, 'optionalAccess', _496 => _496.toggle]);
23923
23925
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23924
23926
  HeaderButton,
23925
23927
  {
@@ -23983,7 +23985,7 @@ var MobileBurgerMenu = React92.default.memo(function MobileBurgerMenu2({
23983
23985
  if (item.onClick) {
23984
23986
  item.onClick();
23985
23987
  } else if (item.path) {
23986
- _optionalChain([config, 'access', _496 => _496.onNavigate, 'optionalCall', _497 => _497(item.path)]);
23988
+ _optionalChain([config, 'access', _497 => _497.onNavigate, 'optionalCall', _498 => _498(item.path)]);
23987
23989
  }
23988
23990
  onClose();
23989
23991
  }, [config, onClose]);
@@ -24226,7 +24228,7 @@ var AppLayoutDrawerRoot = ({
24226
24228
  const handleOpenChange = React85.useCallback(
24227
24229
  (next) => {
24228
24230
  if (!isControlled) setInternalOpen(next);
24229
- _optionalChain([onOpenChange, 'optionalCall', _498 => _498(next)]);
24231
+ _optionalChain([onOpenChange, 'optionalCall', _499 => _499(next)]);
24230
24232
  },
24231
24233
  [isControlled, onOpenChange]
24232
24234
  );
@@ -24607,10 +24609,10 @@ var AppLayoutDrawerContent = React85.forwardRef(
24607
24609
  ),
24608
24610
  style,
24609
24611
  onInteractOutside: (event) => {
24610
- _optionalChain([onInteractOutside, 'optionalCall', _499 => _499(event)]);
24612
+ _optionalChain([onInteractOutside, 'optionalCall', _500 => _500(event)]);
24611
24613
  if (event.defaultPrevented) return;
24612
24614
  const target = event.target;
24613
- const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _500 => _500.contains, 'call', _501 => _501(target)]);
24615
+ const isInsideContainer = !!target && !!_optionalChain([portalContainer, 'optionalAccess', _501 => _501.contains, 'call', _502 => _502(target)]);
24614
24616
  if (!isInsideContainer) {
24615
24617
  event.preventDefault();
24616
24618
  return;
@@ -24799,7 +24801,7 @@ var ShellTypeBadge = ({
24799
24801
  className,
24800
24802
  iconClassName
24801
24803
  }) => {
24802
- const normalizedType = _optionalChain([shellType, 'optionalAccess', _502 => _502.toUpperCase, 'call', _503 => _503()]);
24804
+ const normalizedType = _optionalChain([shellType, 'optionalAccess', _503 => _503.toUpperCase, 'call', _504 => _504()]);
24803
24805
  const label = getShellLabel(normalizedType);
24804
24806
  const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
24805
24807
  const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
@@ -25186,12 +25188,12 @@ function OnboardingWalkthrough({
25186
25188
  }
25187
25189
  }, [state.completedSteps, markComplete]);
25188
25190
  const handleStepSkip = (step) => {
25189
- _optionalChain([step, 'access', _504 => _504.onSkip, 'optionalCall', _505 => _505()]);
25191
+ _optionalChain([step, 'access', _505 => _505.onSkip, 'optionalCall', _506 => _506()]);
25190
25192
  markSkipped(step.id);
25191
25193
  };
25192
25194
  const handleDismiss = () => {
25193
25195
  dismissOnboarding();
25194
- _optionalChain([onDismiss, 'optionalCall', _506 => _506()]);
25196
+ _optionalChain([onDismiss, 'optionalCall', _507 => _507()]);
25195
25197
  };
25196
25198
  if (state.dismissed) {
25197
25199
  return null;
@@ -25321,7 +25323,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
25321
25323
  onKeyDown: (e) => {
25322
25324
  if (e.key === "Enter" || e.key === " ") {
25323
25325
  e.preventDefault();
25324
- _optionalChain([onClick, 'optionalCall', _507 => _507()]);
25326
+ _optionalChain([onClick, 'optionalCall', _508 => _508()]);
25325
25327
  }
25326
25328
  },
25327
25329
  children: [
@@ -25422,7 +25424,7 @@ var LogsList = React89.forwardRef(({
25422
25424
  log,
25423
25425
  isLast: index === logs.length - 1,
25424
25426
  showConnector,
25425
- onClick: () => _optionalChain([onLogClick, 'optionalCall', _508 => _508(log)])
25427
+ onClick: () => _optionalChain([onLogClick, 'optionalCall', _509 => _509(log)])
25426
25428
  },
25427
25429
  log.id
25428
25430
  ))
@@ -25523,7 +25525,7 @@ var Slider = React91.forwardRef(
25523
25525
  ({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
25524
25526
  const handleChange = (e) => {
25525
25527
  const newValue = [Number(e.target.value)];
25526
- _optionalChain([onValueChange, 'optionalCall', _509 => _509(newValue)]);
25528
+ _optionalChain([onValueChange, 'optionalCall', _510 => _510(newValue)]);
25527
25529
  };
25528
25530
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25529
25531
  "input",
@@ -25835,7 +25837,7 @@ function CursorPaginationSimple({
25835
25837
  {
25836
25838
  variant: "transparent",
25837
25839
  size: "icon",
25838
- onClick: () => _optionalChain([onPrevious, 'optionalCall', _510 => _510("")]),
25840
+ onClick: () => _optionalChain([onPrevious, 'optionalCall', _511 => _511("")]),
25839
25841
  disabled: !hasPreviousPage || loading,
25840
25842
  className: "h-8 w-8",
25841
25843
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
@@ -25847,7 +25849,7 @@ function CursorPaginationSimple({
25847
25849
  {
25848
25850
  variant: "transparent",
25849
25851
  size: "icon",
25850
- onClick: () => _optionalChain([onNext, 'optionalCall', _511 => _511("")]),
25852
+ onClick: () => _optionalChain([onNext, 'optionalCall', _512 => _512("")]),
25851
25853
  disabled: !hasNextPage || loading,
25852
25854
  className: "h-8 w-8",
25853
25855
  rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
@@ -25859,35 +25861,17 @@ function CursorPaginationSimple({
25859
25861
 
25860
25862
  // src/components/ui/table/table-empty-state.tsx
25861
25863
  _chunkFIG2RKZFcjs.init_cn.call(void 0, );
25862
- _chunkN5UOJC3Vcjs.init_button2.call(void 0, );
25863
25864
 
25864
-
25865
- function TableEmptyState({
25866
- message: message2 = "No data available",
25867
- icon,
25868
- action,
25869
- className
25870
- }) {
25871
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
25872
- "div",
25865
+ function TableEmptyState({ message: message2, icon, action, className }) {
25866
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25867
+ NoData,
25873
25868
  {
25874
- className: _chunkFIG2RKZFcjs.cn.call(void 0,
25875
- "flex flex-col items-center justify-center py-12 px-4 rounded-[6px] bg-ods-card border border-ods-border",
25876
- className
25877
- ),
25878
- children: [
25879
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-4 text-ods-text-secondary", children: icon || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.FileX2, { className: "w-12 h-12" }) }),
25880
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4 text-ods-text-secondary text-center mb-6", children: message2 }),
25881
- action && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25882
- _chunkN5UOJC3Vcjs.Button,
25883
- {
25884
- variant: "outline",
25885
- onClick: action.onClick,
25886
- className: "bg-ods-card border-ods-border hover:bg-ods-bg-active text-ods-text-primary",
25887
- children: action.label
25888
- }
25889
- )
25890
- ]
25869
+ icon: _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}))),
25870
+ title: _nullishCoalesce(message2, () => ( "No results found")),
25871
+ description: message2 == null ? "Try adjusting your search or filters" : void 0,
25872
+ buttonLabel: _optionalChain([action, 'optionalAccess', _513 => _513.label]),
25873
+ onButtonClick: _optionalChain([action, 'optionalAccess', _514 => _514.onClick]),
25874
+ className: _chunkFIG2RKZFcjs.cn.call(void 0, "py-[var(--spacing-system-xxl)]", className)
25891
25875
  }
25892
25876
  );
25893
25877
  }
@@ -25907,7 +25891,7 @@ function TableColumnFilterDropdown({
25907
25891
  placement = "bottom-start",
25908
25892
  dropdownClassName = "min-w-[240px]"
25909
25893
  }) {
25910
- const activeCount = _optionalChain([filters, 'optionalAccess', _512 => _512[columnKey], 'optionalAccess', _513 => _513.length]) || 0;
25894
+ const activeCount = _optionalChain([filters, 'optionalAccess', _515 => _515[columnKey], 'optionalAccess', _516 => _516.length]) || 0;
25911
25895
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25912
25896
  FiltersDropdown,
25913
25897
  {
@@ -25950,7 +25934,7 @@ function TableColumnFilterDropdown({
25950
25934
  delete newFilters[columnKey];
25951
25935
  onFilterChange(newFilters);
25952
25936
  },
25953
- currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _514 => _514[columnKey]]) || [] },
25937
+ currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _517 => _517[columnKey]]) || [] },
25954
25938
  placement,
25955
25939
  dropdownClassName
25956
25940
  }
@@ -26247,7 +26231,7 @@ function TableRow({
26247
26231
  const keys = column.key.split(".");
26248
26232
  let value = item;
26249
26233
  for (const key of keys) {
26250
- value = _optionalChain([value, 'optionalAccess', _515 => _515[key]]);
26234
+ value = _optionalChain([value, 'optionalAccess', _518 => _518[key]]);
26251
26235
  }
26252
26236
  if (value === null || value === void 0) {
26253
26237
  return "-";
@@ -26317,7 +26301,7 @@ function TableRow({
26317
26301
  // src/components/ui/table/table.tsx
26318
26302
 
26319
26303
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
26320
- const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _516 => _516.length])) || Boolean(renderRowActions);
26304
+ const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _519 => _519.length])) || Boolean(renderRowActions);
26321
26305
  const result = [...columns];
26322
26306
  if (hasActions) {
26323
26307
  const actionsColumn = {
@@ -26373,7 +26357,7 @@ function Table({
26373
26357
  columns,
26374
26358
  rowKey,
26375
26359
  loading = false,
26376
- emptyMessage = "No data available",
26360
+ emptyMessage,
26377
26361
  skeletonRows = 10,
26378
26362
  className,
26379
26363
  containerClassName,
@@ -26411,7 +26395,7 @@ function Table({
26411
26395
  return rowKey(item);
26412
26396
  }
26413
26397
  const key = item[rowKey];
26414
- return _optionalChain([key, 'optionalAccess', _517 => _517.toString, 'call', _518 => _518()]) || index.toString();
26398
+ return _optionalChain([key, 'optionalAccess', _520 => _520.toString, 'call', _521 => _521()]) || index.toString();
26415
26399
  };
26416
26400
  const getRowClassName = (item, index) => {
26417
26401
  if (typeof rowClassName === "function") {
@@ -26445,23 +26429,23 @@ function Table({
26445
26429
  const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
26446
26430
  const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
26447
26431
  const sentinelRef = _react.useRef.call(void 0, null);
26448
- const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _519 => _519.onLoadMore]));
26449
- onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _520 => _520.onLoadMore]);
26432
+ const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _522 => _522.onLoadMore]));
26433
+ onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _523 => _523.onLoadMore]);
26450
26434
  _react.useEffect.call(void 0, () => {
26451
- if (!_optionalChain([infiniteScroll, 'optionalAccess', _521 => _521.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
26435
+ if (!_optionalChain([infiniteScroll, 'optionalAccess', _524 => _524.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
26452
26436
  const sentinel = sentinelRef.current;
26453
26437
  if (!sentinel) return;
26454
26438
  const observer = new IntersectionObserver(
26455
26439
  (entries) => {
26456
- if (_optionalChain([entries, 'access', _522 => _522[0], 'optionalAccess', _523 => _523.isIntersecting])) {
26457
- _optionalChain([onLoadMoreRef, 'access', _524 => _524.current, 'optionalCall', _525 => _525()]);
26440
+ if (_optionalChain([entries, 'access', _525 => _525[0], 'optionalAccess', _526 => _526.isIntersecting])) {
26441
+ _optionalChain([onLoadMoreRef, 'access', _527 => _527.current, 'optionalCall', _528 => _528()]);
26458
26442
  }
26459
26443
  },
26460
26444
  { rootMargin: "200px" }
26461
26445
  );
26462
26446
  observer.observe(sentinel);
26463
26447
  return () => observer.disconnect();
26464
- }, [_optionalChain([infiniteScroll, 'optionalAccess', _526 => _526.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _527 => _527.isFetchingNextPage])]);
26448
+ }, [_optionalChain([infiniteScroll, 'optionalAccess', _529 => _529.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _530 => _530.isFetchingNextPage])]);
26465
26449
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
26466
26450
  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: [
26467
26451
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
@@ -26532,7 +26516,7 @@ function Table({
26532
26516
  },
26533
26517
  getRowKey(item, index)
26534
26518
  )),
26535
- _optionalChain([infiniteScroll, 'optionalAccess', _528 => _528.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26519
+ _optionalChain([infiniteScroll, 'optionalAccess', _531 => _531.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26536
26520
  TableCardSkeleton,
26537
26521
  {
26538
26522
  columns,
@@ -26541,7 +26525,7 @@ function Table({
26541
26525
  hasChevron: Boolean(rowHref)
26542
26526
  }
26543
26527
  ),
26544
- _optionalChain([infiniteScroll, 'optionalAccess', _529 => _529.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
26528
+ _optionalChain([infiniteScroll, 'optionalAccess', _532 => _532.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
26545
26529
  !infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
26546
26530
  "div",
26547
26531
  {
@@ -26881,7 +26865,7 @@ function QueryReportTable({
26881
26865
  loading = false,
26882
26866
  skeletonRows = 8,
26883
26867
  skeletonColumns = 6,
26884
- emptyMessage = "No results found",
26868
+ emptyMessage,
26885
26869
  columnWidth = 160,
26886
26870
  columnOrder,
26887
26871
  showExport = true,
@@ -26899,7 +26883,7 @@ function QueryReportTable({
26899
26883
  );
26900
26884
  const handleExport = () => {
26901
26885
  exportToCSV(data, columns, exportFilename);
26902
- _optionalChain([onExport, 'optionalCall', _530 => _530()]);
26886
+ _optionalChain([onExport, 'optionalCall', _533 => _533()]);
26903
26887
  };
26904
26888
  const tableMinWidth = columns.length * (columnWidth + 16);
26905
26889
  const {
@@ -27072,7 +27056,7 @@ function DataTableColumnFilter({
27072
27056
  align = "left"
27073
27057
  }) {
27074
27058
  const currentValue = column.getFilterValue();
27075
- const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _531 => _531.length]), () => ( 0));
27059
+ const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _534 => _534.length]), () => ( 0));
27076
27060
  const sections = _react.useMemo.call(void 0,
27077
27061
  () => [
27078
27062
  {
@@ -27152,7 +27136,7 @@ function DataTableHeader({
27152
27136
  const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
27153
27137
  if (header.isPlaceholder) return false;
27154
27138
  if (isLgUp) return true;
27155
- return Boolean(_optionalChain([header, 'access', _532 => _532.column, 'access', _533 => _533.columnDef, 'access', _534 => _534.meta, 'optionalAccess', _535 => _535.filter]));
27139
+ return Boolean(_optionalChain([header, 'access', _535 => _535.column, 'access', _536 => _536.columnDef, 'access', _537 => _537.meta, 'optionalAccess', _538 => _538.filter]));
27156
27140
  });
27157
27141
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27158
27142
  "div",
@@ -27182,20 +27166,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
27182
27166
  if (header.isPlaceholder) return null;
27183
27167
  const column = header.column;
27184
27168
  const meta = column.columnDef.meta;
27185
- const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _536 => _536.filter]));
27186
- const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _537 => _537.align]), () => ( "left"));
27187
- const canSort = _optionalChain([meta, 'optionalAccess', _538 => _538.sortable]) === true;
27188
- const sortDir = _optionalChain([sort, 'optionalAccess', _539 => _539.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
27169
+ const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _539 => _539.filter]));
27170
+ const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _540 => _540.align]), () => ( "left"));
27171
+ const canSort = _optionalChain([meta, 'optionalAccess', _541 => _541.sortable]) === true;
27172
+ const sortDir = _optionalChain([sort, 'optionalAccess', _542 => _542.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
27189
27173
  if (!isLgUp && !hasFilter) return null;
27190
27174
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27191
27175
  "div",
27192
27176
  {
27193
27177
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
27194
27178
  "flex items-stretch",
27195
- isLgUp && (_optionalChain([meta, 'optionalAccess', _540 => _540.width]) || "flex-1 min-w-0"),
27196
- _optionalChain([meta, 'optionalAccess', _541 => _541.headerClassName]),
27179
+ isLgUp && (_optionalChain([meta, 'optionalAccess', _543 => _543.width]) || "flex-1 min-w-0"),
27180
+ _optionalChain([meta, 'optionalAccess', _544 => _544.headerClassName]),
27197
27181
  // Don't apply hide classes if column is filterable on tablet (keep filter accessible)
27198
- !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _542 => _542.hideAt]))
27182
+ !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _545 => _545.hideAt]))
27199
27183
  ),
27200
27184
  children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27201
27185
  DataTableColumnFilter,
@@ -27214,7 +27198,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
27214
27198
  isLgUp && alignJustify(align),
27215
27199
  canSort && "group cursor-pointer"
27216
27200
  ),
27217
- onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _543 => _543(column.id)]) : void 0,
27201
+ onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _546 => _546(column.id)]) : void 0,
27218
27202
  children: [
27219
27203
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
27220
27204
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -27247,35 +27231,16 @@ _chunkFIG2RKZFcjs.init_cn.call(void 0, );
27247
27231
 
27248
27232
  // src/components/ui/data-table/data-table-empty.tsx
27249
27233
  _chunkFIG2RKZFcjs.init_cn.call(void 0, );
27250
- _chunkN5UOJC3Vcjs.init_button2.call(void 0, );
27251
-
27252
27234
 
27253
- function DataTableEmpty({
27254
- message: message2 = "No data available",
27255
- icon,
27256
- action,
27257
- className
27258
- }) {
27259
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
27260
- "div",
27235
+ function DataTableEmpty({ className, ...props }) {
27236
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27237
+ NoData,
27261
27238
  {
27262
- className: _chunkFIG2RKZFcjs.cn.call(void 0,
27263
- "flex flex-col items-center justify-center py-[var(--spacing-system-xxl)] px-[var(--spacing-system-mf)] rounded-md bg-ods-card border border-ods-border",
27264
- className
27265
- ),
27266
- children: [
27267
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "mb-[var(--spacing-system-mf)] text-ods-text-secondary", children: _nullishCoalesce(icon, () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.FileX2, { className: "w-12 h-12" }))) }),
27268
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h4 text-ods-text-secondary text-center mb-[var(--spacing-system-lf)]", children: message2 }),
27269
- action && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27270
- _chunkN5UOJC3Vcjs.Button,
27271
- {
27272
- variant: "outline",
27273
- onClick: action.onClick,
27274
- className: "bg-ods-card border-ods-border hover:bg-ods-bg-active text-ods-text-primary",
27275
- children: action.label
27276
- }
27277
- )
27278
- ]
27239
+ icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWZW7C7TFcjs.SearchIcon, {}),
27240
+ title: "No results found",
27241
+ description: "Try adjusting your search or filters",
27242
+ ...props,
27243
+ className: _chunkFIG2RKZFcjs.cn.call(void 0, "py-[var(--spacing-system-xxl)]", className)
27279
27244
  }
27280
27245
  );
27281
27246
  }
@@ -27298,7 +27263,7 @@ function DataTableSkeleton({
27298
27263
  }) {
27299
27264
  const table = useDataTableContext();
27300
27265
  const columns = table.getVisibleFlatColumns();
27301
- const firstColumnId = _optionalChain([columns, 'access', _544 => _544[0], 'optionalAccess', _545 => _545.id]);
27266
+ const firstColumnId = _optionalChain([columns, 'access', _547 => _547[0], 'optionalAccess', _548 => _548.id]);
27302
27267
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
27303
27268
  "div",
27304
27269
  {
@@ -27322,7 +27287,7 @@ function DataTableSkeleton({
27322
27287
  {
27323
27288
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
27324
27289
  "flex flex-col justify-center shrink-0",
27325
- _optionalChain([meta, 'optionalAccess', _546 => _546.width]) || "flex-1"
27290
+ _optionalChain([meta, 'optionalAccess', _549 => _549.width]) || "flex-1"
27326
27291
  ),
27327
27292
  children: [
27328
27293
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
@@ -27371,7 +27336,7 @@ function DataTableRowImpl({
27371
27336
  const handleClick = _react.useCallback.call(void 0,
27372
27337
  (e) => {
27373
27338
  const target = e.target;
27374
- if (!_optionalChain([containerRef, 'access', _547 => _547.current, 'optionalAccess', _548 => _548.contains, 'call', _549 => _549(target)])) {
27339
+ if (!_optionalChain([containerRef, 'access', _550 => _550.current, 'optionalAccess', _551 => _551.contains, 'call', _552 => _552(target)])) {
27375
27340
  if (isLinkMode) e.preventDefault();
27376
27341
  return;
27377
27342
  }
@@ -27379,7 +27344,7 @@ function DataTableRowImpl({
27379
27344
  if (isLinkMode) e.preventDefault();
27380
27345
  return;
27381
27346
  }
27382
- _optionalChain([onClick, 'optionalCall', _550 => _550(row.original)]);
27347
+ _optionalChain([onClick, 'optionalCall', _553 => _553(row.original)]);
27383
27348
  },
27384
27349
  [onClick, row.original, isLinkMode]
27385
27350
  );
@@ -27404,10 +27369,10 @@ function DataTableRowImpl({
27404
27369
  {
27405
27370
  className: _chunkFIG2RKZFcjs.cn.call(void 0,
27406
27371
  "flex flex-col overflow-hidden",
27407
- alignJustify(_optionalChain([meta, 'optionalAccess', _551 => _551.align])),
27408
- _optionalChain([meta, 'optionalAccess', _552 => _552.width]) || "flex-1 min-w-0",
27409
- _optionalChain([meta, 'optionalAccess', _553 => _553.cellClassName]),
27410
- getHideClasses2(_optionalChain([meta, 'optionalAccess', _554 => _554.hideAt]))
27372
+ alignJustify(_optionalChain([meta, 'optionalAccess', _554 => _554.align])),
27373
+ _optionalChain([meta, 'optionalAccess', _555 => _555.width]) || "flex-1 min-w-0",
27374
+ _optionalChain([meta, 'optionalAccess', _556 => _556.cellClassName]),
27375
+ getHideClasses2(_optionalChain([meta, 'optionalAccess', _557 => _557.hideAt]))
27411
27376
  ),
27412
27377
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
27413
27378
  },
@@ -27463,7 +27428,8 @@ function CellContent({ children }) {
27463
27428
 
27464
27429
  function DataTableBody({
27465
27430
  loading,
27466
- emptyMessage = "No data available",
27431
+ emptyMessage,
27432
+ emptyState,
27467
27433
  skeletonRows = 10,
27468
27434
  className,
27469
27435
  rowClassName,
@@ -27479,13 +27445,13 @@ function DataTableBody({
27479
27445
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-[var(--spacing-system-xsf)] w-full", className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTableSkeleton, { rows: skeletonRows }) });
27480
27446
  }
27481
27447
  if (rows.length === 0) {
27482
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-[var(--spacing-system-xsf)] w-full", className), children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTableEmpty, { message: emptyMessage }) });
27448
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkFIG2RKZFcjs.cn.call(void 0, "flex flex-col gap-[var(--spacing-system-xsf)] w-full", className), children: emptyState ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTableEmpty, { ...emptyState }) : emptyMessage != null ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTableEmpty, { title: emptyMessage, description: void 0 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DataTableEmpty, {}) });
27483
27449
  }
27484
27450
  const padCount = minRows ? Math.max(0, minRows - rows.length) : 0;
27485
27451
  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: [
27486
27452
  rows.map((row, index) => {
27487
27453
  const item = row.original;
27488
- const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _555 => _555(item)]), () => ( void 0));
27454
+ const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _558 => _558(item)]), () => ( void 0));
27489
27455
  const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
27490
27456
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27491
27457
  DataTableRow,
@@ -27495,7 +27461,7 @@ function DataTableBody({
27495
27461
  href,
27496
27462
  compact,
27497
27463
  className: cls,
27498
- subRow: _optionalChain([renderSubRow, 'optionalCall', _556 => _556(item)])
27464
+ subRow: _optionalChain([renderSubRow, 'optionalCall', _559 => _559(item)])
27499
27465
  },
27500
27466
  row.id
27501
27467
  );
@@ -27550,7 +27516,7 @@ function DataTableInfiniteFooter({
27550
27516
  if (!sentinel) return;
27551
27517
  const observer = new IntersectionObserver(
27552
27518
  (entries) => {
27553
- if (_optionalChain([entries, 'access', _557 => _557[0], 'optionalAccess', _558 => _558.isIntersecting])) onLoadMoreRef.current();
27519
+ if (_optionalChain([entries, 'access', _560 => _560[0], 'optionalAccess', _561 => _561.isIntersecting])) onLoadMoreRef.current();
27554
27520
  },
27555
27521
  { rootMargin }
27556
27522
  );
@@ -27598,7 +27564,7 @@ function DataTableRowCount({
27598
27564
  const table = useDataTableContext();
27599
27565
  const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
27600
27566
  if (hideWhenEmpty && count === 0) return null;
27601
- const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _559 => _559(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
27567
+ const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _562 => _562(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
27602
27568
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
27603
27569
  "span",
27604
27570
  {
@@ -27683,7 +27649,7 @@ function FilterListItem({
27683
27649
  }) {
27684
27650
  const handleToggle = () => {
27685
27651
  if (disabled) return;
27686
- _optionalChain([onToggle, 'optionalCall', _560 => _560(!selected)]);
27652
+ _optionalChain([onToggle, 'optionalCall', _563 => _563(!selected)]);
27687
27653
  };
27688
27654
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
27689
27655
  "div",
@@ -27730,7 +27696,7 @@ function FilterListItem({
27730
27696
  CheckboxPrimitive4.Root,
27731
27697
  {
27732
27698
  checked: selected,
27733
- onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _561 => _561(c === true)]),
27699
+ onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _564 => _564(c === true)]),
27734
27700
  onClick: (e) => e.stopPropagation(),
27735
27701
  disabled,
27736
27702
  "aria-label": title,
@@ -27829,7 +27795,7 @@ function TagSearchInput({
27829
27795
  if (!showHiddenTags) return;
27830
27796
  const handleClick = (e) => {
27831
27797
  const target = e.target;
27832
- if (!_optionalChain([hiddenTagsRef, 'access', _562 => _562.current, 'optionalAccess', _563 => _563.contains, 'call', _564 => _564(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _565 => _565.current, 'optionalAccess', _566 => _566.contains, 'call', _567 => _567(target)])) {
27798
+ if (!_optionalChain([hiddenTagsRef, 'access', _565 => _565.current, 'optionalAccess', _566 => _566.contains, 'call', _567 => _567(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _568 => _568.current, 'optionalAccess', _569 => _569.contains, 'call', _570 => _570(target)])) {
27833
27799
  setShowHiddenTags(false);
27834
27800
  }
27835
27801
  };
@@ -27845,13 +27811,13 @@ function TagSearchInput({
27845
27811
  e.preventDefault();
27846
27812
  onSubmit(searchValue);
27847
27813
  }
27848
- _optionalChain([onKeyDown, 'optionalCall', _568 => _568(e)]);
27814
+ _optionalChain([onKeyDown, 'optionalCall', _571 => _571(e)]);
27849
27815
  };
27850
27816
  const handleClearAll = (e) => {
27851
27817
  e.stopPropagation();
27852
27818
  e.preventDefault();
27853
- _optionalChain([onClearAll, 'optionalCall', _569 => _569()]);
27854
- _optionalChain([inputRef, 'access', _570 => _570.current, 'optionalAccess', _571 => _571.focus, 'call', _572 => _572()]);
27819
+ _optionalChain([onClearAll, 'optionalCall', _572 => _572()]);
27820
+ _optionalChain([inputRef, 'access', _573 => _573.current, 'optionalAccess', _574 => _574.focus, 'call', _575 => _575()]);
27855
27821
  };
27856
27822
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
27857
27823
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -27868,7 +27834,7 @@ function TagSearchInput({
27868
27834
  className
27869
27835
  ),
27870
27836
  onClick: () => {
27871
- if (!disabled) _optionalChain([inputRef, 'access', _573 => _573.current, 'optionalAccess', _574 => _574.focus, 'call', _575 => _575()]);
27837
+ if (!disabled) _optionalChain([inputRef, 'access', _576 => _576.current, 'optionalAccess', _577 => _577.focus, 'call', _578 => _578()]);
27872
27838
  },
27873
27839
  children: [
27874
27840
  /* @__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" }) }),
@@ -27940,7 +27906,7 @@ function TagSearchInput({
27940
27906
  items: hiddenTags,
27941
27907
  disabled,
27942
27908
  style: {
27943
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _576 => _576.current, 'optionalAccess', _577 => _577.getBoundingClientRect, 'call', _578 => _578(), 'access', _579 => _579.left]), () => ( 0))) : 0
27909
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _579 => _579.current, 'optionalAccess', _580 => _580.getBoundingClientRect, 'call', _581 => _581(), 'access', _582 => _582.left]), () => ( 0))) : 0
27944
27910
  },
27945
27911
  onRemove: (value) => {
27946
27912
  onTagRemove(value);
@@ -28041,7 +28007,7 @@ function MarkdownEditor({
28041
28007
  const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
28042
28008
  _react.useEffect.call(void 0, () => {
28043
28009
  Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
28044
- if (_optionalChain([mod, 'access', _580 => _580.commands, 'optionalAccess', _581 => _581.getExtraCommands])) {
28010
+ if (_optionalChain([mod, 'access', _583 => _583.commands, 'optionalAccess', _584 => _584.getExtraCommands])) {
28045
28011
  setDefaultExtraCommands(mod.commands.getExtraCommands());
28046
28012
  }
28047
28013
  });
@@ -28075,7 +28041,7 @@ function MarkdownEditor({
28075
28041
  const isImage = file.type.startsWith("image/");
28076
28042
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
28077
28043
  insertTextAtCursor(markdown);
28078
- _optionalChain([onFileUploaded, 'optionalCall', _582 => _582(url, file.name)]);
28044
+ _optionalChain([onFileUploaded, 'optionalCall', _585 => _585(url, file.name)]);
28079
28045
  } catch (error) {
28080
28046
  console.error("File upload failed:", error);
28081
28047
  setUploadProgress("Upload failed. Please try again.");
@@ -28088,7 +28054,7 @@ function MarkdownEditor({
28088
28054
  );
28089
28055
  const handleFileInputChange = _react.useCallback.call(void 0,
28090
28056
  (e) => {
28091
- const file = _optionalChain([e, 'access', _583 => _583.target, 'access', _584 => _584.files, 'optionalAccess', _585 => _585[0]]);
28057
+ const file = _optionalChain([e, 'access', _586 => _586.target, 'access', _587 => _587.files, 'optionalAccess', _588 => _588[0]]);
28092
28058
  if (file) {
28093
28059
  handleFileUpload(file);
28094
28060
  e.target.value = "";
@@ -28099,7 +28065,7 @@ function MarkdownEditor({
28099
28065
  const handlePaste = _react.useCallback.call(void 0,
28100
28066
  (e) => {
28101
28067
  if (!onUploadFile) return;
28102
- const items = _optionalChain([e, 'access', _586 => _586.clipboardData, 'optionalAccess', _587 => _587.items]);
28068
+ const items = _optionalChain([e, 'access', _589 => _589.clipboardData, 'optionalAccess', _590 => _590.items]);
28103
28069
  if (!items) return;
28104
28070
  for (const item of items) {
28105
28071
  if (item.type.startsWith("image/")) {
@@ -28124,7 +28090,7 @@ function MarkdownEditor({
28124
28090
  buttonProps: { "aria-label": "Upload file", title: "Upload file" },
28125
28091
  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" }),
28126
28092
  execute: () => {
28127
- _optionalChain([fileInputRef, 'access', _588 => _588.current, 'optionalAccess', _589 => _589.click, 'call', _590 => _590()]);
28093
+ _optionalChain([fileInputRef, 'access', _591 => _591.current, 'optionalAccess', _592 => _592.click, 'call', _593 => _593()]);
28128
28094
  }
28129
28095
  } : null;
28130
28096
  const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
@@ -28136,7 +28102,7 @@ function MarkdownEditor({
28136
28102
  const EDGE_ZONE = 60;
28137
28103
  const MAX_SCROLL_SPEED = 15;
28138
28104
  const findScrollParent = _react.useCallback.call(void 0, (el) => {
28139
- let node = _optionalChain([el, 'optionalAccess', _591 => _591.parentElement]);
28105
+ let node = _optionalChain([el, 'optionalAccess', _594 => _594.parentElement]);
28140
28106
  while (node && node !== document.documentElement) {
28141
28107
  const { overflowY } = window.getComputedStyle(node);
28142
28108
  if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
@@ -28279,7 +28245,7 @@ function matchesAccept(file, accept) {
28279
28245
  });
28280
28246
  }
28281
28247
  function dragHasFiles(e) {
28282
- const types = _optionalChain([e, 'access', _592 => _592.dataTransfer, 'optionalAccess', _593 => _593.types]);
28248
+ const types = _optionalChain([e, 'access', _595 => _595.dataTransfer, 'optionalAccess', _596 => _596.types]);
28283
28249
  if (!types) return false;
28284
28250
  for (let i = 0; i < types.length; i++) {
28285
28251
  if (types[i] === "Files") return true;
@@ -28374,7 +28340,7 @@ function FileUpload({
28374
28340
  e.stopPropagation();
28375
28341
  setDragActive(false);
28376
28342
  if (disabled) return;
28377
- if (_optionalChain([e, 'access', _594 => _594.dataTransfer, 'access', _595 => _595.files, 'optionalAccess', _596 => _596.length])) {
28343
+ if (_optionalChain([e, 'access', _597 => _597.dataTransfer, 'access', _598 => _598.files, 'optionalAccess', _599 => _599.length])) {
28378
28344
  handleFiles(e.dataTransfer.files);
28379
28345
  }
28380
28346
  };
@@ -28402,7 +28368,7 @@ function FileUpload({
28402
28368
  e.preventDefault();
28403
28369
  dragCounter = 0;
28404
28370
  setDragActive(false);
28405
- if (_optionalChain([e, 'access', _597 => _597.dataTransfer, 'optionalAccess', _598 => _598.files, 'optionalAccess', _599 => _599.length])) {
28371
+ if (_optionalChain([e, 'access', _600 => _600.dataTransfer, 'optionalAccess', _601 => _601.files, 'optionalAccess', _602 => _602.length])) {
28406
28372
  handleFilesRef.current(e.dataTransfer.files);
28407
28373
  }
28408
28374
  };
@@ -28424,7 +28390,7 @@ function FileUpload({
28424
28390
  };
28425
28391
  }, [acceptWindowDrops, disabled]);
28426
28392
  const handleFileSelect = (e) => {
28427
- if (_optionalChain([e, 'access', _600 => _600.target, 'access', _601 => _601.files, 'optionalAccess', _602 => _602.length])) {
28393
+ if (_optionalChain([e, 'access', _603 => _603.target, 'access', _604 => _604.files, 'optionalAccess', _605 => _605.length])) {
28428
28394
  handleFiles(e.target.files);
28429
28395
  }
28430
28396
  };
@@ -28441,7 +28407,7 @@ function FileUpload({
28441
28407
  };
28442
28408
  const openDialog = async () => {
28443
28409
  if (disabled) return;
28444
- _optionalChain([fileInputRef, 'access', _603 => _603.current, 'optionalAccess', _604 => _604.click, 'call', _605 => _605()]);
28410
+ _optionalChain([fileInputRef, 'access', _606 => _606.current, 'optionalAccess', _607 => _607.click, 'call', _608 => _608()]);
28445
28411
  };
28446
28412
  const displayError = error || validationError || void 0;
28447
28413
  const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
@@ -28519,7 +28485,7 @@ function FileUpload({
28519
28485
  "button",
28520
28486
  {
28521
28487
  type: "button",
28522
- onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _606 => _606(entry.id)]),
28488
+ onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _609 => _609(entry.id)]),
28523
28489
  className: "shrink-0 p-1 rounded hover:bg-ods-bg transition-colors",
28524
28490
  "aria-label": `Remove ${entry.fileName}`,
28525
28491
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "size-4 text-ods-text-secondary" })
@@ -28642,7 +28608,7 @@ function ImageUploader({
28642
28608
  onChange(file);
28643
28609
  };
28644
28610
  const handleFileSelect = (e) => {
28645
- validateAndEmit(_optionalChain([e, 'access', _607 => _607.target, 'access', _608 => _608.files, 'optionalAccess', _609 => _609[0]]));
28611
+ validateAndEmit(_optionalChain([e, 'access', _610 => _610.target, 'access', _611 => _611.files, 'optionalAccess', _612 => _612[0]]));
28646
28612
  if (inputRef.current) inputRef.current.value = "";
28647
28613
  };
28648
28614
  const handleDrag = (e) => {
@@ -28657,11 +28623,11 @@ function ImageUploader({
28657
28623
  e.stopPropagation();
28658
28624
  setDragActive(false);
28659
28625
  if (!interactive) return;
28660
- validateAndEmit(_optionalChain([e, 'access', _610 => _610.dataTransfer, 'access', _611 => _611.files, 'optionalAccess', _612 => _612[0]]));
28626
+ validateAndEmit(_optionalChain([e, 'access', _613 => _613.dataTransfer, 'access', _614 => _614.files, 'optionalAccess', _615 => _615[0]]));
28661
28627
  };
28662
28628
  const openDialog = () => {
28663
28629
  if (!interactive) return;
28664
- _optionalChain([inputRef, 'access', _613 => _613.current, 'optionalAccess', _614 => _614.click, 'call', _615 => _615()]);
28630
+ _optionalChain([inputRef, 'access', _616 => _616.current, 'optionalAccess', _617 => _617.click, 'call', _618 => _618()]);
28665
28631
  };
28666
28632
  const handleRootKeyDown = (e) => {
28667
28633
  if (hasImage || !interactive) return;
@@ -28851,8 +28817,8 @@ function ColorPresetSelect({
28851
28817
  }) {
28852
28818
  const selectedPreset = presets.find((p) => p.key === presetKey);
28853
28819
  const isCustom = !selectedPreset;
28854
- const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _616 => _616.label]), () => ( "Custom"));
28855
- const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _617 => _617.color]), () => ( value));
28820
+ const displayLabel = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _619 => _619.label]), () => ( "Custom"));
28821
+ const displayColor = _nullishCoalesce(_optionalChain([selectedPreset, 'optionalAccess', _620 => _620.color]), () => ( value));
28856
28822
  const groups = [
28857
28823
  {
28858
28824
  items: [
@@ -29142,7 +29108,7 @@ function TicketStatusConfigRow({
29142
29108
  _chunk6JINAOI7cjs.Input,
29143
29109
  {
29144
29110
  value: name,
29145
- onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _618 => _618(e.target.value)]),
29111
+ onChange: (e) => _optionalChain([onNameChange, 'optionalCall', _621 => _621(e.target.value)]),
29146
29112
  disabled: isSystem,
29147
29113
  readOnly: isSystem,
29148
29114
  "aria-label": "Status name",
@@ -29225,7 +29191,7 @@ function CompactAssigneeDropdown({
29225
29191
  return [current, ...filtered.filter((o) => o.value !== currentAssignee.id)];
29226
29192
  }, [filtered, currentAssignee]);
29227
29193
  const handleSelect = (userId) => {
29228
- const next = _optionalChain([currentAssignee, 'optionalAccess', _619 => _619.id]) === userId ? null : userId;
29194
+ const next = _optionalChain([currentAssignee, 'optionalAccess', _622 => _622.id]) === userId ? null : userId;
29229
29195
  onAssign(next);
29230
29196
  setIsOpen(false);
29231
29197
  };
@@ -29290,7 +29256,7 @@ function CompactAssigneeDropdown({
29290
29256
  }
29291
29257
  ) }),
29292
29258
  /* @__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) => {
29293
- const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _620 => _620.id]) === opt.value;
29259
+ const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _623 => _623.id]) === opt.value;
29294
29260
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
29295
29261
  "button",
29296
29262
  {
@@ -29359,7 +29325,7 @@ function DefaultAssigneeDropdown({
29359
29325
  Autocomplete,
29360
29326
  {
29361
29327
  options,
29362
- value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _621 => _621.id]), () => ( null)),
29328
+ value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _624 => _624.id]), () => ( null)),
29363
29329
  onChange: (val) => {
29364
29330
  onAssign(val);
29365
29331
  setIsEditing(false);
@@ -29748,14 +29714,14 @@ function TicketInfoSection({
29748
29714
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29749
29715
  _chunk7NJUPRN6cjs.SquareAvatar,
29750
29716
  {
29751
- src: _optionalChain([organization, 'optionalAccess', _622 => _622.imageSrc]),
29752
- alt: _optionalChain([organization, 'optionalAccess', _623 => _623.name]),
29753
- fallback: _optionalChain([organization, 'optionalAccess', _624 => _624.name]) || "Org",
29717
+ src: _optionalChain([organization, 'optionalAccess', _625 => _625.imageSrc]),
29718
+ alt: _optionalChain([organization, 'optionalAccess', _626 => _626.name]),
29719
+ fallback: _optionalChain([organization, 'optionalAccess', _627 => _627.name]) || "Org",
29754
29720
  size: "md",
29755
29721
  className: "shrink-0"
29756
29722
  }
29757
29723
  ),
29758
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _625 => _625.name]) || "Unassigned", label: "Organization" })
29724
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _628 => _628.name]) || "Unassigned", label: "Organization" })
29759
29725
  ] }),
29760
29726
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29761
29727
  AssigneeDropdown,
@@ -29776,10 +29742,10 @@ function TicketInfoSection({
29776
29742
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
29777
29743
  InfoCell2,
29778
29744
  {
29779
- value: _optionalChain([device, 'optionalAccess', _626 => _626.name]) || "Unassigned",
29745
+ value: _optionalChain([device, 'optionalAccess', _629 => _629.name]) || "Unassigned",
29780
29746
  label: "Device",
29781
- icon: _optionalChain([device, 'optionalAccess', _627 => _627.icon]),
29782
- onClick: _optionalChain([device, 'optionalAccess', _628 => _628.onClick])
29747
+ icon: _optionalChain([device, 'optionalAccess', _630 => _630.icon]),
29748
+ onClick: _optionalChain([device, 'optionalAccess', _631 => _631.onClick])
29783
29749
  }
29784
29750
  ),
29785
29751
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
@@ -30075,7 +30041,7 @@ function RoadmapCard({
30075
30041
  const compactHref = _chunk7NJUPRN6cjs.safeHref.call(void 0, _nullishCoalesce(href, () => ( null)));
30076
30042
  const hasVotes = (_nullishCoalesce(item.upvotes, () => ( 0))) > 0 || (_nullishCoalesce(item.downvotes, () => ( 0))) > 0;
30077
30043
  const hasFigma = !!item.figmaUrl;
30078
- const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _629 => _629.screenshots, 'optionalAccess', _630 => _630.length]), () => ( 0))) > 0;
30044
+ const hasScreenshots = (_nullishCoalesce(_optionalChain([item, 'access', _632 => _632.screenshots, 'optionalAccess', _633 => _633.length]), () => ( 0))) > 0;
30079
30045
  const typeLabel = getTaskTypeLabel(item.customItemId);
30080
30046
  const useTypeIcon = cardType === "internal_task" || !iconSrc && item.customItemId != null;
30081
30047
  const body = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -30094,7 +30060,7 @@ function RoadmapCard({
30094
30060
  unoptimized: true,
30095
30061
  className: "h-8 w-8 object-contain"
30096
30062
  }
30097
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _631 => _631.title, 'optionalAccess', _632 => _632.substring, 'call', _633 => _633(0, 2)]) || "??" })
30063
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[10px] font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _634 => _634.title, 'optionalAccess', _635 => _635.substring, 'call', _636 => _636(0, 2)]) || "??" })
30098
30064
  }
30099
30065
  ),
30100
30066
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk7NJUPRN6cjs.COMPACT_CARD_TEXT_COL, children: [
@@ -30169,7 +30135,7 @@ function RoadmapCard({
30169
30135
  unoptimized: true,
30170
30136
  className: "object-contain p-1"
30171
30137
  }
30172
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _634 => _634.title, 'optionalAccess', _635 => _635.substring, 'call', _636 => _636(0, 2)]) || "??" }) }),
30138
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs font-medium uppercase text-ods-text-secondary", children: _optionalChain([item, 'access', _637 => _637.title, 'optionalAccess', _638 => _638.substring, 'call', _639 => _639(0, 2)]) || "??" }) }),
30173
30139
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 min-w-0 flex flex-col", children: [
30174
30140
  /* @__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 }) }),
30175
30141
  /* @__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: [
@@ -30679,7 +30645,7 @@ function DataRoomDocCard({ item, className, badgeText, anchorProps }) {
30679
30645
  ] }) : null,
30680
30646
  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
30681
30647
  ] }),
30682
- _optionalChain([anchorProps, 'optionalAccess', _637 => _637.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
30648
+ _optionalChain([anchorProps, 'optionalAccess', _640 => _640.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
30683
30649
  ] });
30684
30650
  if (!anchorProps) {
30685
30651
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${_chunk7NJUPRN6cjs.COMPACT_CARD_OUTER_STATIC} ${_nullishCoalesce(className, () => ( ""))}`, "aria-label": "No link available", children: body });
@@ -30749,7 +30715,7 @@ function getDefaultOptions() {
30749
30715
  // node_modules/date-fns/startOfWeek.mjs
30750
30716
  function startOfWeek(date, options) {
30751
30717
  const defaultOptions2 = getDefaultOptions();
30752
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _638 => _638.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _639 => _639.locale, 'optionalAccess', _640 => _640.options, 'optionalAccess', _641 => _641.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _642 => _642.locale, 'optionalAccess', _643 => _643.options, 'optionalAccess', _644 => _644.weekStartsOn]))), () => ( 0));
30718
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _641 => _641.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _642 => _642.locale, 'optionalAccess', _643 => _643.options, 'optionalAccess', _644 => _644.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _645 => _645.locale, 'optionalAccess', _646 => _646.options, 'optionalAccess', _647 => _647.weekStartsOn]))), () => ( 0));
30753
30719
  const _date = toDate(date);
30754
30720
  const day = _date.getDay();
30755
30721
  const diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
@@ -30924,7 +30890,7 @@ var formatDistance = (token, count, options) => {
30924
30890
  } else {
30925
30891
  result = tokenValue.other.replace("{{count}}", count.toString());
30926
30892
  }
30927
- if (_optionalChain([options, 'optionalAccess', _645 => _645.addSuffix])) {
30893
+ if (_optionalChain([options, 'optionalAccess', _648 => _648.addSuffix])) {
30928
30894
  if (options.comparison && options.comparison > 0) {
30929
30895
  return "in " + result;
30930
30896
  } else {
@@ -30991,15 +30957,15 @@ var formatRelative = (token, _date, _baseDate, _options) => formatRelativeLocale
30991
30957
  // node_modules/date-fns/locale/_lib/buildLocalizeFn.mjs
30992
30958
  function buildLocalizeFn(args) {
30993
30959
  return (value, options) => {
30994
- const context = _optionalChain([options, 'optionalAccess', _646 => _646.context]) ? String(options.context) : "standalone";
30960
+ const context = _optionalChain([options, 'optionalAccess', _649 => _649.context]) ? String(options.context) : "standalone";
30995
30961
  let valuesArray;
30996
30962
  if (context === "formatting" && args.formattingValues) {
30997
30963
  const defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
30998
- const width = _optionalChain([options, 'optionalAccess', _647 => _647.width]) ? String(options.width) : defaultWidth;
30964
+ const width = _optionalChain([options, 'optionalAccess', _650 => _650.width]) ? String(options.width) : defaultWidth;
30999
30965
  valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
31000
30966
  } else {
31001
30967
  const defaultWidth = args.defaultWidth;
31002
- const width = _optionalChain([options, 'optionalAccess', _648 => _648.width]) ? String(options.width) : args.defaultWidth;
30968
+ const width = _optionalChain([options, 'optionalAccess', _651 => _651.width]) ? String(options.width) : args.defaultWidth;
31003
30969
  valuesArray = args.values[width] || args.values[defaultWidth];
31004
30970
  }
31005
30971
  const index = args.argumentCallback ? args.argumentCallback(value) : value;
@@ -31379,7 +31345,7 @@ function getWeekYear(date, options) {
31379
31345
  const _date = toDate(date);
31380
31346
  const year = _date.getFullYear();
31381
31347
  const defaultOptions2 = getDefaultOptions();
31382
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _649 => _649.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _650 => _650.locale, 'optionalAccess', _651 => _651.options, 'optionalAccess', _652 => _652.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _653 => _653.locale, 'optionalAccess', _654 => _654.options, 'optionalAccess', _655 => _655.firstWeekContainsDate]))), () => ( 1));
31348
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _652 => _652.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _653 => _653.locale, 'optionalAccess', _654 => _654.options, 'optionalAccess', _655 => _655.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _656 => _656.locale, 'optionalAccess', _657 => _657.options, 'optionalAccess', _658 => _658.firstWeekContainsDate]))), () => ( 1));
31383
31349
  const firstWeekOfNextYear = constructFrom(date, 0);
31384
31350
  firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
31385
31351
  firstWeekOfNextYear.setHours(0, 0, 0, 0);
@@ -31400,7 +31366,7 @@ function getWeekYear(date, options) {
31400
31366
  // node_modules/date-fns/startOfWeekYear.mjs
31401
31367
  function startOfWeekYear(date, options) {
31402
31368
  const defaultOptions2 = getDefaultOptions();
31403
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _656 => _656.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _657 => _657.locale, 'optionalAccess', _658 => _658.options, 'optionalAccess', _659 => _659.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _660 => _660.locale, 'optionalAccess', _661 => _661.options, 'optionalAccess', _662 => _662.firstWeekContainsDate]))), () => ( 1));
31369
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _659 => _659.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _660 => _660.locale, 'optionalAccess', _661 => _661.options, 'optionalAccess', _662 => _662.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _663 => _663.locale, 'optionalAccess', _664 => _664.options, 'optionalAccess', _665 => _665.firstWeekContainsDate]))), () => ( 1));
31404
31370
  const year = getWeekYear(date, options);
31405
31371
  const firstWeek = constructFrom(date, 0);
31406
31372
  firstWeek.setFullYear(year, 0, firstWeekContainsDate);
@@ -32215,9 +32181,9 @@ var doubleQuoteRegExp = /''/g;
32215
32181
  var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
32216
32182
  function format(date, formatStr, options) {
32217
32183
  const defaultOptions2 = getDefaultOptions();
32218
- const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _663 => _663.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
32219
- const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _664 => _664.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _665 => _665.locale, 'optionalAccess', _666 => _666.options, 'optionalAccess', _667 => _667.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _668 => _668.locale, 'optionalAccess', _669 => _669.options, 'optionalAccess', _670 => _670.firstWeekContainsDate]))), () => ( 1));
32220
- const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _671 => _671.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _672 => _672.locale, 'optionalAccess', _673 => _673.options, 'optionalAccess', _674 => _674.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _675 => _675.locale, 'optionalAccess', _676 => _676.options, 'optionalAccess', _677 => _677.weekStartsOn]))), () => ( 0));
32184
+ const locale = _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _666 => _666.locale]), () => ( defaultOptions2.locale)), () => ( enUS));
32185
+ const firstWeekContainsDate = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _667 => _667.firstWeekContainsDate]), () => ( _optionalChain([options, 'optionalAccess', _668 => _668.locale, 'optionalAccess', _669 => _669.options, 'optionalAccess', _670 => _670.firstWeekContainsDate]))), () => ( defaultOptions2.firstWeekContainsDate)), () => ( _optionalChain([defaultOptions2, 'access', _671 => _671.locale, 'optionalAccess', _672 => _672.options, 'optionalAccess', _673 => _673.firstWeekContainsDate]))), () => ( 1));
32186
+ const weekStartsOn = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'optionalAccess', _674 => _674.weekStartsOn]), () => ( _optionalChain([options, 'optionalAccess', _675 => _675.locale, 'optionalAccess', _676 => _676.options, 'optionalAccess', _677 => _677.weekStartsOn]))), () => ( defaultOptions2.weekStartsOn)), () => ( _optionalChain([defaultOptions2, 'access', _678 => _678.locale, 'optionalAccess', _679 => _679.options, 'optionalAccess', _680 => _680.weekStartsOn]))), () => ( 0));
32221
32187
  const originalDate = toDate(date);
32222
32188
  if (!isValid(originalDate)) {
32223
32189
  throw new RangeError("Invalid time value");
@@ -32258,7 +32224,7 @@ function format(date, formatStr, options) {
32258
32224
  return parts.map((part) => {
32259
32225
  if (!part.isToken) return part.value;
32260
32226
  const token = part.value;
32261
- if (!_optionalChain([options, 'optionalAccess', _678 => _678.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _679 => _679.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
32227
+ if (!_optionalChain([options, 'optionalAccess', _681 => _681.useAdditionalWeekYearTokens]) && isProtectedWeekYearToken(token) || !_optionalChain([options, 'optionalAccess', _682 => _682.useAdditionalDayOfYearTokens]) && isProtectedDayOfYearToken(token)) {
32262
32228
  warnOrThrowProtectedError(token, formatStr, String(date));
32263
32229
  }
32264
32230
  const formatter = formatters[token[0]];
@@ -32436,7 +32402,7 @@ function ProgramCard({
32436
32402
  const dur = _chunk7NJUPRN6cjs.formatDurationFromRange.call(void 0, w.start_at, w.end_at);
32437
32403
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
32438
32404
  }
32439
- const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _680 => _680.labels, 'optionalAccess', _681 => _681.singular])].filter(
32405
+ const subtitleParts = [itemDate2, typeMeta, _optionalChain([config, 'access', _683 => _683.labels, 'optionalAccess', _684 => _684.singular])].filter(
32440
32406
  (s) => typeof s === "string" && s.length > 0
32441
32407
  );
32442
32408
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "a", { href, target, rel, className: _chunkFIG2RKZFcjs.cn.call(void 0, _chunk7NJUPRN6cjs.COMPACT_CARD_OUTER, className), children: [
@@ -32593,7 +32559,7 @@ function ProgramCard({
32593
32559
 
32594
32560
 
32595
32561
  function CampaignCardAdmin({ campaign, className, anchorProps }) {
32596
- const goalsCount = _optionalChain([campaign, 'access', _682 => _682.goals, 'optionalAccess', _683 => _683.length]) || 0;
32562
+ const goalsCount = _optionalChain([campaign, 'access', _685 => _685.goals, 'optionalAccess', _686 => _686.length]) || 0;
32597
32563
  const innerChildren = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
32598
32564
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk7NJUPRN6cjs.COMPACT_CARD_ICON_SLOT, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Megaphone, { className: "h-5 w-5" }) }),
32599
32565
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: _chunk7NJUPRN6cjs.COMPACT_CARD_TEXT_COL, children: [
@@ -32880,8 +32846,8 @@ function cardMenuGroups(href, discuss, openDetails) {
32880
32846
  if (href) {
32881
32847
  items.push({
32882
32848
  id: "open-details",
32883
- label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _684 => _684.label]), () => ( "Open Details")),
32884
- icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _685 => _685.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.EyeIcon, { size: 20 }))),
32849
+ label: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _687 => _687.label]), () => ( "Open Details")),
32850
+ icon: _nullishCoalesce(_optionalChain([openDetails, 'optionalAccess', _688 => _688.icon]), () => ( /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.EyeIcon, { size: 20 }))),
32885
32851
  // Main row → open the entity (same tab, soft Link nav).
32886
32852
  href,
32887
32853
  // Trailing 40px ↗ side-button → open in a new tab.
@@ -32911,8 +32877,8 @@ function HubspotTicketChatCard({
32911
32877
  isNewTab,
32912
32878
  discuss
32913
32879
  }) {
32914
- const status = typeof _optionalChain([chatRef, 'access', _686 => _686.metadata, 'optionalAccess', _687 => _687.status]) === "string" ? chatRef.metadata.status : void 0;
32915
- const statusLabel = typeof _optionalChain([chatRef, 'access', _688 => _688.metadata, 'optionalAccess', _689 => _689.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
32880
+ const status = typeof _optionalChain([chatRef, 'access', _689 => _689.metadata, 'optionalAccess', _690 => _690.status]) === "string" ? chatRef.metadata.status : void 0;
32881
+ const statusLabel = typeof _optionalChain([chatRef, 'access', _691 => _691.metadata, 'optionalAccess', _692 => _692.statusLabel]) === "string" ? chatRef.metadata.statusLabel : void 0;
32916
32882
  const statusText = _nullishCoalesce(statusLabel, () => ( formatStatusToken(status)));
32917
32883
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32918
32884
  MingoInfoCard,
@@ -32935,7 +32901,7 @@ function SlackChatCard({
32935
32901
  isNewTab,
32936
32902
  discuss
32937
32903
  }) {
32938
- const channelName = typeof _optionalChain([chatRef, 'access', _690 => _690.metadata, 'optionalAccess', _691 => _691.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
32904
+ const channelName = typeof _optionalChain([chatRef, 'access', _693 => _693.metadata, 'optionalAccess', _694 => _694.channelName]) === "string" ? chatRef.metadata.channelName.trim() : void 0;
32939
32905
  const channelPretty = channelName ? channelName.startsWith("#") ? channelName : `#${channelName}` : void 0;
32940
32906
  const title = channelPretty ? `${chatRef.title} \xB7 ${channelPretty}` : chatRef.title;
32941
32907
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -32975,7 +32941,7 @@ function GenericFinancialChatCard({
32975
32941
  isNewTab,
32976
32942
  discuss
32977
32943
  }) {
32978
- const subtitle = typeof _optionalChain([chatRef, 'access', _692 => _692.metadata, 'optionalAccess', _693 => _693.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
32944
+ const subtitle = typeof _optionalChain([chatRef, 'access', _695 => _695.metadata, 'optionalAccess', _696 => _696.subtitle]) === "string" ? chatRef.metadata.subtitle : void 0;
32979
32945
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32980
32946
  MingoInfoCard,
32981
32947
  {
@@ -33044,12 +33010,12 @@ function ProductReleaseChatCard({
33044
33010
  discuss
33045
33011
  }) {
33046
33012
  const releaseProps = buildProps(item);
33047
- const status = _optionalChain([item, 'optionalAccess', _694 => _694.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
33013
+ const status = _optionalChain([item, 'optionalAccess', _697 => _697.version]) ? { label: String(item.version), variant: "grey" } : { label: "Release", variant: "grey" };
33048
33014
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33049
33015
  EntityMingoCard,
33050
33016
  {
33051
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _695 => _695.title]), () => ( "")),
33052
- description: _optionalChain([item, 'optionalAccess', _696 => _696.summary]) || releaseProps.formattedDate || void 0,
33017
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _698 => _698.title]), () => ( "")),
33018
+ description: _optionalChain([item, 'optionalAccess', _699 => _699.summary]) || releaseProps.formattedDate || void 0,
33053
33019
  cover: releaseProps.coverImage || void 0,
33054
33020
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Rocket02Icon, { size: 24 }),
33055
33021
  status,
@@ -33066,17 +33032,17 @@ function CampaignChatCard({
33066
33032
  isNewTab,
33067
33033
  discuss
33068
33034
  }) {
33069
- const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _697 => _697.goals])) ? item.goals.length : 0;
33035
+ const goalsCount = Array.isArray(_optionalChain([item, 'optionalAccess', _700 => _700.goals])) ? item.goals.length : 0;
33070
33036
  const meta = [
33071
- _optionalChain([item, 'optionalAccess', _698 => _698.start_date]) ? formatDateShort(item.start_date) : null,
33037
+ _optionalChain([item, 'optionalAccess', _701 => _701.start_date]) ? formatDateShort(item.start_date) : null,
33072
33038
  goalsCount > 0 ? `${goalsCount} goal${goalsCount !== 1 ? "s" : ""}` : null,
33073
33039
  "Marketing campaign"
33074
33040
  ].filter(Boolean).join(" \xB7 ");
33075
33041
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33076
33042
  EntityMingoCard,
33077
33043
  {
33078
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _699 => _699.name]), () => ( "")),
33079
- description: meta || _optionalChain([item, 'optionalAccess', _700 => _700.description]) || void 0,
33044
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _702 => _702.name]), () => ( "")),
33045
+ description: meta || _optionalChain([item, 'optionalAccess', _703 => _703.description]) || void 0,
33080
33046
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.Megaphone01Icon, { size: 24 }),
33081
33047
  chatRef,
33082
33048
  isNewTab,
@@ -33129,14 +33095,14 @@ function BlogChatCard({
33129
33095
  hasEmbeddedVideo,
33130
33096
  discuss
33131
33097
  }) {
33132
- const category = Array.isArray(_optionalChain([item, 'optionalAccess', _701 => _701.categories])) ? _optionalChain([item, 'access', _702 => _702.categories, 'access', _703 => _703.find, 'call', _704 => _704((c) => c && c.name), 'optionalAccess', _705 => _705.name]) : void 0;
33098
+ const category = Array.isArray(_optionalChain([item, 'optionalAccess', _704 => _704.categories])) ? _optionalChain([item, 'access', _705 => _705.categories, 'access', _706 => _706.find, 'call', _707 => _707((c) => c && c.name), 'optionalAccess', _708 => _708.name]) : void 0;
33133
33099
  const status = hasEmbeddedVideo ? { label: "Video", variant: "primary" } : category ? { label: category, variant: "grey" } : void 0;
33134
33100
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33135
33101
  EntityMingoCard,
33136
33102
  {
33137
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _706 => _706.title]), () => ( "")),
33138
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _707 => _707.summary]), () => ( void 0)),
33139
- cover: entityCover(_optionalChain([item, 'optionalAccess', _708 => _708.featured_image]), ogPlaceholder),
33103
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _709 => _709.title]), () => ( "")),
33104
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _710 => _710.summary]), () => ( void 0)),
33105
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _711 => _711.featured_image]), ogPlaceholder),
33140
33106
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.NewspaperIcon, { size: 24 }),
33141
33107
  status,
33142
33108
  chatRef,
@@ -33153,13 +33119,13 @@ function CaseStudyChatCard({
33153
33119
  ogPlaceholder,
33154
33120
  discuss
33155
33121
  }) {
33156
- const meta = [_optionalChain([item, 'optionalAccess', _709 => _709.msp, 'optionalAccess', _710 => _710.name]), _optionalChain([item, 'optionalAccess', _711 => _711.user, 'optionalAccess', _712 => _712.full_name])].filter(Boolean).join(" \xB7 ");
33122
+ const meta = [_optionalChain([item, 'optionalAccess', _712 => _712.msp, 'optionalAccess', _713 => _713.name]), _optionalChain([item, 'optionalAccess', _714 => _714.user, 'optionalAccess', _715 => _715.full_name])].filter(Boolean).join(" \xB7 ");
33157
33123
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33158
33124
  EntityMingoCard,
33159
33125
  {
33160
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _713 => _713.title]), () => ( "")),
33161
- description: _optionalChain([item, 'optionalAccess', _714 => _714.summary]) || meta || void 0,
33162
- cover: entityCover(_optionalChain([item, 'optionalAccess', _715 => _715.featured_image]), ogPlaceholder),
33126
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _716 => _716.title]), () => ( "")),
33127
+ description: _optionalChain([item, 'optionalAccess', _717 => _717.summary]) || meta || void 0,
33128
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _718 => _718.featured_image]), ogPlaceholder),
33163
33129
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.TrophyIcon, { size: 24 }),
33164
33130
  status: { label: "Case study", variant: "grey" },
33165
33131
  chatRef,
@@ -33176,13 +33142,13 @@ function CustomerInterviewChatCard({
33176
33142
  ogPlaceholder,
33177
33143
  discuss
33178
33144
  }) {
33179
- const meta = [_optionalChain([item, 'optionalAccess', _716 => _716.user, 'optionalAccess', _717 => _717.full_name]), _optionalChain([item, 'optionalAccess', _718 => _718.msp, 'optionalAccess', _719 => _719.name])].filter(Boolean).join(" \xB7 ");
33145
+ const meta = [_optionalChain([item, 'optionalAccess', _719 => _719.user, 'optionalAccess', _720 => _720.full_name]), _optionalChain([item, 'optionalAccess', _721 => _721.msp, 'optionalAccess', _722 => _722.name])].filter(Boolean).join(" \xB7 ");
33180
33146
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33181
33147
  EntityMingoCard,
33182
33148
  {
33183
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _720 => _720.title]), () => ( "")),
33184
- description: _optionalChain([item, 'optionalAccess', _721 => _721.video_summary]) || meta || void 0,
33185
- cover: entityCover(_optionalChain([item, 'optionalAccess', _722 => _722.featured_image]), ogPlaceholder),
33149
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _723 => _723.title]), () => ( "")),
33150
+ description: _optionalChain([item, 'optionalAccess', _724 => _724.video_summary]) || meta || void 0,
33151
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _725 => _725.featured_image]), ogPlaceholder),
33186
33152
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.MicrophoneIcon, { size: 24 }),
33187
33153
  status: { label: "Interview", variant: "grey" },
33188
33154
  chatRef,
@@ -33199,13 +33165,13 @@ function InvestorUpdateChatCard({
33199
33165
  ogPlaceholder,
33200
33166
  discuss
33201
33167
  }) {
33202
- const title = _optionalChain([item, 'optionalAccess', _723 => _723.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _724 => _724.update_number]), () => ( "?"))}`;
33168
+ const title = _optionalChain([item, 'optionalAccess', _726 => _726.title]) || `Update #${_nullishCoalesce(_optionalChain([item, 'optionalAccess', _727 => _727.update_number]), () => ( "?"))}`;
33203
33169
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33204
33170
  EntityMingoCard,
33205
33171
  {
33206
33172
  title,
33207
- description: _optionalChain([item, 'optionalAccess', _725 => _725.strategic_update]) || _optionalChain([item, 'optionalAccess', _726 => _726.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _727 => _727.period_start]), _optionalChain([item, 'optionalAccess', _728 => _728.period_end])) || void 0,
33208
- cover: entityCover(_optionalChain([item, 'optionalAccess', _729 => _729.featured_image]), ogPlaceholder),
33173
+ description: _optionalChain([item, 'optionalAccess', _728 => _728.strategic_update]) || _optionalChain([item, 'optionalAccess', _729 => _729.content]) || formatInvestorUpdatePeriod(_optionalChain([item, 'optionalAccess', _730 => _730.period_start]), _optionalChain([item, 'optionalAccess', _731 => _731.period_end])) || void 0,
33174
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _732 => _732.featured_image]), ogPlaceholder),
33209
33175
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.PresentationLineIcon, { size: 24 }),
33210
33176
  status: { label: "Investor update", variant: "grey" },
33211
33177
  chatRef,
@@ -33222,12 +33188,12 @@ function OnboardingGuideChatCard({
33222
33188
  ogPlaceholder,
33223
33189
  discuss
33224
33190
  }) {
33225
- const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _730 => _730.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _731 => _731.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _732 => _732.og_image_url]), ogPlaceholder)));
33191
+ const cover = _nullishCoalesce(_nullishCoalesce(entityCover(_optionalChain([item, 'optionalAccess', _733 => _733.featured_image])), () => ( entityCover(_optionalChain([item, 'optionalAccess', _734 => _734.main_video_thumbnail])))), () => ( entityCover(_optionalChain([item, 'optionalAccess', _735 => _735.og_image_url]), ogPlaceholder)));
33226
33192
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33227
33193
  EntityMingoCard,
33228
33194
  {
33229
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _733 => _733.title]), () => ( "")),
33230
- description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _734 => _734.summary]), () => ( _optionalChain([item, 'optionalAccess', _735 => _735.description]))), () => ( void 0)),
33195
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _736 => _736.title]), () => ( "")),
33196
+ description: _nullishCoalesce(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _737 => _737.summary]), () => ( _optionalChain([item, 'optionalAccess', _738 => _738.description]))), () => ( void 0)),
33231
33197
  cover,
33232
33198
  fallbackIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.CompassIcon, { size: 24 }),
33233
33199
  status: { label: "Guide", variant: "grey" },
@@ -33248,25 +33214,25 @@ function ProgramChatCard({
33248
33214
  discuss
33249
33215
  }) {
33250
33216
  const icon = configKey === "webinar" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.PresentationBarIcon, { size: 24 }) : configKey === "event" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.CalendarIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.MicrophoneIcon, { size: 24 });
33251
- const isScheduled = _optionalChain([item, 'optionalAccess', _736 => _736.status]) === "scheduled";
33217
+ const isScheduled = _optionalChain([item, 'optionalAccess', _739 => _739.status]) === "scheduled";
33252
33218
  let typeMeta;
33253
- if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _737 => _737.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
33219
+ if (configKey === "podcast" && typeof _optionalChain([item, 'optionalAccess', _740 => _740.duration_seconds]) === "number" && item.duration_seconds > 0 && !isScheduled) {
33254
33220
  typeMeta = _chunk7NJUPRN6cjs.formatDurationCompact.call(void 0, item.duration_seconds);
33255
- } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _738 => _738.location_name]) === "string" && item.location_name.trim().length > 0) {
33221
+ } else if (configKey === "event" && typeof _optionalChain([item, 'optionalAccess', _741 => _741.location_name]) === "string" && item.location_name.trim().length > 0) {
33256
33222
  typeMeta = item.location_name;
33257
- } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _739 => _739.start_at])) {
33223
+ } else if (configKey === "webinar" && _optionalChain([item, 'optionalAccess', _742 => _742.start_at])) {
33258
33224
  const time = _chunk7NJUPRN6cjs.formatTimeWithTimezone.call(void 0, item.start_at, null);
33259
33225
  const dur = _chunk7NJUPRN6cjs.formatDurationFromRange.call(void 0, item.start_at, item.end_at);
33260
33226
  typeMeta = dur ? `${time} \xB7 ${dur}` : time;
33261
33227
  }
33262
- const itemDate = _chunk7NJUPRN6cjs.formatDateUTC.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _740 => _740.date]), () => ( null)), { fallback: "", timezone: "local" });
33228
+ const itemDate = _chunk7NJUPRN6cjs.formatDateUTC.call(void 0, _nullishCoalesce(_optionalChain([item, 'optionalAccess', _743 => _743.date]), () => ( null)), { fallback: "", timezone: "local" });
33263
33229
  const meta = [itemDate, typeMeta].filter(Boolean).join(" \xB7 ");
33264
33230
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33265
33231
  EntityMingoCard,
33266
33232
  {
33267
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _741 => _741.title]), () => ( "")),
33268
- description: meta || _optionalChain([item, 'optionalAccess', _742 => _742.description]) || void 0,
33269
- cover: entityCover(_optionalChain([item, 'optionalAccess', _743 => _743.cover_url]), ogPlaceholder),
33233
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _744 => _744.title]), () => ( "")),
33234
+ description: meta || _optionalChain([item, 'optionalAccess', _745 => _745.description]) || void 0,
33235
+ cover: entityCover(_optionalChain([item, 'optionalAccess', _746 => _746.cover_url]), ogPlaceholder),
33270
33236
  fallbackIcon: icon,
33271
33237
  status: { label, variant: "grey" },
33272
33238
  chatRef,
@@ -33283,10 +33249,10 @@ function RoadmapChatCard({
33283
33249
  cardType,
33284
33250
  discuss
33285
33251
  }) {
33286
- const logoUrl = typeof _optionalChain([item, 'optionalAccess', _744 => _744.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
33287
- const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _745 => _745.customItemId]) != null;
33252
+ const logoUrl = typeof _optionalChain([item, 'optionalAccess', _747 => _747.icon]) === "string" && item.icon.startsWith("http") ? item.icon : void 0;
33253
+ const useTypeIcon = cardType === "internal_task" || !logoUrl && _optionalChain([item, 'optionalAccess', _748 => _748.customItemId]) != null;
33288
33254
  const defaultIcon = cardType === "delivery_item" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.TruckFastIcon, { size: 24 }) : cardType === "internal_task" ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.CheckSquareIcon, { size: 24 }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkC6ASEPZLcjs.MapIcon, { size: 24 });
33289
- const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _746 => _746.customItemId]), className: "size-6" }) : logoUrl ? (
33255
+ const icon = useTypeIcon ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TaskTypeIcon, { customItemId: _optionalChain([item, 'optionalAccess', _749 => _749.customItemId]), className: "size-6" }) : logoUrl ? (
33290
33256
  // Contained (not full-bleed) so the integration logo keeps its aspect
33291
33257
  // ratio inside the bordered icon box — matches RoadmapCard.
33292
33258
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "img", { src: logoUrl, alt: "", className: "size-6 object-contain" })
@@ -33294,10 +33260,10 @@ function RoadmapChatCard({
33294
33260
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33295
33261
  EntityMingoCard,
33296
33262
  {
33297
- title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _747 => _747.title]), () => ( "")),
33298
- description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _748 => _748.description]), () => ( void 0)),
33263
+ title: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _750 => _750.title]), () => ( "")),
33264
+ description: _nullishCoalesce(_optionalChain([item, 'optionalAccess', _751 => _751.description]), () => ( void 0)),
33299
33265
  fallbackIcon: icon,
33300
- status: statusPill(_optionalChain([item, 'optionalAccess', _749 => _749.status])),
33266
+ status: statusPill(_optionalChain([item, 'optionalAccess', _752 => _752.status])),
33301
33267
  chatRef,
33302
33268
  isNewTab,
33303
33269
  discuss,
@@ -33383,7 +33349,7 @@ function programRegistryEntries() {
33383
33349
  discuss: opts.discuss,
33384
33350
  configKey: cfg.configKey,
33385
33351
  label: cfg.configKey.charAt(0).toUpperCase() + cfg.configKey.slice(1),
33386
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _750 => _750.extras, 'optionalAccess', _751 => _751.buildOgPlaceholderUrl, 'optionalCall', _752 => _752(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _753 => _753.title]), () => ( "")))]), () => ( null))
33352
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _753 => _753.extras, 'optionalAccess', _754 => _754.buildOgPlaceholderUrl, 'optionalCall', _755 => _755(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _756 => _756.title]), () => ( "")))]), () => ( null))
33387
33353
  }
33388
33354
  )
33389
33355
  };
@@ -33529,8 +33495,8 @@ var CHAT_CARD_REGISTRY = {
33529
33495
  chatRef,
33530
33496
  isNewTab: opts.isNewTab,
33531
33497
  discuss: opts.discuss,
33532
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _754 => _754.extras, 'optionalAccess', _755 => _755.buildOgPlaceholderUrl, 'optionalCall', _756 => _756(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _757 => _757.title]), () => ( "")))]), () => ( null)),
33533
- hasEmbeddedVideo: _optionalChain([chatRef, 'access', _758 => _758.metadata, 'optionalAccess', _759 => _759.hasEmbeddedVideo]) === true
33498
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _757 => _757.extras, 'optionalAccess', _758 => _758.buildOgPlaceholderUrl, 'optionalCall', _759 => _759(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _760 => _760.title]), () => ( "")))]), () => ( null)),
33499
+ hasEmbeddedVideo: _optionalChain([chatRef, 'access', _761 => _761.metadata, 'optionalAccess', _762 => _762.hasEmbeddedVideo]) === true
33534
33500
  }
33535
33501
  )
33536
33502
  },
@@ -33547,7 +33513,7 @@ var CHAT_CARD_REGISTRY = {
33547
33513
  chatRef,
33548
33514
  isNewTab: opts.isNewTab,
33549
33515
  discuss: opts.discuss,
33550
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _760 => _760.extras, 'optionalAccess', _761 => _761.buildOgPlaceholderUrl, 'optionalCall', _762 => _762(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _763 => _763.title]), () => ( "")))]), () => ( null))
33516
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _763 => _763.extras, 'optionalAccess', _764 => _764.buildOgPlaceholderUrl, 'optionalCall', _765 => _765(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _766 => _766.title]), () => ( "")))]), () => ( null))
33551
33517
  }
33552
33518
  )
33553
33519
  },
@@ -33564,7 +33530,7 @@ var CHAT_CARD_REGISTRY = {
33564
33530
  chatRef,
33565
33531
  isNewTab: opts.isNewTab,
33566
33532
  discuss: opts.discuss,
33567
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _764 => _764.extras, 'optionalAccess', _765 => _765.buildOgPlaceholderUrl, 'optionalCall', _766 => _766(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _767 => _767.title]), () => ( "")))]), () => ( null))
33533
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _767 => _767.extras, 'optionalAccess', _768 => _768.buildOgPlaceholderUrl, 'optionalCall', _769 => _769(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _770 => _770.title]), () => ( "")))]), () => ( null))
33568
33534
  }
33569
33535
  )
33570
33536
  },
@@ -33575,7 +33541,7 @@ var CHAT_CARD_REGISTRY = {
33575
33541
  bareInline: true,
33576
33542
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ProductReleaseCardSkeleton, { size: "sm" }),
33577
33543
  render: (item, chatRef, opts) => {
33578
- const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _768 => _768.extras, 'optionalAccess', _769 => _769.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
33544
+ const builder = _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _771 => _771.extras, 'optionalAccess', _772 => _772.buildProductReleaseCardProps]), () => ( defaultBuildProductReleaseCardProps));
33579
33545
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33580
33546
  ProductReleaseChatCard,
33581
33547
  {
@@ -33602,7 +33568,7 @@ var CHAT_CARD_REGISTRY = {
33602
33568
  chatRef,
33603
33569
  isNewTab: opts.isNewTab,
33604
33570
  discuss: opts.discuss,
33605
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _770 => _770.extras, 'optionalAccess', _771 => _771.buildOgPlaceholderUrl, 'optionalCall', _772 => _772(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _773 => _773.title]), () => ( "")))]), () => ( null))
33571
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _773 => _773.extras, 'optionalAccess', _774 => _774.buildOgPlaceholderUrl, 'optionalCall', _775 => _775(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _776 => _776.title]), () => ( "")))]), () => ( null))
33606
33572
  }
33607
33573
  )
33608
33574
  },
@@ -33621,7 +33587,7 @@ var CHAT_CARD_REGISTRY = {
33621
33587
  chatRef,
33622
33588
  isNewTab: opts.isNewTab,
33623
33589
  discuss: opts.discuss,
33624
- ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _774 => _774.extras, 'optionalAccess', _775 => _775.buildOgPlaceholderUrl, 'optionalCall', _776 => _776(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _777 => _777.title]), () => ( "")))]), () => ( null))
33590
+ ogPlaceholder: _nullishCoalesce(_optionalChain([opts, 'optionalAccess', _777 => _777.extras, 'optionalAccess', _778 => _778.buildOgPlaceholderUrl, 'optionalCall', _779 => _779(_nullishCoalesce(_optionalChain([item, 'optionalAccess', _780 => _780.title]), () => ( "")))]), () => ( null))
33625
33591
  }
33626
33592
  )
33627
33593
  },
@@ -33633,7 +33599,7 @@ var CHAT_CARD_REGISTRY = {
33633
33599
  skeleton: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CampaignCardAdminSkeleton, {}),
33634
33600
  // No public viewer — synthesize the hub-internal admin URL post-fetch
33635
33601
  // so the wrapper + isNewTab computation see the actual destination.
33636
- fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _778 => _778.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
33602
+ fallbackHref: (item) => _optionalChain([item, 'optionalAccess', _781 => _781.id]) ? `/admin/campaigns/${encodeURIComponent(item.id)}` : null,
33637
33603
  render: (item, chatRef, opts) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33638
33604
  CampaignChatCard,
33639
33605
  {
@@ -33659,12 +33625,12 @@ function ChatCardNavWrap({
33659
33625
  const onClickCapture = (e) => {
33660
33626
  if (!href) return;
33661
33627
  const targetEl = e.target;
33662
- if (_optionalChain([targetEl, 'optionalAccess', _779 => _779.closest, 'optionalCall', _780 => _780("button")])) return;
33663
- if (!_optionalChain([targetEl, 'optionalAccess', _781 => _781.closest, 'optionalCall', _782 => _782("a")])) return;
33628
+ if (_optionalChain([targetEl, 'optionalAccess', _782 => _782.closest, 'optionalCall', _783 => _783("button")])) return;
33629
+ if (!_optionalChain([targetEl, 'optionalAccess', _784 => _784.closest, 'optionalCall', _785 => _785("a")])) return;
33664
33630
  const handled = handleChatNavClick(e, runtime, { href, path, targetPlatform }, router.push);
33665
33631
  if (!handled) return;
33666
33632
  e.stopPropagation();
33667
- if (!isNewTab && _optionalChain([panel, 'optionalAccess', _783 => _783.closeChat])) panel.closeChat();
33633
+ if (!isNewTab && _optionalChain([panel, 'optionalAccess', _786 => _786.closeChat])) panel.closeChat();
33668
33634
  };
33669
33635
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "contents", onClickCapture, children });
33670
33636
  }
@@ -33686,7 +33652,7 @@ function ChatCardLoader({
33686
33652
  title: chatRef.title,
33687
33653
  externalUrl: chatRef.url,
33688
33654
  targetPlatform: chatRef.targetPlatform,
33689
- path: typeof _optionalChain([chatRef, 'access', _784 => _784.metadata, 'optionalAccess', _785 => _785.path]) === "string" ? chatRef.metadata.path : null
33655
+ path: typeof _optionalChain([chatRef, 'access', _787 => _787.metadata, 'optionalAccess', _788 => _788.path]) === "string" ? chatRef.metadata.path : null
33690
33656
  },
33691
33657
  _chunk7NJUPRN6cjs.sourceRowCtxFromRuntime.call(void 0, runtime, { baseRoute, chipBasePlatform })
33692
33658
  );
@@ -33700,7 +33666,7 @@ function ChatCardLoader({
33700
33666
  const entry = CHAT_CARD_REGISTRY[resolvedChatRef.type];
33701
33667
  const fetchEntry = entry && entry.mode === "fetch" ? entry : null;
33702
33668
  const { item, isLoading } = useChatCardItem(
33703
- _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _786 => _786.contentRefType]), () => ( "")),
33669
+ _nullishCoalesce(_optionalChain([fetchEntry, 'optionalAccess', _789 => _789.contentRefType]), () => ( "")),
33704
33670
  fetchEntry ? resolvedChatRef.id : ""
33705
33671
  );
33706
33672
  if (!entry) return null;
@@ -33731,7 +33697,7 @@ function ChatCardLoader({
33731
33697
  isNewTab,
33732
33698
  discuss
33733
33699
  };
33734
- const path = typeof _optionalChain([finalChatRef, 'access', _787 => _787.metadata, 'optionalAccess', _788 => _788.path]) === "string" ? finalChatRef.metadata.path : null;
33700
+ const path = typeof _optionalChain([finalChatRef, 'access', _790 => _790.metadata, 'optionalAccess', _791 => _791.path]) === "string" ? finalChatRef.metadata.path : null;
33735
33701
  const navWrap = (children) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33736
33702
  ChatCardNavWrap,
33737
33703
  {
@@ -34117,7 +34083,7 @@ function useJetStreamDialogSubscription({
34117
34083
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
34118
34084
  conn: sharedConn,
34119
34085
  wsUrl,
34120
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _789 => _789.current, 'optionalCall', _790 => _790()]),
34086
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _792 => _792.current, 'optionalCall', _793 => _793()]),
34121
34087
  backoff: reconnectionBackoffRef.current,
34122
34088
  getFreshUrl: () => getNatsWsUrlRef.current(),
34123
34089
  // JetStream emits 'error' for protocol-level failures (e.g. -ERR Permissions
@@ -34132,7 +34098,7 @@ function useJetStreamDialogSubscription({
34132
34098
  setReconnectionCount((c) => c + 1);
34133
34099
  }
34134
34100
  hadConnectionBeforeRef.current = true;
34135
- _optionalChain([onConnectRef, 'access', _791 => _791.current, 'optionalCall', _792 => _792()]);
34101
+ _optionalChain([onConnectRef, 'access', _794 => _794.current, 'optionalCall', _795 => _795()]);
34136
34102
  }
34137
34103
  if (status === "error") {
34138
34104
  console.warn("[JetStream] NATS protocol error:", evt.data);
@@ -34142,7 +34108,7 @@ function useJetStreamDialogSubscription({
34142
34108
  setIsConnected(false);
34143
34109
  setIsSubscribed(false);
34144
34110
  tearDownSubscription();
34145
- _optionalChain([onDisconnectRef, 'access', _793 => _793.current, 'optionalCall', _794 => _794()]);
34111
+ _optionalChain([onDisconnectRef, 'access', _796 => _796.current, 'optionalCall', _797 => _797()]);
34146
34112
  }
34147
34113
  }
34148
34114
  });
@@ -34221,7 +34187,7 @@ function useJetStreamDialogSubscription({
34221
34187
  }
34222
34188
  subscriptionRef.current = handle;
34223
34189
  setIsSubscribed(true);
34224
- _optionalChain([onSubscribedRef, 'access', _795 => _795.current, 'optionalCall', _796 => _796()]);
34190
+ _optionalChain([onSubscribedRef, 'access', _798 => _798.current, 'optionalCall', _799 => _799()]);
34225
34191
  } catch (e29) {
34226
34192
  if (!cancelled) {
34227
34193
  setIsSubscribed(false);
@@ -34334,20 +34300,20 @@ function useNatsDialogSubscription({
34334
34300
  const tearDownSubscriptions = () => {
34335
34301
  subscriptionRefs.current.forEach((sub) => {
34336
34302
  try {
34337
- _optionalChain([sub, 'optionalAccess', _797 => _797.unsubscribe, 'call', _798 => _798()]);
34303
+ _optionalChain([sub, 'optionalAccess', _800 => _800.unsubscribe, 'call', _801 => _801()]);
34338
34304
  } catch (e31) {
34339
34305
  }
34340
34306
  });
34341
34307
  subscriptionRefs.current.clear();
34342
34308
  lastSubscribedDialogIdRef.current = null;
34343
- _optionalChain([abortControllerRef, 'access', _799 => _799.current, 'optionalAccess', _800 => _800.abort, 'call', _801 => _801()]);
34309
+ _optionalChain([abortControllerRef, 'access', _802 => _802.current, 'optionalAccess', _803 => _803.abort, 'call', _804 => _804()]);
34344
34310
  abortControllerRef.current = null;
34345
34311
  };
34346
34312
  const isDisconnectStatus = (status) => status === "closed" || status === "disconnected";
34347
34313
  const lifecycle = _chunkPXXS27EEcjs.startConnectionLifecycle.call(void 0, {
34348
34314
  conn: sharedConn,
34349
34315
  wsUrl,
34350
- onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _802 => _802.current, 'optionalCall', _803 => _803()]),
34316
+ onBeforeReconnect: () => _optionalChain([onBeforeReconnectRef, 'access', _805 => _805.current, 'optionalCall', _806 => _806()]),
34351
34317
  backoff: reconnectionBackoffRef.current,
34352
34318
  getFreshUrl: () => getNatsWsUrlRef.current(),
34353
34319
  shouldRetryOn: isDisconnectStatus,
@@ -34358,7 +34324,7 @@ function useNatsDialogSubscription({
34358
34324
  setReconnectionCount((c) => c + 1);
34359
34325
  }
34360
34326
  hadConnectionBeforeRef.current = true;
34361
- _optionalChain([onConnectRef, 'access', _804 => _804.current, 'optionalCall', _805 => _805()]);
34327
+ _optionalChain([onConnectRef, 'access', _807 => _807.current, 'optionalCall', _808 => _808()]);
34362
34328
  }
34363
34329
  if (status === "error") {
34364
34330
  console.warn("[NATS] protocol error:", evt.data);
@@ -34368,7 +34334,7 @@ function useNatsDialogSubscription({
34368
34334
  setIsConnected(false);
34369
34335
  setIsSubscribed(false);
34370
34336
  tearDownSubscriptions();
34371
- _optionalChain([onDisconnectRef, 'access', _806 => _806.current, 'optionalCall', _807 => _807()]);
34337
+ _optionalChain([onDisconnectRef, 'access', _809 => _809.current, 'optionalCall', _810 => _810()]);
34372
34338
  }
34373
34339
  }
34374
34340
  });
@@ -34399,13 +34365,13 @@ function useNatsDialogSubscription({
34399
34365
  setIsSubscribed(false);
34400
34366
  subscriptionRefs.current.forEach((sub) => {
34401
34367
  try {
34402
- _optionalChain([sub, 'optionalAccess', _808 => _808.unsubscribe, 'call', _809 => _809()]);
34368
+ _optionalChain([sub, 'optionalAccess', _811 => _811.unsubscribe, 'call', _812 => _812()]);
34403
34369
  } catch (e32) {
34404
34370
  }
34405
34371
  });
34406
34372
  subscriptionRefs.current.clear();
34407
34373
  lastSubscribedDialogIdRef.current = null;
34408
- _optionalChain([abortControllerRef, 'access', _810 => _810.current, 'optionalAccess', _811 => _811.abort, 'call', _812 => _812()]);
34374
+ _optionalChain([abortControllerRef, 'access', _813 => _813.current, 'optionalAccess', _814 => _814.abort, 'call', _815 => _815()]);
34409
34375
  abortControllerRef.current = null;
34410
34376
  }
34411
34377
  return;
@@ -34417,12 +34383,12 @@ function useNatsDialogSubscription({
34417
34383
  if (subscriptionRefs.current.size > 0) {
34418
34384
  subscriptionRefs.current.forEach((sub) => {
34419
34385
  try {
34420
- _optionalChain([sub, 'optionalAccess', _813 => _813.unsubscribe, 'call', _814 => _814()]);
34386
+ _optionalChain([sub, 'optionalAccess', _816 => _816.unsubscribe, 'call', _817 => _817()]);
34421
34387
  } catch (e33) {
34422
34388
  }
34423
34389
  });
34424
34390
  subscriptionRefs.current.clear();
34425
- _optionalChain([abortControllerRef, 'access', _815 => _815.current, 'optionalAccess', _816 => _816.abort, 'call', _817 => _817()]);
34391
+ _optionalChain([abortControllerRef, 'access', _818 => _818.current, 'optionalAccess', _819 => _819.abort, 'call', _820 => _820()]);
34426
34392
  }
34427
34393
  abortControllerRef.current = new AbortController();
34428
34394
  const abort = abortControllerRef.current;
@@ -34454,7 +34420,7 @@ function useNatsDialogSubscription({
34454
34420
  });
34455
34421
  lastSubscribedDialogIdRef.current = dialogId;
34456
34422
  setIsSubscribed(true);
34457
- _optionalChain([onSubscribedRef, 'access', _818 => _818.current, 'optionalCall', _819 => _819()]);
34423
+ _optionalChain([onSubscribedRef, 'access', _821 => _821.current, 'optionalCall', _822 => _822()]);
34458
34424
  };
34459
34425
  if (isConnectedRef.current) {
34460
34426
  createSubscriptions();
@@ -34464,7 +34430,7 @@ function useNatsDialogSubscription({
34464
34430
  abort.abort();
34465
34431
  subscriptionRefs.current.forEach((sub) => {
34466
34432
  try {
34467
- _optionalChain([sub, 'optionalAccess', _820 => _820.unsubscribe, 'call', _821 => _821()]);
34433
+ _optionalChain([sub, 'optionalAccess', _823 => _823.unsubscribe, 'call', _824 => _824()]);
34468
34434
  } catch (e35) {
34469
34435
  }
34470
34436
  });
@@ -34505,7 +34471,7 @@ function useNatsDialogSubscription({
34505
34471
  });
34506
34472
  lastSubscribedDialogIdRef.current = dialogId2;
34507
34473
  setIsSubscribed(true);
34508
- _optionalChain([onSubscribedRef, 'access', _822 => _822.current, 'optionalCall', _823 => _823()]);
34474
+ _optionalChain([onSubscribedRef, 'access', _825 => _825.current, 'optionalCall', _826 => _826()]);
34509
34475
  } else if (subscriptionRefs.current.size > 0) {
34510
34476
  setIsSubscribed(true);
34511
34477
  }
@@ -34513,10 +34479,10 @@ function useNatsDialogSubscription({
34513
34479
  return { isConnected, isSubscribed, reconnectionCount };
34514
34480
  }
34515
34481
  function buildNatsWsUrl(apiBaseUrl, options) {
34516
- const path = _optionalChain([options, 'optionalAccess', _824 => _824.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
34482
+ const path = _optionalChain([options, 'optionalAccess', _827 => _827.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
34517
34483
  const u = new URL(path, apiBaseUrl);
34518
34484
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
34519
- if (_optionalChain([options, 'optionalAccess', _825 => _825.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _826 => _826.token])) {
34485
+ if (_optionalChain([options, 'optionalAccess', _828 => _828.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _829 => _829.token])) {
34520
34486
  u.searchParams.set("authorization", options.token);
34521
34487
  }
34522
34488
  return u.toString();
@@ -34834,8 +34800,8 @@ var MessageSegmentAccumulator = class {
34834
34800
  type: "tool_execution",
34835
34801
  data: {
34836
34802
  ...toolData,
34837
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _827 => _827.data, 'access', _828 => _828.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _829 => _829.toolTitle]))),
34838
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _830 => _830.parameters])
34803
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _830 => _830.data, 'access', _831 => _831.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _832 => _832.toolTitle]))),
34804
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _833 => _833.parameters])
34839
34805
  }
34840
34806
  };
34841
34807
  if (existingIndex !== -1) {
@@ -34859,8 +34825,8 @@ var MessageSegmentAccumulator = class {
34859
34825
  if (seg.type !== "approval_batch") return seg;
34860
34826
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
34861
34827
  if (!hasCall) return seg;
34862
- const prev = _optionalChain([seg, 'access', _831 => _831.data, 'access', _832 => _832.executions, 'optionalAccess', _833 => _833[execId]]);
34863
- const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _834 => _834.result]), success: _optionalChain([prev, 'optionalAccess', _835 => _835.success]) };
34828
+ const prev = _optionalChain([seg, 'access', _834 => _834.data, 'access', _835 => _835.executions, 'optionalAccess', _836 => _836[execId]]);
34829
+ const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _837 => _837.result]), success: _optionalChain([prev, 'optionalAccess', _838 => _838.success]) };
34864
34830
  matched = true;
34865
34831
  return {
34866
34832
  ...seg,
@@ -34980,10 +34946,10 @@ var MessageSegmentAccumulator = class {
34980
34946
  const segment = {
34981
34947
  type: "approval_request",
34982
34948
  data: {
34983
- command: _optionalChain([pendingApproval, 'optionalAccess', _836 => _836.command]) || "",
34984
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _837 => _837.explanation]),
34949
+ command: _optionalChain([pendingApproval, 'optionalAccess', _839 => _839.command]) || "",
34950
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _840 => _840.explanation]),
34985
34951
  requestId,
34986
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _838 => _838.approvalType]) || approvalType
34952
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _841 => _841.approvalType]) || approvalType
34987
34953
  },
34988
34954
  status,
34989
34955
  onApprove: this.callbacks.onApprove,
@@ -35173,7 +35139,7 @@ function useRealtimeChunkProcessor(options) {
35173
35139
  if (initialState.escalatedApprovals) {
35174
35140
  pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
35175
35141
  initialState.escalatedApprovals.forEach((data, requestId) => {
35176
- _optionalChain([callbacks, 'access', _839 => _839.onEscalatedApproval, 'optionalCall', _840 => _840(requestId, data)]);
35142
+ _optionalChain([callbacks, 'access', _842 => _842.onEscalatedApproval, 'optionalCall', _843 => _843(requestId, data)]);
35177
35143
  });
35178
35144
  }
35179
35145
  hasEverStreamedRef.current = true;
@@ -35200,7 +35166,7 @@ function useRealtimeChunkProcessor(options) {
35200
35166
  if ((directModeFlagRef.current || sawDirectMessageRef.current) && !DIRECT_MODE_ALLOWED.has(action.action)) {
35201
35167
  if (isInStreamRef.current) {
35202
35168
  isInStreamRef.current = false;
35203
- _optionalChain([callbacks, 'access', _841 => _841.onStreamEnd, 'optionalCall', _842 => _842()]);
35169
+ _optionalChain([callbacks, 'access', _844 => _844.onStreamEnd, 'optionalCall', _845 => _845()]);
35204
35170
  accumulator.resetSegments();
35205
35171
  }
35206
35172
  return;
@@ -35209,32 +35175,32 @@ function useRealtimeChunkProcessor(options) {
35209
35175
  case "message_start":
35210
35176
  isInStreamRef.current = true;
35211
35177
  hasEverStreamedRef.current = true;
35212
- _optionalChain([callbacks, 'access', _843 => _843.onStreamStart, 'optionalCall', _844 => _844()]);
35178
+ _optionalChain([callbacks, 'access', _846 => _846.onStreamStart, 'optionalCall', _847 => _847()]);
35213
35179
  accumulator.resetSegments();
35214
35180
  break;
35215
35181
  case "message_end":
35216
35182
  isInStreamRef.current = false;
35217
- _optionalChain([callbacks, 'access', _845 => _845.onStreamEnd, 'optionalCall', _846 => _846()]);
35183
+ _optionalChain([callbacks, 'access', _848 => _848.onStreamEnd, 'optionalCall', _849 => _849()]);
35218
35184
  accumulator.resetSegments();
35219
35185
  break;
35220
35186
  case "metadata":
35221
- _optionalChain([callbacks, 'access', _847 => _847.onMetadata, 'optionalCall', _848 => _848(action)]);
35187
+ _optionalChain([callbacks, 'access', _850 => _850.onMetadata, 'optionalCall', _851 => _851(action)]);
35222
35188
  break;
35223
35189
  case "text": {
35224
35190
  const segments = accumulator.appendText(action.text);
35225
35191
  if (isInStreamRef.current || !hasEverStreamedRef.current) {
35226
- _optionalChain([callbacks, 'access', _849 => _849.onSegmentsUpdate, 'optionalCall', _850 => _850(segments)]);
35192
+ _optionalChain([callbacks, 'access', _852 => _852.onSegmentsUpdate, 'optionalCall', _853 => _853(segments)]);
35227
35193
  } else {
35228
- _optionalChain([callbacks, 'access', _851 => _851.onSegmentsUpdate, 'optionalCall', _852 => _852([{ type: "text", text: action.text }], { append: true })]);
35194
+ _optionalChain([callbacks, 'access', _854 => _854.onSegmentsUpdate, 'optionalCall', _855 => _855([{ type: "text", text: action.text }], { append: true })]);
35229
35195
  }
35230
35196
  break;
35231
35197
  }
35232
35198
  case "thinking": {
35233
35199
  const segments = accumulator.appendThinking(action.text);
35234
35200
  if (isInStreamRef.current || !hasEverStreamedRef.current) {
35235
- _optionalChain([callbacks, 'access', _853 => _853.onSegmentsUpdate, 'optionalCall', _854 => _854(segments)]);
35201
+ _optionalChain([callbacks, 'access', _856 => _856.onSegmentsUpdate, 'optionalCall', _857 => _857(segments)]);
35236
35202
  } else {
35237
- _optionalChain([callbacks, 'access', _855 => _855.onSegmentsUpdate, 'optionalCall', _856 => _856([{ type: "thinking", text: action.text }], { append: true })]);
35203
+ _optionalChain([callbacks, 'access', _858 => _858.onSegmentsUpdate, 'optionalCall', _859 => _859([{ type: "thinking", text: action.text }], { append: true })]);
35238
35204
  }
35239
35205
  break;
35240
35206
  }
@@ -35244,7 +35210,7 @@ function useRealtimeChunkProcessor(options) {
35244
35210
  break;
35245
35211
  }
35246
35212
  const segments = accumulator.addToolExecution(action.segment);
35247
- _optionalChain([callbacks, 'access', _857 => _857.onSegmentsUpdate, 'optionalCall', _858 => _858(segments)]);
35213
+ _optionalChain([callbacks, 'access', _860 => _860.onSegmentsUpdate, 'optionalCall', _861 => _861(segments)]);
35248
35214
  break;
35249
35215
  }
35250
35216
  case "approval_request": {
@@ -35258,10 +35224,10 @@ function useRealtimeChunkProcessor(options) {
35258
35224
  approvalType,
35259
35225
  status
35260
35226
  );
35261
- _optionalChain([callbacks, 'access', _859 => _859.onSegmentsUpdate, 'optionalCall', _860 => _860(segments)]);
35227
+ _optionalChain([callbacks, 'access', _862 => _862.onSegmentsUpdate, 'optionalCall', _863 => _863(segments)]);
35262
35228
  } else {
35263
35229
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
35264
- _optionalChain([callbacks, 'access', _861 => _861.onEscalatedApproval, 'optionalCall', _862 => _862(requestId, { command, explanation, approvalType })]);
35230
+ _optionalChain([callbacks, 'access', _864 => _864.onEscalatedApproval, 'optionalCall', _865 => _865(requestId, { command, explanation, approvalType })]);
35265
35231
  }
35266
35232
  break;
35267
35233
  }
@@ -35273,20 +35239,20 @@ function useRealtimeChunkProcessor(options) {
35273
35239
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
35274
35240
  pendingEscalatedRef.current.set(requestId, {
35275
35241
  command: summary,
35276
- explanation: _optionalChain([required, 'optionalAccess', _863 => _863.toolExplanation]),
35242
+ explanation: _optionalChain([required, 'optionalAccess', _866 => _866.toolExplanation]),
35277
35243
  approvalType,
35278
35244
  toolCalls
35279
35245
  });
35280
- _optionalChain([callbacks, 'access', _864 => _864.onEscalatedApproval, 'optionalCall', _865 => _865(requestId, {
35246
+ _optionalChain([callbacks, 'access', _867 => _867.onEscalatedApproval, 'optionalCall', _868 => _868(requestId, {
35281
35247
  command: summary,
35282
- explanation: _optionalChain([required, 'optionalAccess', _866 => _866.toolExplanation]),
35248
+ explanation: _optionalChain([required, 'optionalAccess', _869 => _869.toolExplanation]),
35283
35249
  approvalType
35284
35250
  })]);
35285
35251
  break;
35286
35252
  }
35287
35253
  if (batchApprovalsEnabled) {
35288
35254
  const segments2 = accumulator.addApprovalBatch(requestId, approvalType, toolCalls, status);
35289
- _optionalChain([callbacks, 'access', _867 => _867.onSegmentsUpdate, 'optionalCall', _868 => _868(segments2)]);
35255
+ _optionalChain([callbacks, 'access', _870 => _870.onSegmentsUpdate, 'optionalCall', _871 => _871(segments2)]);
35290
35256
  break;
35291
35257
  }
35292
35258
  let segments = accumulator.getSegments();
@@ -35300,7 +35266,7 @@ function useRealtimeChunkProcessor(options) {
35300
35266
  status
35301
35267
  );
35302
35268
  }
35303
- _optionalChain([callbacks, 'access', _869 => _869.onSegmentsUpdate, 'optionalCall', _870 => _870(segments)]);
35269
+ _optionalChain([callbacks, 'access', _872 => _872.onSegmentsUpdate, 'optionalCall', _873 => _873(segments)]);
35304
35270
  break;
35305
35271
  }
35306
35272
  case "approval_result": {
@@ -35309,7 +35275,7 @@ function useRealtimeChunkProcessor(options) {
35309
35275
  const status = approved ? "approved" : "rejected";
35310
35276
  if (escalatedData) {
35311
35277
  pendingEscalatedRef.current.delete(requestId);
35312
- _optionalChain([callbacks, 'access', _871 => _871.onEscalatedApprovalResult, 'optionalCall', _872 => _872(requestId, approved, {
35278
+ _optionalChain([callbacks, 'access', _874 => _874.onEscalatedApprovalResult, 'optionalCall', _875 => _875(requestId, approved, {
35313
35279
  command: escalatedData.command,
35314
35280
  explanation: escalatedData.explanation,
35315
35281
  approvalType: escalatedData.approvalType
@@ -35322,7 +35288,7 @@ function useRealtimeChunkProcessor(options) {
35322
35288
  escalatedData.toolCalls,
35323
35289
  status
35324
35290
  );
35325
- _optionalChain([callbacks, 'access', _873 => _873.onSegmentsUpdate, 'optionalCall', _874 => _874(segments)]);
35291
+ _optionalChain([callbacks, 'access', _876 => _876.onSegmentsUpdate, 'optionalCall', _877 => _877(segments)]);
35326
35292
  } else {
35327
35293
  let segments = accumulator.getSegments();
35328
35294
  for (const call of escalatedData.toolCalls) {
@@ -35335,7 +35301,7 @@ function useRealtimeChunkProcessor(options) {
35335
35301
  status
35336
35302
  );
35337
35303
  }
35338
- _optionalChain([callbacks, 'access', _875 => _875.onSegmentsUpdate, 'optionalCall', _876 => _876(segments)]);
35304
+ _optionalChain([callbacks, 'access', _878 => _878.onSegmentsUpdate, 'optionalCall', _879 => _879(segments)]);
35339
35305
  }
35340
35306
  } else {
35341
35307
  const segments = accumulator.addApprovalRequest(
@@ -35345,37 +35311,37 @@ function useRealtimeChunkProcessor(options) {
35345
35311
  escalatedData.approvalType,
35346
35312
  status
35347
35313
  );
35348
- _optionalChain([callbacks, 'access', _877 => _877.onSegmentsUpdate, 'optionalCall', _878 => _878(segments)]);
35314
+ _optionalChain([callbacks, 'access', _880 => _880.onSegmentsUpdate, 'optionalCall', _881 => _881(segments)]);
35349
35315
  }
35350
35316
  } else {
35351
35317
  accumulator.updateApprovalStatus(requestId, status);
35352
35318
  if (!callbacks.onApprovalResolved) {
35353
- _optionalChain([callbacks, 'access', _879 => _879.onSegmentsUpdate, 'optionalCall', _880 => _880(accumulator.getSegments())]);
35319
+ _optionalChain([callbacks, 'access', _882 => _882.onSegmentsUpdate, 'optionalCall', _883 => _883(accumulator.getSegments())]);
35354
35320
  }
35355
35321
  }
35356
- _optionalChain([callbacks, 'access', _881 => _881.onApprovalResolved, 'optionalCall', _882 => _882(requestId, status, approvalType)]);
35322
+ _optionalChain([callbacks, 'access', _884 => _884.onApprovalResolved, 'optionalCall', _885 => _885(requestId, status, approvalType)]);
35357
35323
  break;
35358
35324
  }
35359
35325
  case "error": {
35360
35326
  let message2;
35361
- if ("details" in action && _optionalChain([action, 'optionalAccess', _883 => _883.details])) {
35327
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _886 => _886.details])) {
35362
35328
  try {
35363
- message2 = _optionalChain([JSON, 'access', _884 => _884.parse, 'call', _885 => _885(action.details), 'optionalAccess', _886 => _886.error, 'optionalAccess', _887 => _887.message]);
35329
+ message2 = _optionalChain([JSON, 'access', _887 => _887.parse, 'call', _888 => _888(action.details), 'optionalAccess', _889 => _889.error, 'optionalAccess', _890 => _890.message]);
35364
35330
  } catch (e37) {
35365
35331
  message2 = action.details;
35366
35332
  }
35367
35333
  }
35368
35334
  const segments = accumulator.addError(action.error, message2);
35369
- _optionalChain([callbacks, 'access', _888 => _888.onSegmentsUpdate, 'optionalCall', _889 => _889(segments)]);
35370
- _optionalChain([callbacks, 'access', _890 => _890.onError, 'optionalCall', _891 => _891(action.error, message2)]);
35335
+ _optionalChain([callbacks, 'access', _891 => _891.onSegmentsUpdate, 'optionalCall', _892 => _892(segments)]);
35336
+ _optionalChain([callbacks, 'access', _893 => _893.onError, 'optionalCall', _894 => _894(action.error, message2)]);
35371
35337
  break;
35372
35338
  }
35373
35339
  case "system": {
35374
- _optionalChain([callbacks, 'access', _892 => _892.onSystemMessage, 'optionalCall', _893 => _893(action.text)]);
35340
+ _optionalChain([callbacks, 'access', _895 => _895.onSystemMessage, 'optionalCall', _896 => _896(action.text)]);
35375
35341
  break;
35376
35342
  }
35377
35343
  case "direct_message": {
35378
- _optionalChain([callbacks, 'access', _894 => _894.onDirectMessage, 'optionalCall', _895 => _895(action.text, {
35344
+ _optionalChain([callbacks, 'access', _897 => _897.onDirectMessage, 'optionalCall', _898 => _898(action.text, {
35379
35345
  ownerType: action.ownerType,
35380
35346
  displayName: action.displayName,
35381
35347
  userId: action.userId
@@ -35383,29 +35349,29 @@ function useRealtimeChunkProcessor(options) {
35383
35349
  break;
35384
35350
  }
35385
35351
  case "message_request":
35386
- _optionalChain([callbacks, 'access', _896 => _896.onUserMessage, 'optionalCall', _897 => _897(action.text, {
35352
+ _optionalChain([callbacks, 'access', _899 => _899.onUserMessage, 'optionalCall', _900 => _900(action.text, {
35387
35353
  ownerType: action.ownerType,
35388
35354
  displayName: action.displayName,
35389
35355
  userId: action.userId
35390
35356
  })]);
35391
35357
  break;
35392
35358
  case "token_usage":
35393
- _optionalChain([callbacks, 'access', _898 => _898.onTokenUsage, 'optionalCall', _899 => _899(action.data)]);
35359
+ _optionalChain([callbacks, 'access', _901 => _901.onTokenUsage, 'optionalCall', _902 => _902(action.data)]);
35394
35360
  break;
35395
35361
  case "context_compaction_start": {
35396
35362
  const standalone = !isInStreamRef.current;
35397
35363
  const segments = accumulator.addContextCompaction();
35398
- _optionalChain([callbacks, 'access', _900 => _900.onSegmentsUpdate, 'optionalCall', _901 => _901(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
35364
+ _optionalChain([callbacks, 'access', _903 => _903.onSegmentsUpdate, 'optionalCall', _904 => _904(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
35399
35365
  break;
35400
35366
  }
35401
35367
  case "context_compaction_end": {
35402
35368
  const standalone = !isInStreamRef.current;
35403
35369
  const segments = accumulator.completeContextCompaction(action.summary);
35404
- _optionalChain([callbacks, 'access', _902 => _902.onSegmentsUpdate, 'optionalCall', _903 => _903(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
35370
+ _optionalChain([callbacks, 'access', _905 => _905.onSegmentsUpdate, 'optionalCall', _906 => _906(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
35405
35371
  break;
35406
35372
  }
35407
35373
  case "dialog_closed":
35408
- _optionalChain([callbacks, 'access', _904 => _904.onDialogClosed, 'optionalCall', _905 => _905()]);
35374
+ _optionalChain([callbacks, 'access', _907 => _907.onDialogClosed, 'optionalCall', _908 => _908()]);
35409
35375
  break;
35410
35376
  default:
35411
35377
  break;
@@ -35467,7 +35433,7 @@ function useSlashCommands(prefix, commandsUrl) {
35467
35433
  const next = await fetchSlashCommands(prefix, ctrl.signal, commandsUrl);
35468
35434
  if (!cancelled) setCommands(next);
35469
35435
  } catch (err) {
35470
- if (!cancelled && _optionalChain([err, 'optionalAccess', _906 => _906.name]) !== "AbortError") {
35436
+ if (!cancelled && _optionalChain([err, 'optionalAccess', _909 => _909.name]) !== "AbortError") {
35471
35437
  console.warn("[use-slash-commands] fetch failed:", err);
35472
35438
  }
35473
35439
  } finally {
@@ -35486,7 +35452,7 @@ function useSlashCommandRegistry(commandsUrl, options) {
35486
35452
  const query = _reactquery.useQuery.call(void 0, {
35487
35453
  queryKey: ["chat-slash-commands", commandsUrl],
35488
35454
  queryFn: ({ signal }) => fetchSlashCommands("", signal, commandsUrl),
35489
- enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _907 => _907.enabled]), () => ( true)),
35455
+ enabled: _nullishCoalesce(_optionalChain([options, 'optionalAccess', _910 => _910.enabled]), () => ( true)),
35490
35456
  staleTime: Infinity,
35491
35457
  gcTime: Infinity
35492
35458
  });
@@ -35507,7 +35473,7 @@ var CHAT_ATTACHMENT_MAX_SIZE_BYTES = 25 * 1024 * 1024;
35507
35473
  var STORAGE_CACHE_CONTROL_IMMUTABLE = "public, max-age=31536000, immutable";
35508
35474
  function uploadWithProgress(url, file, token, onProgress, signal) {
35509
35475
  return new Promise((resolve, reject) => {
35510
- if (_optionalChain([signal, 'optionalAccess', _908 => _908.aborted])) {
35476
+ if (_optionalChain([signal, 'optionalAccess', _911 => _911.aborted])) {
35511
35477
  reject(new Error("Upload cancelled"));
35512
35478
  return;
35513
35479
  }
@@ -35521,7 +35487,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
35521
35487
  xhr.removeEventListener("error", handleError);
35522
35488
  xhr.removeEventListener("abort", handleAbort);
35523
35489
  xhr.removeEventListener("timeout", handleTimeout);
35524
- _optionalChain([signal, 'optionalAccess', _909 => _909.removeEventListener, 'call', _910 => _910("abort", handleSignalAbort)]);
35490
+ _optionalChain([signal, 'optionalAccess', _912 => _912.removeEventListener, 'call', _913 => _913("abort", handleSignalAbort)]);
35525
35491
  if (xhr.readyState !== XMLHttpRequest.DONE) xhr.abort();
35526
35492
  };
35527
35493
  const handleProgress = (event) => {
@@ -35557,7 +35523,7 @@ function uploadWithProgress(url, file, token, onProgress, signal) {
35557
35523
  const handleSignalAbort = () => {
35558
35524
  xhr.abort();
35559
35525
  };
35560
- _optionalChain([signal, 'optionalAccess', _911 => _911.addEventListener, 'call', _912 => _912("abort", handleSignalAbort, { once: true })]);
35526
+ _optionalChain([signal, 'optionalAccess', _914 => _914.addEventListener, 'call', _915 => _915("abort", handleSignalAbort, { once: true })]);
35561
35527
  xhr.upload.addEventListener("progress", handleProgress);
35562
35528
  xhr.addEventListener("load", handleLoad);
35563
35529
  xhr.addEventListener("error", handleError);
@@ -35601,12 +35567,12 @@ function useChatAttachments() {
35601
35567
  try {
35602
35568
  sniffed = await _filetype.fileTypeFromBlob.call(void 0, att.file);
35603
35569
  } catch (err) {
35604
- if (_optionalChain([ctrl, 'optionalAccess', _913 => _913.signal, 'access', _914 => _914.aborted])) return;
35570
+ if (_optionalChain([ctrl, 'optionalAccess', _916 => _916.signal, 'access', _917 => _917.aborted])) return;
35605
35571
  throw new Error(
35606
35572
  `Could not read file content: ${err instanceof Error ? err.message : String(err)}`
35607
35573
  );
35608
35574
  }
35609
- if (_optionalChain([ctrl, 'optionalAccess', _915 => _915.signal, 'access', _916 => _916.aborted])) return;
35575
+ if (_optionalChain([ctrl, 'optionalAccess', _918 => _918.signal, 'access', _919 => _919.aborted])) return;
35610
35576
  if (!sniffed) {
35611
35577
  throw new Error("Unrecognized file format");
35612
35578
  }
@@ -35620,7 +35586,7 @@ function useChatAttachments() {
35620
35586
  const urlResp = await embedAuthedFetch(uploadUrlEndpoint, {
35621
35587
  method: "POST",
35622
35588
  headers: { "Content-Type": "application/json" },
35623
- signal: _optionalChain([ctrl, 'optionalAccess', _917 => _917.signal]),
35589
+ signal: _optionalChain([ctrl, 'optionalAccess', _920 => _920.signal]),
35624
35590
  body: JSON.stringify({
35625
35591
  fileName: att.file.name,
35626
35592
  // Pass the SNIFFED MIME (not `file.type`, which can be a
@@ -35646,9 +35612,9 @@ function useChatAttachments() {
35646
35612
  (pct) => {
35647
35613
  updateOne(att.id, { progress: pct });
35648
35614
  },
35649
- _optionalChain([ctrl, 'optionalAccess', _918 => _918.signal])
35615
+ _optionalChain([ctrl, 'optionalAccess', _921 => _921.signal])
35650
35616
  );
35651
- if (_optionalChain([ctrl, 'optionalAccess', _919 => _919.signal, 'access', _920 => _920.aborted])) return;
35617
+ if (_optionalChain([ctrl, 'optionalAccess', _922 => _922.signal, 'access', _923 => _923.aborted])) return;
35652
35618
  updateOne(att.id, {
35653
35619
  status: "ready",
35654
35620
  progress: 100,
@@ -35656,7 +35622,7 @@ function useChatAttachments() {
35656
35622
  viewToken: mintData.viewToken
35657
35623
  });
35658
35624
  } catch (err) {
35659
- if (_optionalChain([ctrl, 'optionalAccess', _921 => _921.signal, 'access', _922 => _922.aborted])) return;
35625
+ if (_optionalChain([ctrl, 'optionalAccess', _924 => _924.signal, 'access', _925 => _925.aborted])) return;
35660
35626
  const message2 = err instanceof Error ? err.message : String(err);
35661
35627
  updateOne(att.id, { status: "error", progress: 0, errorMessage: message2 });
35662
35628
  } finally {
@@ -35807,7 +35773,7 @@ var ANON_DEFAULTS = {
35807
35773
  function useResolveChatIdentity(enabled) {
35808
35774
  const runtime = _chunkMEAR2WHScjs.useRequiredChatRuntime.call(void 0, );
35809
35775
  const url = runtime.endpoints.identityUrl;
35810
- const proxyEmail = _nullishCoalesce(_optionalChain([getEmbedProxyAuth, 'call', _923 => _923(), 'optionalAccess', _924 => _924.email]), () => ( null));
35776
+ const proxyEmail = _nullishCoalesce(_optionalChain([getEmbedProxyAuth, 'call', _926 => _926(), 'optionalAccess', _927 => _927.email]), () => ( null));
35811
35777
  const [data, setData] = _react.useState.call(void 0, ANON_DEFAULTS);
35812
35778
  const [isLoading, setIsLoading] = _react.useState.call(void 0, enabled);
35813
35779
  _react.useEffect.call(void 0, () => {
@@ -35895,7 +35861,7 @@ function useSSE({ useMock = true, debugMode = false, streamFn } = {}) {
35895
35861
  yield chunk;
35896
35862
  }
35897
35863
  } catch (err) {
35898
- if (_optionalChain([err, 'optionalAccess', _925 => _925.name]) === "AbortError" || ctrl.signal.aborted) {
35864
+ if (_optionalChain([err, 'optionalAccess', _928 => _928.name]) === "AbortError" || ctrl.signal.aborted) {
35899
35865
  return;
35900
35866
  }
35901
35867
  const errorMessage = err instanceof Error ? err.message : "An error occurred";
@@ -35946,7 +35912,7 @@ function useChat({
35946
35912
  const onMessagesChangeRef = _react.useRef.call(void 0, onMessagesChange);
35947
35913
  onMessagesChangeRef.current = onMessagesChange;
35948
35914
  _react.useEffect.call(void 0, () => {
35949
- _optionalChain([onMessagesChangeRef, 'access', _926 => _926.current, 'optionalCall', _927 => _927(messages)]);
35915
+ _optionalChain([onMessagesChangeRef, 'access', _929 => _929.current, 'optionalCall', _930 => _930(messages)]);
35950
35916
  }, [messages]);
35951
35917
  const {
35952
35918
  streamMessage,
@@ -35983,7 +35949,7 @@ function useChat({
35983
35949
  name: "You",
35984
35950
  content: text,
35985
35951
  timestamp: /* @__PURE__ */ new Date(),
35986
- ..._optionalChain([options, 'optionalAccess', _928 => _928.hidden]) ? { hidden: true } : {}
35952
+ ..._optionalChain([options, 'optionalAccess', _931 => _931.hidden]) ? { hidden: true } : {}
35987
35953
  };
35988
35954
  addMessage(userMessage);
35989
35955
  setIsTyping(true);
@@ -36045,7 +36011,7 @@ function useChat({
36045
36011
  currentTextSegment = "";
36046
36012
  }
36047
36013
  const seg = segment;
36048
- const proposalId = _optionalChain([seg, 'access', _929 => _929.data, 'optionalAccess', _930 => _930.requestId]);
36014
+ const proposalId = _optionalChain([seg, 'access', _932 => _932.data, 'optionalAccess', _933 => _933.requestId]);
36049
36015
  const updateApprovalMessage = (transform) => {
36050
36016
  setMessages((prev) => {
36051
36017
  for (let i = prev.length - 1; i >= 0; i--) {
@@ -36054,7 +36020,7 @@ function useChat({
36054
36020
  if (!Array.isArray(m.content)) continue;
36055
36021
  const segments = m.content;
36056
36022
  const hasMatch = segments.some(
36057
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _931 => _931.data, 'optionalAccess', _932 => _932.requestId]) === proposalId
36023
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _934 => _934.data, 'optionalAccess', _935 => _935.requestId]) === proposalId
36058
36024
  );
36059
36025
  if (!hasMatch) continue;
36060
36026
  const next = [...prev];
@@ -36096,11 +36062,11 @@ function useChat({
36096
36062
  if (!Array.isArray(m.content)) continue;
36097
36063
  const segments = m.content;
36098
36064
  const hasMatch = segments.some(
36099
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _933 => _933.data, 'optionalAccess', _934 => _934.requestId]) === decision.proposalId
36065
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _936 => _936.data, 'optionalAccess', _937 => _937.requestId]) === decision.proposalId
36100
36066
  );
36101
36067
  if (!hasMatch) continue;
36102
36068
  const flipped = segments.map(
36103
- (s) => s.type === "approval_request" && _optionalChain([s, 'access', _935 => _935.data, 'optionalAccess', _936 => _936.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
36069
+ (s) => s.type === "approval_request" && _optionalChain([s, 'access', _938 => _938.data, 'optionalAccess', _939 => _939.requestId]) === decision.proposalId ? { ...s, status: decision.action } : s
36104
36070
  );
36105
36071
  const next = [...prev];
36106
36072
  next[i] = { ...m, content: flipped };
@@ -36262,8 +36228,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
36262
36228
  })),
36263
36229
  { role: "user", content: message2 }
36264
36230
  ];
36265
- const targetPath = _optionalChain([extra, 'optionalAccess', _937 => _937.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
36266
- const requestBody = _optionalChain([extra, 'optionalAccess', _938 => _938.approvalAction]) ? {
36231
+ const targetPath = _optionalChain([extra, 'optionalAccess', _940 => _940.approvalAction]) ? endpoints.approvalToolUrl : endpoints.chatStreamUrl;
36232
+ const requestBody = _optionalChain([extra, 'optionalAccess', _941 => _941.approvalAction]) ? {
36267
36233
  proposal_id: extra.approvalAction.proposalId,
36268
36234
  action: extra.approvalAction.action,
36269
36235
  messages: currentMessages.filter((m) => (m.role === "user" || m.role === "assistant") && !m.hidden).map((m) => ({
@@ -36272,8 +36238,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
36272
36238
  }))
36273
36239
  } : {
36274
36240
  messages: apiMessages,
36275
- ..._optionalChain([extra, 'optionalAccess', _939 => _939.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
36276
- ..._optionalChain([extra, 'optionalAccess', _940 => _940.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
36241
+ ..._optionalChain([extra, 'optionalAccess', _942 => _942.commandOverride]) ? { commandOverride: extra.commandOverride } : {},
36242
+ ..._optionalChain([extra, 'optionalAccess', _943 => _943.pendingAttachments]) && extra.pendingAttachments.length > 0 ? { pendingAttachments: extra.pendingAttachments } : {}
36277
36243
  };
36278
36244
  const response = await embedAuthedFetch(targetPath, {
36279
36245
  method: "POST",
@@ -36283,7 +36249,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
36283
36249
  if (!response.ok) {
36284
36250
  throw new Error(`Chat request failed: ${response.status}`);
36285
36251
  }
36286
- const reader = _optionalChain([response, 'access', _941 => _941.body, 'optionalAccess', _942 => _942.getReader, 'call', _943 => _943()]);
36252
+ const reader = _optionalChain([response, 'access', _944 => _944.body, 'optionalAccess', _945 => _945.getReader, 'call', _946 => _946()]);
36287
36253
  if (!reader) throw new Error("No response body");
36288
36254
  const decoder = new TextDecoder();
36289
36255
  let buffer = "";
@@ -36366,7 +36332,7 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
36366
36332
  const toolName = typeof meta.tool_name === "string" ? meta.tool_name : void 0;
36367
36333
  const result = _nullishCoalesce(meta.result, () => ( null));
36368
36334
  const card = _nullishCoalesce(meta.card, () => ( null));
36369
- if (_optionalChain([card, 'optionalAccess', _944 => _944.ref, 'optionalAccess', _945 => _945.id]) && _optionalChain([card, 'optionalAccess', _946 => _946.type])) {
36335
+ if (_optionalChain([card, 'optionalAccess', _947 => _947.ref, 'optionalAccess', _948 => _948.id]) && _optionalChain([card, 'optionalAccess', _949 => _949.type])) {
36370
36336
  const existing = _nullishCoalesce(refsMapRef.current.get(sendIdx), () => ( {}));
36371
36337
  const key = buildChatRefKey(card.type, card.ref.id);
36372
36338
  refsMapRef.current.set(sendIdx, { ...existing, [key]: card.ref });
@@ -36379,8 +36345,8 @@ function createDocStreamFn(source, endpoints, messagesRef, sourcesMapRef, refsMa
36379
36345
  willAutoContinue: meta.willAutoContinue === true,
36380
36346
  ...toolName ? { toolName } : {},
36381
36347
  ...result ? { result } : {},
36382
- ..._optionalChain([card, 'optionalAccess', _947 => _947.marker]) ? { marker: card.marker } : {},
36383
- ..._optionalChain([card, 'optionalAccess', _948 => _948.ref]) ? { cardRef: card.ref } : {},
36348
+ ..._optionalChain([card, 'optionalAccess', _950 => _950.marker]) ? { marker: card.marker } : {},
36349
+ ..._optionalChain([card, 'optionalAccess', _951 => _951.ref]) ? { cardRef: card.ref } : {},
36384
36350
  ...typeof meta.receiptText === "string" ? { receiptText: meta.receiptText } : {},
36385
36351
  proposalId: typeof meta.proposalId === "string" ? meta.proposalId : void 0
36386
36352
  };
@@ -36499,7 +36465,7 @@ var DEFAULT_CHAT_SOURCE = "embed";
36499
36465
  var chatStorageKey = (source) => {
36500
36466
  const base = `mingo-chat-${source}-v${CHAT_STORAGE_VERSION}`;
36501
36467
  const auth = getEmbedProxyAuth();
36502
- if (_optionalChain([auth, 'optionalAccess', _949 => _949.email])) {
36468
+ if (_optionalChain([auth, 'optionalAccess', _952 => _952.email])) {
36503
36469
  return `${base}-u-${encodeURIComponent(auth.email.toLowerCase())}`;
36504
36470
  }
36505
36471
  return base;
@@ -36554,7 +36520,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
36554
36520
  const { active = true } = runtimeOptions;
36555
36521
  const runtime = _chunkMEAR2WHScjs.useRequiredChatRuntime.call(void 0, );
36556
36522
  const source = runtime.source || DEFAULT_CHAT_SOURCE;
36557
- const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _950 => _950.tableIdForDocumentType]), () => ( _chunk7NJUPRN6cjs.defaultTableIdForDocumentType));
36523
+ const tableIdForDocumentType = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _953 => _953.tableIdForDocumentType]), () => ( _chunk7NJUPRN6cjs.defaultTableIdForDocumentType));
36558
36524
  const persistedRef = _react.useRef.call(void 0, null);
36559
36525
  if (persistedRef.current === null) {
36560
36526
  pruneStaleChatStorage(source);
@@ -36659,7 +36625,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
36659
36625
  const lookupIdx = sendIdx >= 0 ? sendIdx : 0;
36660
36626
  sources = sourcesMapRef.current.get(lookupIdx);
36661
36627
  chatRefs = _nullishCoalesce(m.chatRefs, () => ( refsMapRef.current.get(lookupIdx)));
36662
- scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _951 => _951.current, 'access', _952 => _952.get, 'call', _953 => _953(lookupIdx), 'optionalAccess', _954 => _954.scrollAnchor]), () => ( void 0));
36628
+ scrollAnchor = _nullishCoalesce(_optionalChain([metaMapRef, 'access', _954 => _954.current, 'access', _955 => _955.get, 'call', _956 => _956(lookupIdx), 'optionalAccess', _957 => _957.scrollAnchor]), () => ( void 0));
36663
36629
  }
36664
36630
  return {
36665
36631
  id: m.id,
@@ -36707,7 +36673,7 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
36707
36673
  );
36708
36674
  return;
36709
36675
  }
36710
- const refSlug = typeof _optionalChain([reference, 'access', _955 => _955.metadata, 'optionalAccess', _956 => _956.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
36676
+ const refSlug = typeof _optionalChain([reference, 'access', _958 => _958.metadata, 'optionalAccess', _959 => _959.slug]) === "string" && reference.metadata.slug.length > 0 ? reference.metadata.slug : "";
36711
36677
  const queryValue = refSlug || sanitizeTitleForChat(reference.title) || reference.id;
36712
36678
  const escaped = queryValue.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
36713
36679
  const text = `/${cmdId} display "${escaped}"`;
@@ -36779,18 +36745,18 @@ function useSseChatAdapter(options, runtimeOptions = {}) {
36779
36745
  clearMessages,
36780
36746
  streamingPhase,
36781
36747
  /** Provider key for the lib's `<ModelDisplay>` icon. */
36782
- currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _957 => _957.provider]), () => ( null)),
36783
- currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _958 => _958.modelLabel]), () => ( null)),
36784
- currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _959 => _959.contextWindowMaxTokens]), () => ( null)),
36748
+ currentProvider: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _960 => _960.provider]), () => ( null)),
36749
+ currentModelLabel: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _961 => _961.modelLabel]), () => ( null)),
36750
+ currentContextWindowMaxTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _962 => _962.contextWindowMaxTokens]), () => ( null)),
36785
36751
  /** Input tokens (known after server's message_start frame; null until). */
36786
- currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _960 => _960.inputTokens]), () => ( null)),
36752
+ currentInputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _963 => _963.inputTokens]), () => ( null)),
36787
36753
  /** Output tokens (known only after server's trailing usage frame). */
36788
- currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _961 => _961.outputTokens]), () => ( null)),
36754
+ currentOutputTokens: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _964 => _964.outputTokens]), () => ( null)),
36789
36755
  /** Cache hit % (read / total-input × 100). null during streaming. */
36790
- currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _962 => _962.cacheHitRatePct]), () => ( null)),
36756
+ currentCacheHitRatePct: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _965 => _965.cacheHitRatePct]), () => ( null)),
36791
36757
  /** Cross-call usage breakdown (Haiku rewriter/classifier/summarizer
36792
36758
  * token counts). null until the trailing usage frame lands. */
36793
- currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _963 => _963.breakdown]), () => ( null)),
36759
+ currentUsageBreakdown: _nullishCoalesce(_optionalChain([latestMeta, 'optionalAccess', _966 => _966.breakdown]), () => ( null)),
36794
36760
  // ─── Dialog management — stubs for v1 ────────────────────────────────
36795
36761
  // Guide mode currently keeps its history in `localStorage` opaquely
36796
36762
  // under the hood (`runtime.source` namespaced key). Surfacing that
@@ -36848,15 +36814,15 @@ var noopRejectRequest = async (_id, _reason) => {
36848
36814
 
36849
36815
  // src/components/chat/utils/process-historical-messages.ts
36850
36816
  function getOwnerDisplayName(owner) {
36851
- if (_optionalChain([owner, 'optionalAccess', _964 => _964.type]) === OWNER_TYPE.ADMIN && owner.user) {
36817
+ if (_optionalChain([owner, 'optionalAccess', _967 => _967.type]) === OWNER_TYPE.ADMIN && owner.user) {
36852
36818
  const { firstName, lastName } = owner.user;
36853
36819
  const name = [firstName, lastName].filter(Boolean).join(" ");
36854
36820
  if (name) return name;
36855
36821
  }
36856
- return _optionalChain([owner, 'optionalAccess', _965 => _965.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
36822
+ return _optionalChain([owner, 'optionalAccess', _968 => _968.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
36857
36823
  }
36858
36824
  function getOwnerAvatar(owner) {
36859
- return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _966 => _966.user, 'optionalAccess', _967 => _967.image, 'optionalAccess', _968 => _968.imageUrl]), () => ( void 0));
36825
+ return _nullishCoalesce(_optionalChain([owner, 'optionalAccess', _969 => _969.user, 'optionalAccess', _970 => _970.image, 'optionalAccess', _971 => _971.imageUrl]), () => ( void 0));
36860
36826
  }
36861
36827
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
36862
36828
  messageDataArray.forEach((data) => {
@@ -36919,10 +36885,10 @@ function processHistoricalMessages(messages, options = {}) {
36919
36885
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
36920
36886
  return;
36921
36887
  }
36922
- const isUserMessage = _optionalChain([msg, 'access', _969 => _969.owner, 'optionalAccess', _970 => _970.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _971 => _971.owner, 'optionalAccess', _972 => _972.type]) === OWNER_TYPE.ADMIN;
36888
+ const isUserMessage = _optionalChain([msg, 'access', _972 => _972.owner, 'optionalAccess', _973 => _973.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _974 => _974.owner, 'optionalAccess', _975 => _975.type]) === OWNER_TYPE.ADMIN;
36923
36889
  if (isUserMessage) {
36924
36890
  flushAssistantMessage();
36925
- const userAuthorType = _optionalChain([msg, 'access', _973 => _973.owner, 'optionalAccess', _974 => _974.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
36891
+ const userAuthorType = _optionalChain([msg, 'access', _976 => _976.owner, 'optionalAccess', _977 => _977.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
36926
36892
  messageDataArray.forEach((data) => {
36927
36893
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
36928
36894
  processedMessages.push({
@@ -36947,7 +36913,7 @@ function processHistoricalMessages(messages, options = {}) {
36947
36913
  });
36948
36914
  const nextMsg = messages[index + 1];
36949
36915
  const isLastMessage = index === messages.length - 1;
36950
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _975 => _975.owner, 'optionalAccess', _976 => _976.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _977 => _977.owner, 'optionalAccess', _978 => _978.type]) === OWNER_TYPE.ADMIN);
36916
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _978 => _978.owner, 'optionalAccess', _979 => _979.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _980 => _980.owner, 'optionalAccess', _981 => _981.type]) === OWNER_TYPE.ADMIN);
36951
36917
  if (isLastMessage || nextIsFromUser) {
36952
36918
  flushAssistantMessage();
36953
36919
  }
@@ -37057,7 +37023,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
37057
37023
  }
37058
37024
  }
37059
37025
  } else {
37060
- _optionalChain([escalatedApprovals, 'optionalAccess', _979 => _979.set, 'call', _980 => _980(data.approvalRequestId, {
37026
+ _optionalChain([escalatedApprovals, 'optionalAccess', _982 => _982.set, 'call', _983 => _983(data.approvalRequestId, {
37061
37027
  command: data.command || "",
37062
37028
  explanation: data.explanation,
37063
37029
  approvalType,
@@ -37070,8 +37036,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
37070
37036
  if ("approvalRequestId" in data && data.approvalRequestId) {
37071
37037
  const existingStatus = approvalStatuses[data.approvalRequestId];
37072
37038
  const status = existingStatus || (data.approved ? "approved" : "rejected");
37073
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _981 => _981.get, 'call', _982 => _982(data.approvalRequestId)]);
37074
- if (_optionalChain([escalatedData, 'optionalAccess', _983 => _983.toolCalls]) && escalatedData.toolCalls.length > 0) {
37039
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _984 => _984.get, 'call', _985 => _985(data.approvalRequestId)]);
37040
+ if (_optionalChain([escalatedData, 'optionalAccess', _986 => _986.toolCalls]) && escalatedData.toolCalls.length > 0) {
37075
37041
  if (batchApprovalsEnabled) {
37076
37042
  accumulator.addApprovalBatch(
37077
37043
  data.approvalRequestId,
@@ -37091,7 +37057,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
37091
37057
  );
37092
37058
  }
37093
37059
  }
37094
- _optionalChain([escalatedApprovals, 'optionalAccess', _984 => _984.delete, 'call', _985 => _985(data.approvalRequestId)]);
37060
+ _optionalChain([escalatedApprovals, 'optionalAccess', _987 => _987.delete, 'call', _988 => _988(data.approvalRequestId)]);
37095
37061
  break;
37096
37062
  }
37097
37063
  if (escalatedData) {
@@ -37100,7 +37066,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
37100
37066
  explanation: escalatedData.explanation,
37101
37067
  approvalType: escalatedData.approvalType
37102
37068
  });
37103
- _optionalChain([escalatedApprovals, 'optionalAccess', _986 => _986.delete, 'call', _987 => _987(data.approvalRequestId)]);
37069
+ _optionalChain([escalatedApprovals, 'optionalAccess', _989 => _989.delete, 'call', _990 => _990(data.approvalRequestId)]);
37104
37070
  }
37105
37071
  const before = accumulator.getSegments();
37106
37072
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status);
@@ -37116,9 +37082,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
37116
37082
  case MESSAGE_TYPE.ERROR:
37117
37083
  if ("error" in data) {
37118
37084
  let message2;
37119
- if ("details" in data && _optionalChain([data, 'optionalAccess', _988 => _988.details])) {
37085
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _991 => _991.details])) {
37120
37086
  try {
37121
- message2 = _optionalChain([JSON, 'access', _989 => _989.parse, 'call', _990 => _990(data.details), 'optionalAccess', _991 => _991.error, 'optionalAccess', _992 => _992.message]);
37087
+ message2 = _optionalChain([JSON, 'access', _992 => _992.parse, 'call', _993 => _993(data.details), 'optionalAccess', _994 => _994.error, 'optionalAccess', _995 => _995.message]);
37122
37088
  } catch (e44) {
37123
37089
  message2 = data.details;
37124
37090
  }
@@ -37201,10 +37167,10 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
37201
37167
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
37202
37168
  return;
37203
37169
  }
37204
- const isUserMessage = _optionalChain([msg, 'access', _993 => _993.owner, 'optionalAccess', _994 => _994.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _995 => _995.owner, 'optionalAccess', _996 => _996.type]) === OWNER_TYPE.ADMIN;
37170
+ const isUserMessage = _optionalChain([msg, 'access', _996 => _996.owner, 'optionalAccess', _997 => _997.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _998 => _998.owner, 'optionalAccess', _999 => _999.type]) === OWNER_TYPE.ADMIN;
37205
37171
  if (isUserMessage) {
37206
37172
  flushAssistantMessage();
37207
- const userAuthorType = _optionalChain([msg, 'access', _997 => _997.owner, 'optionalAccess', _998 => _998.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
37173
+ const userAuthorType = _optionalChain([msg, 'access', _1000 => _1000.owner, 'optionalAccess', _1001 => _1001.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
37208
37174
  messageDataArray.forEach((data) => {
37209
37175
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
37210
37176
  processedMessages.push({
@@ -37229,7 +37195,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
37229
37195
  });
37230
37196
  const nextMsg = messages[index + 1];
37231
37197
  const isLastMessage = index === messages.length - 1;
37232
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _999 => _999.owner, 'optionalAccess', _1000 => _1000.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1001 => _1001.owner, 'optionalAccess', _1002 => _1002.type]) === OWNER_TYPE.ADMIN);
37198
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _1002 => _1002.owner, 'optionalAccess', _1003 => _1003.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _1004 => _1004.owner, 'optionalAccess', _1005 => _1005.type]) === OWNER_TYPE.ADMIN);
37233
37199
  if (isLastMessage || nextIsFromUser) {
37234
37200
  flushAssistantMessage();
37235
37201
  }
@@ -37567,7 +37533,7 @@ function useNatsChatAdapter(config, options = {}) {
37567
37533
  }, [active, fetchDialogs, loadDialogsPage]);
37568
37534
  const sendMessage = _react.useCallback.call(void 0,
37569
37535
  async (text, sendOptions) => {
37570
- const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1003 => _1003.hidden]), () => ( false));
37536
+ const hidden = _nullishCoalesce(_optionalChain([sendOptions, 'optionalAccess', _1006 => _1006.hidden]), () => ( false));
37571
37537
  setMessages((prev) => [
37572
37538
  ...prev,
37573
37539
  {
@@ -37731,11 +37697,11 @@ function useNatsChatAdapter(config, options = {}) {
37731
37697
  // Tokens: live `token_usage` frame / dialog snapshot (`dialogTokenUsage`).
37732
37698
  // contextWindow uses the dialog's `contextSize` (the "X / Y" denominator,
37733
37699
  // matching the /mingo page). cacheHitRate/breakdown are SSE-only → null.
37734
- currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1004 => _1004.provider]), () => ( modelProvider)), () => ( null)),
37735
- currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1005 => _1005.modelLabel]), () => ( modelLabel)), () => ( null)),
37736
- currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1006 => _1006.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1007 => _1007.contextWindowMaxTokens]))), () => ( null)),
37737
- currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1008 => _1008.inputTokensSize]), () => ( null)),
37738
- currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1009 => _1009.outputTokensSize]), () => ( null)),
37700
+ currentProvider: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1007 => _1007.provider]), () => ( modelProvider)), () => ( null)),
37701
+ currentModelLabel: _nullishCoalesce(_nullishCoalesce(_optionalChain([liveModel, 'optionalAccess', _1008 => _1008.modelLabel]), () => ( modelLabel)), () => ( null)),
37702
+ currentContextWindowMaxTokens: _nullishCoalesce(_nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1009 => _1009.contextSize]), () => ( _optionalChain([liveModel, 'optionalAccess', _1010 => _1010.contextWindowMaxTokens]))), () => ( null)),
37703
+ currentInputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1011 => _1011.inputTokensSize]), () => ( null)),
37704
+ currentOutputTokens: _nullishCoalesce(_optionalChain([dialogTokenUsage, 'optionalAccess', _1012 => _1012.outputTokensSize]), () => ( null)),
37739
37705
  currentCacheHitRatePct: null,
37740
37706
  currentUsageBreakdown: null,
37741
37707
  // Dialog management
@@ -37983,7 +37949,7 @@ function extractIncompleteMessageState(lastMessage) {
37983
37949
  break;
37984
37950
  case "approval_batch": {
37985
37951
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
37986
- (c) => _optionalChain([segment, 'access', _1010 => _1010.data, 'access', _1011 => _1011.executions, 'optionalAccess', _1012 => _1012[c.toolExecutionRequestId], 'optionalAccess', _1013 => _1013.status]) === "done"
37952
+ (c) => _optionalChain([segment, 'access', _1013 => _1013.data, 'access', _1014 => _1014.executions, 'optionalAccess', _1015 => _1015[c.toolExecutionRequestId], 'optionalAccess', _1016 => _1016.status]) === "done"
37987
37953
  );
37988
37954
  if (segment.status !== "rejected" && !allDone) {
37989
37955
  hasIncompleteState = true;
@@ -38042,20 +38008,20 @@ function mergeHistoryWithRealtime(input) {
38042
38008
  const seqCoverageKnown = realtimeSeenStreamSeq > 0 && historyMaxStreamSeq > 0;
38043
38009
  const historyCoversRealtime = seqCoverageKnown ? historyMaxStreamSeq >= realtimeSeenStreamSeq : null;
38044
38010
  const trailing = processedHistory[processedHistory.length - 1];
38045
- const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1014 => _1014.role]) === "assistant" ? trailing : null;
38046
- const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1015 => _1015.content, 'access', _1016 => _1016.find, 'call', _1017 => _1017((s) => s.type === "approval_batch"), 'optionalAccess', _1018 => _1018.data, 'optionalAccess', _1019 => _1019.approvalRequestId]), () => ( null)) : null;
38011
+ const historyTrailingAssistant = _optionalChain([trailing, 'optionalAccess', _1017 => _1017.role]) === "assistant" ? trailing : null;
38012
+ const historyBatchId = historyTrailingAssistant && Array.isArray(historyTrailingAssistant.content) ? _nullishCoalesce(_optionalChain([historyTrailingAssistant, 'access', _1018 => _1018.content, 'access', _1019 => _1019.find, 'call', _1020 => _1020((s) => s.type === "approval_batch"), 'optionalAccess', _1021 => _1021.data, 'optionalAccess', _1022 => _1022.approvalRequestId]), () => ( null)) : null;
38047
38013
  let processedToUse = processedHistory;
38048
38014
  const pinnedSyntheticIds = /* @__PURE__ */ new Set();
38049
38015
  const droppedSyntheticIds = /* @__PURE__ */ new Set();
38050
38016
  if (historyBatchId) {
38051
38017
  const batchTwins = existingMessages.filter(
38052
38018
  (m) => m.role === "assistant" && Array.isArray(m.content) && m.content.some(
38053
- (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1020 => _1020.data, 'optionalAccess', _1021 => _1021.approvalRequestId]) === historyBatchId
38019
+ (s) => s.type === "approval_batch" && _optionalChain([s, 'access', _1023 => _1023.data, 'optionalAccess', _1024 => _1024.approvalRequestId]) === historyBatchId
38054
38020
  )
38055
38021
  );
38056
38022
  const existingWithSameBatch = _nullishCoalesce(batchTwins.find((m) => m.id === streamingMessageId), () => ( batchTwins[batchTwins.length - 1]));
38057
38023
  if (existingWithSameBatch && Array.isArray(existingWithSameBatch.content)) {
38058
- const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1022 => _1022.content])) ? historyTrailingAssistant.content.length : 0;
38024
+ const histSize = Array.isArray(_optionalChain([historyTrailingAssistant, 'optionalAccess', _1025 => _1025.content])) ? historyTrailingAssistant.content.length : 0;
38059
38025
  const realtimeSize = existingWithSameBatch.content.length;
38060
38026
  if (existingWithSameBatch.id === streamingMessageId || realtimeSize > histSize) {
38061
38027
  processedToUse = processedHistory.slice(0, -1);
@@ -38069,13 +38035,13 @@ function mergeHistoryWithRealtime(input) {
38069
38035
  if (pinnedSyntheticIds.has(m.id)) return true;
38070
38036
  if (droppedSyntheticIds.has(m.id)) return false;
38071
38037
  if (processedIds.has(m.id)) return false;
38072
- if (_optionalChain([rawHistoryIds, 'optionalAccess', _1023 => _1023.has, 'call', _1024 => _1024(m.id)])) return false;
38038
+ if (_optionalChain([rawHistoryIds, 'optionalAccess', _1026 => _1026.has, 'call', _1027 => _1027(m.id)])) return false;
38073
38039
  if (m.role === "user" && m.id.startsWith("optimistic-") && typeof m.content === "string") {
38074
- const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1025 => _1025.timestamp, 'optionalAccess', _1026 => _1026.getTime, 'call', _1027 => _1027()]), () => ( 0))) <= historyFetchedAt;
38040
+ const canBeInSnapshot = (_nullishCoalesce(_optionalChain([m, 'access', _1028 => _1028.timestamp, 'optionalAccess', _1029 => _1029.getTime, 'call', _1030 => _1030()]), () => ( 0))) <= historyFetchedAt;
38075
38041
  return !(canBeInSnapshot && processedToUse.some((pm) => pm.role === "user" && pm.content === m.content));
38076
38042
  }
38077
38043
  if (isSyntheticRealtimeId(m.id) && m.id !== streamingMessageId) {
38078
- const covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1028 => _1028.timestamp, 'optionalAccess', _1029 => _1029.getTime, 'call', _1030 => _1030()]), () => ( 0))) <= historyFetchedAt;
38044
+ const covered = historyCoversRealtime !== null ? historyCoversRealtime : (_nullishCoalesce(_optionalChain([m, 'access', _1031 => _1031.timestamp, 'optionalAccess', _1032 => _1032.getTime, 'call', _1033 => _1033()]), () => ( 0))) <= historyFetchedAt;
38079
38045
  if (covered) return false;
38080
38046
  }
38081
38047
  return true;
@@ -38295,7 +38261,7 @@ function useChatDialogManager({
38295
38261
  const handleConfirmRestore = _react.useCallback.call(void 0, async () => {
38296
38262
  if (restoreTarget) {
38297
38263
  try {
38298
- await _optionalChain([unarchiveDialog, 'optionalCall', _1031 => _1031(restoreTarget.id)]);
38264
+ await _optionalChain([unarchiveDialog, 'optionalCall', _1034 => _1034(restoreTarget.id)]);
38299
38265
  } catch (err) {
38300
38266
  console.error("[useChatDialogManager] unarchive failed:", err);
38301
38267
  return;
@@ -38694,7 +38660,7 @@ function EmbeddableChatInner({
38694
38660
  }),
38695
38661
  [commandsUrl]
38696
38662
  );
38697
- const userName = _optionalChain([identityUser, 'optionalAccess', _1032 => _1032.firstName, 'optionalAccess', _1033 => _1033.trim, 'call', _1034 => _1034()]) || _optionalChain([identityUser, 'optionalAccess', _1035 => _1035.name, 'optionalAccess', _1036 => _1036.split, 'call', _1037 => _1037(" "), 'access', _1038 => _1038[0], 'optionalAccess', _1039 => _1039.trim, 'call', _1040 => _1040()]) || void 0;
38663
+ const userName = _optionalChain([identityUser, 'optionalAccess', _1035 => _1035.firstName, 'optionalAccess', _1036 => _1036.trim, 'call', _1037 => _1037()]) || _optionalChain([identityUser, 'optionalAccess', _1038 => _1038.name, 'optionalAccess', _1039 => _1039.split, 'call', _1040 => _1040(" "), 'access', _1041 => _1041[0], 'optionalAccess', _1042 => _1042.trim, 'call', _1043 => _1043()]) || void 0;
38698
38664
  const effectiveModes = _react.useMemo.call(void 0, () => {
38699
38665
  if (modes) return modes;
38700
38666
  const guideOptions = tableIdForDocumentType ? { tableIdForDocumentType } : {};
@@ -38703,17 +38669,17 @@ function EmbeddableChatInner({
38703
38669
  const mingoCaps = _react.useMemo.call(void 0, () => {
38704
38670
  if (mingoState) {
38705
38671
  return {
38706
- canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1041 => _1041.canRename]), () => ( false)),
38707
- canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1042 => _1042.canArchive]), () => ( false)),
38708
- fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1043 => _1043.fetchArchivedDialogs]),
38709
- unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1044 => _1044.unarchiveDialog])
38672
+ canRename: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1044 => _1044.canRename]), () => ( false)),
38673
+ canArchive: _nullishCoalesce(_optionalChain([mingoDialogCapabilities, 'optionalAccess', _1045 => _1045.canArchive]), () => ( false)),
38674
+ fetchArchivedDialogs: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1046 => _1046.fetchArchivedDialogs]),
38675
+ unarchiveDialog: _optionalChain([mingoDialogCapabilities, 'optionalAccess', _1047 => _1047.unarchiveDialog])
38710
38676
  };
38711
38677
  }
38712
38678
  return {
38713
- canRename: !!_optionalChain([effectiveModes, 'access', _1045 => _1045.mingo, 'optionalAccess', _1046 => _1046.renameDialog]),
38714
- canArchive: !!_optionalChain([effectiveModes, 'access', _1047 => _1047.mingo, 'optionalAccess', _1048 => _1048.archiveDialog]),
38715
- fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1049 => _1049.mingo, 'optionalAccess', _1050 => _1050.fetchArchivedDialogs]),
38716
- unarchiveDialog: _optionalChain([effectiveModes, 'access', _1051 => _1051.mingo, 'optionalAccess', _1052 => _1052.unarchiveDialog])
38679
+ canRename: !!_optionalChain([effectiveModes, 'access', _1048 => _1048.mingo, 'optionalAccess', _1049 => _1049.renameDialog]),
38680
+ canArchive: !!_optionalChain([effectiveModes, 'access', _1050 => _1050.mingo, 'optionalAccess', _1051 => _1051.archiveDialog]),
38681
+ fetchArchivedDialogs: _optionalChain([effectiveModes, 'access', _1052 => _1052.mingo, 'optionalAccess', _1053 => _1053.fetchArchivedDialogs]),
38682
+ unarchiveDialog: _optionalChain([effectiveModes, 'access', _1054 => _1054.mingo, 'optionalAccess', _1055 => _1055.unarchiveDialog])
38717
38683
  };
38718
38684
  }, [mingoState, mingoDialogCapabilities, effectiveModes]);
38719
38685
  const hasMingoMode = !!effectiveModes.mingo || !!mingoState;
@@ -38725,7 +38691,7 @@ function EmbeddableChatInner({
38725
38691
  if (controlledActiveMode === void 0) {
38726
38692
  setUncontrolledActiveMode(next);
38727
38693
  }
38728
- _optionalChain([onActiveModeChange, 'optionalCall', _1053 => _1053(next)]);
38694
+ _optionalChain([onActiveModeChange, 'optionalCall', _1056 => _1056(next)]);
38729
38695
  },
38730
38696
  [controlledActiveMode, onActiveModeChange]
38731
38697
  );
@@ -38932,9 +38898,9 @@ function EmbeddableChatInner({
38932
38898
  const lastAssistantMsg = [...rawMessages].reverse().find((m) => m.role === "assistant");
38933
38899
  const lastSources = _react.useMemo.call(void 0, () => {
38934
38900
  if (chatLoading) return void 0;
38935
- const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1054 => _1054.sources]);
38901
+ const sources = _optionalChain([lastAssistantMsg, 'optionalAccess', _1057 => _1057.sources]);
38936
38902
  if (!sources || sources.length === 0) return void 0;
38937
- const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1055 => _1055.content]) || "";
38903
+ const content = _optionalChain([lastAssistantMsg, 'optionalAccess', _1058 => _1058.content]) || "";
38938
38904
  const citationOrder = [...content.matchAll(/\[(\d+)\]/g)].map(
38939
38905
  (m) => parseInt(m[1], 10)
38940
38906
  );
@@ -38981,7 +38947,7 @@ function EmbeddableChatInner({
38981
38947
  ChatPanelHeader,
38982
38948
  {
38983
38949
  showBack: hasConversation || guideCanReturnToMingo,
38984
- title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1056 => _1056.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
38950
+ title: hasConversation ? _optionalChain([activeDialog, 'optionalAccess', _1059 => _1059.title]) || "New Chat" : isGuideEmpty ? "Mingo Guide" : "Current Chats",
38985
38951
  backAriaLabel: hasConversation ? isViewingArchived ? "Back to archive" : "Back" : "Back to Mingo",
38986
38952
  isArchivedView: isViewingArchived,
38987
38953
  onBack: hasConversation ? handleBack : () => handleActiveModeChange("mingo"),
@@ -39086,10 +39052,10 @@ function EmbeddableChatInner({
39086
39052
  subtitle: _nullishCoalesce(emptyStateGreeting, () => ( void 0)),
39087
39053
  ...guideWelcome,
39088
39054
  onQuickAction: (action) => {
39089
- _optionalChain([chatInputRef, 'access', _1057 => _1057.current, 'optionalAccess', _1058 => _1058.setValue, 'call', _1059 => _1059(
39055
+ _optionalChain([chatInputRef, 'access', _1060 => _1060.current, 'optionalAccess', _1061 => _1061.setValue, 'call', _1062 => _1062(
39090
39056
  _nullishCoalesce(action.prompt, () => ( action.label))
39091
39057
  )]);
39092
- _optionalChain([chatInputRef, 'access', _1060 => _1060.current, 'optionalAccess', _1061 => _1061.focus, 'call', _1062 => _1062()]);
39058
+ _optionalChain([chatInputRef, 'access', _1063 => _1063.current, 'optionalAccess', _1064 => _1064.focus, 'call', _1065 => _1065()]);
39093
39059
  },
39094
39060
  children: (chipCommands.length > 0 || !commandsLoaded) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "shrink-0 overflow-hidden rounded-md border border-ods-border", children: [
39095
39061
  !commandsLoaded && chipCommands.length === 0 && SKELETON_ROW_VARIANTS.map((variant, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -39919,6 +39885,5 @@ function EmbeddableChatInner({
39919
39885
 
39920
39886
 
39921
39887
 
39922
-
39923
- exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.Autocomplete = Autocomplete; 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.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.noDataActionInteractiveClasses = noDataActionInteractiveClasses; 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.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.ReleaseChangelogSection = ReleaseChangelogSection; 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.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.ColorSwatch = ColorSwatch; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.HEX_PATTERN = HEX_PATTERN; 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.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.BlockCard = BlockCard; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.FlamingoLogo = FlamingoLogo; exports.OpenmspLogo = OpenmspLogo; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; 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.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.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.getAppType = getAppType; exports.getEmbedProxyAuth = getEmbedProxyAuth; exports.getPersistedProxyEmail = getPersistedProxyEmail; exports.setEmbedProxyAuth = setEmbedProxyAuth; exports.clearEmbedProxyAuth = clearEmbedProxyAuth; exports.applyProxyAuth = applyProxyAuth; exports.setEmbedAuthAdapter = setEmbedAuthAdapter; exports.embedAuthedFetch = embedAuthedFetch; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; 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.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.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; 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.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.hexToRgb = hexToRgb2; 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.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon; 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.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.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.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.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.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; 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.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.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderButton = HeaderButton; 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.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;
39924
- //# sourceMappingURL=chunk-Q32JUFIK.cjs.map
39888
+ exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.Autocomplete = Autocomplete; 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.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.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.ReleaseChangelogSection = ReleaseChangelogSection; 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.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.ColorSwatch = ColorSwatch; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.HEX_PATTERN = HEX_PATTERN; 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.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.BlockCard = BlockCard; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageSkeleton = ChatMessageSkeleton; exports.ChatMessageListSkeleton = ChatMessageListSkeleton; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.useProxiedImageUrl = useProxiedImageUrl; exports.ChatMessageRow = ChatMessageRow; exports.ChatMessageRowSkeleton = ChatMessageRowSkeleton; exports.ChatQuickAction = ChatQuickAction; exports.ChatQuickActionRow = ChatQuickActionRow; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.MingoOnboardingCardSkeleton = MingoOnboardingCardSkeleton; exports.MingoOnboardingListSkeleton = MingoOnboardingListSkeleton; exports.MingoChatHistorySkeleton = MingoChatHistorySkeleton; exports.MingoChatHistory = MingoChatHistory; exports.MingoWelcome = MingoWelcome; exports.GuideWelcome = GuideWelcome; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.GuideModeBanner = GuideModeBanner; exports.RenameChatModal = RenameChatModal; exports.ArchiveChatModal = ArchiveChatModal; exports.UnarchiveChatModal = UnarchiveChatModal; exports.ChatDialogModals = ChatDialogModals; exports.ChatHeaderIconButton = ChatHeaderIconButton; exports.COMPACT_HEADER_BUTTON = COMPACT_HEADER_BUTTON; exports.ChatPanelHeader = ChatPanelHeader; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX = CHAT_ATTACHMENT_VIEW_URL_PREFIX; exports.CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM = CHAT_ATTACHMENT_VIEW_TOKEN_QUERY_PARAM; exports.ANTHROPIC_SUPPORTED_IMAGE_MIME = ANTHROPIC_SUPPORTED_IMAGE_MIME; exports.buildChatAttachmentViewUrl = buildChatAttachmentViewUrl; exports.escapeMarkdownInline = escapeMarkdownInline; exports.formatChatAttachmentMarkdownForBubble = formatChatAttachmentMarkdownForBubble; exports.CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED = CHAT_ATTACHMENT_VIEW_URL_PREFIX_REGEX_ESCAPED; exports.CHAT_ATTACHMENT_MARKDOWN_PATTERN = CHAT_ATTACHMENT_MARKDOWN_PATTERN; exports.stripChatAttachmentMarkdown = stripChatAttachmentMarkdown; exports.CHAT_ATTACHMENT_MIME_TYPES = CHAT_ATTACHMENT_MIME_TYPES; exports.CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER = CHAT_ATTACHMENT_CONCURRENT_UPLOADS_PER_USER; exports.ChatAttachmentAddButton = ChatAttachmentAddButton; exports.ChatAttachmentChipStrip = ChatAttachmentChipStrip; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.ChatComposer = ChatComposer; exports.ChatArchivePage = ChatArchivePage; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; exports.executeNavigation = executeNavigation; exports.executeNavigationImperative = executeNavigationImperative; exports.handleChatNavClick = handleChatNavClick; exports.NavLinkAnchorViaRuntime = NavLinkAnchorViaRuntime; exports.SourceActionButton = SourceActionButton; exports.FlamingoLogo = FlamingoLogo; exports.OpenmspLogo = OpenmspLogo; exports.PlatformBadge = PlatformBadge; exports.AdminContentCard = AdminContentCard; exports.getProxiedImageUrl = getProxiedImageUrl2; exports.WhatIShippedCard = WhatIShippedCard; exports.WhatIShippedCardSkeleton = WhatIShippedCardSkeleton; 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.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.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.getAppType = getAppType; exports.getEmbedProxyAuth = getEmbedProxyAuth; exports.getPersistedProxyEmail = getPersistedProxyEmail; exports.setEmbedProxyAuth = setEmbedProxyAuth; exports.clearEmbedProxyAuth = clearEmbedProxyAuth; exports.applyProxyAuth = applyProxyAuth; exports.setEmbedAuthAdapter = setEmbedAuthAdapter; exports.embedAuthedFetch = embedAuthedFetch; exports.extractItems = extractItems; exports.extractItemId = extractItemId; exports.useChatCardItem = useChatCardItem; 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.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.ListPageLayout = ListPageLayout; exports.EntityImage = EntityImage; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; 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.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.hexToRgb = hexToRgb2; 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.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.CircularProgress = CircularProgress; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon; 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.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.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.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.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.BoardColumnHeader = BoardColumnHeader; exports.tintOnDark = tintOnDark; 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.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.Header = Header2; exports.HeaderSkeleton = HeaderSkeleton; exports.ClientOnlyHeader = ClientOnlyHeader; exports.MobileNavPanel = MobileNavPanel; exports.SlidingSidebar = SlidingSidebar; exports.StickySectionNav = StickySectionNav; exports.useSectionNavigation = useSectionNavigation; exports.NavigationSidebar = NavigationSidebar; exports.HeaderButton = HeaderButton; 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.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;
39889
+ //# sourceMappingURL=chunk-4DYXV3E7.cjs.map