@flamingo-stack/openframe-frontend-core 0.0.192 → 0.0.193-snapshot.20260518191824

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.
@@ -5521,6 +5521,28 @@ function CyclingPhrase({
5521
5521
  ] });
5522
5522
  }
5523
5523
 
5524
+ // src/components/chat/types/message.types.ts
5525
+ var MESSAGE_TYPE = {
5526
+ TEXT: "TEXT",
5527
+ THINKING: "THINKING",
5528
+ EXECUTING_TOOL: "EXECUTING_TOOL",
5529
+ EXECUTED_TOOL: "EXECUTED_TOOL",
5530
+ APPROVAL_REQUEST: "APPROVAL_REQUEST",
5531
+ APPROVAL_RESULT: "APPROVAL_RESULT",
5532
+ ERROR: "ERROR",
5533
+ MESSAGE_START: "MESSAGE_START",
5534
+ MESSAGE_END: "MESSAGE_END",
5535
+ MESSAGE_REQUEST: "MESSAGE_REQUEST",
5536
+ AI_METADATA: "AI_METADATA",
5537
+ TOKEN_USAGE: "TOKEN_USAGE",
5538
+ CONTEXT_COMPACTION_START: "CONTEXT_COMPACTION_START",
5539
+ CONTEXT_COMPACTION_END: "CONTEXT_COMPACTION_END",
5540
+ DIRECT_MESSAGE: "DIRECT_MESSAGE",
5541
+ SYSTEM: "SYSTEM",
5542
+ DIALOG_CLOSED: "DIALOG_CLOSED"
5543
+ };
5544
+ var SCROLL_ANCHOR = { TOP: "top", BOTTOM: "bottom" };
5545
+
5524
5546
  // src/components/chat/chat-message-list.tsx
5525
5547
 
5526
5548
  var STREAMING_WORDS = [
@@ -5535,6 +5557,16 @@ var STREAMING_WORDS = [
5535
5557
  "Conjuring",
5536
5558
  "Riffing"
5537
5559
  ];
5560
+ function hasNonEmptyContent(content) {
5561
+ if (typeof content === "string") return content.length > 0;
5562
+ if (!Array.isArray(content)) return false;
5563
+ return content.some((s) => s.type === "text" && s.text.length > 0);
5564
+ }
5565
+ function disposeAnchorWatcher(w) {
5566
+ if (!w) return;
5567
+ w.ro.disconnect();
5568
+ clearTimeout(w.timer);
5569
+ }
5538
5570
  var ChatMessageList = _react.forwardRef.call(void 0,
5539
5571
  ({
5540
5572
  className,
@@ -5555,7 +5587,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
5555
5587
  NavLinkAnchor,
5556
5588
  ...props
5557
5589
  }, ref) => {
5558
- const { scrollRef, contentRef, scrollToBottom } = _usesticktobottom.useStickToBottom.call(void 0, {
5590
+ const { scrollRef, contentRef, scrollToBottom, stopScroll } = _usesticktobottom.useStickToBottom.call(void 0, {
5559
5591
  resize: "smooth",
5560
5592
  initial: false
5561
5593
  });
@@ -5619,6 +5651,68 @@ var ChatMessageList = _react.forwardRef.call(void 0,
5619
5651
  prependRef.current.firstMessageContent = currentFirstContent;
5620
5652
  }
5621
5653
  }, [messages, scrollRef]);
5654
+ const messageElsRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
5655
+ const refCallbacksRef = _react.useRef.call(void 0, /* @__PURE__ */ new Map());
5656
+ const getRegisterMessageEl = (id) => {
5657
+ let cb = refCallbacksRef.current.get(id);
5658
+ if (cb) return cb;
5659
+ cb = (el) => {
5660
+ if (el) {
5661
+ messageElsRef.current.set(id, el);
5662
+ } else {
5663
+ messageElsRef.current.delete(id);
5664
+ refCallbacksRef.current.delete(id);
5665
+ }
5666
+ };
5667
+ refCallbacksRef.current.set(id, cb);
5668
+ return cb;
5669
+ };
5670
+ const scrolledIdsRef = _react.useRef.call(void 0, null);
5671
+ if (scrolledIdsRef.current === null) {
5672
+ scrolledIdsRef.current = new Set(
5673
+ messages.filter((m) => hasNonEmptyContent(m.content)).map((m) => m.id)
5674
+ );
5675
+ }
5676
+ const anchorWatcherRef = _react.useRef.call(void 0, null);
5677
+ _react.useLayoutEffect.call(void 0, () => {
5678
+ if (!autoScroll) return;
5679
+ const last = messages[messages.length - 1];
5680
+ if (!last || last.role !== "assistant" || last.scrollAnchor !== SCROLL_ANCHOR.TOP) return;
5681
+ if (!hasNonEmptyContent(last.content)) return;
5682
+ const seen = scrolledIdsRef.current;
5683
+ if (seen.has(last.id)) return;
5684
+ const node = messageElsRef.current.get(last.id);
5685
+ const container = scrollRef.current;
5686
+ if (!node || !node.isConnected || !container) return;
5687
+ seen.add(last.id);
5688
+ stopScroll();
5689
+ node.scrollIntoView({ block: "start" });
5690
+ disposeAnchorWatcher(anchorWatcherRef.current);
5691
+ const baselineScrollTop = container.scrollTop;
5692
+ const ro = new ResizeObserver(() => {
5693
+ if (!node.isConnected) {
5694
+ ro.disconnect();
5695
+ return;
5696
+ }
5697
+ if (container.scrollTop > baselineScrollTop + 200) {
5698
+ ro.disconnect();
5699
+ return;
5700
+ }
5701
+ node.scrollIntoView({ block: "start" });
5702
+ });
5703
+ ro.observe(node);
5704
+ const timer = setTimeout(() => {
5705
+ ro.disconnect();
5706
+ if (_optionalChain([anchorWatcherRef, 'access', _117 => _117.current, 'optionalAccess', _118 => _118.id]) === last.id) {
5707
+ anchorWatcherRef.current = null;
5708
+ }
5709
+ }, 2e3);
5710
+ anchorWatcherRef.current = { id: last.id, ro, timer };
5711
+ }, [messages, autoScroll, stopScroll, scrollRef]);
5712
+ _react.useEffect.call(void 0, () => () => {
5713
+ disposeAnchorWatcher(anchorWatcherRef.current);
5714
+ anchorWatcherRef.current = null;
5715
+ }, []);
5622
5716
  _react.useEffect.call(void 0, () => {
5623
5717
  const scrollContainer = scrollRef.current;
5624
5718
  const sentinelElement = sentinelRef.current;
@@ -5628,7 +5722,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
5628
5722
  const entry = entries[0];
5629
5723
  if (!entry) return;
5630
5724
  if (entry.isIntersecting && !isFetchingRef.current) {
5631
- _optionalChain([onLoadMoreRef, 'access', _117 => _117.current, 'optionalCall', _118 => _118()]);
5725
+ _optionalChain([onLoadMoreRef, 'access', _119 => _119.current, 'optionalCall', _120 => _120()]);
5632
5726
  }
5633
5727
  },
5634
5728
  { root: scrollContainer, rootMargin: "200px", threshold: 0.1 }
@@ -5656,8 +5750,8 @@ var ChatMessageList = _react.forwardRef.call(void 0,
5656
5750
  contentRef(el);
5657
5751
  };
5658
5752
  const lastMessage = messages[messages.length - 1];
5659
- const lastSegments = Array.isArray(_optionalChain([lastMessage, 'optionalAccess', _119 => _119.content])) ? lastMessage.content : null;
5660
- const lastSegment = _optionalChain([lastSegments, 'optionalAccess', _120 => _120[lastSegments.length - 1]]);
5753
+ const lastSegments = Array.isArray(_optionalChain([lastMessage, 'optionalAccess', _121 => _121.content])) ? lastMessage.content : null;
5754
+ const lastSegment = _optionalChain([lastSegments, 'optionalAccess', _122 => _122[lastSegments.length - 1]]);
5661
5755
  const isPausedOnApproval = !!lastSegment && (lastSegment.type === "approval_request" || lastSegment.type === "approval_batch") && (lastSegment.status === void 0 || lastSegment.status === "pending");
5662
5756
  const showStreamingLoader = isTyping && !isPausedOnApproval && !(pendingApprovals && pendingApprovals.length > 0);
5663
5757
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex-1 min-h-0 flex flex-col", children: [
@@ -5686,6 +5780,7 @@ var ChatMessageList = _react.forwardRef.call(void 0,
5686
5780
  messages.map((message, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5687
5781
  MemoizedChatMessageEnhanced,
5688
5782
  {
5783
+ ref: getRegisterMessageEl(message.id),
5689
5784
  role: message.role,
5690
5785
  name: message.name,
5691
5786
  content: message.content,
@@ -5795,7 +5890,7 @@ var _muxplayerreact = require('@mux/mux-player-react'); var _muxplayerreact2 = _
5795
5890
 
5796
5891
  if (typeof window !== "undefined") {
5797
5892
  const w = window;
5798
- if (!_optionalChain([w, 'access', _121 => _121.chrome, 'optionalAccess', _122 => _122.cast])) {
5893
+ if (!_optionalChain([w, 'access', _123 => _123.chrome, 'optionalAccess', _124 => _124.cast])) {
5799
5894
  w.chrome = { ..._nullishCoalesce(w.chrome, () => ( {})), cast: { isAvailable: false } };
5800
5895
  }
5801
5896
  }
@@ -5971,7 +6066,7 @@ function YouTubeFacadeInner({
5971
6066
  const iframe = iframeRef.current;
5972
6067
  if (!iframe) return;
5973
6068
  function subscribe() {
5974
- _optionalChain([iframe, 'optionalAccess', _123 => _123.contentWindow, 'optionalAccess', _124 => _124.postMessage, 'call', _125 => _125(
6069
+ _optionalChain([iframe, 'optionalAccess', _125 => _125.contentWindow, 'optionalAccess', _126 => _126.postMessage, 'call', _127 => _127(
5975
6070
  '{"event":"listening"}',
5976
6071
  YT_NOCOOKIE_ORIGIN
5977
6072
  )]);
@@ -5989,13 +6084,13 @@ function YouTubeFacadeInner({
5989
6084
  return;
5990
6085
  }
5991
6086
  if (!payload || payload.event !== "infoDelivery") return;
5992
- const state = _optionalChain([payload, 'access', _126 => _126.info, 'optionalAccess', _127 => _127.playerState]);
6087
+ const state = _optionalChain([payload, 'access', _128 => _128.info, 'optionalAccess', _129 => _129.playerState]);
5993
6088
  if (typeof state !== "number") return;
5994
6089
  if (state === YT_STATE_PLAYING) {
5995
6090
  if (blurTimer !== null) return;
5996
6091
  blurTimer = setTimeout(() => {
5997
6092
  blurTimer = null;
5998
- _optionalChain([iframeRef, 'access', _128 => _128.current, 'optionalAccess', _129 => _129.blur, 'call', _130 => _130()]);
6093
+ _optionalChain([iframeRef, 'access', _130 => _130.current, 'optionalAccess', _131 => _131.blur, 'call', _132 => _132()]);
5999
6094
  }, YT_PLAYING_BLUR_DELAY_MS);
6000
6095
  return;
6001
6096
  }
@@ -6396,7 +6491,7 @@ var ChatTicketItem = React19.forwardRef(
6396
6491
  {
6397
6492
  ref,
6398
6493
  type: "button",
6399
- onClick: () => _optionalChain([onClick, 'optionalCall', _131 => _131(ticket.id)]),
6494
+ onClick: () => _optionalChain([onClick, 'optionalCall', _133 => _133(ticket.id)]),
6400
6495
  className: _chunkUC43NICZcjs.cn.call(void 0,
6401
6496
  "flex items-center gap-4 w-full h-20 px-4",
6402
6497
  "bg-ods-card border-b border-ods-border",
@@ -6744,8 +6839,8 @@ ChatSidebarSkeleton.displayName = "ChatSidebarSkeleton";
6744
6839
  var DialogListItem = _react.forwardRef.call(void 0,
6745
6840
  ({ className, dialog, isActive, onDialogSelect, onClick, ...props }, ref) => {
6746
6841
  const handleClick = (e) => {
6747
- _optionalChain([onDialogSelect, 'optionalCall', _132 => _132(dialog.id)]);
6748
- _optionalChain([onClick, 'optionalCall', _133 => _133(e)]);
6842
+ _optionalChain([onDialogSelect, 'optionalCall', _134 => _134(dialog.id)]);
6843
+ _optionalChain([onClick, 'optionalCall', _135 => _135(e)]);
6749
6844
  };
6750
6845
  const formatTimestamp2 = (timestamp) => {
6751
6846
  if (!timestamp) return "";
@@ -6804,7 +6899,7 @@ var ChatSidebar = _react.forwardRef.call(void 0,
6804
6899
  (entries) => {
6805
6900
  const [entry] = entries;
6806
6901
  if (entry.isIntersecting && !isFetchingRef.current) {
6807
- _optionalChain([onLoadMoreRef, 'access', _134 => _134.current, 'optionalCall', _135 => _135()]);
6902
+ _optionalChain([onLoadMoreRef, 'access', _136 => _136.current, 'optionalCall', _137 => _137()]);
6808
6903
  }
6809
6904
  },
6810
6905
  { root: scrollContainer, rootMargin: "100px", threshold: 0.1 }
@@ -6924,27 +7019,6 @@ var CONNECTION_STATUS = {
6924
7019
  ERROR: "error"
6925
7020
  };
6926
7021
 
6927
- // src/components/chat/types/message.types.ts
6928
- var MESSAGE_TYPE = {
6929
- TEXT: "TEXT",
6930
- THINKING: "THINKING",
6931
- EXECUTING_TOOL: "EXECUTING_TOOL",
6932
- EXECUTED_TOOL: "EXECUTED_TOOL",
6933
- APPROVAL_REQUEST: "APPROVAL_REQUEST",
6934
- APPROVAL_RESULT: "APPROVAL_RESULT",
6935
- ERROR: "ERROR",
6936
- MESSAGE_START: "MESSAGE_START",
6937
- MESSAGE_END: "MESSAGE_END",
6938
- MESSAGE_REQUEST: "MESSAGE_REQUEST",
6939
- AI_METADATA: "AI_METADATA",
6940
- TOKEN_USAGE: "TOKEN_USAGE",
6941
- CONTEXT_COMPACTION_START: "CONTEXT_COMPACTION_START",
6942
- CONTEXT_COMPACTION_END: "CONTEXT_COMPACTION_END",
6943
- DIRECT_MESSAGE: "DIRECT_MESSAGE",
6944
- SYSTEM: "SYSTEM",
6945
- DIALOG_CLOSED: "DIALOG_CLOSED"
6946
- };
6947
-
6948
7022
  // src/components/chat/types/network.types.ts
6949
7023
  var NETWORK_CONFIG = {
6950
7024
  SHARED_CLOSE_DELAY_MS: 3e3,
@@ -7222,7 +7296,7 @@ function useNatsDialogSubscription({
7222
7296
  reconnectionBackoffRef.current = reconnectionBackoff;
7223
7297
  }, [reconnectionBackoff]);
7224
7298
  const acquireClient = _react.useCallback.call(void 0, (url) => {
7225
- if (_optionalChain([shared, 'optionalAccess', _136 => _136.wsUrl]) !== url) {
7299
+ if (_optionalChain([shared, 'optionalAccess', _138 => _138.wsUrl]) !== url) {
7226
7300
  if (shared) {
7227
7301
  shared.closeTimer && clearTimeout(shared.closeTimer);
7228
7302
  const old = shared;
@@ -7313,7 +7387,7 @@ function useNatsDialogSubscription({
7313
7387
  if (closed) return;
7314
7388
  if (shared !== sharedConn) return;
7315
7389
  try {
7316
- await _optionalChain([onBeforeReconnectRef, 'access', _137 => _137.current, 'optionalCall', _138 => _138()]);
7390
+ await _optionalChain([onBeforeReconnectRef, 'access', _139 => _139.current, 'optionalCall', _140 => _140()]);
7317
7391
  } catch (e10) {
7318
7392
  }
7319
7393
  if (closed) return;
@@ -7346,22 +7420,22 @@ function useNatsDialogSubscription({
7346
7420
  }
7347
7421
  hadConnectionBeforeRef.current = true;
7348
7422
  retryAttempt = 0;
7349
- _optionalChain([onConnectRef, 'access', _139 => _139.current, 'optionalCall', _140 => _140()]);
7423
+ _optionalChain([onConnectRef, 'access', _141 => _141.current, 'optionalCall', _142 => _142()]);
7350
7424
  }
7351
7425
  if (disconnected) {
7352
7426
  setIsConnected(false);
7353
7427
  setIsSubscribed(false);
7354
7428
  subscriptionRefs.current.forEach((sub) => {
7355
7429
  try {
7356
- _optionalChain([sub, 'optionalAccess', _141 => _141.unsubscribe, 'call', _142 => _142()]);
7430
+ _optionalChain([sub, 'optionalAccess', _143 => _143.unsubscribe, 'call', _144 => _144()]);
7357
7431
  } catch (e12) {
7358
7432
  }
7359
7433
  });
7360
7434
  subscriptionRefs.current.clear();
7361
7435
  lastSubscribedDialogIdRef.current = null;
7362
- _optionalChain([abortControllerRef, 'access', _143 => _143.current, 'optionalAccess', _144 => _144.abort, 'call', _145 => _145()]);
7436
+ _optionalChain([abortControllerRef, 'access', _145 => _145.current, 'optionalAccess', _146 => _146.abort, 'call', _147 => _147()]);
7363
7437
  abortControllerRef.current = null;
7364
- _optionalChain([onDisconnectRef, 'access', _146 => _146.current, 'optionalCall', _147 => _147()]);
7438
+ _optionalChain([onDisconnectRef, 'access', _148 => _148.current, 'optionalCall', _149 => _149()]);
7365
7439
  scheduleRetry();
7366
7440
  }
7367
7441
  });
@@ -7377,7 +7451,7 @@ function useNatsDialogSubscription({
7377
7451
  sharedConn.connectPromise = null;
7378
7452
  if (!closed) {
7379
7453
  setIsConnected(false);
7380
- _optionalChain([onDisconnectRef, 'access', _148 => _148.current, 'optionalCall', _149 => _149()]);
7454
+ _optionalChain([onDisconnectRef, 'access', _150 => _150.current, 'optionalCall', _151 => _151()]);
7381
7455
  scheduleRetry();
7382
7456
  }
7383
7457
  }
@@ -7393,7 +7467,7 @@ function useNatsDialogSubscription({
7393
7467
  }
7394
7468
  subscriptionRefs.current.forEach((sub) => {
7395
7469
  try {
7396
- _optionalChain([sub, 'optionalAccess', _150 => _150.unsubscribe, 'call', _151 => _151()]);
7470
+ _optionalChain([sub, 'optionalAccess', _152 => _152.unsubscribe, 'call', _153 => _153()]);
7397
7471
  } catch (e14) {
7398
7472
  }
7399
7473
  });
@@ -7421,13 +7495,13 @@ function useNatsDialogSubscription({
7421
7495
  setIsSubscribed(false);
7422
7496
  subscriptionRefs.current.forEach((sub) => {
7423
7497
  try {
7424
- _optionalChain([sub, 'optionalAccess', _152 => _152.unsubscribe, 'call', _153 => _153()]);
7498
+ _optionalChain([sub, 'optionalAccess', _154 => _154.unsubscribe, 'call', _155 => _155()]);
7425
7499
  } catch (e15) {
7426
7500
  }
7427
7501
  });
7428
7502
  subscriptionRefs.current.clear();
7429
7503
  lastSubscribedDialogIdRef.current = null;
7430
- _optionalChain([abortControllerRef, 'access', _154 => _154.current, 'optionalAccess', _155 => _155.abort, 'call', _156 => _156()]);
7504
+ _optionalChain([abortControllerRef, 'access', _156 => _156.current, 'optionalAccess', _157 => _157.abort, 'call', _158 => _158()]);
7431
7505
  abortControllerRef.current = null;
7432
7506
  }
7433
7507
  return;
@@ -7439,12 +7513,12 @@ function useNatsDialogSubscription({
7439
7513
  if (subscriptionRefs.current.size > 0) {
7440
7514
  subscriptionRefs.current.forEach((sub) => {
7441
7515
  try {
7442
- _optionalChain([sub, 'optionalAccess', _157 => _157.unsubscribe, 'call', _158 => _158()]);
7516
+ _optionalChain([sub, 'optionalAccess', _159 => _159.unsubscribe, 'call', _160 => _160()]);
7443
7517
  } catch (e16) {
7444
7518
  }
7445
7519
  });
7446
7520
  subscriptionRefs.current.clear();
7447
- _optionalChain([abortControllerRef, 'access', _159 => _159.current, 'optionalAccess', _160 => _160.abort, 'call', _161 => _161()]);
7521
+ _optionalChain([abortControllerRef, 'access', _161 => _161.current, 'optionalAccess', _162 => _162.abort, 'call', _163 => _163()]);
7448
7522
  }
7449
7523
  abortControllerRef.current = new AbortController();
7450
7524
  const abort = abortControllerRef.current;
@@ -7476,7 +7550,7 @@ function useNatsDialogSubscription({
7476
7550
  });
7477
7551
  lastSubscribedDialogIdRef.current = dialogId;
7478
7552
  setIsSubscribed(true);
7479
- _optionalChain([onSubscribedRef, 'access', _162 => _162.current, 'optionalCall', _163 => _163()]);
7553
+ _optionalChain([onSubscribedRef, 'access', _164 => _164.current, 'optionalCall', _165 => _165()]);
7480
7554
  };
7481
7555
  if (isConnectedRef.current) {
7482
7556
  createSubscriptions();
@@ -7486,7 +7560,7 @@ function useNatsDialogSubscription({
7486
7560
  abort.abort();
7487
7561
  subscriptionRefs.current.forEach((sub) => {
7488
7562
  try {
7489
- _optionalChain([sub, 'optionalAccess', _164 => _164.unsubscribe, 'call', _165 => _165()]);
7563
+ _optionalChain([sub, 'optionalAccess', _166 => _166.unsubscribe, 'call', _167 => _167()]);
7490
7564
  } catch (e18) {
7491
7565
  }
7492
7566
  });
@@ -7527,7 +7601,7 @@ function useNatsDialogSubscription({
7527
7601
  });
7528
7602
  lastSubscribedDialogIdRef.current = dialogId2;
7529
7603
  setIsSubscribed(true);
7530
- _optionalChain([onSubscribedRef, 'access', _166 => _166.current, 'optionalCall', _167 => _167()]);
7604
+ _optionalChain([onSubscribedRef, 'access', _168 => _168.current, 'optionalCall', _169 => _169()]);
7531
7605
  } else if (subscriptionRefs.current.size > 0) {
7532
7606
  setIsSubscribed(true);
7533
7607
  }
@@ -7535,10 +7609,10 @@ function useNatsDialogSubscription({
7535
7609
  return { isConnected, isSubscribed, reconnectionCount };
7536
7610
  }
7537
7611
  function buildNatsWsUrl(apiBaseUrl, options) {
7538
- const path = _optionalChain([options, 'optionalAccess', _168 => _168.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
7612
+ const path = _optionalChain([options, 'optionalAccess', _170 => _170.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
7539
7613
  const u = new URL(path, apiBaseUrl);
7540
7614
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
7541
- if (_optionalChain([options, 'optionalAccess', _169 => _169.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _170 => _170.token])) {
7615
+ if (_optionalChain([options, 'optionalAccess', _171 => _171.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _172 => _172.token])) {
7542
7616
  u.searchParams.set("authorization", options.token);
7543
7617
  }
7544
7618
  return u.toString();
@@ -7853,8 +7927,8 @@ var MessageSegmentAccumulator = class {
7853
7927
  type: "tool_execution",
7854
7928
  data: {
7855
7929
  ...toolData,
7856
- toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _171 => _171.data, 'access', _172 => _172.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _173 => _173.toolTitle]))),
7857
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _174 => _174.parameters])
7930
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _173 => _173.data, 'access', _174 => _174.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _175 => _175.toolTitle]))),
7931
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _176 => _176.parameters])
7858
7932
  }
7859
7933
  };
7860
7934
  if (existingIndex !== -1) {
@@ -7878,8 +7952,8 @@ var MessageSegmentAccumulator = class {
7878
7952
  if (seg.type !== "approval_batch") return seg;
7879
7953
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
7880
7954
  if (!hasCall) return seg;
7881
- const prev = _optionalChain([seg, 'access', _175 => _175.data, 'access', _176 => _176.executions, 'optionalAccess', _177 => _177[execId]]);
7882
- const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _178 => _178.result]), success: _optionalChain([prev, 'optionalAccess', _179 => _179.success]) };
7955
+ const prev = _optionalChain([seg, 'access', _177 => _177.data, 'access', _178 => _178.executions, 'optionalAccess', _179 => _179[execId]]);
7956
+ const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _180 => _180.result]), success: _optionalChain([prev, 'optionalAccess', _181 => _181.success]) };
7883
7957
  matched = true;
7884
7958
  return {
7885
7959
  ...seg,
@@ -7975,10 +8049,10 @@ var MessageSegmentAccumulator = class {
7975
8049
  const segment = {
7976
8050
  type: "approval_request",
7977
8051
  data: {
7978
- command: _optionalChain([pendingApproval, 'optionalAccess', _180 => _180.command]) || "",
7979
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _181 => _181.explanation]),
8052
+ command: _optionalChain([pendingApproval, 'optionalAccess', _182 => _182.command]) || "",
8053
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _183 => _183.explanation]),
7980
8054
  requestId,
7981
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _182 => _182.approvalType]) || approvalType
8055
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _184 => _184.approvalType]) || approvalType
7982
8056
  },
7983
8057
  status,
7984
8058
  onApprove: this.callbacks.onApprove,
@@ -8166,7 +8240,7 @@ function useRealtimeChunkProcessor(options) {
8166
8240
  if (initialState.escalatedApprovals) {
8167
8241
  pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
8168
8242
  initialState.escalatedApprovals.forEach((data, requestId) => {
8169
- _optionalChain([callbacks, 'access', _183 => _183.onEscalatedApproval, 'optionalCall', _184 => _184(requestId, data)]);
8243
+ _optionalChain([callbacks, 'access', _185 => _185.onEscalatedApproval, 'optionalCall', _186 => _186(requestId, data)]);
8170
8244
  });
8171
8245
  }
8172
8246
  hasInitializedWithData.current = true;
@@ -8185,30 +8259,30 @@ function useRealtimeChunkProcessor(options) {
8185
8259
  switch (action.action) {
8186
8260
  case "message_start":
8187
8261
  isInStreamRef.current = true;
8188
- _optionalChain([callbacks, 'access', _185 => _185.onStreamStart, 'optionalCall', _186 => _186()]);
8262
+ _optionalChain([callbacks, 'access', _187 => _187.onStreamStart, 'optionalCall', _188 => _188()]);
8189
8263
  accumulator.resetSegments();
8190
8264
  break;
8191
8265
  case "message_end":
8192
8266
  isInStreamRef.current = false;
8193
- _optionalChain([callbacks, 'access', _187 => _187.onStreamEnd, 'optionalCall', _188 => _188()]);
8267
+ _optionalChain([callbacks, 'access', _189 => _189.onStreamEnd, 'optionalCall', _190 => _190()]);
8194
8268
  accumulator.resetSegments();
8195
8269
  break;
8196
8270
  case "metadata":
8197
- _optionalChain([callbacks, 'access', _189 => _189.onMetadata, 'optionalCall', _190 => _190(action)]);
8271
+ _optionalChain([callbacks, 'access', _191 => _191.onMetadata, 'optionalCall', _192 => _192(action)]);
8198
8272
  break;
8199
8273
  case "text": {
8200
8274
  const segments = accumulator.appendText(action.text);
8201
- _optionalChain([callbacks, 'access', _191 => _191.onSegmentsUpdate, 'optionalCall', _192 => _192(segments)]);
8275
+ _optionalChain([callbacks, 'access', _193 => _193.onSegmentsUpdate, 'optionalCall', _194 => _194(segments)]);
8202
8276
  break;
8203
8277
  }
8204
8278
  case "thinking": {
8205
8279
  const segments = accumulator.appendThinking(action.text);
8206
- _optionalChain([callbacks, 'access', _193 => _193.onSegmentsUpdate, 'optionalCall', _194 => _194(segments)]);
8280
+ _optionalChain([callbacks, 'access', _195 => _195.onSegmentsUpdate, 'optionalCall', _196 => _196(segments)]);
8207
8281
  break;
8208
8282
  }
8209
8283
  case "tool_execution": {
8210
8284
  const segments = accumulator.addToolExecution(action.segment);
8211
- _optionalChain([callbacks, 'access', _195 => _195.onSegmentsUpdate, 'optionalCall', _196 => _196(segments)]);
8285
+ _optionalChain([callbacks, 'access', _197 => _197.onSegmentsUpdate, 'optionalCall', _198 => _198(segments)]);
8212
8286
  break;
8213
8287
  }
8214
8288
  case "approval_request": {
@@ -8222,10 +8296,10 @@ function useRealtimeChunkProcessor(options) {
8222
8296
  approvalType,
8223
8297
  status
8224
8298
  );
8225
- _optionalChain([callbacks, 'access', _197 => _197.onSegmentsUpdate, 'optionalCall', _198 => _198(segments)]);
8299
+ _optionalChain([callbacks, 'access', _199 => _199.onSegmentsUpdate, 'optionalCall', _200 => _200(segments)]);
8226
8300
  } else {
8227
8301
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
8228
- _optionalChain([callbacks, 'access', _199 => _199.onEscalatedApproval, 'optionalCall', _200 => _200(requestId, { command, explanation, approvalType })]);
8302
+ _optionalChain([callbacks, 'access', _201 => _201.onEscalatedApproval, 'optionalCall', _202 => _202(requestId, { command, explanation, approvalType })]);
8229
8303
  }
8230
8304
  break;
8231
8305
  }
@@ -8237,20 +8311,20 @@ function useRealtimeChunkProcessor(options) {
8237
8311
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
8238
8312
  pendingEscalatedRef.current.set(requestId, {
8239
8313
  command: summary,
8240
- explanation: _optionalChain([required, 'optionalAccess', _201 => _201.toolExplanation]),
8314
+ explanation: _optionalChain([required, 'optionalAccess', _203 => _203.toolExplanation]),
8241
8315
  approvalType,
8242
8316
  toolCalls
8243
8317
  });
8244
- _optionalChain([callbacks, 'access', _202 => _202.onEscalatedApproval, 'optionalCall', _203 => _203(requestId, {
8318
+ _optionalChain([callbacks, 'access', _204 => _204.onEscalatedApproval, 'optionalCall', _205 => _205(requestId, {
8245
8319
  command: summary,
8246
- explanation: _optionalChain([required, 'optionalAccess', _204 => _204.toolExplanation]),
8320
+ explanation: _optionalChain([required, 'optionalAccess', _206 => _206.toolExplanation]),
8247
8321
  approvalType
8248
8322
  })]);
8249
8323
  break;
8250
8324
  }
8251
8325
  if (batchApprovalsEnabled) {
8252
8326
  const segments2 = accumulator.addApprovalBatch(requestId, approvalType, toolCalls, status);
8253
- _optionalChain([callbacks, 'access', _205 => _205.onSegmentsUpdate, 'optionalCall', _206 => _206(segments2)]);
8327
+ _optionalChain([callbacks, 'access', _207 => _207.onSegmentsUpdate, 'optionalCall', _208 => _208(segments2)]);
8254
8328
  break;
8255
8329
  }
8256
8330
  let segments = accumulator.getSegments();
@@ -8264,7 +8338,7 @@ function useRealtimeChunkProcessor(options) {
8264
8338
  status
8265
8339
  );
8266
8340
  }
8267
- _optionalChain([callbacks, 'access', _207 => _207.onSegmentsUpdate, 'optionalCall', _208 => _208(segments)]);
8341
+ _optionalChain([callbacks, 'access', _209 => _209.onSegmentsUpdate, 'optionalCall', _210 => _210(segments)]);
8268
8342
  break;
8269
8343
  }
8270
8344
  case "approval_result": {
@@ -8273,7 +8347,7 @@ function useRealtimeChunkProcessor(options) {
8273
8347
  const status = approved ? "approved" : "rejected";
8274
8348
  if (escalatedData) {
8275
8349
  pendingEscalatedRef.current.delete(requestId);
8276
- _optionalChain([callbacks, 'access', _209 => _209.onEscalatedApprovalResult, 'optionalCall', _210 => _210(requestId, approved, {
8350
+ _optionalChain([callbacks, 'access', _211 => _211.onEscalatedApprovalResult, 'optionalCall', _212 => _212(requestId, approved, {
8277
8351
  command: escalatedData.command,
8278
8352
  explanation: escalatedData.explanation,
8279
8353
  approvalType: escalatedData.approvalType
@@ -8286,7 +8360,7 @@ function useRealtimeChunkProcessor(options) {
8286
8360
  escalatedData.toolCalls,
8287
8361
  status
8288
8362
  );
8289
- _optionalChain([callbacks, 'access', _211 => _211.onSegmentsUpdate, 'optionalCall', _212 => _212(segments)]);
8363
+ _optionalChain([callbacks, 'access', _213 => _213.onSegmentsUpdate, 'optionalCall', _214 => _214(segments)]);
8290
8364
  } else {
8291
8365
  let segments = accumulator.getSegments();
8292
8366
  for (const call of escalatedData.toolCalls) {
@@ -8299,7 +8373,7 @@ function useRealtimeChunkProcessor(options) {
8299
8373
  status
8300
8374
  );
8301
8375
  }
8302
- _optionalChain([callbacks, 'access', _213 => _213.onSegmentsUpdate, 'optionalCall', _214 => _214(segments)]);
8376
+ _optionalChain([callbacks, 'access', _215 => _215.onSegmentsUpdate, 'optionalCall', _216 => _216(segments)]);
8303
8377
  }
8304
8378
  } else {
8305
8379
  const segments = accumulator.addApprovalRequest(
@@ -8309,63 +8383,63 @@ function useRealtimeChunkProcessor(options) {
8309
8383
  escalatedData.approvalType,
8310
8384
  status
8311
8385
  );
8312
- _optionalChain([callbacks, 'access', _215 => _215.onSegmentsUpdate, 'optionalCall', _216 => _216(segments)]);
8386
+ _optionalChain([callbacks, 'access', _217 => _217.onSegmentsUpdate, 'optionalCall', _218 => _218(segments)]);
8313
8387
  }
8314
8388
  } else {
8315
8389
  const segments = accumulator.updateApprovalStatus(requestId, status);
8316
- _optionalChain([callbacks, 'access', _217 => _217.onSegmentsUpdate, 'optionalCall', _218 => _218(segments)]);
8390
+ _optionalChain([callbacks, 'access', _219 => _219.onSegmentsUpdate, 'optionalCall', _220 => _220(segments)]);
8317
8391
  }
8318
8392
  void approvalType;
8319
8393
  break;
8320
8394
  }
8321
8395
  case "error": {
8322
8396
  let message;
8323
- if ("details" in action && _optionalChain([action, 'optionalAccess', _219 => _219.details])) {
8397
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _221 => _221.details])) {
8324
8398
  try {
8325
- message = _optionalChain([JSON, 'access', _220 => _220.parse, 'call', _221 => _221(action.details), 'optionalAccess', _222 => _222.error, 'optionalAccess', _223 => _223.message]);
8399
+ message = _optionalChain([JSON, 'access', _222 => _222.parse, 'call', _223 => _223(action.details), 'optionalAccess', _224 => _224.error, 'optionalAccess', _225 => _225.message]);
8326
8400
  } catch (e20) {
8327
8401
  message = action.details;
8328
8402
  }
8329
8403
  }
8330
8404
  const segments = accumulator.addError(action.error, message);
8331
- _optionalChain([callbacks, 'access', _224 => _224.onSegmentsUpdate, 'optionalCall', _225 => _225(segments)]);
8332
- _optionalChain([callbacks, 'access', _226 => _226.onError, 'optionalCall', _227 => _227(action.error, message)]);
8405
+ _optionalChain([callbacks, 'access', _226 => _226.onSegmentsUpdate, 'optionalCall', _227 => _227(segments)]);
8406
+ _optionalChain([callbacks, 'access', _228 => _228.onError, 'optionalCall', _229 => _229(action.error, message)]);
8333
8407
  break;
8334
8408
  }
8335
8409
  case "system": {
8336
- _optionalChain([callbacks, 'access', _228 => _228.onSystemMessage, 'optionalCall', _229 => _229(action.text)]);
8410
+ _optionalChain([callbacks, 'access', _230 => _230.onSystemMessage, 'optionalCall', _231 => _231(action.text)]);
8337
8411
  break;
8338
8412
  }
8339
8413
  case "direct_message": {
8340
- _optionalChain([callbacks, 'access', _230 => _230.onDirectMessage, 'optionalCall', _231 => _231(action.text, {
8414
+ _optionalChain([callbacks, 'access', _232 => _232.onDirectMessage, 'optionalCall', _233 => _233(action.text, {
8341
8415
  ownerType: action.ownerType,
8342
8416
  displayName: action.displayName
8343
8417
  })]);
8344
8418
  break;
8345
8419
  }
8346
8420
  case "message_request":
8347
- _optionalChain([callbacks, 'access', _232 => _232.onUserMessage, 'optionalCall', _233 => _233(action.text, {
8421
+ _optionalChain([callbacks, 'access', _234 => _234.onUserMessage, 'optionalCall', _235 => _235(action.text, {
8348
8422
  ownerType: action.ownerType,
8349
8423
  displayName: action.displayName
8350
8424
  })]);
8351
8425
  break;
8352
8426
  case "token_usage":
8353
- _optionalChain([callbacks, 'access', _234 => _234.onTokenUsage, 'optionalCall', _235 => _235(action.data)]);
8427
+ _optionalChain([callbacks, 'access', _236 => _236.onTokenUsage, 'optionalCall', _237 => _237(action.data)]);
8354
8428
  break;
8355
8429
  case "context_compaction_start": {
8356
8430
  const standalone = !isInStreamRef.current;
8357
8431
  const segments = accumulator.addContextCompaction();
8358
- _optionalChain([callbacks, 'access', _236 => _236.onSegmentsUpdate, 'optionalCall', _237 => _237(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
8432
+ _optionalChain([callbacks, 'access', _238 => _238.onSegmentsUpdate, 'optionalCall', _239 => _239(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
8359
8433
  break;
8360
8434
  }
8361
8435
  case "context_compaction_end": {
8362
8436
  const standalone = !isInStreamRef.current;
8363
8437
  const segments = accumulator.completeContextCompaction(action.summary);
8364
- _optionalChain([callbacks, 'access', _238 => _238.onSegmentsUpdate, 'optionalCall', _239 => _239(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
8438
+ _optionalChain([callbacks, 'access', _240 => _240.onSegmentsUpdate, 'optionalCall', _241 => _241(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
8365
8439
  break;
8366
8440
  }
8367
8441
  case "dialog_closed":
8368
- _optionalChain([callbacks, 'access', _240 => _240.onDialogClosed, 'optionalCall', _241 => _241()]);
8442
+ _optionalChain([callbacks, 'access', _242 => _242.onDialogClosed, 'optionalCall', _243 => _243()]);
8369
8443
  break;
8370
8444
  default:
8371
8445
  break;
@@ -8401,12 +8475,12 @@ function useRealtimeChunkProcessor(options) {
8401
8475
 
8402
8476
  // src/components/chat/utils/process-historical-messages.ts
8403
8477
  function getOwnerDisplayName(owner) {
8404
- if (_optionalChain([owner, 'optionalAccess', _242 => _242.type]) === OWNER_TYPE.ADMIN && owner.user) {
8478
+ if (_optionalChain([owner, 'optionalAccess', _244 => _244.type]) === OWNER_TYPE.ADMIN && owner.user) {
8405
8479
  const { firstName, lastName } = owner.user;
8406
8480
  const name = [firstName, lastName].filter(Boolean).join(" ");
8407
8481
  if (name) return name;
8408
8482
  }
8409
- return _optionalChain([owner, 'optionalAccess', _243 => _243.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
8483
+ return _optionalChain([owner, 'optionalAccess', _245 => _245.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
8410
8484
  }
8411
8485
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
8412
8486
  messageDataArray.forEach((data) => {
@@ -8469,10 +8543,10 @@ function processHistoricalMessages(messages, options = {}) {
8469
8543
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
8470
8544
  return;
8471
8545
  }
8472
- const isUserMessage = _optionalChain([msg, 'access', _244 => _244.owner, 'optionalAccess', _245 => _245.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _246 => _246.owner, 'optionalAccess', _247 => _247.type]) === OWNER_TYPE.ADMIN;
8546
+ const isUserMessage = _optionalChain([msg, 'access', _246 => _246.owner, 'optionalAccess', _247 => _247.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _248 => _248.owner, 'optionalAccess', _249 => _249.type]) === OWNER_TYPE.ADMIN;
8473
8547
  if (isUserMessage) {
8474
8548
  flushAssistantMessage();
8475
- const userAuthorType = _optionalChain([msg, 'access', _248 => _248.owner, 'optionalAccess', _249 => _249.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
8549
+ const userAuthorType = _optionalChain([msg, 'access', _250 => _250.owner, 'optionalAccess', _251 => _251.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
8476
8550
  messageDataArray.forEach((data) => {
8477
8551
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
8478
8552
  processedMessages.push({
@@ -8496,7 +8570,7 @@ function processHistoricalMessages(messages, options = {}) {
8496
8570
  });
8497
8571
  const nextMsg = messages[index + 1];
8498
8572
  const isLastMessage = index === messages.length - 1;
8499
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _250 => _250.owner, 'optionalAccess', _251 => _251.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _252 => _252.owner, 'optionalAccess', _253 => _253.type]) === OWNER_TYPE.ADMIN);
8573
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _252 => _252.owner, 'optionalAccess', _253 => _253.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _254 => _254.owner, 'optionalAccess', _255 => _255.type]) === OWNER_TYPE.ADMIN);
8500
8574
  if (isLastMessage || nextIsFromUser) {
8501
8575
  flushAssistantMessage();
8502
8576
  }
@@ -8595,7 +8669,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
8595
8669
  });
8596
8670
  }
8597
8671
  } else {
8598
- _optionalChain([escalatedApprovals, 'optionalAccess', _254 => _254.set, 'call', _255 => _255(data.approvalRequestId, {
8672
+ _optionalChain([escalatedApprovals, 'optionalAccess', _256 => _256.set, 'call', _257 => _257(data.approvalRequestId, {
8599
8673
  command: data.command || "",
8600
8674
  explanation: data.explanation,
8601
8675
  approvalType,
@@ -8608,8 +8682,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
8608
8682
  if ("approvalRequestId" in data && data.approvalRequestId) {
8609
8683
  const existingStatus = approvalStatuses[data.approvalRequestId];
8610
8684
  const status = existingStatus || (data.approved ? "approved" : "rejected");
8611
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _256 => _256.get, 'call', _257 => _257(data.approvalRequestId)]);
8612
- if (_optionalChain([escalatedData, 'optionalAccess', _258 => _258.toolCalls]) && escalatedData.toolCalls.length > 0) {
8685
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _258 => _258.get, 'call', _259 => _259(data.approvalRequestId)]);
8686
+ if (_optionalChain([escalatedData, 'optionalAccess', _260 => _260.toolCalls]) && escalatedData.toolCalls.length > 0) {
8613
8687
  if (batchApprovalsEnabled) {
8614
8688
  accumulator.addApprovalBatch(
8615
8689
  data.approvalRequestId,
@@ -8629,7 +8703,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
8629
8703
  );
8630
8704
  }
8631
8705
  }
8632
- _optionalChain([escalatedApprovals, 'optionalAccess', _259 => _259.delete, 'call', _260 => _260(data.approvalRequestId)]);
8706
+ _optionalChain([escalatedApprovals, 'optionalAccess', _261 => _261.delete, 'call', _262 => _262(data.approvalRequestId)]);
8633
8707
  break;
8634
8708
  }
8635
8709
  if (escalatedData) {
@@ -8638,7 +8712,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
8638
8712
  explanation: escalatedData.explanation,
8639
8713
  approvalType: escalatedData.approvalType
8640
8714
  });
8641
- _optionalChain([escalatedApprovals, 'optionalAccess', _261 => _261.delete, 'call', _262 => _262(data.approvalRequestId)]);
8715
+ _optionalChain([escalatedApprovals, 'optionalAccess', _263 => _263.delete, 'call', _264 => _264(data.approvalRequestId)]);
8642
8716
  }
8643
8717
  const before = accumulator.getSegments();
8644
8718
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status);
@@ -8654,9 +8728,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
8654
8728
  case MESSAGE_TYPE.ERROR:
8655
8729
  if ("error" in data) {
8656
8730
  let message;
8657
- if ("details" in data && _optionalChain([data, 'optionalAccess', _263 => _263.details])) {
8731
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _265 => _265.details])) {
8658
8732
  try {
8659
- message = _optionalChain([JSON, 'access', _264 => _264.parse, 'call', _265 => _265(data.details), 'optionalAccess', _266 => _266.error, 'optionalAccess', _267 => _267.message]);
8733
+ message = _optionalChain([JSON, 'access', _266 => _266.parse, 'call', _267 => _267(data.details), 'optionalAccess', _268 => _268.error, 'optionalAccess', _269 => _269.message]);
8660
8734
  } catch (e21) {
8661
8735
  message = data.details;
8662
8736
  }
@@ -8739,10 +8813,10 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
8739
8813
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
8740
8814
  return;
8741
8815
  }
8742
- const isUserMessage = _optionalChain([msg, 'access', _268 => _268.owner, 'optionalAccess', _269 => _269.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _270 => _270.owner, 'optionalAccess', _271 => _271.type]) === OWNER_TYPE.ADMIN;
8816
+ const isUserMessage = _optionalChain([msg, 'access', _270 => _270.owner, 'optionalAccess', _271 => _271.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _272 => _272.owner, 'optionalAccess', _273 => _273.type]) === OWNER_TYPE.ADMIN;
8743
8817
  if (isUserMessage) {
8744
8818
  flushAssistantMessage();
8745
- const userAuthorType = _optionalChain([msg, 'access', _272 => _272.owner, 'optionalAccess', _273 => _273.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
8819
+ const userAuthorType = _optionalChain([msg, 'access', _274 => _274.owner, 'optionalAccess', _275 => _275.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
8746
8820
  messageDataArray.forEach((data) => {
8747
8821
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
8748
8822
  processedMessages.push({
@@ -8766,7 +8840,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
8766
8840
  });
8767
8841
  const nextMsg = messages[index + 1];
8768
8842
  const isLastMessage = index === messages.length - 1;
8769
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _274 => _274.owner, 'optionalAccess', _275 => _275.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _276 => _276.owner, 'optionalAccess', _277 => _277.type]) === OWNER_TYPE.ADMIN);
8843
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _276 => _276.owner, 'optionalAccess', _277 => _277.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _278 => _278.owner, 'optionalAccess', _279 => _279.type]) === OWNER_TYPE.ADMIN);
8770
8844
  if (isLastMessage || nextIsFromUser) {
8771
8845
  flushAssistantMessage();
8772
8846
  }
@@ -8826,7 +8900,7 @@ function extractIncompleteMessageState(lastMessage) {
8826
8900
  break;
8827
8901
  case "approval_batch": {
8828
8902
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
8829
- (c) => _optionalChain([segment, 'access', _278 => _278.data, 'access', _279 => _279.executions, 'optionalAccess', _280 => _280[c.toolExecutionRequestId], 'optionalAccess', _281 => _281.status]) === "done"
8903
+ (c) => _optionalChain([segment, 'access', _280 => _280.data, 'access', _281 => _281.executions, 'optionalAccess', _282 => _282[c.toolExecutionRequestId], 'optionalAccess', _283 => _283.status]) === "done"
8830
8904
  );
8831
8905
  if (segment.status !== "rejected" && !allDone) {
8832
8906
  hasIncompleteState = true;
@@ -8988,7 +9062,7 @@ function Header({ config, platform }) {
8988
9062
  className: _chunkUC43NICZcjs.cn.call(void 0,
8989
9063
  "flex justify-start w-full",
8990
9064
  "font-bold text-[16px] leading-none tracking-[-0.32px]",
8991
- index < (_nullishCoalesce(_optionalChain([item, 'access', _282 => _282.children, 'optionalAccess', _283 => _283.length]), () => ( 0))) - 1 && "mb-1",
9065
+ index < (_nullishCoalesce(_optionalChain([item, 'access', _284 => _284.children, 'optionalAccess', _285 => _285.length]), () => ( 0))) - 1 && "mb-1",
8992
9066
  "text-ods-text-primary",
8993
9067
  // All dropdown items use primary text color
8994
9068
  child.isActive && "bg-ods-bg-hover"
@@ -9080,7 +9154,7 @@ function Header({ config, platform }) {
9080
9154
  style: config.style,
9081
9155
  children: [
9082
9156
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
9083
- _optionalChain([config, 'access', _284 => _284.actions, 'optionalAccess', _285 => _285.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
9157
+ _optionalChain([config, 'access', _286 => _286.actions, 'optionalAccess', _287 => _287.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
9084
9158
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: config.logo.href, className: "transition-opacity duration-200 hover:opacity-80", children: config.logo.element })
9085
9159
  ] }),
9086
9160
  config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -9097,7 +9171,7 @@ function Header({ config, platform }) {
9097
9171
  }
9098
9172
  ),
9099
9173
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
9100
- _optionalChain([config, 'access', _286 => _286.actions, 'optionalAccess', _287 => _287.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
9174
+ _optionalChain([config, 'access', _288 => _288.actions, 'optionalAccess', _289 => _289.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
9101
9175
  config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9102
9176
  _chunkV2FNIPZJcjs.Button,
9103
9177
  {
@@ -9105,10 +9179,10 @@ function Header({ config, platform }) {
9105
9179
  size: "icon",
9106
9180
  className: "flex md:hidden",
9107
9181
  onClick: () => {
9108
- _optionalChain([config, 'access', _288 => _288.mobile, 'optionalAccess', _289 => _289.onToggle, 'optionalCall', _290 => _290()]);
9182
+ _optionalChain([config, 'access', _290 => _290.mobile, 'optionalAccess', _291 => _291.onToggle, 'optionalCall', _292 => _292()]);
9109
9183
  },
9110
- "aria-label": _optionalChain([config, 'access', _291 => _291.mobile, 'optionalAccess', _292 => _292.isOpen]) ? "Close menu" : "Open menu",
9111
- leftIcon: _optionalChain([config, 'access', _293 => _293.mobile, 'optionalAccess', _294 => _294.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Menu01Icon, {})
9184
+ "aria-label": _optionalChain([config, 'access', _293 => _293.mobile, 'optionalAccess', _294 => _294.isOpen]) ? "Close menu" : "Open menu",
9185
+ leftIcon: _optionalChain([config, 'access', _295 => _295.mobile, 'optionalAccess', _296 => _296.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Menu01Icon, {})
9112
9186
  }
9113
9187
  )
9114
9188
  ] })
@@ -9125,10 +9199,10 @@ function Header({ config, platform }) {
9125
9199
  // src/components/navigation/header-skeleton.tsx
9126
9200
 
9127
9201
  function HeaderSkeleton({ config }) {
9128
- const showNavigation = _optionalChain([config, 'optionalAccess', _295 => _295.navigation]) && config.navigation.items.length > 0;
9129
- const showActions = _optionalChain([config, 'optionalAccess', _296 => _296.actions, 'optionalAccess', _297 => _297.right]) && config.actions.right.length > 0;
9130
- const showMobileMenu = _optionalChain([config, 'optionalAccess', _298 => _298.mobile, 'optionalAccess', _299 => _299.enabled]);
9131
- const isAdminHeader = _optionalChain([config, 'optionalAccess', _300 => _300.className, 'optionalAccess', _301 => _301.includes, 'call', _302 => _302("admin")]);
9202
+ const showNavigation = _optionalChain([config, 'optionalAccess', _297 => _297.navigation]) && config.navigation.items.length > 0;
9203
+ const showActions = _optionalChain([config, 'optionalAccess', _298 => _298.actions, 'optionalAccess', _299 => _299.right]) && config.actions.right.length > 0;
9204
+ const showMobileMenu = _optionalChain([config, 'optionalAccess', _300 => _300.mobile, 'optionalAccess', _301 => _301.enabled]);
9205
+ const isAdminHeader = _optionalChain([config, 'optionalAccess', _302 => _302.className, 'optionalAccess', _303 => _303.includes, 'call', _304 => _304("admin")]);
9132
9206
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
9133
9207
  "header",
9134
9208
  {
@@ -9137,11 +9211,11 @@ function HeaderSkeleton({ config }) {
9137
9211
  "bg-ods-card border-b border-ods-border backdrop-blur-sm",
9138
9212
  "px-6 py-3",
9139
9213
  "transition-opacity duration-300 ease-in-out",
9140
- _optionalChain([config, 'optionalAccess', _303 => _303.className])
9214
+ _optionalChain([config, 'optionalAccess', _305 => _305.className])
9141
9215
  ),
9142
9216
  children: [
9143
9217
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
9144
- isAdminHeader && _optionalChain([config, 'optionalAccess', _304 => _304.actions, 'optionalAccess', _305 => _305.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" }) }),
9218
+ isAdminHeader && _optionalChain([config, 'optionalAccess', _306 => _306.actions, 'optionalAccess', _307 => _307.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" }) }),
9145
9219
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
9146
9220
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
9147
9221
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
@@ -9149,8 +9223,8 @@ function HeaderSkeleton({ config }) {
9149
9223
  ] }),
9150
9224
  showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkUC43NICZcjs.cn.call(void 0,
9151
9225
  "hidden md:flex items-center gap-2",
9152
- _optionalChain([config, 'optionalAccess', _306 => _306.navigation, 'optionalAccess', _307 => _307.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
9153
- _optionalChain([config, 'optionalAccess', _308 => _308.navigation, 'optionalAccess', _309 => _309.position]) === "right" && "ml-auto mr-4"
9226
+ _optionalChain([config, 'optionalAccess', _308 => _308.navigation, 'optionalAccess', _309 => _309.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
9227
+ _optionalChain([config, 'optionalAccess', _310 => _310.navigation, 'optionalAccess', _311 => _311.position]) === "right" && "ml-auto mr-4"
9154
9228
  ), children: [
9155
9229
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
9156
9230
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
@@ -9198,7 +9272,7 @@ function MobileNavPanel({ isOpen, config }) {
9198
9272
  _react.useEffect.call(void 0, () => {
9199
9273
  const handleKeyDown = (e) => {
9200
9274
  if (e.key === "Escape" && isOpen) {
9201
- _optionalChain([config, 'access', _310 => _310.onClose, 'optionalCall', _311 => _311()]);
9275
+ _optionalChain([config, 'access', _312 => _312.onClose, 'optionalCall', _313 => _313()]);
9202
9276
  }
9203
9277
  };
9204
9278
  if (isOpen) {
@@ -9215,7 +9289,7 @@ function MobileNavPanel({ isOpen, config }) {
9215
9289
  if (item.onClick) {
9216
9290
  item.onClick();
9217
9291
  }
9218
- _optionalChain([config, 'access', _312 => _312.onClose, 'optionalCall', _313 => _313()]);
9292
+ _optionalChain([config, 'access', _314 => _314.onClose, 'optionalCall', _315 => _315()]);
9219
9293
  };
9220
9294
  if (item.href) {
9221
9295
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -9433,7 +9507,7 @@ function SlidingSidebar({ config }) {
9433
9507
  variant: "transparent",
9434
9508
  size: "default",
9435
9509
  onClick: () => {
9436
- _optionalChain([item, 'access', _314 => _314.onClick, 'optionalCall', _315 => _315()]);
9510
+ _optionalChain([item, 'access', _316 => _316.onClick, 'optionalCall', _317 => _317()]);
9437
9511
  config.onClose();
9438
9512
  },
9439
9513
  leftIcon: item.icon,
@@ -9456,7 +9530,7 @@ function SlidingSidebar({ config }) {
9456
9530
  variant: "transparent",
9457
9531
  size: "default",
9458
9532
  onClick: () => {
9459
- _optionalChain([item, 'access', _316 => _316.onClick, 'optionalCall', _317 => _317()]);
9533
+ _optionalChain([item, 'access', _318 => _318.onClick, 'optionalCall', _319 => _319()]);
9460
9534
  config.onClose();
9461
9535
  },
9462
9536
  leftIcon: item.icon,
@@ -9583,7 +9657,7 @@ function StickySectionNav({
9583
9657
  ] });
9584
9658
  }
9585
9659
  function useSectionNavigation(sections, options) {
9586
- const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _318 => _318[0], 'optionalAccess', _319 => _319.id]) || "");
9660
+ const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _320 => _320[0], 'optionalAccess', _321 => _321.id]) || "");
9587
9661
  const isScrollingFromClick = _react.useRef.call(void 0, false);
9588
9662
  const { offset: offset2 = 100 } = options || {};
9589
9663
  const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
@@ -9608,7 +9682,7 @@ function useSectionNavigation(sections, options) {
9608
9682
  const handleScroll = () => {
9609
9683
  if (isScrollingFromClick.current) return;
9610
9684
  const scrollPosition = window.scrollY + offset2 + 50;
9611
- let currentSection = _optionalChain([sections, 'access', _320 => _320[0], 'optionalAccess', _321 => _321.id]) || "";
9685
+ let currentSection = _optionalChain([sections, 'access', _322 => _322[0], 'optionalAccess', _323 => _323.id]) || "";
9612
9686
  for (let i = sections.length - 1; i >= 0; i--) {
9613
9687
  const element = document.getElementById(sections[i].id);
9614
9688
  if (element && scrollPosition >= element.offsetTop) {
@@ -9792,14 +9866,14 @@ function NavigationSidebar({ config, disabled = false }) {
9792
9866
  const showLabel = isLgUp && !minimized;
9793
9867
  const handleToggle = _react.useCallback.call(void 0, () => {
9794
9868
  setMinimized((prev) => !prev);
9795
- _optionalChain([config, 'access', _322 => _322.onToggleMinimized, 'optionalCall', _323 => _323()]);
9869
+ _optionalChain([config, 'access', _324 => _324.onToggleMinimized, 'optionalCall', _325 => _325()]);
9796
9870
  }, [setMinimized, config]);
9797
9871
  const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
9798
- _optionalChain([event, 'optionalAccess', _324 => _324.stopPropagation, 'call', _325 => _325()]);
9872
+ _optionalChain([event, 'optionalAccess', _326 => _326.stopPropagation, 'call', _327 => _327()]);
9799
9873
  if (item.onClick) {
9800
9874
  item.onClick();
9801
9875
  } else if (item.path) {
9802
- _optionalChain([config, 'access', _326 => _326.onNavigate, 'optionalCall', _327 => _327(item.path)]);
9876
+ _optionalChain([config, 'access', _328 => _328.onNavigate, 'optionalCall', _329 => _329(item.path)]);
9803
9877
  }
9804
9878
  }, [config]);
9805
9879
  const { primaryItems, secondaryItems } = _react.useMemo.call(void 0, () => ({
@@ -9939,7 +10013,7 @@ function NotificationsProvider({
9939
10013
  const setShowPopups = React28.useCallback(
9940
10014
  (value2) => {
9941
10015
  setShowPopupsState(value2);
9942
- _optionalChain([onShowPopupsChange, 'optionalCall', _328 => _328(value2)]);
10016
+ _optionalChain([onShowPopupsChange, 'optionalCall', _330 => _330(value2)]);
9943
10017
  },
9944
10018
  [onShowPopupsChange]
9945
10019
  );
@@ -10044,11 +10118,11 @@ function HeaderGlobalSearch({
10044
10118
  };
10045
10119
  const handleSubmit = (e) => {
10046
10120
  e.preventDefault();
10047
- _optionalChain([onSubmit, 'optionalCall', _329 => _329(currentValue)]);
10121
+ _optionalChain([onSubmit, 'optionalCall', _331 => _331(currentValue)]);
10048
10122
  };
10049
10123
  const handleKeyDown = (e) => {
10050
10124
  if (e.key === "Enter") {
10051
- _optionalChain([onSubmit, 'optionalCall', _330 => _330(currentValue)]);
10125
+ _optionalChain([onSubmit, 'optionalCall', _332 => _332(currentValue)]);
10052
10126
  }
10053
10127
  };
10054
10128
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -10094,8 +10168,8 @@ function HeaderOrganizationFilter({
10094
10168
  className
10095
10169
  }) {
10096
10170
  const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
10097
- const displayName = _optionalChain([selectedOrg, 'optionalAccess', _331 => _331.name]) || "All Organizations";
10098
- const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _332 => _332.deviceCount]), () => ( totalDeviceCount));
10171
+ const displayName = _optionalChain([selectedOrg, 'optionalAccess', _333 => _333.name]) || "All Organizations";
10172
+ const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _334 => _334.deviceCount]), () => ( totalDeviceCount));
10099
10173
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV2FNIPZJcjs.DropdownMenu, { children: [
10100
10174
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV2FNIPZJcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
10101
10175
  "button",
@@ -10120,11 +10194,11 @@ function HeaderOrganizationFilter({
10120
10194
  }
10121
10195
  ) }),
10122
10196
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV2FNIPZJcjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
10123
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV2FNIPZJcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _333 => _333("")]), children: "All Organizations" }),
10197
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV2FNIPZJcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _335 => _335("")]), children: "All Organizations" }),
10124
10198
  organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10125
10199
  _chunkV2FNIPZJcjs.DropdownMenuItem,
10126
10200
  {
10127
- onClick: () => _optionalChain([onOrgChange, 'optionalCall', _334 => _334(org.id)]),
10201
+ onClick: () => _optionalChain([onOrgChange, 'optionalCall', _336 => _336(org.id)]),
10128
10202
  children: org.name
10129
10203
  },
10130
10204
  org.id
@@ -10296,9 +10370,9 @@ function NotificationsHeaderButton({
10296
10370
  dimmedClass
10297
10371
  }) {
10298
10372
  const ctx = useOptionalNotifications();
10299
- const unreadCount = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _335 => _335.unreadCount]), () => ( fallbackUnreadCount));
10300
- const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _336 => _336.isOpen]), () => ( false));
10301
- const onClick = _optionalChain([ctx, 'optionalAccess', _337 => _337.toggle]);
10373
+ const unreadCount = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _337 => _337.unreadCount]), () => ( fallbackUnreadCount));
10374
+ const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _338 => _338.isOpen]), () => ( false));
10375
+ const onClick = _optionalChain([ctx, 'optionalAccess', _339 => _339.toggle]);
10302
10376
  const Icon2 = unreadCount > 0 ? _chunkVJTFBYVGcjs.BellRingingIcon : _chunkVJTFBYVGcjs.BellIcon;
10303
10377
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10304
10378
  HeaderButton,
@@ -10472,7 +10546,7 @@ var Switch = React32.forwardRef(({ className, checked, onCheckedChange, ...props
10472
10546
  }, [checked]);
10473
10547
  const handleCheckedChange = (newChecked) => {
10474
10548
  setIsChecked(newChecked);
10475
- _optionalChain([onCheckedChange, 'optionalCall', _338 => _338(newChecked)]);
10549
+ _optionalChain([onCheckedChange, 'optionalCall', _340 => _340(newChecked)]);
10476
10550
  };
10477
10551
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10478
10552
  SwitchPrimitives.Root,
@@ -10525,7 +10599,7 @@ function NotificationTile({
10525
10599
  if (!isLive) return;
10526
10600
  const remaining = Math.max(0, liveDurationMs - initialElapsed);
10527
10601
  const timer = window.setTimeout(() => {
10528
- _optionalChain([onSettle, 'optionalCall', _339 => _339(id)]);
10602
+ _optionalChain([onSettle, 'optionalCall', _341 => _341(id)]);
10529
10603
  }, remaining);
10530
10604
  return () => window.clearTimeout(timer);
10531
10605
  }, [id, isLive, initialElapsed, liveDurationMs, onSettle]);
@@ -10563,7 +10637,7 @@ function NotificationTile({
10563
10637
  "button",
10564
10638
  {
10565
10639
  type: "button",
10566
- onClick: () => _optionalChain([onSettle, 'optionalCall', _340 => _340(id)]),
10640
+ onClick: () => _optionalChain([onSettle, 'optionalCall', _342 => _342(id)]),
10567
10641
  "aria-label": "Dismiss notification",
10568
10642
  tabIndex: isLive ? 0 : -1,
10569
10643
  className: _chunkUC43NICZcjs.cn.call(void 0,
@@ -10735,7 +10809,7 @@ var MobileBurgerMenu = React37.default.memo(function MobileBurgerMenu2({
10735
10809
  if (item.onClick) {
10736
10810
  item.onClick();
10737
10811
  } else if (item.path) {
10738
- _optionalChain([config, 'access', _341 => _341.onNavigate, 'optionalCall', _342 => _342(item.path)]);
10812
+ _optionalChain([config, 'access', _343 => _343.onNavigate, 'optionalCall', _344 => _344(item.path)]);
10739
10813
  }
10740
10814
  onClose();
10741
10815
  }, [config, onClose]);
@@ -11079,7 +11153,7 @@ var ShellTypeBadge = ({
11079
11153
  className,
11080
11154
  iconClassName
11081
11155
  }) => {
11082
- const normalizedType = _optionalChain([shellType, 'optionalAccess', _343 => _343.toUpperCase, 'call', _344 => _344()]);
11156
+ const normalizedType = _optionalChain([shellType, 'optionalAccess', _345 => _345.toUpperCase, 'call', _346 => _346()]);
11083
11157
  const label = getShellLabel(normalizedType);
11084
11158
  const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
11085
11159
  const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
@@ -11536,7 +11610,7 @@ function AnnouncementBar() {
11536
11610
  setIsVisible(false);
11537
11611
  };
11538
11612
  const handleCtaClick = () => {
11539
- if (!_optionalChain([announcement, 'optionalAccess', _345 => _345.cta_url])) return;
11613
+ if (!_optionalChain([announcement, 'optionalAccess', _347 => _347.cta_url])) return;
11540
11614
  announcement.cta_target === "_blank" ? window.open(announcement.cta_url, "_blank", "noopener,noreferrer") : window.location.href = announcement.cta_url;
11541
11615
  };
11542
11616
  const renderIcon = () => {
@@ -11662,8 +11736,8 @@ function getVendorLogo(vendor) {
11662
11736
  if (vendor.logo) {
11663
11737
  return fixSupabaseStorageUrl(vendor.logo);
11664
11738
  }
11665
- const logoMedia = _optionalChain([vendor, 'access', _346 => _346.vendor_media, 'optionalAccess', _347 => _347.find, 'call', _348 => _348((m) => m.media_type === "logo")]);
11666
- if (_optionalChain([logoMedia, 'optionalAccess', _349 => _349.media_url])) {
11739
+ const logoMedia = _optionalChain([vendor, 'access', _348 => _348.vendor_media, 'optionalAccess', _349 => _349.find, 'call', _350 => _350((m) => m.media_type === "logo")]);
11740
+ if (_optionalChain([logoMedia, 'optionalAccess', _351 => _351.media_url])) {
11667
11741
  return fixSupabaseStorageUrl(logoMedia.media_url);
11668
11742
  }
11669
11743
  return null;
@@ -11738,7 +11812,7 @@ function VendorIcon({
11738
11812
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0,
11739
11813
  "flex items-center justify-center text-xs font-medium uppercase",
11740
11814
  backgroundStyle === "white" ? "text-[#333333]" : "text-ods-text-secondary"
11741
- ), children: _optionalChain([vendor, 'access', _350 => _350.title, 'optionalAccess', _351 => _351.substring, 'call', _352 => _352(0, 2)]) || "??" }) });
11815
+ ), children: _optionalChain([vendor, 'access', _352 => _352.title, 'optionalAccess', _353 => _353.substring, 'call', _354 => _354(0, 2)]) || "??" }) });
11742
11816
  }
11743
11817
 
11744
11818
  // src/components/categories-cart.tsx
@@ -12022,7 +12096,7 @@ function UserSummary({
12022
12096
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
12023
12097
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h4 text-ods-text-primary truncate", children: [
12024
12098
  name,
12025
- _optionalChain([mspPreview, 'optionalAccess', _353 => _353.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
12099
+ _optionalChain([mspPreview, 'optionalAccess', _355 => _355.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
12026
12100
  " \u2022 ",
12027
12101
  mspPreview.name
12028
12102
  ] })
@@ -12044,7 +12118,7 @@ function UserSummary({
12044
12118
  height: 40,
12045
12119
  className: "object-cover"
12046
12120
  }
12047
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary font-heading text-sm font-bold", children: _optionalChain([mspPreview, 'access', _354 => _354.name, 'optionalAccess', _355 => _355.charAt, 'call', _356 => _356(0), 'access', _357 => _357.toUpperCase, 'call', _358 => _358()]) || "?" }) })
12121
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary font-heading text-sm font-bold", children: _optionalChain([mspPreview, 'access', _356 => _356.name, 'optionalAccess', _357 => _357.charAt, 'call', _358 => _358(0), 'access', _359 => _359.toUpperCase, 'call', _360 => _360()]) || "?" }) })
12048
12122
  ] }),
12049
12123
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 grid grid-cols-[1fr_auto] gap-4", children: [
12050
12124
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-h-[6rem] flex flex-col justify-center space-y-3 truncate", children: [
@@ -12057,7 +12131,7 @@ function UserSummary({
12057
12131
  typeof mspPreview.annualRevenue === "number" ? `$${formatNumber2(mspPreview.annualRevenue)}` : null
12058
12132
  ].filter(Boolean).flatMap((txt, idx) => idx === 0 ? [txt] : [" \u2022 ", txt]).map((seg, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: seg === " \u2022 " ? "text-ods-text-secondary" : "", children: seg }, idx)) })
12059
12133
  ] }),
12060
- (_optionalChain([authProviders, 'optionalAccess', _359 => _359.length]) || showEditButton) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "hidden md:flex flex-col items-end justify-between flex-shrink-0 min-h-[6rem]", children: [
12134
+ (_optionalChain([authProviders, 'optionalAccess', _361 => _361.length]) || showEditButton) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "hidden md:flex flex-col items-end justify-between flex-shrink-0 min-h-[6rem]", children: [
12061
12135
  authProviders && authProviders.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
12062
12136
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs text-ods-text-secondary whitespace-nowrap select-none", children: "Authorized by" }),
12063
12137
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-2", children: authProviders.map((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center w-4 h-4", children: getAuthProviderIcon(p) }, p)) })
@@ -12066,7 +12140,7 @@ function UserSummary({
12066
12140
  ] })
12067
12141
  ] })
12068
12142
  ] }),
12069
- (_optionalChain([authProviders, 'optionalAccess', _360 => _360.length]) || showEditButton) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex md:hidden items-center justify-between w-full gap-4", children: [
12143
+ (_optionalChain([authProviders, 'optionalAccess', _362 => _362.length]) || showEditButton) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex md:hidden items-center justify-between w-full gap-4", children: [
12070
12144
  authProviders && authProviders.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
12071
12145
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs text-ods-text-secondary whitespace-nowrap select-none", children: "Authorized by" }),
12072
12146
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-2", children: authProviders.map((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center justify-center w-4 h-4", children: getAuthProviderIcon(p) }, p)) })
@@ -12787,7 +12861,7 @@ function FilterChip({
12787
12861
  onClick: disabled ? void 0 : (e) => {
12788
12862
  e.preventDefault();
12789
12863
  e.stopPropagation();
12790
- _optionalChain([onClick, 'optionalCall', _361 => _361()]);
12864
+ _optionalChain([onClick, 'optionalCall', _363 => _363()]);
12791
12865
  },
12792
12866
  role: onClick ? "button" : void 0,
12793
12867
  tabIndex: onClick && !disabled ? 0 : void 0,
@@ -12974,13 +13048,13 @@ function useUnifiedFiltering(config) {
12974
13048
  const searchParams = _navigation.useSearchParams.call(void 0, );
12975
13049
  const [isPending, startTransition] = _react.useTransition.call(void 0, );
12976
13050
  const getCurrentFilterState = () => {
12977
- const search = _optionalChain([searchParams, 'optionalAccess', _362 => _362.get, 'call', _363 => _363("search")]) || void 0;
12978
- const categories = _optionalChain([searchParams, 'optionalAccess', _364 => _364.get, 'call', _365 => _365("category"), 'optionalAccess', _366 => _366.split, 'call', _367 => _367(","), 'access', _368 => _368.filter, 'call', _369 => _369(Boolean)]) || [];
12979
- const subcategories = _optionalChain([searchParams, 'optionalAccess', _370 => _370.get, 'call', _371 => _371("subcategory"), 'optionalAccess', _372 => _372.split, 'call', _373 => _373(","), 'access', _374 => _374.filter, 'call', _375 => _375(Boolean)]) || [];
12980
- const tags = _optionalChain([searchParams, 'optionalAccess', _376 => _376.get, 'call', _377 => _377("tag"), 'optionalAccess', _378 => _378.split, 'call', _379 => _379(","), 'access', _380 => _380.filter, 'call', _381 => _381(Boolean)]) || [];
12981
- const filters = _optionalChain([searchParams, 'optionalAccess', _382 => _382.getAll, 'call', _383 => _383("filter")]) || [];
12982
- const pricing = _optionalChain([searchParams, 'optionalAccess', _384 => _384.get, 'call', _385 => _385("pricing")]) || void 0;
12983
- const page = parseInt(_optionalChain([searchParams, 'optionalAccess', _386 => _386.get, 'call', _387 => _387("page")]) || "1");
13051
+ const search = _optionalChain([searchParams, 'optionalAccess', _364 => _364.get, 'call', _365 => _365("search")]) || void 0;
13052
+ const categories = _optionalChain([searchParams, 'optionalAccess', _366 => _366.get, 'call', _367 => _367("category"), 'optionalAccess', _368 => _368.split, 'call', _369 => _369(","), 'access', _370 => _370.filter, 'call', _371 => _371(Boolean)]) || [];
13053
+ const subcategories = _optionalChain([searchParams, 'optionalAccess', _372 => _372.get, 'call', _373 => _373("subcategory"), 'optionalAccess', _374 => _374.split, 'call', _375 => _375(","), 'access', _376 => _376.filter, 'call', _377 => _377(Boolean)]) || [];
13054
+ const tags = _optionalChain([searchParams, 'optionalAccess', _378 => _378.get, 'call', _379 => _379("tag"), 'optionalAccess', _380 => _380.split, 'call', _381 => _381(","), 'access', _382 => _382.filter, 'call', _383 => _383(Boolean)]) || [];
13055
+ const filters = _optionalChain([searchParams, 'optionalAccess', _384 => _384.getAll, 'call', _385 => _385("filter")]) || [];
13056
+ const pricing = _optionalChain([searchParams, 'optionalAccess', _386 => _386.get, 'call', _387 => _387("pricing")]) || void 0;
13057
+ const page = parseInt(_optionalChain([searchParams, 'optionalAccess', _388 => _388.get, 'call', _389 => _389("page")]) || "1");
12984
13058
  return {
12985
13059
  search,
12986
13060
  categories,
@@ -13261,13 +13335,13 @@ function FooterWaitlistButton({ className }) {
13261
13335
  const router = _navigation.useRouter.call(void 0, );
13262
13336
  const pathname = _navigation.usePathname.call(void 0, );
13263
13337
  const handleClick = _react.useCallback.call(void 0, () => {
13264
- if (_optionalChain([pathname, 'optionalAccess', _388 => _388.startsWith, 'call', _389 => _389("/waitlist")])) {
13338
+ if (_optionalChain([pathname, 'optionalAccess', _390 => _390.startsWith, 'call', _391 => _391("/waitlist")])) {
13265
13339
  const anchor = document.getElementById("waitlist-form");
13266
13340
  if (anchor) {
13267
13341
  anchor.scrollIntoView({ behavior: "smooth", block: "center" });
13268
13342
  setTimeout(() => {
13269
13343
  const input = anchor.querySelector('input[type="email"]');
13270
- _optionalChain([input, 'optionalAccess', _390 => _390.focus, 'call', _391 => _391()]);
13344
+ _optionalChain([input, 'optionalAccess', _392 => _392.focus, 'call', _393 => _393()]);
13271
13345
  }, 400);
13272
13346
  return;
13273
13347
  }
@@ -13296,7 +13370,7 @@ function HeroImageUploader({ imageUrl, onChange, uploadEndpoint, height = 300, o
13296
13370
  const [uploading, setUploading] = _react.useState.call(void 0, false);
13297
13371
  const ALLOWED_TYPES = ["image/jpeg", "image/jpg", "image/png", "image/webp", "image/gif"];
13298
13372
  const MAX_SIZE = 5 * 1024 * 1024;
13299
- const openDialog = () => _optionalChain([inputRef, 'access', _392 => _392.current, 'optionalAccess', _393 => _393.click, 'call', _394 => _394()]);
13373
+ const openDialog = () => _optionalChain([inputRef, 'access', _394 => _394.current, 'optionalAccess', _395 => _395.click, 'call', _396 => _396()]);
13300
13374
  async function handleFile(file) {
13301
13375
  if (!file) return;
13302
13376
  if (!ALLOWED_TYPES.includes(file.type)) {
@@ -13352,7 +13426,7 @@ function HeroImageUploader({ imageUrl, onChange, uploadEndpoint, height = 300, o
13352
13426
  }
13353
13427
  }
13354
13428
  const handleSelect = (e) => {
13355
- handleFile(_optionalChain([e, 'access', _395 => _395.target, 'access', _396 => _396.files, 'optionalAccess', _397 => _397[0]]));
13429
+ handleFile(_optionalChain([e, 'access', _397 => _397.target, 'access', _398 => _398.files, 'optionalAccess', _399 => _399[0]]));
13356
13430
  };
13357
13431
  const handleRemove = async () => {
13358
13432
  if (onDelete) {
@@ -13489,7 +13563,7 @@ function ResponsiveIconsBlock({ loading = false }) {
13489
13563
  const getIconForIndex = (index) => {
13490
13564
  const col = index % displayColumns;
13491
13565
  const row = Math.floor(index / displayColumns);
13492
- return _optionalChain([iconGrid, 'access', _398 => _398[row], 'optionalAccess', _399 => _399[col]]) || availableIcons[0];
13566
+ return _optionalChain([iconGrid, 'access', _400 => _400[row], 'optionalAccess', _401 => _401[col]]) || availableIcons[0];
13493
13567
  };
13494
13568
  if (loading || iconGrid.length === 0) {
13495
13569
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -13575,7 +13649,7 @@ var Slider = React39.forwardRef(
13575
13649
  ({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
13576
13650
  const handleChange = (e) => {
13577
13651
  const newValue = [Number(e.target.value)];
13578
- _optionalChain([onValueChange, 'optionalCall', _400 => _400(newValue)]);
13652
+ _optionalChain([onValueChange, 'optionalCall', _402 => _402(newValue)]);
13579
13653
  };
13580
13654
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13581
13655
  "input",
@@ -13688,7 +13762,7 @@ var ImageCropper = ({
13688
13762
  });
13689
13763
  } else if (e.key === "Escape") {
13690
13764
  e.preventDefault();
13691
- _optionalChain([onCancel, 'optionalCall', _401 => _401()]);
13765
+ _optionalChain([onCancel, 'optionalCall', _403 => _403()]);
13692
13766
  }
13693
13767
  };
13694
13768
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -14388,8 +14462,8 @@ function PricingDisplay({
14388
14462
  }
14389
14463
  if (pricingArray.length === 1) {
14390
14464
  const item = pricingArray[0];
14391
- const price = _optionalChain([item, 'access', _402 => _402.ranges, 'optionalAccess', _403 => _403[0], 'optionalAccess', _404 => _404.min]) || 0;
14392
- const unit = _optionalChain([item, 'access', _405 => _405.ranges, 'optionalAccess', _406 => _406[0], 'optionalAccess', _407 => _407.unit]);
14465
+ const price = _optionalChain([item, 'access', _404 => _404.ranges, 'optionalAccess', _405 => _405[0], 'optionalAccess', _406 => _406.min]) || 0;
14466
+ const unit = _optionalChain([item, 'access', _407 => _407.ranges, 'optionalAccess', _408 => _408[0], 'optionalAccess', _409 => _409.unit]);
14393
14467
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.fontFamily} ${className}`, children: [
14394
14468
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: formatPriceValue(price, styleConfig.showTildePrefix) }),
14395
14469
  unit && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
@@ -14398,11 +14472,11 @@ function PricingDisplay({
14398
14472
  ] })
14399
14473
  ] });
14400
14474
  }
14401
- const priceValues = pricingArray.map((item) => formatPriceValue(_optionalChain([item, 'access', _408 => _408.ranges, 'optionalAccess', _409 => _409[0], 'optionalAccess', _410 => _410.min]) || 0, styleConfig.showTildePrefix));
14402
- const itemWithUnit = pricingArray.find((item) => _optionalChain([item, 'access', _411 => _411.ranges, 'optionalAccess', _412 => _412[0], 'optionalAccess', _413 => _413.unit]));
14475
+ const priceValues = pricingArray.map((item) => formatPriceValue(_optionalChain([item, 'access', _410 => _410.ranges, 'optionalAccess', _411 => _411[0], 'optionalAccess', _412 => _412.min]) || 0, styleConfig.showTildePrefix));
14476
+ const itemWithUnit = pricingArray.find((item) => _optionalChain([item, 'access', _413 => _413.ranges, 'optionalAccess', _414 => _414[0], 'optionalAccess', _415 => _415.unit]));
14403
14477
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.fontFamily} ${className}`, children: [
14404
14478
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: priceValues.join(" | ") }),
14405
- itemWithUnit && _optionalChain([itemWithUnit, 'access', _414 => _414.ranges, 'optionalAccess', _415 => _415[0], 'optionalAccess', _416 => _416.unit]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
14479
+ itemWithUnit && _optionalChain([itemWithUnit, 'access', _416 => _416.ranges, 'optionalAccess', _417 => _417[0], 'optionalAccess', _418 => _418.unit]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
14406
14480
  "/",
14407
14481
  itemWithUnit.ranges[0].unit
14408
14482
  ] })
@@ -14600,7 +14674,7 @@ function VendorTag({
14600
14674
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-4 h-4 bg-ods-accent rounded-sm flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-[#1A1A1A] text-[8px] font-bold", children: "\u2605" }) })
14601
14675
  };
14602
14676
  case "classification":
14603
- const classificationType = _optionalChain([text, 'optionalAccess', _417 => _417.toLowerCase, 'call', _418 => _418()]);
14677
+ const classificationType = _optionalChain([text, 'optionalAccess', _419 => _419.toLowerCase, 'call', _420 => _420()]);
14604
14678
  if (classificationType === "open_source") {
14605
14679
  return {
14606
14680
  text: "Open Source",
@@ -14654,7 +14728,7 @@ function SelectionSourceBadge({ source, hidden = false }) {
14654
14728
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14655
14729
  VendorTag,
14656
14730
  {
14657
- type: _optionalChain([source, 'optionalAccess', _419 => _419.toLowerCase, 'call', _420 => _420()]),
14731
+ type: _optionalChain([source, 'optionalAccess', _421 => _421.toLowerCase, 'call', _422 => _422()]),
14658
14732
  size: "sm",
14659
14733
  hidden
14660
14734
  },
@@ -16774,12 +16848,12 @@ function OnboardingWalkthrough({
16774
16848
  }
16775
16849
  }, [state.completedSteps, markComplete]);
16776
16850
  const handleStepSkip = (step) => {
16777
- _optionalChain([step, 'access', _421 => _421.onSkip, 'optionalCall', _422 => _422()]);
16851
+ _optionalChain([step, 'access', _423 => _423.onSkip, 'optionalCall', _424 => _424()]);
16778
16852
  markSkipped(step.id);
16779
16853
  };
16780
16854
  const handleDismiss = () => {
16781
16855
  dismissOnboarding();
16782
- _optionalChain([onDismiss, 'optionalCall', _423 => _423()]);
16856
+ _optionalChain([onDismiss, 'optionalCall', _425 => _425()]);
16783
16857
  };
16784
16858
  if (state.dismissed) {
16785
16859
  return null;
@@ -17262,7 +17336,7 @@ var SecondaryAction = ({ action }) => {
17262
17336
  e.preventDefault();
17263
17337
  return;
17264
17338
  }
17265
- _optionalChain([action, 'access', _424 => _424.onClick, 'optionalCall', _425 => _425()]);
17339
+ _optionalChain([action, 'access', _426 => _426.onClick, 'optionalCall', _427 => _427()]);
17266
17340
  },
17267
17341
  [action]
17268
17342
  );
@@ -17303,13 +17377,13 @@ var MenuItem = ({ item, onItemClick }) => {
17303
17377
  const activate = _react.useCallback.call(void 0, () => {
17304
17378
  if (item.disabled) return;
17305
17379
  if (item.type === "checkbox") {
17306
- _optionalChain([item, 'access', _426 => _426.onClick, 'optionalCall', _427 => _427()]);
17307
- _optionalChain([onItemClick, 'optionalCall', _428 => _428(item)]);
17380
+ _optionalChain([item, 'access', _428 => _428.onClick, 'optionalCall', _429 => _429()]);
17381
+ _optionalChain([onItemClick, 'optionalCall', _430 => _430(item)]);
17308
17382
  return;
17309
17383
  }
17310
17384
  if (item.type === "submenu") return;
17311
- _optionalChain([item, 'access', _429 => _429.onClick, 'optionalCall', _430 => _430()]);
17312
- _optionalChain([onItemClick, 'optionalCall', _431 => _431(item)]);
17385
+ _optionalChain([item, 'access', _431 => _431.onClick, 'optionalCall', _432 => _432()]);
17386
+ _optionalChain([onItemClick, 'optionalCall', _433 => _433(item)]);
17313
17387
  }, [item, onItemClick]);
17314
17388
  const handleClick = _react.useCallback.call(void 0,
17315
17389
  (e) => {
@@ -17335,8 +17409,8 @@ var MenuItem = ({ item, onItemClick }) => {
17335
17409
  e.stopPropagation();
17336
17410
  return;
17337
17411
  }
17338
- _optionalChain([item, 'access', _432 => _432.onClick, 'optionalCall', _433 => _433()]);
17339
- _optionalChain([onItemClick, 'optionalCall', _434 => _434(item)]);
17412
+ _optionalChain([item, 'access', _434 => _434.onClick, 'optionalCall', _435 => _435()]);
17413
+ _optionalChain([onItemClick, 'optionalCall', _436 => _436(item)]);
17340
17414
  },
17341
17415
  [item, onItemClick]
17342
17416
  );
@@ -17491,7 +17565,7 @@ var ActionsMenuDropdown = ({
17491
17565
  const [open, setOpen] = _react.useState.call(void 0, false);
17492
17566
  const handleItemClick = _react.useCallback.call(void 0,
17493
17567
  (item) => {
17494
- _optionalChain([onItemClick, 'optionalCall', _435 => _435(item)]);
17568
+ _optionalChain([onItemClick, 'optionalCall', _437 => _437(item)]);
17495
17569
  if (item.type !== "checkbox" && item.type !== "submenu") {
17496
17570
  setOpen(false);
17497
17571
  }
@@ -17662,7 +17736,7 @@ function IconButtonsVariant({
17662
17736
  }) {
17663
17737
  const desktopActions = actions.filter((a) => !a.showOnlyMobile);
17664
17738
  const hasMenuActions = !!menuActions && menuActions.some((g) => g.items.length > 0);
17665
- const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _436 => _436[0], 'access', _437 => _437.submenu, 'optionalAccess', _438 => _438.length]);
17739
+ const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _438 => _438[0], 'access', _439 => _439.submenu, 'optionalAccess', _440 => _440.length]);
17666
17740
  const singleAction = isSingleAction ? actions[0] : null;
17667
17741
  const useSingleActionMobile = isSingleAction && !hasMenuActions;
17668
17742
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -18092,14 +18166,14 @@ function ReleaseDetailPage({
18092
18166
  releaseVersion
18093
18167
  ] })
18094
18168
  ] }) }),
18095
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap gap-2 w-full", children: _optionalChain([blogTags, 'optionalAccess', _439 => _439.map, 'call', _440 => _440((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18169
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap gap-2 w-full", children: _optionalChain([blogTags, 'optionalAccess', _441 => _441.map, 'call', _442 => _442((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18096
18170
  StatusBadge,
18097
18171
  {
18098
- text: (tag.name || _optionalChain([tag, 'access', _441 => _441.blog_tags, 'optionalAccess', _442 => _442.name]) || "").toUpperCase(),
18172
+ text: (tag.name || _optionalChain([tag, 'access', _443 => _443.blog_tags, 'optionalAccess', _444 => _444.name]) || "").toUpperCase(),
18099
18173
  variant: "card",
18100
18174
  className: "bg-ods-card border border-ods-border"
18101
18175
  },
18102
- tag.id || _optionalChain([tag, 'access', _443 => _443.blog_tags, 'optionalAccess', _444 => _444.id])
18176
+ tag.id || _optionalChain([tag, 'access', _445 => _445.blog_tags, 'optionalAccess', _446 => _446.id])
18103
18177
  ))]) }),
18104
18178
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 md:grid-cols-4 border border-ods-border rounded-md overflow-hidden w-full", children: [
18105
18179
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "bg-ods-card border-b md:border-b-0 md:border-r border-ods-border p-4 flex flex-col gap-3", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-0", children: [
@@ -18118,15 +18192,15 @@ function ReleaseDetailPage({
18118
18192
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18119
18193
  SquareAvatar,
18120
18194
  {
18121
- src: _optionalChain([author, 'optionalAccess', _445 => _445.avatar_url]) || "",
18122
- alt: _optionalChain([author, 'optionalAccess', _446 => _446.full_name]) || "Author",
18123
- fallback: getInitials4(_optionalChain([author, 'optionalAccess', _447 => _447.full_name]) || "Unknown"),
18195
+ src: _optionalChain([author, 'optionalAccess', _447 => _447.avatar_url]) || "",
18196
+ alt: _optionalChain([author, 'optionalAccess', _448 => _448.full_name]) || "Author",
18197
+ fallback: getInitials4(_optionalChain([author, 'optionalAccess', _449 => _449.full_name]) || "Unknown"),
18124
18198
  size: "md",
18125
18199
  variant: "round"
18126
18200
  }
18127
18201
  ),
18128
18202
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-0 flex-1 min-w-0", children: [
18129
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h3 tracking-[-0.36px] text-ods-text-primary truncate", children: _optionalChain([author, 'optionalAccess', _448 => _448.full_name]) || "Unknown Author" }),
18203
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h3 tracking-[-0.36px] text-ods-text-primary truncate", children: _optionalChain([author, 'optionalAccess', _450 => _450.full_name]) || "Unknown Author" }),
18130
18204
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary", children: "Author" })
18131
18205
  ] })
18132
18206
  ] })
@@ -18157,8 +18231,8 @@ function ReleaseDetailPage({
18157
18231
  videoBites,
18158
18232
  bitesTitle: "Video Clips",
18159
18233
  filterPublishedBites: true,
18160
- srtContent: _optionalChain([release, 'optionalAccess', _449 => _449.srt_content]),
18161
- captionsUrl: _optionalChain([release, 'optionalAccess', _450 => _450.captionsUrl])
18234
+ srtContent: _optionalChain([release, 'optionalAccess', _451 => _451.srt_content]),
18235
+ captionsUrl: _optionalChain([release, 'optionalAccess', _452 => _452.captionsUrl])
18162
18236
  }
18163
18237
  ) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
18164
18238
  youtubeUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -18174,8 +18248,8 @@ function ReleaseDetailPage({
18174
18248
  Video2,
18175
18249
  {
18176
18250
  url: mainVideoUrl,
18177
- srtContent: _optionalChain([release, 'optionalAccess', _451 => _451.srt_content]),
18178
- captionsUrl: _optionalChain([release, 'optionalAccess', _452 => _452.captionsUrl]),
18251
+ srtContent: _optionalChain([release, 'optionalAccess', _453 => _453.srt_content]),
18252
+ captionsUrl: _optionalChain([release, 'optionalAccess', _454 => _454.captionsUrl]),
18179
18253
  layout: "centered"
18180
18254
  }
18181
18255
  ),
@@ -18265,7 +18339,7 @@ function ReleaseDetailPage({
18265
18339
  }
18266
18340
  )
18267
18341
  ] }),
18268
- (_optionalChain([githubReleases, 'optionalAccess', _453 => _453.length]) || _optionalChain([knowledgeBaseLinks, 'optionalAccess', _454 => _454.length]) || migrationGuideUrl || documentationUrl) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1 w-full", children: [
18342
+ (_optionalChain([githubReleases, 'optionalAccess', _455 => _455.length]) || _optionalChain([knowledgeBaseLinks, 'optionalAccess', _456 => _456.length]) || migrationGuideUrl || documentationUrl) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1 w-full", children: [
18269
18343
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h5 tracking-[-0.28px] text-ods-text-secondary", children: "Related Links" }),
18270
18344
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Card, { className: "bg-ods-card border-ods-border p-6", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
18271
18345
  githubReleases && githubReleases.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: githubReleases.map((ghRelease) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-1", children: [
@@ -18294,7 +18368,7 @@ function ReleaseDetailPage({
18294
18368
  {
18295
18369
  href: path.startsWith("http") ? path : `/knowledge-base${path.startsWith("/") ? "" : "/"}${path}`,
18296
18370
  className: "text-h4 text-[#ffc008] hover:underline",
18297
- children: _optionalChain([path, 'access', _455 => _455.replace, 'call', _456 => _456(/^\//, ""), 'access', _457 => _457.split, 'call', _458 => _458("/"), 'access', _459 => _459.pop, 'call', _460 => _460(), 'optionalAccess', _461 => _461.replace, 'call', _462 => _462(/-/g, " ")]) || "View Article"
18371
+ children: _optionalChain([path, 'access', _457 => _457.replace, 'call', _458 => _458(/^\//, ""), 'access', _459 => _459.split, 'call', _460 => _460("/"), 'access', _461 => _461.pop, 'call', _462 => _462(), 'optionalAccess', _463 => _463.replace, 'call', _464 => _464(/-/g, " ")]) || "View Article"
18298
18372
  }
18299
18373
  ),
18300
18374
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-6 w-6 text-[#ffc008] shrink-0" })
@@ -18940,7 +19014,7 @@ function TagsManager({
18940
19014
  const name = search.trim();
18941
19015
  if (!name) return;
18942
19016
  const result = await onCreateTag(name);
18943
- if (_optionalChain([result, 'optionalAccess', _463 => _463.id])) {
19017
+ if (_optionalChain([result, 'optionalAccess', _465 => _465.id])) {
18944
19018
  onChange([...selectedIds, result.id]);
18945
19019
  setSearch("");
18946
19020
  }
@@ -18948,7 +19022,7 @@ function TagsManager({
18948
19022
  const startEdit = React55.useCallback((id, name) => {
18949
19023
  setEditingId(id);
18950
19024
  setEditingName(name);
18951
- setTimeout(() => _optionalChain([editInputRef, 'access', _464 => _464.current, 'optionalAccess', _465 => _465.focus, 'call', _466 => _466()]), 0);
19025
+ setTimeout(() => _optionalChain([editInputRef, 'access', _466 => _466.current, 'optionalAccess', _467 => _467.focus, 'call', _468 => _468()]), 0);
18952
19026
  }, []);
18953
19027
  const confirmEdit = React55.useCallback(async () => {
18954
19028
  if (!onUpdateTag || !editingId || !editingName.trim()) return;
@@ -18975,7 +19049,7 @@ function TagsManager({
18975
19049
  e.stopPropagation();
18976
19050
  onChange([]);
18977
19051
  setSearch("");
18978
- _optionalChain([inputRef, 'access', _467 => _467.current, 'optionalAccess', _468 => _468.focus, 'call', _469 => _469()]);
19052
+ _optionalChain([inputRef, 'access', _469 => _469.current, 'optionalAccess', _470 => _470.focus, 'call', _471 => _471()]);
18979
19053
  },
18980
19054
  [onChange]
18981
19055
  );
@@ -19074,10 +19148,10 @@ function TagsManager({
19074
19148
  align: "start",
19075
19149
  onOpenAutoFocus: (e) => {
19076
19150
  e.preventDefault();
19077
- _optionalChain([inputRef, 'access', _470 => _470.current, 'optionalAccess', _471 => _471.focus, 'call', _472 => _472()]);
19151
+ _optionalChain([inputRef, 'access', _472 => _472.current, 'optionalAccess', _473 => _473.focus, 'call', _474 => _474()]);
19078
19152
  },
19079
19153
  onInteractOutside: (e) => {
19080
- if (_optionalChain([containerRef, 'access', _473 => _473.current, 'optionalAccess', _474 => _474.contains, 'call', _475 => _475(e.target)])) {
19154
+ if (_optionalChain([containerRef, 'access', _475 => _475.current, 'optionalAccess', _476 => _476.contains, 'call', _477 => _477(e.target)])) {
19081
19155
  e.preventDefault();
19082
19156
  }
19083
19157
  },
@@ -20181,19 +20255,19 @@ function TabNavigation({
20181
20255
  const validTabIds = _react.useMemo.call(void 0, () => new Set(tabs.map((t) => t.id)), [tabs]);
20182
20256
  const getInitialTab = () => {
20183
20257
  if (isUrlSyncEnabled) {
20184
- const fromUrl = _optionalChain([searchParams, 'optionalAccess', _476 => _476.get, 'call', _477 => _477(paramName)]) || "";
20258
+ const fromUrl = _optionalChain([searchParams, 'optionalAccess', _478 => _478.get, 'call', _479 => _479(paramName)]) || "";
20185
20259
  if (validTabIds.has(fromUrl)) {
20186
20260
  return fromUrl;
20187
20261
  }
20188
20262
  }
20189
- return defaultTab || _optionalChain([tabs, 'access', _478 => _478[0], 'optionalAccess', _479 => _479.id]) || "";
20263
+ return defaultTab || _optionalChain([tabs, 'access', _480 => _480[0], 'optionalAccess', _481 => _481.id]) || "";
20190
20264
  };
20191
20265
  const [internalActiveTab, setInternalActiveTab] = _react.useState.call(void 0, getInitialTab);
20192
20266
  const activeTab = isUrlSyncEnabled ? internalActiveTab : controlledActiveTab || "";
20193
20267
  _react.useEffect.call(void 0, () => {
20194
20268
  if (!isUrlSyncEnabled) return;
20195
- const fromUrl = _optionalChain([searchParams, 'optionalAccess', _480 => _480.get, 'call', _481 => _481(paramName)]) || "";
20196
- const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _482 => _482[0], 'optionalAccess', _483 => _483.id]) || "";
20269
+ const fromUrl = _optionalChain([searchParams, 'optionalAccess', _482 => _482.get, 'call', _483 => _483(paramName)]) || "";
20270
+ const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _484 => _484[0], 'optionalAccess', _485 => _485.id]) || "";
20197
20271
  if (nextTab !== internalActiveTab) {
20198
20272
  setInternalActiveTab(nextTab);
20199
20273
  }
@@ -20201,13 +20275,13 @@ function TabNavigation({
20201
20275
  const handleTabChange = (tabId) => {
20202
20276
  if (isUrlSyncEnabled) {
20203
20277
  setInternalActiveTab(tabId);
20204
- const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _484 => _484.toString, 'call', _485 => _485()]));
20278
+ const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _486 => _486.toString, 'call', _487 => _487()]));
20205
20279
  params.set(paramName, tabId);
20206
20280
  const method = replaceState ? "replace" : "push";
20207
20281
  router[method](`${pathname}?${params.toString()}`);
20208
- _optionalChain([controlledOnTabChange, 'optionalCall', _486 => _486(tabId)]);
20282
+ _optionalChain([controlledOnTabChange, 'optionalCall', _488 => _488(tabId)]);
20209
20283
  } else {
20210
- _optionalChain([controlledOnTabChange, 'optionalCall', _487 => _487(tabId)]);
20284
+ _optionalChain([controlledOnTabChange, 'optionalCall', _489 => _489(tabId)]);
20211
20285
  }
20212
20286
  };
20213
20287
  const scrollRef = _react.useRef.call(void 0, null);
@@ -20295,7 +20369,7 @@ function TabNavigation({
20295
20369
  var getTabById = (tabs, tabId) => tabs.find((tab) => tab.id === tabId);
20296
20370
  var getTabComponent = (tabs, tabId) => {
20297
20371
  const tab = getTabById(tabs, tabId);
20298
- return _optionalChain([tab, 'optionalAccess', _488 => _488.component]) || null;
20372
+ return _optionalChain([tab, 'optionalAccess', _490 => _490.component]) || null;
20299
20373
  };
20300
20374
 
20301
20375
  // src/components/ui/alert.tsx
@@ -20632,16 +20706,16 @@ function FilterModal({
20632
20706
  };
20633
20707
  const handleReset = () => {
20634
20708
  onFilterChange({});
20635
- _optionalChain([onTagsChange, 'optionalCall', _489 => _489([])]);
20709
+ _optionalChain([onTagsChange, 'optionalCall', _491 => _491([])]);
20636
20710
  onClose();
20637
20711
  };
20638
20712
  const handleApply = () => {
20639
20713
  onFilterChange(selectedFilters);
20640
- _optionalChain([onTagsChange, 'optionalCall', _490 => _490(pendingTags)]);
20714
+ _optionalChain([onTagsChange, 'optionalCall', _492 => _492(pendingTags)]);
20641
20715
  onClose();
20642
20716
  };
20643
20717
  const getColumnDirection = (columnKey) => {
20644
- return _optionalChain([sortConfig, 'optionalAccess', _491 => _491.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
20718
+ return _optionalChain([sortConfig, 'optionalAccess', _493 => _493.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
20645
20719
  };
20646
20720
  const hasSort = !!sortConfig && sortConfig.columns.length > 0;
20647
20721
  const hasFilterGroups = filterGroups.length > 0;
@@ -20690,7 +20764,7 @@ function FilterModal({
20690
20764
  {
20691
20765
  column,
20692
20766
  currentDirection: getColumnDirection(column.key),
20693
- onSort: (direction) => _optionalChain([onSort, 'optionalCall', _492 => _492(column.key, direction)]),
20767
+ onSort: (direction) => _optionalChain([onSort, 'optionalCall', _494 => _494(column.key, direction)]),
20694
20768
  onClear: onSortClear ? () => onSortClear(column.key) : void 0
20695
20769
  },
20696
20770
  column.key
@@ -20856,9 +20930,9 @@ function TitleBlock({
20856
20930
  const [imageFailed, setImageFailed] = React37.default.useState(false);
20857
20931
  React37.default.useEffect(() => {
20858
20932
  setImageFailed(false);
20859
- }, [_optionalChain([image, 'optionalAccess', _493 => _493.src])]);
20933
+ }, [_optionalChain([image, 'optionalAccess', _495 => _495.src])]);
20860
20934
  const showImageFallback = !!image && (imageFailed || !image.src);
20861
- const initials = getInitials3(_optionalChain([image, 'optionalAccess', _494 => _494.alt]) || title);
20935
+ const initials = getInitials3(_optionalChain([image, 'optionalAccess', _496 => _496.alt]) || title);
20862
20936
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
20863
20937
  "div",
20864
20938
  {
@@ -21654,26 +21728,26 @@ function DeviceCard({
21654
21728
  ] }),
21655
21729
  device.organization && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary truncate", children: device.organization })
21656
21730
  ] }),
21657
- _optionalChain([actions, 'access', _495 => _495.moreButton, 'optionalAccess', _496 => _496.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21731
+ _optionalChain([actions, 'access', _497 => _497.moreButton, 'optionalAccess', _498 => _498.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21658
21732
  "div",
21659
21733
  {
21660
21734
  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",
21661
21735
  onClick: (e) => {
21662
21736
  e.stopPropagation();
21663
- _optionalChain([actions, 'access', _497 => _497.moreButton, 'optionalAccess', _498 => _498.onClick, 'optionalCall', _499 => _499()]);
21737
+ _optionalChain([actions, 'access', _499 => _499.moreButton, 'optionalAccess', _500 => _500.onClick, 'optionalCall', _501 => _501()]);
21664
21738
  },
21665
21739
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Ellipsis01Icon, { className: "text-ods-text-primary" })
21666
21740
  }
21667
21741
  ),
21668
- _optionalChain([actions, 'access', _500 => _500.detailsButton, 'optionalAccess', _501 => _501.visible]) !== false && _optionalChain([actions, 'access', _502 => _502.detailsButton, 'optionalAccess', _503 => _503.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
21669
- _optionalChain([actions, 'access', _504 => _504.customActions, 'optionalAccess', _505 => _505.map, 'call', _506 => _506(
21742
+ _optionalChain([actions, 'access', _502 => _502.detailsButton, 'optionalAccess', _503 => _503.visible]) !== false && _optionalChain([actions, 'access', _504 => _504.detailsButton, 'optionalAccess', _505 => _505.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
21743
+ _optionalChain([actions, 'access', _506 => _506.customActions, 'optionalAccess', _507 => _507.map, 'call', _508 => _508(
21670
21744
  (action, index) => action.visible !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21671
21745
  "div",
21672
21746
  {
21673
21747
  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",
21674
21748
  onClick: (e) => {
21675
21749
  e.stopPropagation();
21676
- _optionalChain([action, 'access', _507 => _507.onClick, 'optionalCall', _508 => _508()]);
21750
+ _optionalChain([action, 'access', _509 => _509.onClick, 'optionalCall', _510 => _510()]);
21677
21751
  },
21678
21752
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h3 text-ods-text-primary text-nowrap tracking-[-0.36px]", children: action.label })
21679
21753
  },
@@ -22032,7 +22106,7 @@ function MoreActionsMenu({
22032
22106
  ] });
22033
22107
  const handleActivate = (e) => {
22034
22108
  e.stopPropagation();
22035
- if (!item.disabled) _optionalChain([item, 'access', _509 => _509.onClick, 'optionalCall', _510 => _510()]);
22109
+ if (!item.disabled) _optionalChain([item, 'access', _511 => _511.onClick, 'optionalCall', _512 => _512()]);
22036
22110
  };
22037
22111
  if (item.href) {
22038
22112
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -22182,7 +22256,7 @@ function OrganizationIcon({
22182
22256
  backgroundStyle = "dark"
22183
22257
  }) {
22184
22258
  const { width, height } = imageSizeMap2[size];
22185
- const initials = _optionalChain([organizationName, 'optionalAccess', _511 => _511.substring, 'call', _512 => _512(0, 2)]) || "??";
22259
+ const initials = _optionalChain([organizationName, 'optionalAccess', _513 => _513.substring, 'call', _514 => _514(0, 2)]) || "??";
22186
22260
  const containerClasses = _chunkUC43NICZcjs.cn.call(void 0,
22187
22261
  sizeClasses3[size],
22188
22262
  "rounded-lg flex items-center justify-center flex-shrink-0 relative",
@@ -22233,7 +22307,7 @@ function OrganizationCard({
22233
22307
  const handleActionClick = (e) => {
22234
22308
  e.preventDefault();
22235
22309
  e.stopPropagation();
22236
- _optionalChain([actionButton, 'optionalAccess', _513 => _513.onClick, 'call', _514 => _514(organization, e)]);
22310
+ _optionalChain([actionButton, 'optionalAccess', _515 => _515.onClick, 'call', _516 => _516(organization, e)]);
22237
22311
  };
22238
22312
  const card = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
22239
22313
  "div",
@@ -22390,7 +22464,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
22390
22464
  onKeyDown: (e) => {
22391
22465
  if (e.key === "Enter" || e.key === " ") {
22392
22466
  e.preventDefault();
22393
- _optionalChain([onClick, 'optionalCall', _515 => _515()]);
22467
+ _optionalChain([onClick, 'optionalCall', _517 => _517()]);
22394
22468
  }
22395
22469
  },
22396
22470
  children: [
@@ -22491,7 +22565,7 @@ var LogsList = React79.forwardRef(({
22491
22565
  log,
22492
22566
  isLast: index === logs.length - 1,
22493
22567
  showConnector,
22494
- onClick: () => _optionalChain([onLogClick, 'optionalCall', _516 => _516(log)])
22568
+ onClick: () => _optionalChain([onLogClick, 'optionalCall', _518 => _518(log)])
22495
22569
  },
22496
22570
  log.id
22497
22571
  ))
@@ -23080,7 +23154,7 @@ function CursorPaginationSimple({
23080
23154
  {
23081
23155
  variant: "transparent",
23082
23156
  size: "icon",
23083
- onClick: () => _optionalChain([onPrevious, 'optionalCall', _517 => _517("")]),
23157
+ onClick: () => _optionalChain([onPrevious, 'optionalCall', _519 => _519("")]),
23084
23158
  disabled: !hasPreviousPage || loading,
23085
23159
  className: "h-8 w-8",
23086
23160
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
@@ -23092,7 +23166,7 @@ function CursorPaginationSimple({
23092
23166
  {
23093
23167
  variant: "transparent",
23094
23168
  size: "icon",
23095
- onClick: () => _optionalChain([onNext, 'optionalCall', _518 => _518("")]),
23169
+ onClick: () => _optionalChain([onNext, 'optionalCall', _520 => _520("")]),
23096
23170
  disabled: !hasNextPage || loading,
23097
23171
  className: "h-8 w-8",
23098
23172
  rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
@@ -23152,7 +23226,7 @@ function TableColumnFilterDropdown({
23152
23226
  placement = "bottom-start",
23153
23227
  dropdownClassName = "min-w-[240px]"
23154
23228
  }) {
23155
- const activeCount = _optionalChain([filters, 'optionalAccess', _519 => _519[columnKey], 'optionalAccess', _520 => _520.length]) || 0;
23229
+ const activeCount = _optionalChain([filters, 'optionalAccess', _521 => _521[columnKey], 'optionalAccess', _522 => _522.length]) || 0;
23156
23230
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23157
23231
  FiltersDropdown,
23158
23232
  {
@@ -23195,7 +23269,7 @@ function TableColumnFilterDropdown({
23195
23269
  delete newFilters[columnKey];
23196
23270
  onFilterChange(newFilters);
23197
23271
  },
23198
- currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _521 => _521[columnKey]]) || [] },
23272
+ currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _523 => _523[columnKey]]) || [] },
23199
23273
  placement,
23200
23274
  dropdownClassName
23201
23275
  }
@@ -23492,7 +23566,7 @@ function TableRow({
23492
23566
  const keys = column.key.split(".");
23493
23567
  let value = item;
23494
23568
  for (const key of keys) {
23495
- value = _optionalChain([value, 'optionalAccess', _522 => _522[key]]);
23569
+ value = _optionalChain([value, 'optionalAccess', _524 => _524[key]]);
23496
23570
  }
23497
23571
  if (value === null || value === void 0) {
23498
23572
  return "-";
@@ -23562,7 +23636,7 @@ function TableRow({
23562
23636
  // src/components/ui/table/table.tsx
23563
23637
 
23564
23638
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
23565
- const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _523 => _523.length])) || Boolean(renderRowActions);
23639
+ const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _525 => _525.length])) || Boolean(renderRowActions);
23566
23640
  const result = [...columns];
23567
23641
  if (hasActions) {
23568
23642
  const actionsColumn = {
@@ -23656,7 +23730,7 @@ function Table({
23656
23730
  return rowKey(item);
23657
23731
  }
23658
23732
  const key = item[rowKey];
23659
- return _optionalChain([key, 'optionalAccess', _524 => _524.toString, 'call', _525 => _525()]) || index.toString();
23733
+ return _optionalChain([key, 'optionalAccess', _526 => _526.toString, 'call', _527 => _527()]) || index.toString();
23660
23734
  };
23661
23735
  const getRowClassName = (item, index) => {
23662
23736
  if (typeof rowClassName === "function") {
@@ -23690,23 +23764,23 @@ function Table({
23690
23764
  const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
23691
23765
  const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
23692
23766
  const sentinelRef = _react.useRef.call(void 0, null);
23693
- const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _526 => _526.onLoadMore]));
23694
- onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _527 => _527.onLoadMore]);
23767
+ const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _528 => _528.onLoadMore]));
23768
+ onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _529 => _529.onLoadMore]);
23695
23769
  _react.useEffect.call(void 0, () => {
23696
- if (!_optionalChain([infiniteScroll, 'optionalAccess', _528 => _528.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
23770
+ if (!_optionalChain([infiniteScroll, 'optionalAccess', _530 => _530.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
23697
23771
  const sentinel = sentinelRef.current;
23698
23772
  if (!sentinel) return;
23699
23773
  const observer = new IntersectionObserver(
23700
23774
  (entries) => {
23701
- if (_optionalChain([entries, 'access', _529 => _529[0], 'optionalAccess', _530 => _530.isIntersecting])) {
23702
- _optionalChain([onLoadMoreRef, 'access', _531 => _531.current, 'optionalCall', _532 => _532()]);
23775
+ if (_optionalChain([entries, 'access', _531 => _531[0], 'optionalAccess', _532 => _532.isIntersecting])) {
23776
+ _optionalChain([onLoadMoreRef, 'access', _533 => _533.current, 'optionalCall', _534 => _534()]);
23703
23777
  }
23704
23778
  },
23705
23779
  { rootMargin: "200px" }
23706
23780
  );
23707
23781
  observer.observe(sentinel);
23708
23782
  return () => observer.disconnect();
23709
- }, [_optionalChain([infiniteScroll, 'optionalAccess', _533 => _533.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _534 => _534.isFetchingNextPage])]);
23783
+ }, [_optionalChain([infiniteScroll, 'optionalAccess', _535 => _535.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _536 => _536.isFetchingNextPage])]);
23710
23784
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
23711
23785
  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: [
23712
23786
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
@@ -23777,7 +23851,7 @@ function Table({
23777
23851
  },
23778
23852
  getRowKey(item, index)
23779
23853
  )),
23780
- _optionalChain([infiniteScroll, 'optionalAccess', _535 => _535.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23854
+ _optionalChain([infiniteScroll, 'optionalAccess', _537 => _537.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23781
23855
  TableCardSkeleton,
23782
23856
  {
23783
23857
  columns,
@@ -23786,7 +23860,7 @@ function Table({
23786
23860
  hasChevron: Boolean(rowHref)
23787
23861
  }
23788
23862
  ),
23789
- _optionalChain([infiniteScroll, 'optionalAccess', _536 => _536.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
23863
+ _optionalChain([infiniteScroll, 'optionalAccess', _538 => _538.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
23790
23864
  !infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
23791
23865
  "div",
23792
23866
  {
@@ -24144,7 +24218,7 @@ function QueryReportTable({
24144
24218
  );
24145
24219
  const handleExport = () => {
24146
24220
  exportToCSV(data, columns, exportFilename);
24147
- _optionalChain([onExport, 'optionalCall', _537 => _537()]);
24221
+ _optionalChain([onExport, 'optionalCall', _539 => _539()]);
24148
24222
  };
24149
24223
  const tableMinWidth = columns.length * (columnWidth + 16);
24150
24224
  const {
@@ -24317,7 +24391,7 @@ function DataTableColumnFilter({
24317
24391
  align = "left"
24318
24392
  }) {
24319
24393
  const currentValue = column.getFilterValue();
24320
- const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _538 => _538.length]), () => ( 0));
24394
+ const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _540 => _540.length]), () => ( 0));
24321
24395
  const sections = _react.useMemo.call(void 0,
24322
24396
  () => [
24323
24397
  {
@@ -24397,7 +24471,7 @@ function DataTableHeader({
24397
24471
  const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
24398
24472
  if (header.isPlaceholder) return false;
24399
24473
  if (isLgUp) return true;
24400
- return Boolean(_optionalChain([header, 'access', _539 => _539.column, 'access', _540 => _540.columnDef, 'access', _541 => _541.meta, 'optionalAccess', _542 => _542.filter]));
24474
+ return Boolean(_optionalChain([header, 'access', _541 => _541.column, 'access', _542 => _542.columnDef, 'access', _543 => _543.meta, 'optionalAccess', _544 => _544.filter]));
24401
24475
  });
24402
24476
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24403
24477
  "div",
@@ -24427,20 +24501,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
24427
24501
  if (header.isPlaceholder) return null;
24428
24502
  const column = header.column;
24429
24503
  const meta = column.columnDef.meta;
24430
- const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _543 => _543.filter]));
24431
- const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _544 => _544.align]), () => ( "left"));
24432
- const canSort = _optionalChain([meta, 'optionalAccess', _545 => _545.sortable]) === true;
24433
- const sortDir = _optionalChain([sort, 'optionalAccess', _546 => _546.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
24504
+ const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _545 => _545.filter]));
24505
+ const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _546 => _546.align]), () => ( "left"));
24506
+ const canSort = _optionalChain([meta, 'optionalAccess', _547 => _547.sortable]) === true;
24507
+ const sortDir = _optionalChain([sort, 'optionalAccess', _548 => _548.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
24434
24508
  if (!isLgUp && !hasFilter) return null;
24435
24509
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24436
24510
  "div",
24437
24511
  {
24438
24512
  className: _chunkUC43NICZcjs.cn.call(void 0,
24439
24513
  "flex items-stretch",
24440
- isLgUp && (_optionalChain([meta, 'optionalAccess', _547 => _547.width]) || "flex-1 min-w-0"),
24441
- _optionalChain([meta, 'optionalAccess', _548 => _548.headerClassName]),
24514
+ isLgUp && (_optionalChain([meta, 'optionalAccess', _549 => _549.width]) || "flex-1 min-w-0"),
24515
+ _optionalChain([meta, 'optionalAccess', _550 => _550.headerClassName]),
24442
24516
  // Don't apply hide classes if column is filterable on tablet (keep filter accessible)
24443
- !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _549 => _549.hideAt]))
24517
+ !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _551 => _551.hideAt]))
24444
24518
  ),
24445
24519
  children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24446
24520
  DataTableColumnFilter,
@@ -24459,7 +24533,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
24459
24533
  isLgUp && alignJustify(align),
24460
24534
  canSort && "group cursor-pointer"
24461
24535
  ),
24462
- onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _550 => _550(column.id)]) : void 0,
24536
+ onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _552 => _552(column.id)]) : void 0,
24463
24537
  children: [
24464
24538
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
24465
24539
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -24543,7 +24617,7 @@ function DataTableSkeleton({
24543
24617
  }) {
24544
24618
  const table = useDataTableContext();
24545
24619
  const columns = table.getVisibleFlatColumns();
24546
- const firstColumnId = _optionalChain([columns, 'access', _551 => _551[0], 'optionalAccess', _552 => _552.id]);
24620
+ const firstColumnId = _optionalChain([columns, 'access', _553 => _553[0], 'optionalAccess', _554 => _554.id]);
24547
24621
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
24548
24622
  "div",
24549
24623
  {
@@ -24567,7 +24641,7 @@ function DataTableSkeleton({
24567
24641
  {
24568
24642
  className: _chunkUC43NICZcjs.cn.call(void 0,
24569
24643
  "flex flex-col justify-center shrink-0",
24570
- _optionalChain([meta, 'optionalAccess', _553 => _553.width]) || "flex-1"
24644
+ _optionalChain([meta, 'optionalAccess', _555 => _555.width]) || "flex-1"
24571
24645
  ),
24572
24646
  children: [
24573
24647
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
@@ -24613,7 +24687,7 @@ function DataTableRowImpl({
24613
24687
  (e) => {
24614
24688
  const target = e.target;
24615
24689
  if (target.closest("[data-no-row-click]")) return;
24616
- _optionalChain([onClick, 'optionalCall', _554 => _554(row.original)]);
24690
+ _optionalChain([onClick, 'optionalCall', _556 => _556(row.original)]);
24617
24691
  },
24618
24692
  [onClick, row.original]
24619
24693
  );
@@ -24651,10 +24725,10 @@ function DataTableRowImpl({
24651
24725
  {
24652
24726
  className: _chunkUC43NICZcjs.cn.call(void 0,
24653
24727
  "flex flex-col overflow-hidden",
24654
- alignJustify(_optionalChain([meta, 'optionalAccess', _555 => _555.align])),
24655
- _optionalChain([meta, 'optionalAccess', _556 => _556.width]) || "flex-1 min-w-0",
24656
- _optionalChain([meta, 'optionalAccess', _557 => _557.cellClassName]),
24657
- getHideClasses2(_optionalChain([meta, 'optionalAccess', _558 => _558.hideAt]))
24728
+ alignJustify(_optionalChain([meta, 'optionalAccess', _557 => _557.align])),
24729
+ _optionalChain([meta, 'optionalAccess', _558 => _558.width]) || "flex-1 min-w-0",
24730
+ _optionalChain([meta, 'optionalAccess', _559 => _559.cellClassName]),
24731
+ getHideClasses2(_optionalChain([meta, 'optionalAccess', _560 => _560.hideAt]))
24658
24732
  ),
24659
24733
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
24660
24734
  },
@@ -24700,7 +24774,7 @@ function DataTableBody({
24700
24774
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0, "flex flex-col gap-[var(--spacing-system-xsf)] w-full", className), children: [
24701
24775
  rows.map((row, index) => {
24702
24776
  const item = row.original;
24703
- const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _559 => _559(item)]), () => ( void 0));
24777
+ const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _561 => _561(item)]), () => ( void 0));
24704
24778
  const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
24705
24779
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24706
24780
  DataTableRow,
@@ -24764,7 +24838,7 @@ function DataTableInfiniteFooter({
24764
24838
  if (!sentinel) return;
24765
24839
  const observer = new IntersectionObserver(
24766
24840
  (entries) => {
24767
- if (_optionalChain([entries, 'access', _560 => _560[0], 'optionalAccess', _561 => _561.isIntersecting])) onLoadMoreRef.current();
24841
+ if (_optionalChain([entries, 'access', _562 => _562[0], 'optionalAccess', _563 => _563.isIntersecting])) onLoadMoreRef.current();
24768
24842
  },
24769
24843
  { rootMargin }
24770
24844
  );
@@ -24812,7 +24886,7 @@ function DataTableRowCount({
24812
24886
  const table = useDataTableContext();
24813
24887
  const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
24814
24888
  if (hideWhenEmpty && count === 0) return null;
24815
- const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _562 => _562(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
24889
+ const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _564 => _564(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
24816
24890
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
24817
24891
  "span",
24818
24892
  {
@@ -24906,12 +24980,12 @@ function PhoneInput({
24906
24980
  const runValidation = _react.useCallback.call(void 0, (phone) => {
24907
24981
  if (!phone || digitCount(phone) === 0) {
24908
24982
  setIsInvalid(false);
24909
- _optionalChain([onValidationChange, 'optionalCall', _563 => _563(false)]);
24983
+ _optionalChain([onValidationChange, 'optionalCall', _565 => _565(false)]);
24910
24984
  return;
24911
24985
  }
24912
24986
  const invalid = !validatePhoneNumber(phone, countryCode);
24913
24987
  setIsInvalid(invalid);
24914
- _optionalChain([onValidationChange, 'optionalCall', _564 => _564(invalid)]);
24988
+ _optionalChain([onValidationChange, 'optionalCall', _566 => _566(invalid)]);
24915
24989
  }, [countryCode, digitCount, onValidationChange]);
24916
24990
  const debouncedValidation = _react.useCallback.call(void 0, (phone) => {
24917
24991
  if (debounceRef.current) clearTimeout(debounceRef.current);
@@ -24960,7 +25034,7 @@ function PhoneInput({
24960
25034
  debouncedValidation(val);
24961
25035
  } else if (digitCount(val) === 0) {
24962
25036
  setIsInvalid(false);
24963
- _optionalChain([onValidationChange, 'optionalCall', _565 => _565(false)]);
25037
+ _optionalChain([onValidationChange, 'optionalCall', _567 => _567(false)]);
24964
25038
  }
24965
25039
  }
24966
25040
  },
@@ -25067,7 +25141,7 @@ function SearchInput({
25067
25141
  if (!showHiddenTags) return;
25068
25142
  const handleClick = (e) => {
25069
25143
  const target = e.target;
25070
- if (!_optionalChain([hiddenTagsRef, 'access', _566 => _566.current, 'optionalAccess', _567 => _567.contains, 'call', _568 => _568(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _569 => _569.current, 'optionalAccess', _570 => _570.contains, 'call', _571 => _571(target)])) {
25144
+ if (!_optionalChain([hiddenTagsRef, 'access', _568 => _568.current, 'optionalAccess', _569 => _569.contains, 'call', _570 => _570(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _571 => _571.current, 'optionalAccess', _572 => _572.contains, 'call', _573 => _573(target)])) {
25071
25145
  setShowHiddenTags(false);
25072
25146
  }
25073
25147
  };
@@ -25115,10 +25189,10 @@ function SearchInput({
25115
25189
  } else {
25116
25190
  setInternalValue("");
25117
25191
  }
25118
- _optionalChain([inputRef, 'access', _572 => _572.current, 'optionalAccess', _573 => _573.focus, 'call', _574 => _574()]);
25192
+ _optionalChain([inputRef, 'access', _574 => _574.current, 'optionalAccess', _575 => _575.focus, 'call', _576 => _576()]);
25119
25193
  };
25120
25194
  const handleResultClick = (result, e) => {
25121
- _optionalChain([onResultSelect, 'optionalCall', _575 => _575(
25195
+ _optionalChain([onResultSelect, 'optionalCall', _577 => _577(
25122
25196
  result,
25123
25197
  e ? {
25124
25198
  metaKey: e.metaKey,
@@ -25150,7 +25224,7 @@ function SearchInput({
25150
25224
  if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
25151
25225
  handleResultClick(flatResults[highlightedIndex]);
25152
25226
  } else {
25153
- _optionalChain([onSubmit, 'optionalCall', _576 => _576(currentValue)]);
25227
+ _optionalChain([onSubmit, 'optionalCall', _578 => _578(currentValue)]);
25154
25228
  }
25155
25229
  break;
25156
25230
  case "Escape":
@@ -25228,7 +25302,7 @@ function SearchInput({
25228
25302
  dropdownVisible && "!border-ods-accent"
25229
25303
  ),
25230
25304
  onClick: () => {
25231
- _optionalChain([inputRef, 'access', _577 => _577.current, 'optionalAccess', _578 => _578.focus, 'call', _579 => _579()]);
25305
+ _optionalChain([inputRef, 'access', _579 => _579.current, 'optionalAccess', _580 => _580.focus, 'call', _581 => _581()]);
25232
25306
  setIsOpen(true);
25233
25307
  },
25234
25308
  children: [
@@ -25312,10 +25386,10 @@ function SearchInput({
25312
25386
  align: "start",
25313
25387
  onOpenAutoFocus: (e) => {
25314
25388
  e.preventDefault();
25315
- _optionalChain([inputRef, 'access', _580 => _580.current, 'optionalAccess', _581 => _581.focus, 'call', _582 => _582()]);
25389
+ _optionalChain([inputRef, 'access', _582 => _582.current, 'optionalAccess', _583 => _583.focus, 'call', _584 => _584()]);
25316
25390
  },
25317
25391
  onInteractOutside: (e) => {
25318
- if (_optionalChain([containerRef, 'access', _583 => _583.current, 'optionalAccess', _584 => _584.contains, 'call', _585 => _585(e.target)])) {
25392
+ if (_optionalChain([containerRef, 'access', _585 => _585.current, 'optionalAccess', _586 => _586.contains, 'call', _587 => _587(e.target)])) {
25319
25393
  e.preventDefault();
25320
25394
  }
25321
25395
  },
@@ -25332,10 +25406,10 @@ function SearchInput({
25332
25406
  ref: hiddenTagsPopupRef,
25333
25407
  items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
25334
25408
  style: {
25335
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _586 => _586.current, 'optionalAccess', _587 => _587.getBoundingClientRect, 'call', _588 => _588(), 'access', _589 => _589.left]), () => ( 0))) : 0
25409
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _588 => _588.current, 'optionalAccess', _589 => _589.getBoundingClientRect, 'call', _590 => _590(), 'access', _591 => _591.left]), () => ( 0))) : 0
25336
25410
  },
25337
25411
  onRemove: (value2) => {
25338
- _optionalChain([onFilterRemove, 'optionalCall', _590 => _590(value2)]);
25412
+ _optionalChain([onFilterRemove, 'optionalCall', _592 => _592(value2)]);
25339
25413
  if (hiddenCount <= 1) setShowHiddenTags(false);
25340
25414
  }
25341
25415
  }
@@ -25386,7 +25460,7 @@ function FilterListItem({
25386
25460
  }) {
25387
25461
  const handleToggle = () => {
25388
25462
  if (disabled) return;
25389
- _optionalChain([onToggle, 'optionalCall', _591 => _591(!selected)]);
25463
+ _optionalChain([onToggle, 'optionalCall', _593 => _593(!selected)]);
25390
25464
  };
25391
25465
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
25392
25466
  "div",
@@ -25433,7 +25507,7 @@ function FilterListItem({
25433
25507
  CheckboxPrimitive4.Root,
25434
25508
  {
25435
25509
  checked: selected,
25436
- onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _592 => _592(c === true)]),
25510
+ onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _594 => _594(c === true)]),
25437
25511
  onClick: (e) => e.stopPropagation(),
25438
25512
  disabled,
25439
25513
  "aria-label": title,
@@ -25532,7 +25606,7 @@ function TagSearchInput({
25532
25606
  if (!showHiddenTags) return;
25533
25607
  const handleClick = (e) => {
25534
25608
  const target = e.target;
25535
- if (!_optionalChain([hiddenTagsRef, 'access', _593 => _593.current, 'optionalAccess', _594 => _594.contains, 'call', _595 => _595(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _596 => _596.current, 'optionalAccess', _597 => _597.contains, 'call', _598 => _598(target)])) {
25609
+ if (!_optionalChain([hiddenTagsRef, 'access', _595 => _595.current, 'optionalAccess', _596 => _596.contains, 'call', _597 => _597(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _598 => _598.current, 'optionalAccess', _599 => _599.contains, 'call', _600 => _600(target)])) {
25536
25610
  setShowHiddenTags(false);
25537
25611
  }
25538
25612
  };
@@ -25548,13 +25622,13 @@ function TagSearchInput({
25548
25622
  e.preventDefault();
25549
25623
  onSubmit(searchValue);
25550
25624
  }
25551
- _optionalChain([onKeyDown, 'optionalCall', _599 => _599(e)]);
25625
+ _optionalChain([onKeyDown, 'optionalCall', _601 => _601(e)]);
25552
25626
  };
25553
25627
  const handleClearAll = (e) => {
25554
25628
  e.stopPropagation();
25555
25629
  e.preventDefault();
25556
- _optionalChain([onClearAll, 'optionalCall', _600 => _600()]);
25557
- _optionalChain([inputRef, 'access', _601 => _601.current, 'optionalAccess', _602 => _602.focus, 'call', _603 => _603()]);
25630
+ _optionalChain([onClearAll, 'optionalCall', _602 => _602()]);
25631
+ _optionalChain([inputRef, 'access', _603 => _603.current, 'optionalAccess', _604 => _604.focus, 'call', _605 => _605()]);
25558
25632
  };
25559
25633
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
25560
25634
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -25571,7 +25645,7 @@ function TagSearchInput({
25571
25645
  className
25572
25646
  ),
25573
25647
  onClick: () => {
25574
- if (!disabled) _optionalChain([inputRef, 'access', _604 => _604.current, 'optionalAccess', _605 => _605.focus, 'call', _606 => _606()]);
25648
+ if (!disabled) _optionalChain([inputRef, 'access', _606 => _606.current, 'optionalAccess', _607 => _607.focus, 'call', _608 => _608()]);
25575
25649
  },
25576
25650
  children: [
25577
25651
  /* @__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" }) }),
@@ -25643,7 +25717,7 @@ function TagSearchInput({
25643
25717
  items: hiddenTags,
25644
25718
  disabled,
25645
25719
  style: {
25646
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _607 => _607.current, 'optionalAccess', _608 => _608.getBoundingClientRect, 'call', _609 => _609(), 'access', _610 => _610.left]), () => ( 0))) : 0
25720
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _609 => _609.current, 'optionalAccess', _610 => _610.getBoundingClientRect, 'call', _611 => _611(), 'access', _612 => _612.left]), () => ( 0))) : 0
25647
25721
  },
25648
25722
  onRemove: (value) => {
25649
25723
  onTagRemove(value);
@@ -25745,7 +25819,7 @@ function MarkdownEditor({
25745
25819
  const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
25746
25820
  _react.useEffect.call(void 0, () => {
25747
25821
  Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
25748
- if (_optionalChain([mod, 'access', _611 => _611.commands, 'optionalAccess', _612 => _612.getExtraCommands])) {
25822
+ if (_optionalChain([mod, 'access', _613 => _613.commands, 'optionalAccess', _614 => _614.getExtraCommands])) {
25749
25823
  setDefaultExtraCommands(mod.commands.getExtraCommands());
25750
25824
  }
25751
25825
  });
@@ -25779,7 +25853,7 @@ function MarkdownEditor({
25779
25853
  const isImage = file.type.startsWith("image/");
25780
25854
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
25781
25855
  insertTextAtCursor(markdown);
25782
- _optionalChain([onFileUploaded, 'optionalCall', _613 => _613(url, file.name)]);
25856
+ _optionalChain([onFileUploaded, 'optionalCall', _615 => _615(url, file.name)]);
25783
25857
  } catch (error) {
25784
25858
  console.error("File upload failed:", error);
25785
25859
  setUploadProgress("Upload failed. Please try again.");
@@ -25792,7 +25866,7 @@ function MarkdownEditor({
25792
25866
  );
25793
25867
  const handleFileInputChange = _react.useCallback.call(void 0,
25794
25868
  (e) => {
25795
- const file = _optionalChain([e, 'access', _614 => _614.target, 'access', _615 => _615.files, 'optionalAccess', _616 => _616[0]]);
25869
+ const file = _optionalChain([e, 'access', _616 => _616.target, 'access', _617 => _617.files, 'optionalAccess', _618 => _618[0]]);
25796
25870
  if (file) {
25797
25871
  handleFileUpload(file);
25798
25872
  e.target.value = "";
@@ -25803,7 +25877,7 @@ function MarkdownEditor({
25803
25877
  const handlePaste = _react.useCallback.call(void 0,
25804
25878
  (e) => {
25805
25879
  if (!onUploadFile) return;
25806
- const items = _optionalChain([e, 'access', _617 => _617.clipboardData, 'optionalAccess', _618 => _618.items]);
25880
+ const items = _optionalChain([e, 'access', _619 => _619.clipboardData, 'optionalAccess', _620 => _620.items]);
25807
25881
  if (!items) return;
25808
25882
  for (const item of items) {
25809
25883
  if (item.type.startsWith("image/")) {
@@ -25828,7 +25902,7 @@ function MarkdownEditor({
25828
25902
  buttonProps: { "aria-label": "Upload file", title: "Upload file" },
25829
25903
  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" }),
25830
25904
  execute: () => {
25831
- _optionalChain([fileInputRef, 'access', _619 => _619.current, 'optionalAccess', _620 => _620.click, 'call', _621 => _621()]);
25905
+ _optionalChain([fileInputRef, 'access', _621 => _621.current, 'optionalAccess', _622 => _622.click, 'call', _623 => _623()]);
25832
25906
  }
25833
25907
  } : null;
25834
25908
  const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
@@ -25840,7 +25914,7 @@ function MarkdownEditor({
25840
25914
  const EDGE_ZONE = 60;
25841
25915
  const MAX_SCROLL_SPEED = 15;
25842
25916
  const findScrollParent = _react.useCallback.call(void 0, (el) => {
25843
- let node = _optionalChain([el, 'optionalAccess', _622 => _622.parentElement]);
25917
+ let node = _optionalChain([el, 'optionalAccess', _624 => _624.parentElement]);
25844
25918
  while (node && node !== document.documentElement) {
25845
25919
  const { overflowY } = window.getComputedStyle(node);
25846
25920
  if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
@@ -25983,7 +26057,7 @@ function matchesAccept(file, accept) {
25983
26057
  });
25984
26058
  }
25985
26059
  function dragHasFiles(e) {
25986
- const types = _optionalChain([e, 'access', _623 => _623.dataTransfer, 'optionalAccess', _624 => _624.types]);
26060
+ const types = _optionalChain([e, 'access', _625 => _625.dataTransfer, 'optionalAccess', _626 => _626.types]);
25987
26061
  if (!types) return false;
25988
26062
  for (let i = 0; i < types.length; i++) {
25989
26063
  if (types[i] === "Files") return true;
@@ -26078,7 +26152,7 @@ function FileUpload({
26078
26152
  e.stopPropagation();
26079
26153
  setDragActive(false);
26080
26154
  if (disabled) return;
26081
- if (_optionalChain([e, 'access', _625 => _625.dataTransfer, 'access', _626 => _626.files, 'optionalAccess', _627 => _627.length])) {
26155
+ if (_optionalChain([e, 'access', _627 => _627.dataTransfer, 'access', _628 => _628.files, 'optionalAccess', _629 => _629.length])) {
26082
26156
  handleFiles(e.dataTransfer.files);
26083
26157
  }
26084
26158
  };
@@ -26106,7 +26180,7 @@ function FileUpload({
26106
26180
  e.preventDefault();
26107
26181
  dragCounter = 0;
26108
26182
  setDragActive(false);
26109
- if (_optionalChain([e, 'access', _628 => _628.dataTransfer, 'optionalAccess', _629 => _629.files, 'optionalAccess', _630 => _630.length])) {
26183
+ if (_optionalChain([e, 'access', _630 => _630.dataTransfer, 'optionalAccess', _631 => _631.files, 'optionalAccess', _632 => _632.length])) {
26110
26184
  handleFilesRef.current(e.dataTransfer.files);
26111
26185
  }
26112
26186
  };
@@ -26128,7 +26202,7 @@ function FileUpload({
26128
26202
  };
26129
26203
  }, [acceptWindowDrops, disabled]);
26130
26204
  const handleFileSelect = (e) => {
26131
- if (_optionalChain([e, 'access', _631 => _631.target, 'access', _632 => _632.files, 'optionalAccess', _633 => _633.length])) {
26205
+ if (_optionalChain([e, 'access', _633 => _633.target, 'access', _634 => _634.files, 'optionalAccess', _635 => _635.length])) {
26132
26206
  handleFiles(e.target.files);
26133
26207
  }
26134
26208
  };
@@ -26145,7 +26219,7 @@ function FileUpload({
26145
26219
  };
26146
26220
  const openDialog = async () => {
26147
26221
  if (disabled) return;
26148
- _optionalChain([fileInputRef, 'access', _634 => _634.current, 'optionalAccess', _635 => _635.click, 'call', _636 => _636()]);
26222
+ _optionalChain([fileInputRef, 'access', _636 => _636.current, 'optionalAccess', _637 => _637.click, 'call', _638 => _638()]);
26149
26223
  };
26150
26224
  const displayError = error || validationError || void 0;
26151
26225
  const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
@@ -26223,7 +26297,7 @@ function FileUpload({
26223
26297
  "button",
26224
26298
  {
26225
26299
  type: "button",
26226
- onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _637 => _637(entry.id)]),
26300
+ onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _639 => _639(entry.id)]),
26227
26301
  className: "shrink-0 p-1 rounded hover:bg-ods-bg transition-colors",
26228
26302
  "aria-label": `Remove ${entry.fileName}`,
26229
26303
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "size-4 text-ods-text-secondary" })
@@ -26346,7 +26420,7 @@ function ImageUploader({
26346
26420
  onChange(file);
26347
26421
  };
26348
26422
  const handleFileSelect = (e) => {
26349
- validateAndEmit(_optionalChain([e, 'access', _638 => _638.target, 'access', _639 => _639.files, 'optionalAccess', _640 => _640[0]]));
26423
+ validateAndEmit(_optionalChain([e, 'access', _640 => _640.target, 'access', _641 => _641.files, 'optionalAccess', _642 => _642[0]]));
26350
26424
  if (inputRef.current) inputRef.current.value = "";
26351
26425
  };
26352
26426
  const handleDrag = (e) => {
@@ -26361,11 +26435,11 @@ function ImageUploader({
26361
26435
  e.stopPropagation();
26362
26436
  setDragActive(false);
26363
26437
  if (!interactive) return;
26364
- validateAndEmit(_optionalChain([e, 'access', _641 => _641.dataTransfer, 'access', _642 => _642.files, 'optionalAccess', _643 => _643[0]]));
26438
+ validateAndEmit(_optionalChain([e, 'access', _643 => _643.dataTransfer, 'access', _644 => _644.files, 'optionalAccess', _645 => _645[0]]));
26365
26439
  };
26366
26440
  const openDialog = () => {
26367
26441
  if (!interactive) return;
26368
- _optionalChain([inputRef, 'access', _644 => _644.current, 'optionalAccess', _645 => _645.click, 'call', _646 => _646()]);
26442
+ _optionalChain([inputRef, 'access', _646 => _646.current, 'optionalAccess', _647 => _647.click, 'call', _648 => _648()]);
26369
26443
  };
26370
26444
  const handleRootKeyDown = (e) => {
26371
26445
  if (hasImage || !interactive) return;
@@ -26522,7 +26596,7 @@ function CompactAssigneeDropdown({
26522
26596
  return [current, ...filtered.filter((o) => o.value !== currentAssignee.id)];
26523
26597
  }, [filtered, currentAssignee]);
26524
26598
  const handleSelect = (userId) => {
26525
- const next = _optionalChain([currentAssignee, 'optionalAccess', _647 => _647.id]) === userId ? null : userId;
26599
+ const next = _optionalChain([currentAssignee, 'optionalAccess', _649 => _649.id]) === userId ? null : userId;
26526
26600
  onAssign(next);
26527
26601
  setIsOpen(false);
26528
26602
  };
@@ -26587,7 +26661,7 @@ function CompactAssigneeDropdown({
26587
26661
  }
26588
26662
  ) }),
26589
26663
  /* @__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) => {
26590
- const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _648 => _648.id]) === opt.value;
26664
+ const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _650 => _650.id]) === opt.value;
26591
26665
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
26592
26666
  "button",
26593
26667
  {
@@ -26656,7 +26730,7 @@ function DefaultAssigneeDropdown({
26656
26730
  Autocomplete,
26657
26731
  {
26658
26732
  options,
26659
- value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _649 => _649.id]), () => ( null)),
26733
+ value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _651 => _651.id]), () => ( null)),
26660
26734
  onChange: (val) => {
26661
26735
  onAssign(val);
26662
26736
  setIsEditing(false);
@@ -27014,14 +27088,14 @@ function TicketInfoSection({
27014
27088
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27015
27089
  SquareAvatar,
27016
27090
  {
27017
- src: _optionalChain([organization, 'optionalAccess', _650 => _650.imageSrc]),
27018
- alt: _optionalChain([organization, 'optionalAccess', _651 => _651.name]),
27019
- fallback: _optionalChain([organization, 'optionalAccess', _652 => _652.name]) || "Org",
27091
+ src: _optionalChain([organization, 'optionalAccess', _652 => _652.imageSrc]),
27092
+ alt: _optionalChain([organization, 'optionalAccess', _653 => _653.name]),
27093
+ fallback: _optionalChain([organization, 'optionalAccess', _654 => _654.name]) || "Org",
27020
27094
  size: "md",
27021
27095
  className: "shrink-0"
27022
27096
  }
27023
27097
  ),
27024
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _653 => _653.name]) || "Unassigned", label: "Organization" })
27098
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _655 => _655.name]) || "Unassigned", label: "Organization" })
27025
27099
  ] }),
27026
27100
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27027
27101
  AssigneeDropdown,
@@ -27042,10 +27116,10 @@ function TicketInfoSection({
27042
27116
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27043
27117
  InfoCell2,
27044
27118
  {
27045
- value: _optionalChain([device, 'optionalAccess', _654 => _654.name]) || "Unassigned",
27119
+ value: _optionalChain([device, 'optionalAccess', _656 => _656.name]) || "Unassigned",
27046
27120
  label: "Device",
27047
- icon: _optionalChain([device, 'optionalAccess', _655 => _655.icon]),
27048
- onClick: _optionalChain([device, 'optionalAccess', _656 => _656.onClick])
27121
+ icon: _optionalChain([device, 'optionalAccess', _657 => _657.icon]),
27122
+ onClick: _optionalChain([device, 'optionalAccess', _658 => _658.onClick])
27049
27123
  }
27050
27124
  ),
27051
27125
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
@@ -27804,10 +27878,10 @@ var getContentDimensions = (config) => {
27804
27878
  const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
27805
27879
  const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
27806
27880
  const envDesktopHeight = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT) : null;
27807
- const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _657 => _657.mobileContentDimensions, 'optionalAccess', _658 => _658.width]))), () => ( defaultMobile.width));
27808
- const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _659 => _659.mobileContentDimensions, 'optionalAccess', _660 => _660.height]))), () => ( defaultMobile.height));
27809
- const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _661 => _661.desktopContentDimensions, 'optionalAccess', _662 => _662.width]))), () => ( defaultDesktop.width));
27810
- const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _663 => _663.desktopContentDimensions, 'optionalAccess', _664 => _664.height]))), () => ( defaultDesktop.height));
27881
+ const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _659 => _659.mobileContentDimensions, 'optionalAccess', _660 => _660.width]))), () => ( defaultMobile.width));
27882
+ const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _661 => _661.mobileContentDimensions, 'optionalAccess', _662 => _662.height]))), () => ( defaultMobile.height));
27883
+ const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _663 => _663.desktopContentDimensions, 'optionalAccess', _664 => _664.width]))), () => ( defaultDesktop.width));
27884
+ const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _665 => _665.desktopContentDimensions, 'optionalAccess', _666 => _666.height]))), () => ( defaultDesktop.height));
27811
27885
  return {
27812
27886
  mobile: { width: mobileWidth, height: mobileHeight },
27813
27887
  desktop: { width: desktopWidth, height: desktopHeight }
@@ -27941,7 +28015,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
27941
28015
  const contentDimensions = getContentDimensions(config);
27942
28016
  const mobileHeight = contentDimensions.mobile.height;
27943
28017
  const calculatedHeight = Math.max(mobileHeight + 100, 400);
27944
- return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _665 => _665.innerHeight]) * 0.85 || 650)}px`;
28018
+ return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _667 => _667.innerHeight]) * 0.85 || 650)}px`;
27945
28019
  })(),
27946
28020
  minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
27947
28021
  const contentDimensions = getContentDimensions(config);
@@ -28046,7 +28120,7 @@ var FigmaPrototypeViewer = ({
28046
28120
  const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
28047
28121
  const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
28048
28122
  const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
28049
- config.defaultSectionId || _optionalChain([config, 'access', _666 => _666.sections, 'access', _667 => _667[0], 'optionalAccess', _668 => _668.id]) || ""
28123
+ config.defaultSectionId || _optionalChain([config, 'access', _668 => _668.sections, 'access', _669 => _669[0], 'optionalAccess', _670 => _670.id]) || ""
28050
28124
  );
28051
28125
  const activeSection = externalActiveSection || internalActiveSection;
28052
28126
  const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
@@ -28136,7 +28210,7 @@ var FigmaPrototypeViewer = ({
28136
28210
  const handleMessage = (event) => {
28137
28211
  if (event.origin !== "https://www.figma.com") return;
28138
28212
  const validEvents = ["INITIAL_LOAD", "NEW_STATE", "PRESENTED_NODE_CHANGED"];
28139
- if (_optionalChain([event, 'access', _669 => _669.data, 'optionalAccess', _670 => _670.type]) && validEvents.includes(event.data.type)) {
28213
+ if (_optionalChain([event, 'access', _671 => _671.data, 'optionalAccess', _672 => _672.type]) && validEvents.includes(event.data.type)) {
28140
28214
  const figmaEvent = event.data;
28141
28215
  console.log("[Figma Event]", figmaEvent.type, viewMode);
28142
28216
  switch (figmaEvent.type) {
@@ -28146,19 +28220,19 @@ var FigmaPrototypeViewer = ({
28146
28220
  setIframeState("READY");
28147
28221
  break;
28148
28222
  case "PRESENTED_NODE_CHANGED":
28149
- if (_optionalChain([figmaEvent, 'access', _671 => _671.data, 'optionalAccess', _672 => _672.presentedNodeId])) {
28223
+ if (_optionalChain([figmaEvent, 'access', _673 => _673.data, 'optionalAccess', _674 => _674.presentedNodeId])) {
28150
28224
  setCurrentNodeId(figmaEvent.data.presentedNodeId);
28151
28225
  if (!isNavigating) {
28152
28226
  const matchingSection = config.sections.find((s) => {
28153
- const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _673 => _673.data, 'optionalAccess', _674 => _674.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _675 => _675.data, 'optionalAccess', _676 => _676.presentedNodeId]);
28154
- const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _677 => _677.data, 'optionalAccess', _678 => _678.presentedNodeId]) || _optionalChain([s, 'access', _679 => _679.mobileStartingNodeId, 'optionalAccess', _680 => _680.replace, 'call', _681 => _681(":", "-")]) === _optionalChain([figmaEvent, 'access', _682 => _682.data, 'optionalAccess', _683 => _683.presentedNodeId]);
28227
+ const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _675 => _675.data, 'optionalAccess', _676 => _676.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _677 => _677.data, 'optionalAccess', _678 => _678.presentedNodeId]);
28228
+ const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _679 => _679.data, 'optionalAccess', _680 => _680.presentedNodeId]) || _optionalChain([s, 'access', _681 => _681.mobileStartingNodeId, 'optionalAccess', _682 => _682.replace, 'call', _683 => _683(":", "-")]) === _optionalChain([figmaEvent, 'access', _684 => _684.data, 'optionalAccess', _685 => _685.presentedNodeId]);
28155
28229
  return desktopMatch || mobileMatch;
28156
28230
  });
28157
28231
  if (matchingSection && matchingSection.id !== activeSection) {
28158
28232
  if (!externalActiveSection) {
28159
28233
  setInternalActiveSection(matchingSection.id);
28160
28234
  }
28161
- _optionalChain([config, 'access', _684 => _684.onSectionChange, 'optionalCall', _685 => _685(matchingSection.id)]);
28235
+ _optionalChain([config, 'access', _686 => _686.onSectionChange, 'optionalCall', _687 => _687(matchingSection.id)]);
28162
28236
  }
28163
28237
  }
28164
28238
  }
@@ -28171,7 +28245,7 @@ var FigmaPrototypeViewer = ({
28171
28245
  }, [config.sections, activeSection, isNavigating, externalActiveSection, config.onSectionChange, viewMode]);
28172
28246
  const navigateToSection = _react.useCallback.call(void 0, (sectionId) => {
28173
28247
  const section = config.sections.find((s) => s.id === sectionId);
28174
- if (!section || !_optionalChain([iframeRef, 'access', _686 => _686.current, 'optionalAccess', _687 => _687.contentWindow]) || !isInitialized) {
28248
+ if (!section || !_optionalChain([iframeRef, 'access', _688 => _688.current, 'optionalAccess', _689 => _689.contentWindow]) || !isInitialized) {
28175
28249
  return;
28176
28250
  }
28177
28251
  setIsNavigating(true);
@@ -28179,7 +28253,7 @@ var FigmaPrototypeViewer = ({
28179
28253
  if (!externalActiveSection) {
28180
28254
  setInternalActiveSection(sectionId);
28181
28255
  }
28182
- _optionalChain([config, 'access', _688 => _688.onSectionChange, 'optionalCall', _689 => _689(sectionId)]);
28256
+ _optionalChain([config, 'access', _690 => _690.onSectionChange, 'optionalCall', _691 => _691(sectionId)]);
28183
28257
  const command = {
28184
28258
  type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
28185
28259
  data: { nodeId }
@@ -28499,7 +28573,7 @@ var FiltersDropdown = ({
28499
28573
  defaults[section.id] = section.defaultSelected || [];
28500
28574
  });
28501
28575
  setSelectedFilters(defaults);
28502
- _optionalChain([onReset, 'optionalCall', _690 => _690()]);
28576
+ _optionalChain([onReset, 'optionalCall', _692 => _692()]);
28503
28577
  setIsOpen(false);
28504
28578
  };
28505
28579
  const handleApply = () => {
@@ -28793,7 +28867,7 @@ function MediaGalleryManager({
28793
28867
  const [deletingIndex, setDeletingIndex] = _react.useState.call(void 0, null);
28794
28868
  const [draggedIndex, setDraggedIndex] = _react.useState.call(void 0, null);
28795
28869
  const handleFileSelect = _react.useCallback.call(void 0, async (event) => {
28796
- const file = _optionalChain([event, 'access', _691 => _691.target, 'access', _692 => _692.files, 'optionalAccess', _693 => _693[0]]);
28870
+ const file = _optionalChain([event, 'access', _693 => _693.target, 'access', _694 => _694.files, 'optionalAccess', _695 => _695[0]]);
28797
28871
  if (!file) return;
28798
28872
  let mediaType;
28799
28873
  if (file.type.startsWith("image/")) {
@@ -28908,7 +28982,7 @@ function MediaGalleryManager({
28908
28982
  {
28909
28983
  type: "button",
28910
28984
  variant: "outline",
28911
- onClick: () => _optionalChain([fileInputRef, 'access', _694 => _694.current, 'optionalAccess', _695 => _695.click, 'call', _696 => _696()]),
28985
+ onClick: () => _optionalChain([fileInputRef, 'access', _696 => _696.current, 'optionalAccess', _697 => _697.click, 'call', _698 => _698()]),
28912
28986
  disabled: isUploading,
28913
28987
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
28914
28988
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -29693,7 +29767,7 @@ function ReleaseMediaManager({
29693
29767
  const fileInputRef = _react.useRef.call(void 0, null);
29694
29768
  const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
29695
29769
  const handleFileSelect = async (event) => {
29696
- const file = _optionalChain([event, 'access', _697 => _697.target, 'access', _698 => _698.files, 'optionalAccess', _699 => _699[0]]);
29770
+ const file = _optionalChain([event, 'access', _699 => _699.target, 'access', _700 => _700.files, 'optionalAccess', _701 => _701[0]]);
29697
29771
  if (!file) return;
29698
29772
  let mediaType;
29699
29773
  if (file.type.startsWith("image/")) {
@@ -29773,7 +29847,7 @@ function ReleaseMediaManager({
29773
29847
  {
29774
29848
  type: "button",
29775
29849
  variant: "outline",
29776
- onClick: () => _optionalChain([fileInputRef, 'access', _700 => _700.current, 'optionalAccess', _701 => _701.click, 'call', _702 => _702()]),
29850
+ onClick: () => _optionalChain([fileInputRef, 'access', _702 => _702.current, 'optionalAccess', _703 => _703.click, 'call', _704 => _704()]),
29777
29851
  disabled: uploadingIndex !== null,
29778
29852
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
29779
29853
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -29986,7 +30060,7 @@ function SEOEditorPreview({
29986
30060
  const displayImage = hasOgImage || hasFeaturedImage;
29987
30061
  const handleImageUpload = async (event) => {
29988
30062
  if (!onOgImageUpload) return;
29989
- const file = _optionalChain([event, 'access', _703 => _703.target, 'access', _704 => _704.files, 'optionalAccess', _705 => _705[0]]);
30063
+ const file = _optionalChain([event, 'access', _705 => _705.target, 'access', _706 => _706.files, 'optionalAccess', _707 => _707[0]]);
29990
30064
  if (!file) return;
29991
30065
  setIsUploading(true);
29992
30066
  try {
@@ -30117,7 +30191,7 @@ function SEOEditorPreview({
30117
30191
  type: "button",
30118
30192
  variant: "outline",
30119
30193
  size: "icon",
30120
- onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _706 => _706.click, 'call', _707 => _707()]),
30194
+ onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _708 => _708.click, 'call', _709 => _709()]),
30121
30195
  disabled: disabled || isUploading,
30122
30196
  className: "bg-white text-black hover:bg-gray-100 rounded-full opacity-0 group-hover:opacity-100",
30123
30197
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
@@ -30140,7 +30214,7 @@ function SEOEditorPreview({
30140
30214
  "div",
30141
30215
  {
30142
30216
  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",
30143
- onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _708 => _708.click, 'call', _709 => _709()]),
30217
+ onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _710 => _710.click, 'call', _711 => _711()]),
30144
30218
  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: [
30145
30219
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
30146
30220
  /* @__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" })
@@ -30225,7 +30299,7 @@ function SocialLinksManager({
30225
30299
  className = ""
30226
30300
  }) {
30227
30301
  const addLink = () => {
30228
- const firstPlatform = _optionalChain([platforms, 'access', _710 => _710[0], 'optionalAccess', _711 => _711.name]) || "website";
30302
+ const firstPlatform = _optionalChain([platforms, 'access', _712 => _712[0], 'optionalAccess', _713 => _713.name]) || "website";
30229
30303
  onChange([...links, { platform: firstPlatform, url: "" }]);
30230
30304
  };
30231
30305
  const removeLink = (index) => {
@@ -30237,7 +30311,7 @@ function SocialLinksManager({
30237
30311
  onChange(updated);
30238
30312
  };
30239
30313
  const getIcon = (link, platform) => {
30240
- const iconKey = _optionalChain([platform, 'optionalAccess', _712 => _712.icon_name]) || link.platform;
30314
+ const iconKey = _optionalChain([platform, 'optionalAccess', _714 => _714.icon_name]) || link.platform;
30241
30315
  const IconComponent = iconMap[iconKey];
30242
30316
  return IconComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: "w-5 h-5 text-ods-text-secondary" }) : null;
30243
30317
  };
@@ -30262,7 +30336,7 @@ function SocialLinksManager({
30262
30336
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30263
30337
  _chunkV2FNIPZJcjs.Input,
30264
30338
  {
30265
- placeholder: _optionalChain([platform, 'optionalAccess', _713 => _713.placeholder]) || "Profile URL",
30339
+ placeholder: _optionalChain([platform, 'optionalAccess', _715 => _715.placeholder]) || "Profile URL",
30266
30340
  value: link.url,
30267
30341
  onChange: (e) => updateLink(index, "url", e.target.value),
30268
30342
  onKeyDown: (e) => {
@@ -30639,7 +30713,7 @@ function VideoSourceSelector({
30639
30713
  input.accept = "video/*";
30640
30714
  input.onchange = async (e) => {
30641
30715
  const target = e.target;
30642
- const file = _optionalChain([target, 'access', _714 => _714.files, 'optionalAccess', _715 => _715[0]]);
30716
+ const file = _optionalChain([target, 'access', _716 => _716.files, 'optionalAccess', _717 => _717[0]]);
30643
30717
  if (!file) return;
30644
30718
  setIsUploading(true);
30645
30719
  setUploadProgress(0);
@@ -30969,7 +31043,7 @@ function TranscriptSummaryEditor({
30969
31043
  {
30970
31044
  id: "subtitles",
30971
31045
  value: subtitles || "",
30972
- onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _716 => _716(e.target.value)]),
31046
+ onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _718 => _718(e.target.value)]),
30973
31047
  placeholder: subtitlesPlaceholder,
30974
31048
  disabled: disabled || !onSubtitlesChange,
30975
31049
  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",
@@ -31122,7 +31196,7 @@ var AIEnrichSection = ({
31122
31196
  }) => {
31123
31197
  const hasResults = status === "success" || status === "error";
31124
31198
  const shouldDisable = disabled || !canEnrich;
31125
- const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _717 => _717.filter, 'call', _718 => _718((f) => !f.isFilled)]) || [];
31199
+ const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _719 => _719.filter, 'call', _720 => _720((f) => !f.isFilled)]) || [];
31126
31200
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
31127
31201
  "div",
31128
31202
  {
@@ -31160,7 +31234,7 @@ var AIEnrichSection = ({
31160
31234
  {
31161
31235
  id: "ai-enrich-custom-instructions",
31162
31236
  value: _nullishCoalesce(customInstructions, () => ( "")),
31163
- onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _719 => _719(e.target.value)]),
31237
+ onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _721 => _721(e.target.value)]),
31164
31238
  placeholder: customInstructionsPlaceholder,
31165
31239
  disabled: loading,
31166
31240
  maxLength: customInstructionsMaxLength,
@@ -31289,7 +31363,7 @@ function HighlightVideoSection({
31289
31363
  input.accept = "video/*";
31290
31364
  input.onchange = async (e) => {
31291
31365
  const target = e.target;
31292
- const file = _optionalChain([target, 'access', _720 => _720.files, 'optionalAccess', _721 => _721[0]]);
31366
+ const file = _optionalChain([target, 'access', _722 => _722.files, 'optionalAccess', _723 => _723[0]]);
31293
31367
  if (!file) return;
31294
31368
  setUploadError(null);
31295
31369
  try {
@@ -31791,7 +31865,7 @@ function HighlightVideoPreview({
31791
31865
  input.accept = "video/*";
31792
31866
  input.onchange = async (e) => {
31793
31867
  const target = e.target;
31794
- const file = _optionalChain([target, 'access', _722 => _722.files, 'optionalAccess', _723 => _723[0]]);
31868
+ const file = _optionalChain([target, 'access', _724 => _724.files, 'optionalAccess', _725 => _725[0]]);
31795
31869
  if (!file) return;
31796
31870
  await onUpload(file);
31797
31871
  };
@@ -31978,7 +32052,7 @@ function HighlightVideoCombinedSection({
31978
32052
  input.accept = "video/*";
31979
32053
  input.onchange = async (e) => {
31980
32054
  const target = e.target;
31981
- const file = _optionalChain([target, 'access', _724 => _724.files, 'optionalAccess', _725 => _725[0]]);
32055
+ const file = _optionalChain([target, 'access', _726 => _726.files, 'optionalAccess', _727 => _727[0]]);
31982
32056
  if (!file) return;
31983
32057
  await onUpload(file);
31984
32058
  };
@@ -32275,7 +32349,7 @@ var getApprovalLevelLabel = (level, editMode = false) => {
32275
32349
  return editMode ? "Set Global Permission" : "";
32276
32350
  }
32277
32351
  const option = approvalLevelOptions.find((opt) => opt.value === level);
32278
- return _optionalChain([option, 'optionalAccess', _726 => _726.label]) || level;
32352
+ return _optionalChain([option, 'optionalAccess', _728 => _728.label]) || level;
32279
32353
  };
32280
32354
  var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
32281
32355
  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: [
@@ -32657,7 +32731,6 @@ function WaitlistForm({
32657
32731
  }
32658
32732
 
32659
32733
  // src/components/features/board/board.tsx
32660
- _chunkUC43NICZcjs.init_cn.call(void 0, );
32661
32734
 
32662
32735
 
32663
32736
 
@@ -32671,6 +32744,7 @@ _chunkUC43NICZcjs.init_cn.call(void 0, );
32671
32744
 
32672
32745
  var _core = require('@dnd-kit/core');
32673
32746
  var _sortable = require('@dnd-kit/sortable');
32747
+ _chunkUC43NICZcjs.init_cn.call(void 0, );
32674
32748
 
32675
32749
  // src/components/features/board/board-column.tsx
32676
32750
 
@@ -32807,15 +32881,15 @@ function TicketCard({
32807
32881
  transform: _utilities.CSS.Transform.toString(sortable.transform),
32808
32882
  transition: sortable.transition
32809
32883
  };
32810
- const showDeviceRow = !!(_optionalChain([ticket, 'access', _727 => _727.deviceHostnames, 'optionalAccess', _728 => _728.length]) || ticket.organizationName);
32884
+ const showDeviceRow = !!(_optionalChain([ticket, 'access', _729 => _729.deviceHostnames, 'optionalAccess', _730 => _730.length]) || ticket.organizationName);
32811
32885
  const deviceText = [
32812
- _optionalChain([ticket, 'access', _729 => _729.deviceHostnames, 'optionalAccess', _730 => _730.join, 'call', _731 => _731(", ")]),
32886
+ _optionalChain([ticket, 'access', _731 => _731.deviceHostnames, 'optionalAccess', _732 => _732.join, 'call', _733 => _733(", ")]),
32813
32887
  ticket.organizationName
32814
32888
  ].filter(Boolean).join(", ");
32815
32889
  const handleClick = (e) => {
32816
32890
  if (sortable.isDragging) e.preventDefault();
32817
32891
  };
32818
- const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _732 => _732.assignees, 'optionalAccess', _733 => _733.length]) || renderAssignSlot);
32892
+ const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _734 => _734.assignees, 'optionalAccess', _735 => _735.length]) || renderAssignSlot);
32819
32893
  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: [
32820
32894
  ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32821
32895
  _chunkVJTFBYVGcjs.Flag02Icon,
@@ -32824,7 +32898,7 @@ function TicketCard({
32824
32898
  "aria-label": `Priority: ${ticket.priority}`
32825
32899
  }
32826
32900
  ),
32827
- renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _734 => _734.assignees, 'optionalAccess', _735 => _735.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
32901
+ renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _736 => _736.assignees, 'optionalAccess', _737 => _737.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
32828
32902
  ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32829
32903
  SquareAvatar,
32830
32904
  {
@@ -32853,7 +32927,7 @@ function TicketCard({
32853
32927
  ] }),
32854
32928
  rightSection
32855
32929
  ] }),
32856
- _optionalChain([ticket, 'access', _736 => _736.tags, 'optionalAccess', _737 => _737.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null
32930
+ _optionalChain([ticket, 'access', _738 => _738.tags, 'optionalAccess', _739 => _739.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null
32857
32931
  ] });
32858
32932
  const cardClasses = _chunkUC43NICZcjs.cn.call(void 0,
32859
32933
  "relative flex flex-col gap-[var(--spacing-system-sf)] rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-sf)] select-none text-left",
@@ -33013,7 +33087,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
33013
33087
  const observer = new IntersectionObserver(
33014
33088
  (entries) => {
33015
33089
  if (entries.some((e) => e.isIntersecting)) {
33016
- _optionalChain([loadMoreRef, 'access', _738 => _738.current, 'optionalCall', _739 => _739(columnIdRef.current)]);
33090
+ _optionalChain([loadMoreRef, 'access', _740 => _740.current, 'optionalCall', _741 => _741(columnIdRef.current)]);
33017
33091
  }
33018
33092
  },
33019
33093
  { root, rootMargin: loadMoreRootMargin }
@@ -33042,7 +33116,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
33042
33116
  {
33043
33117
  ticket: t,
33044
33118
  columnId: column.id,
33045
- href: _optionalChain([getTicketHref, 'optionalCall', _740 => _740(t.id)]),
33119
+ href: _optionalChain([getTicketHref, 'optionalCall', _742 => _742(t.id)]),
33046
33120
  renderAssignSlot,
33047
33121
  dragDisabled: column.dragDisabled
33048
33122
  },
@@ -33110,6 +33184,18 @@ function Board({
33110
33184
  className
33111
33185
  }) {
33112
33186
  const { collapsed, toggle } = useBoardCollapse(collapseStorageKey);
33187
+ const {
33188
+ scrollRef,
33189
+ trackRef,
33190
+ thumbRef,
33191
+ thumbRatio,
33192
+ onScroll,
33193
+ onTrackClick,
33194
+ onTrackWheel,
33195
+ onThumbPointerDown,
33196
+ onThumbPointerMove,
33197
+ onThumbPointerUp
33198
+ } = _chunkCVMSC7M4cjs.useHorizontalScrollbar.call(void 0, );
33113
33199
  const [items, setItems] = React102.useState(columns);
33114
33200
  const isDraggingRef = React102.useRef(false);
33115
33201
  React102.useEffect(() => {
@@ -33125,17 +33211,17 @@ function Board({
33125
33211
  const pointer = _core.pointerWithin.call(void 0, args);
33126
33212
  const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
33127
33213
  const ticketHit = intersections.find(
33128
- (c) => _optionalChain([c, 'access', _741 => _741.data, 'optionalAccess', _742 => _742.droppableContainer, 'optionalAccess', _743 => _743.data, 'optionalAccess', _744 => _744.current, 'optionalAccess', _745 => _745.type]) === "ticket"
33214
+ (c) => _optionalChain([c, 'access', _743 => _743.data, 'optionalAccess', _744 => _744.droppableContainer, 'optionalAccess', _745 => _745.data, 'optionalAccess', _746 => _746.current, 'optionalAccess', _747 => _747.type]) === "ticket"
33129
33215
  );
33130
33216
  if (ticketHit) return [ticketHit];
33131
33217
  const columnHit = intersections.find(
33132
- (c) => _optionalChain([c, 'access', _746 => _746.data, 'optionalAccess', _747 => _747.droppableContainer, 'optionalAccess', _748 => _748.data, 'optionalAccess', _749 => _749.current, 'optionalAccess', _750 => _750.type]) === "column"
33218
+ (c) => _optionalChain([c, 'access', _748 => _748.data, 'optionalAccess', _749 => _749.droppableContainer, 'optionalAccess', _750 => _750.data, 'optionalAccess', _751 => _751.current, 'optionalAccess', _752 => _752.type]) === "column"
33133
33219
  );
33134
33220
  if (columnHit) {
33135
- const columnId = _optionalChain([columnHit, 'access', _751 => _751.data, 'optionalAccess', _752 => _752.droppableContainer, 'optionalAccess', _753 => _753.data, 'optionalAccess', _754 => _754.current, 'optionalAccess', _755 => _755.columnId]);
33221
+ const columnId = _optionalChain([columnHit, 'access', _753 => _753.data, 'optionalAccess', _754 => _754.droppableContainer, 'optionalAccess', _755 => _755.data, 'optionalAccess', _756 => _756.current, 'optionalAccess', _757 => _757.columnId]);
33136
33222
  const ticketsInColumn = args.droppableContainers.filter((c) => {
33137
33223
  const d = c.data.current;
33138
- return _optionalChain([d, 'optionalAccess', _756 => _756.type]) === "ticket" && d.columnId === columnId;
33224
+ return _optionalChain([d, 'optionalAccess', _758 => _758.type]) === "ticket" && d.columnId === columnId;
33139
33225
  });
33140
33226
  if (ticketsInColumn.length > 0) {
33141
33227
  const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
@@ -33160,20 +33246,20 @@ function Board({
33160
33246
  const overId = String(over.id);
33161
33247
  if (activeId === overId) return;
33162
33248
  const overData = over.data.current;
33163
- const fromColumnId = _optionalChain([locate, 'call', _757 => _757(items, activeId), 'optionalAccess', _758 => _758.columnId]);
33164
- const toColumnId = _optionalChain([overData, 'optionalAccess', _759 => _759.columnId]);
33249
+ const fromColumnId = _optionalChain([locate, 'call', _759 => _759(items, activeId), 'optionalAccess', _760 => _760.columnId]);
33250
+ const toColumnId = _optionalChain([overData, 'optionalAccess', _761 => _761.columnId]);
33165
33251
  if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
33166
33252
  const origin = dragOriginRef.current;
33167
- const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _760 => _760.fromColumnId]) === toColumnId;
33253
+ const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _762 => _762.fromColumnId]) === toColumnId;
33168
33254
  const targetCol = items.find((c) => c.id === toColumnId);
33169
- const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _761 => _761.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
33170
- if (_optionalChain([targetCol, 'optionalAccess', _762 => _762.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
33255
+ const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _763 => _763.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
33256
+ if (_optionalChain([targetCol, 'optionalAccess', _764 => _764.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
33171
33257
  setItems((prev) => {
33172
33258
  const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
33173
33259
  const toCol = prev.find((c) => c.id === toColumnId);
33174
33260
  if (fromIndex < 0 || !toCol) return prev;
33175
33261
  let toIndex;
33176
- if (_optionalChain([overData, 'optionalAccess', _763 => _763.type]) === "column") {
33262
+ if (_optionalChain([overData, 'optionalAccess', _765 => _765.type]) === "column") {
33177
33263
  toIndex = toCol.tickets.length;
33178
33264
  } else {
33179
33265
  const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
@@ -33215,14 +33301,14 @@ function Board({
33215
33301
  const toColumnId = located.columnId;
33216
33302
  const isCrossColumn = origin.fromColumnId !== toColumnId;
33217
33303
  const targetCol = items.find((c) => c.id === toColumnId);
33218
- if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _764 => _764.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _765 => _765.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
33304
+ if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _766 => _766.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _767 => _767.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
33219
33305
  setItems(columns);
33220
33306
  return;
33221
33307
  }
33222
33308
  let finalIndex = located.index;
33223
- let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _766 => _766.find, 'call', _767 => _767((c) => c.id === toColumnId), 'optionalAccess', _768 => _768.tickets]), () => ( []));
33309
+ let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _768 => _768.find, 'call', _769 => _769((c) => c.id === toColumnId), 'optionalAccess', _770 => _770.tickets]), () => ( []));
33224
33310
  const overData = over.data.current;
33225
- if (_optionalChain([overData, 'optionalAccess', _769 => _769.type]) === "ticket") {
33311
+ if (_optionalChain([overData, 'optionalAccess', _771 => _771.type]) === "ticket") {
33226
33312
  const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
33227
33313
  if (overIndex >= 0 && overIndex !== located.index) {
33228
33314
  finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
@@ -33242,8 +33328,8 @@ function Board({
33242
33328
  ticketId: origin.ticketId,
33243
33329
  fromColumnId: origin.fromColumnId,
33244
33330
  toColumnId,
33245
- afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _770 => _770[finalIndex - 1], 'optionalAccess', _771 => _771.id]), () => ( null)),
33246
- beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _772 => _772[finalIndex + 1], 'optionalAccess', _773 => _773.id]), () => ( null))
33331
+ afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _772 => _772[finalIndex - 1], 'optionalAccess', _773 => _773.id]), () => ( null)),
33332
+ beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _774 => _774[finalIndex + 1], 'optionalAccess', _775 => _775.id]), () => ( null))
33247
33333
  });
33248
33334
  };
33249
33335
  const handleDragCancel = () => {
@@ -33262,31 +33348,62 @@ function Board({
33262
33348
  onDragEnd: handleDragEnd,
33263
33349
  onDragCancel: handleDragCancel,
33264
33350
  children: [
33265
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0, "flex h-full overflow-x-auto", className), children: items.map((column, i) => {
33266
- const prev = items[i - 1];
33267
- const next = items[i + 1];
33268
- const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _774 => _774.system]));
33269
- const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _775 => _775.system]));
33270
- const showGap = i > 0 && !joinLeft;
33271
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React102.Fragment, { children: [
33272
- showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
33273
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33274
- BoardColumn,
33275
- {
33276
- column,
33277
- collapsed: !!collapsed[column.id],
33278
- onToggleCollapse: () => toggle(column.id),
33279
- onAddTicket,
33280
- getTicketHref,
33281
- renderAssignSlot,
33282
- onLoadMore,
33283
- loadMoreRootMargin,
33284
- joinLeft,
33285
- joinRight
33286
- }
33287
- )
33288
- ] }, column.id);
33289
- }) }),
33351
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0, "flex flex-col h-full", className), children: [
33352
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33353
+ "div",
33354
+ {
33355
+ ref: scrollRef,
33356
+ onScroll,
33357
+ className: "flex flex-1 min-h-0 overflow-x-auto [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",
33358
+ children: items.map((column, i) => {
33359
+ const prev = items[i - 1];
33360
+ const next = items[i + 1];
33361
+ const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _776 => _776.system]));
33362
+ const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _777 => _777.system]));
33363
+ const showGap = i > 0 && !joinLeft;
33364
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React102.Fragment, { children: [
33365
+ showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
33366
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33367
+ BoardColumn,
33368
+ {
33369
+ column,
33370
+ collapsed: !!collapsed[column.id],
33371
+ onToggleCollapse: () => toggle(column.id),
33372
+ onAddTicket,
33373
+ getTicketHref,
33374
+ renderAssignSlot,
33375
+ onLoadMore,
33376
+ loadMoreRootMargin,
33377
+ joinLeft,
33378
+ joinRight
33379
+ }
33380
+ )
33381
+ ] }, column.id);
33382
+ })
33383
+ }
33384
+ ),
33385
+ thumbRatio > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33386
+ "div",
33387
+ {
33388
+ ref: trackRef,
33389
+ onClick: onTrackClick,
33390
+ onWheel: onTrackWheel,
33391
+ className: "relative h-2 mt-[var(--spacing-system-mf)] rounded-full bg-ods-border cursor-pointer shrink-0",
33392
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33393
+ "div",
33394
+ {
33395
+ ref: thumbRef,
33396
+ "data-scrollbar-thumb": true,
33397
+ className: "absolute top-0 h-full rounded-full bg-ods-text-secondary transition-colors",
33398
+ style: { width: `${thumbRatio * 100}%`, cursor: "grab" },
33399
+ onPointerDown: onThumbPointerDown,
33400
+ onPointerMove: onThumbPointerMove,
33401
+ onPointerUp: onThumbPointerUp
33402
+ }
33403
+ )
33404
+ }
33405
+ )
33406
+ ] }),
33290
33407
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _core.DragOverlay, { dropAnimation: null, children: activeTicket ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketCard, { ticket: activeTicket.ticket, columnId: activeTicket.columnId, isOverlay: true }) : null })
33291
33408
  ]
33292
33409
  }
@@ -33300,7 +33417,7 @@ function locate(cols, ticketId) {
33300
33417
  return null;
33301
33418
  }
33302
33419
  function findIndexInColumn(cols, columnId, ticketId) {
33303
- return _nullishCoalesce(_optionalChain([cols, 'access', _776 => _776.find, 'call', _777 => _777((c) => c.id === columnId), 'optionalAccess', _778 => _778.tickets, 'access', _779 => _779.findIndex, 'call', _780 => _780((t) => t.id === ticketId)]), () => ( -1));
33420
+ return _nullishCoalesce(_optionalChain([cols, 'access', _778 => _778.find, 'call', _779 => _779((c) => c.id === columnId), 'optionalAccess', _780 => _780.tickets, 'access', _781 => _781.findIndex, 'call', _782 => _782((t) => t.id === ticketId)]), () => ( -1));
33304
33421
  }
33305
33422
 
33306
33423
  // src/components/features/board/types.ts
@@ -33964,5 +34081,6 @@ function canonicalize(status) {
33964
34081
 
33965
34082
 
33966
34083
 
33967
- exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.validateAccessCode = validateAccessCode; exports.consumeAccessCode = consumeAccessCode; exports.validateAndConsumeAccessCode = validateAndConsumeAccessCode; exports.useAccessCodeIntegration = useAccessCodeIntegration; 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.formatReleaseDate = formatReleaseDate; exports.formatRelativeTime = formatRelativeTime; exports.getDynamicIcon = getDynamicIcon; 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.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.SquareAvatar = SquareAvatar; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.TicketStatusTag = TicketStatusTag; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.Textarea = Textarea; exports.ChatTypingIndicator = ChatTypingIndicator; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.BlockCard = BlockCard; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageList = ChatMessageList; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ChatQuickAction = ChatQuickAction; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; 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.MESSAGE_TYPE = MESSAGE_TYPE; exports.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; 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.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; 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.badgeVariants = badgeVariants; exports.Badge = Badge; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.Progress = Progress; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OrganizationIcon = OrganizationIcon; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.PlatformBadge = PlatformBadge; 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.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.Switch = Switch; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; 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.Header = Header; 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.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.AnnouncementBar = AnnouncementBar; exports.VendorIcon = VendorIcon; exports.CategoriesCart = CategoriesCart; exports.CategoryCard = CategoryCard; exports.VendorDisplayButton = VendorDisplayButton; exports.setRealAuthHook = setRealAuthHook; exports.useAuth = useAuth; exports.AuthProvider = AuthProvider; exports.CommentCard = CommentCard; exports.ContentLoadingContainer = ContentLoadingContainer; exports.useContentLoading = useContentLoading; exports.DynamicSkeleton = DynamicSkeleton; exports.SkeletonPresets = SkeletonPresets; exports.PlatformSkeletonContainer = PlatformSkeletonContainer; exports.ProgressiveSkeleton = ProgressiveSkeleton; exports.EmptyState = EmptyState2; exports.ChevronButton = ChevronButton; exports.FaqAccordion = FaqAccordion; exports.FilterChip = FilterChip; exports.SocialIconRow = SocialIconRow; exports.Footer = Footer; exports.useUnifiedFiltering = useUnifiedFiltering; exports.vendorFilterConfig = vendorFilterConfig; exports.blogFilterConfig = blogFilterConfig; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.UnifiedPagination = UnifiedPagination; exports.FooterWaitlistButton = FooterWaitlistButton; exports.HeroImageUploader = HeroImageUploader; exports.ResponsiveIconsBlock = ResponsiveIconsBlock; exports.Slider = Slider; exports.ImageCropper = ImageCropper; exports.MediaCarousel = MediaCarousel; exports.MetricValue = MetricValue; exports.MSPDisplay = MSPDisplay; exports.PersistentFilterControls = PersistentFilterControls; exports.PersistentSearchContainer = PersistentSearchContainer; exports.PersistentSidebar = PersistentSidebar; exports.PersistentMobileDropdown = PersistentMobileDropdown; exports.PersistentPagination = PersistentPagination; exports.usePaginationLoading = usePaginationLoading; exports.PersistentPaginationWrapper = PersistentPaginationWrapper; exports.PRICING_STYLES = PRICING_STYLES; exports.PricingDisplay = PricingDisplay; exports.formatPricingForDisplay = formatPricingForDisplay; exports.ResultsCount = ResultsCount; exports.VendorTag = VendorTag; exports.SelectionSourceBadge = SelectionSourceBadge; exports.UserDisplay = UserDisplay; exports.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.CardSkeleton = CardSkeleton; exports.CardSkeletonGrid = CardSkeletonGrid; exports.AnnouncementBarSkeleton = AnnouncementBarSkeleton; exports.HeroSkeleton = HeroSkeleton; exports.SearchContainerSkeleton = SearchContainerSkeleton; exports.CategorySidebarSkeleton = CategorySidebarSkeleton; exports.BreadcrumbSkeleton = BreadcrumbSkeleton; exports.ResultsHeaderSkeleton = ResultsHeaderSkeleton; exports.TwoColumnLayoutSkeleton = TwoColumnLayoutSkeleton; exports.ArticleLayoutSkeleton = ArticleLayoutSkeleton; exports.VendorDetailLayoutSkeleton = VendorDetailLayoutSkeleton; exports.StatsSectionSkeleton = StatsSectionSkeleton; exports.BlogCardGridSkeleton = BlogCardGridSkeleton; exports.VendorGridSkeleton = VendorGridSkeleton; exports.SlackCommunitySkeleton = SlackCommunitySkeleton; exports.ParagraphSkeleton = ParagraphSkeleton; exports.ListSkeleton = ListSkeleton; exports.TableSkeleton = TableSkeleton; exports.FormSkeleton = FormSkeleton; exports.NavigationSkeleton = NavigationSkeleton; exports.ProfileSkeleton = ProfileSkeleton; exports.CommentSkeleton = CommentSkeleton; exports.FeatureListSkeleton = FeatureListSkeleton; exports.TimelineSkeleton = TimelineSkeleton; exports.PricingSkeleton = PricingSkeleton; exports.ProfileLoadingSkeleton = ProfileLoadingSkeleton; exports.MspProfileFormSkeleton = MspProfileFormSkeleton; exports.CategoryCardSkeleton = CategoryCardSkeleton; exports.CategoryVendorSelectorSkeleton = CategoryVendorSelectorSkeleton; exports.WizardLayoutSkeleton = WizardLayoutSkeleton; exports.MarginReportSkeleton = MarginReportSkeleton; exports.UsersGridSkeleton = UsersGridSkeleton; exports.OrganizationIconSkeleton = OrganizationIconSkeleton; exports.OrganizationCardSkeleton = OrganizationCardSkeleton; exports.OrganizationCardSkeletonGrid = OrganizationCardSkeletonGrid; exports.DeviceCardSkeleton = DeviceCardSkeleton; exports.DeviceCardSkeletonGrid = DeviceCardSkeletonGrid; exports.VendorPageSkeleton = VendorPageSkeleton; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon3; exports.XCircleIcon = XCircleIcon; exports.YesNoDisplay = YesNoDisplay; exports.evaluateFeatureValue = evaluateFeatureValue; exports.MadeWithLove = MadeWithLove; exports.DateTimePicker = DateTimePicker; exports.InteractiveCard = InteractiveCard; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.ImageGalleryModal = ImageGalleryModal; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.DetailPageSkeleton = DetailPageSkeleton; exports.ReleaseDetailPage = ReleaseDetailPage; exports.ReleaseDetailSkeleton = ReleaseDetailSkeleton; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.ProgressBar = ProgressBar; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; 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.Modal = Modal; exports.ModalContent = ModalContent; exports.ModalHeader = ModalHeader; exports.ModalTitle = ModalTitle; exports.ModalFooter = ModalFooter; exports.Modal2 = Modal2; exports.ModalContent2 = ModalContent2; exports.ModalHeader2 = ModalHeader2; exports.ModalTitle2 = ModalTitle2; exports.ModalFooter2 = ModalFooter2; 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.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.StatusIndicator = StatusIndicator; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.ListPageLayout = ListPageLayout; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.CircularProgress = CircularProgress; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.MoreActionsMenu = MoreActionsMenu; exports.DropdownButton = DropdownButton; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.AssigneeDropdown = AssigneeDropdown; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.assets = assets;
33968
- //# sourceMappingURL=chunk-TANAJ7YD.cjs.map
34084
+
34085
+ exports.Label = Label; exports.AllowedDomainsInput = AllowedDomainsInput; exports.HiddenTagsPopup = HiddenTagsPopup; exports.tagVariants = tagVariants; exports.Tag = Tag; exports.Autocomplete = Autocomplete; exports.Card = Card; exports.CardHeader = CardHeader; exports.CardTitle = CardTitle; exports.CardDescription = CardDescription; exports.CardContent = CardContent; exports.CardFooter = CardFooter; exports.CardHorizontal = CardHorizontal; exports.CheckboxBlock = CheckboxBlock; exports.CheckboxWithDescription = CheckboxWithDescription; exports.Select = Select; exports.SelectGroup = SelectGroup; exports.SelectValue = SelectValue; exports.SelectTrigger = SelectTrigger; exports.SelectScrollUpButton = SelectScrollUpButton; exports.SelectScrollDownButton = SelectScrollDownButton; exports.SelectContent = SelectContent; exports.SelectLabel = SelectLabel; exports.SelectItem = SelectItem; exports.SelectSeparator = SelectSeparator; exports.DatePicker = DatePicker; exports.DatePickerInput = DatePickerInput; exports.DatePickerInputSimple = DatePickerInputSimple; exports.getPlatformAccentColor = getPlatformAccentColor; exports.getCurrentPlatform = getCurrentPlatform; exports.delay = delay; exports.generateRandomString = generateRandomString; exports.truncateString = truncateString; exports.deepClone = deepClone; exports.getSlackCommunityJoinUrl = getSlackCommunityJoinUrl; exports.OS_PLATFORMS = OS_PLATFORMS; exports.DEFAULT_OS_PLATFORM = DEFAULT_OS_PLATFORM; exports.validateAccessCode = validateAccessCode; exports.consumeAccessCode = consumeAccessCode; exports.validateAndConsumeAccessCode = validateAndConsumeAccessCode; exports.useAccessCodeIntegration = useAccessCodeIntegration; 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.formatReleaseDate = formatReleaseDate; exports.formatRelativeTime = formatRelativeTime; exports.getDynamicIcon = getDynamicIcon; 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.ApprovalRequestMessage = ApprovalRequestMessage; exports.ExpandChevron = ExpandChevron; exports.useCollapsible = useCollapsible; exports.getCommandText = getCommandText; exports.ArgRow = ArgRow; exports.ResultBlock = ResultBlock; exports.ApprovalBatchMessage = ApprovalBatchMessage; exports.ContextCompactionDisplay = ContextCompactionDisplay; exports.SimpleMarkdownRenderer = SimpleMarkdownRenderer; exports.ThinkingDisplay = ThinkingDisplay; exports.ErrorMessageDisplay = ErrorMessageDisplay; exports.SquareAvatar = SquareAvatar; exports.resolveTicketStatus = resolveTicketStatus; exports.getTicketStatusConfig = getTicketStatusConfig; exports.getTicketStatusTag = getTicketStatusTag; exports.TicketStatusTag = TicketStatusTag; exports.ChatContainer = ChatContainer; exports.ChatHeader = ChatHeader; exports.ChatContent = ChatContent; exports.ChatFooter = ChatFooter; exports.Textarea = Textarea; exports.ChatTypingIndicator = ChatTypingIndicator; exports.SlashCommandSuggestions = SlashCommandSuggestions; exports.ChatInput = ChatInput; exports.ToolExecutionDisplay = ToolExecutionDisplay; exports.remarkCardLinks = remarkCardLinks; exports.BlockCard = BlockCard; exports.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.MESSAGE_TYPE = MESSAGE_TYPE; exports.SCROLL_ANCHOR = SCROLL_ANCHOR; exports.ChatMessageList = ChatMessageList; exports.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.extractYouTubeId = extractYouTubeId; exports.Video = Video2; exports.RATIO_GRID_CLASS = RATIO_GRID_CLASS; exports.RATIO_DISPLAY_GRID_CLASS = RATIO_DISPLAY_GRID_CLASS; exports.RatioTabs = RatioTabs; exports.detectAspectRatio = detectAspectRatio; exports.ratioToCategory = ratioToCategory; exports.groupByAspectRatio = groupByAspectRatio; exports.VideoBitesDisplay = VideoBitesDisplay; exports.VideoBiteCard = VideoBiteCard; exports.EntityVideoSection = EntityVideoSection; exports.ChatVideoEntityCard = ChatVideoEntityCard; exports.ChatQuickAction = ChatQuickAction; exports.ChatTicketItem = ChatTicketItem; exports.ChatTicketList = ChatTicketList; exports.HoverCard = HoverCard; exports.HoverCardTrigger = HoverCardTrigger; exports.HoverCardContent = HoverCardContent; exports.ModelDisplay = ModelDisplay; exports.DialogListItem = DialogListItem; exports.ChatSidebar = ChatSidebar; 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.NETWORK_CONFIG = NETWORK_CONFIG; exports.useChunkCatchup = useChunkCatchup; 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.processHistoricalMessages = processHistoricalMessages; exports.extractErrorMessages = extractErrorMessages; exports.processHistoricalMessagesWithErrors = processHistoricalMessagesWithErrors; exports.extractIncompleteMessageState = extractIncompleteMessageState; exports.DynamicThemeProvider = DynamicThemeProvider; exports.useDynamicTheme = useDynamicTheme; 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.badgeVariants = badgeVariants; exports.Badge = Badge; exports.statusBadgeVariants = statusBadgeVariants; exports.StatusBadge = StatusBadge; exports.SectionSelector = SectionSelector; exports.FigmaPrototypeViewer = FigmaPrototypeViewer; exports.FiltersDropdown = FiltersDropdown; exports.useFiltersDropdown = useFiltersDropdown; exports.GitHubReleasesManager = GitHubReleasesManager; exports.KnowledgeBaseLinksManager = KnowledgeBaseLinksManager; exports.Progress = Progress; exports.LoadingProvider = LoadingProvider; exports.useLoading = useLoading; exports.MediaGalleryManager = MediaGalleryManager; exports.MoreAboutButton = MoreAboutButton; exports.OrganizationIcon = OrganizationIcon; exports.OSTypeBadge = OSTypeBadge; exports.OSTypeIcon = OSTypeIcon; exports.OSTypeLabel = OSTypeLabel; exports.OSTypeBadgeGroup = OSTypeBadgeGroup; exports.ParallaxImageShowcase = ParallaxImageShowcase; exports.PathsDisplay = PathsDisplay; exports.OPENFRAME_PATHS = OPENFRAME_PATHS; exports.getOpenFramePaths = getOpenFramePaths; exports.PlatformBadge = PlatformBadge; 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.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.Switch = Switch; exports.NotificationTile = NotificationTile; exports.NotificationDrawer = NotificationDrawer; 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.Header = Header; 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.HeaderOrganizationFilter = HeaderOrganizationFilter; exports.AppHeader = AppHeader; exports.MobileBurgerMenu = MobileBurgerMenu; exports.AppLayout = AppLayout; exports.SoftwareInfo = SoftwareInfo; exports.SoftwareSourceBadge = SoftwareSourceBadge; exports.CveLink = CveLink; exports.ToolBadge = ToolBadge; exports.ShellTypeBadge = ShellTypeBadge; exports.ScriptInfoSection = ScriptInfoSection; exports.ScriptArguments = ScriptArguments; exports.AnnouncementBar = AnnouncementBar; exports.VendorIcon = VendorIcon; exports.CategoriesCart = CategoriesCart; exports.CategoryCard = CategoryCard; exports.VendorDisplayButton = VendorDisplayButton; exports.setRealAuthHook = setRealAuthHook; exports.useAuth = useAuth; exports.AuthProvider = AuthProvider; exports.CommentCard = CommentCard; exports.ContentLoadingContainer = ContentLoadingContainer; exports.useContentLoading = useContentLoading; exports.DynamicSkeleton = DynamicSkeleton; exports.SkeletonPresets = SkeletonPresets; exports.PlatformSkeletonContainer = PlatformSkeletonContainer; exports.ProgressiveSkeleton = ProgressiveSkeleton; exports.EmptyState = EmptyState2; exports.ChevronButton = ChevronButton; exports.FaqAccordion = FaqAccordion; exports.FilterChip = FilterChip; exports.SocialIconRow = SocialIconRow; exports.Footer = Footer; exports.useUnifiedFiltering = useUnifiedFiltering; exports.vendorFilterConfig = vendorFilterConfig; exports.blogFilterConfig = blogFilterConfig; exports.Pagination = Pagination; exports.PaginationContent = PaginationContent; exports.PaginationItem = PaginationItem; exports.PaginationLink = PaginationLink; exports.PaginationEllipsis = PaginationEllipsis; exports.PaginationPrevious = PaginationPrevious; exports.PaginationNext = PaginationNext; exports.UnifiedPagination = UnifiedPagination; exports.FooterWaitlistButton = FooterWaitlistButton; exports.HeroImageUploader = HeroImageUploader; exports.ResponsiveIconsBlock = ResponsiveIconsBlock; exports.Slider = Slider; exports.ImageCropper = ImageCropper; exports.MediaCarousel = MediaCarousel; exports.MetricValue = MetricValue; exports.MSPDisplay = MSPDisplay; exports.PersistentFilterControls = PersistentFilterControls; exports.PersistentSearchContainer = PersistentSearchContainer; exports.PersistentSidebar = PersistentSidebar; exports.PersistentMobileDropdown = PersistentMobileDropdown; exports.PersistentPagination = PersistentPagination; exports.usePaginationLoading = usePaginationLoading; exports.PersistentPaginationWrapper = PersistentPaginationWrapper; exports.PRICING_STYLES = PRICING_STYLES; exports.PricingDisplay = PricingDisplay; exports.formatPricingForDisplay = formatPricingForDisplay; exports.ResultsCount = ResultsCount; exports.VendorTag = VendorTag; exports.SelectionSourceBadge = SelectionSourceBadge; exports.UserDisplay = UserDisplay; exports.UnifiedSkeleton = UnifiedSkeleton; exports.TextSkeleton = TextSkeleton; exports.InteractiveSkeleton = InteractiveSkeleton; exports.MediaSkeleton = MediaSkeleton; exports.CardSkeleton = CardSkeleton; exports.CardSkeletonGrid = CardSkeletonGrid; exports.AnnouncementBarSkeleton = AnnouncementBarSkeleton; exports.HeroSkeleton = HeroSkeleton; exports.SearchContainerSkeleton = SearchContainerSkeleton; exports.CategorySidebarSkeleton = CategorySidebarSkeleton; exports.BreadcrumbSkeleton = BreadcrumbSkeleton; exports.ResultsHeaderSkeleton = ResultsHeaderSkeleton; exports.TwoColumnLayoutSkeleton = TwoColumnLayoutSkeleton; exports.ArticleLayoutSkeleton = ArticleLayoutSkeleton; exports.VendorDetailLayoutSkeleton = VendorDetailLayoutSkeleton; exports.StatsSectionSkeleton = StatsSectionSkeleton; exports.BlogCardGridSkeleton = BlogCardGridSkeleton; exports.VendorGridSkeleton = VendorGridSkeleton; exports.SlackCommunitySkeleton = SlackCommunitySkeleton; exports.ParagraphSkeleton = ParagraphSkeleton; exports.ListSkeleton = ListSkeleton; exports.TableSkeleton = TableSkeleton; exports.FormSkeleton = FormSkeleton; exports.NavigationSkeleton = NavigationSkeleton; exports.ProfileSkeleton = ProfileSkeleton; exports.CommentSkeleton = CommentSkeleton; exports.FeatureListSkeleton = FeatureListSkeleton; exports.TimelineSkeleton = TimelineSkeleton; exports.PricingSkeleton = PricingSkeleton; exports.ProfileLoadingSkeleton = ProfileLoadingSkeleton; exports.MspProfileFormSkeleton = MspProfileFormSkeleton; exports.CategoryCardSkeleton = CategoryCardSkeleton; exports.CategoryVendorSelectorSkeleton = CategoryVendorSelectorSkeleton; exports.WizardLayoutSkeleton = WizardLayoutSkeleton; exports.MarginReportSkeleton = MarginReportSkeleton; exports.UsersGridSkeleton = UsersGridSkeleton; exports.OrganizationIconSkeleton = OrganizationIconSkeleton; exports.OrganizationCardSkeleton = OrganizationCardSkeleton; exports.OrganizationCardSkeletonGrid = OrganizationCardSkeletonGrid; exports.DeviceCardSkeleton = DeviceCardSkeleton; exports.DeviceCardSkeletonGrid = DeviceCardSkeletonGrid; exports.VendorPageSkeleton = VendorPageSkeleton; exports.CheckIcon = CheckIcon2; exports.XIcon = XIcon; exports.MinusIcon = MinusIcon; exports.CheckCircleIcon = CheckCircleIcon3; exports.XCircleIcon = XCircleIcon; exports.YesNoDisplay = YesNoDisplay; exports.evaluateFeatureValue = evaluateFeatureValue; exports.MadeWithLove = MadeWithLove; exports.DateTimePicker = DateTimePicker; exports.InteractiveCard = InteractiveCard; exports.OnboardingStepCard = OnboardingStepCard; exports.OnboardingWalkthrough = OnboardingWalkthrough; exports.ProductReleaseCard = ProductReleaseCard; exports.ProductReleaseCardSkeleton = ProductReleaseCardSkeleton; exports.PageShell = PageShell; exports.ArticleDetailLayout = ArticleDetailLayout; exports.ReleaseChangelogSection = ReleaseChangelogSection; exports.ImageGalleryModal = ImageGalleryModal; exports.ActionsMenu = ActionsMenu; exports.ActionsMenuDropdown = ActionsMenuDropdown; exports.PageActions = PageActions; exports.usePageActionsBottomPadding = usePageActionsBottomPadding; exports.PageContainer = PageContainer; exports.ListPageContainer = ListPageContainer; exports.DetailPageContainer = DetailPageContainer; exports.FormPageContainer = FormPageContainer; exports.ContentPageContainer = ContentPageContainer; exports.DetailPageSkeleton = DetailPageSkeleton; exports.ReleaseDetailPage = ReleaseDetailPage; exports.ReleaseDetailSkeleton = ReleaseDetailSkeleton; exports.InfoCard = InfoCard; exports.InfoRow = InfoRow; exports.InputTrigger = InputTrigger; exports.MediaTypeSelector = MediaTypeSelector; exports.PageLoader = PageLoader; exports.CompactPageLoader = CompactPageLoader; exports.ProgressBar = ProgressBar; exports.RadioGroup = RadioGroup; exports.RadioGroupItem = RadioGroupItem; exports.RadioGroupBlock = RadioGroupBlock; exports.TagsInput = TagsInput; exports.TagsManager = TagsManager; 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.Modal = Modal; exports.ModalContent = ModalContent; exports.ModalHeader = ModalHeader; exports.ModalTitle = ModalTitle; exports.ModalFooter = ModalFooter; exports.Modal2 = Modal2; exports.ModalContent2 = ModalContent2; exports.ModalHeader2 = ModalHeader2; exports.ModalTitle2 = ModalTitle2; exports.ModalFooter2 = ModalFooter2; 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.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.StatusIndicator = StatusIndicator; exports.FilterCheckboxItem = FilterCheckboxItem; exports.TagKeyValueFilter = TagKeyValueFilter; exports.FilterModal = FilterModal; exports.ListPageLayout = ListPageLayout; exports.TitleBlock = TitleBlock; exports.PageLayout = PageLayout; exports.toggleVariants = toggleVariants; exports.Toggle = Toggle; exports.ToggleGroup = ToggleGroup; exports.ToggleGroupItem = ToggleGroupItem; exports.BenefitCard = BenefitCard; exports.BenefitCardGrid = BenefitCardGrid; exports.BrandAssociationCard = BrandAssociationCard; exports.BrandAssociationGrid = BrandAssociationGrid; exports.BulletList = BulletList; exports.CircularProgress = CircularProgress; exports.FloatingTooltip = FloatingTooltip; exports.DashboardInfoCard = DashboardInfoCard; exports.DeviceCard = DeviceCard; exports.DeviceCardCompact = DeviceCardCompact; exports.FeatureCardGrid = FeatureCardGrid; exports.FeatureList = FeatureList; exports.HighlightCard = HighlightCard; exports.HighlightCardGrid = HighlightCardGrid; exports.IconsBlock = IconsBlock; exports.MoreActionsMenu = MoreActionsMenu; exports.DropdownButton = DropdownButton; exports.OrganizationCard = OrganizationCard; exports.ServiceCard = ServiceCard; exports.TabSelector = TabSelector; exports.TitleContentBlock = TitleContentBlock; exports.TooltipProvider = TooltipProvider; exports.Tooltip = Tooltip; exports.TooltipTrigger = TooltipTrigger; exports.TooltipContent = TooltipContent; exports.ErrorState = ErrorState; exports.PageError = PageError; exports.LoadError = LoadError; exports.NotFoundError = NotFoundError; exports.ContentLoader = ContentLoader; exports.CardLoader = CardLoader; exports.FormLoader = FormLoader; exports.DetailLoader = DetailLoader; exports.ListLoader = ListLoader; exports.CursorPagination = CursorPagination; exports.CursorPaginationSimple = CursorPaginationSimple; exports.TableEmptyState = TableEmptyState; exports.TableHeader = TableHeader; exports.TableCell = TableCell; exports.TableCardSkeleton = TableCardSkeleton; exports.TableRow = TableRow; exports.Table = Table; exports.TableDescriptionCell = TableDescriptionCell; exports.TableTimestampCell = TableTimestampCell; exports.QueryReportTableHeader = QueryReportTableHeader; exports.QueryReportTableRow = QueryReportTableRow; exports.QueryReportTableSkeleton = QueryReportTableSkeleton; exports.deriveColumns = deriveColumns; exports.exportToCSV = exportToCSV; exports.QueryReportTable = QueryReportTable; exports.useDataTableContext = useDataTableContext; exports.DataTableRoot = DataTableRoot; exports.getHideClasses = getHideClasses2; exports.alignJustify = alignJustify; exports.multiSelectFilterFn = multiSelectFilterFn; exports.DataTableHeader = DataTableHeader; exports.DataTableEmpty = DataTableEmpty; exports.ROW_HEIGHT_DESKTOP = ROW_HEIGHT_DESKTOP2; exports.ROW_HEIGHT_MOBILE = ROW_HEIGHT_MOBILE2; exports.DataTableSkeleton = DataTableSkeleton; exports.DataTableRow = DataTableRow; exports.DataTableBody = DataTableBody; exports.DataTableInfiniteFooter = DataTableInfiniteFooter; exports.DataTableCursorFooter = DataTableCursorFooter; exports.DataTableRowCount = DataTableRowCount; exports.useDataTable = useDataTable; exports.DataTable = DataTable; exports.flexRender = _reacttable.flexRender; exports.createColumnHelper = _reacttable.createColumnHelper; exports.getCoreRowModel = _reacttable.getCoreRowModel; exports.getExpandedRowModel = _reacttable.getExpandedRowModel; exports.getFacetedRowModel = _reacttable.getFacetedRowModel; exports.getFacetedUniqueValues = _reacttable.getFacetedUniqueValues; exports.getFilteredRowModel = _reacttable.getFilteredRowModel; exports.getGroupedRowModel = _reacttable.getGroupedRowModel; exports.getPaginationRowModel = _reacttable.getPaginationRowModel; exports.getSortedRowModel = _reacttable.getSortedRowModel; exports.SearchInput = SearchInput; exports.FilterListItem = FilterListItem; exports.FilterList = FilterList; exports.TagSearchInput = TagSearchInput; exports.MarkdownEditor = MarkdownEditor; exports.FileUpload = FileUpload; exports.ImageUploader = ImageUploader; exports.AssigneeDropdown = AssigneeDropdown; exports.TicketDetailSection = TicketDetailSection; exports.TicketAttachmentsList = TicketAttachmentsList; exports.TicketNoteCard = TicketNoteCard; exports.TicketNotesSection = TicketNotesSection; exports.TicketInfoSection = TicketInfoSection; exports.LOG_SEVERITY_COLORS = LOG_SEVERITY_COLORS; exports.LOG_SEVERITY_LABELS = LOG_SEVERITY_LABELS; exports.LogSeverityDot = LogSeverityDot; exports.LogsList = LogsList; exports.AVAILABLE_SVG_ICONS = AVAILABLE_SVG_ICONS; exports.releaseTypeOptions = releaseTypeOptions; exports.releaseStatusOptions = releaseStatusOptions; exports.changelogLabels = changelogLabels; exports.SEMVER_REGEX = SEMVER_REGEX; exports.TMCG_ROLES = TMCG_ROLES; exports.TMCG_ROLE_DISPLAY_NAMES = TMCG_ROLE_DISPLAY_NAMES; exports.TMCG_SOCIAL_PLATFORMS = TMCG_SOCIAL_PLATFORMS; exports.assets = assets;
34086
+ //# sourceMappingURL=chunk-56JS47IQ.cjs.map