@flamingo-stack/openframe-frontend-core 0.0.193 → 0.0.194-snapshot.20260518210734

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/{chunk-GMC5VU7X.cjs → chunk-IQM3G2I6.cjs} +480 -369
  2. package/dist/chunk-IQM3G2I6.cjs.map +1 -0
  3. package/dist/{chunk-E6VCRL42.js → chunk-U6AJSRJP.js} +140 -29
  4. package/dist/chunk-U6AJSRJP.js.map +1 -0
  5. package/dist/components/chat/chat-message-list.d.ts.map +1 -1
  6. package/dist/components/chat/types/message.types.d.ts +19 -0
  7. package/dist/components/chat/types/message.types.d.ts.map +1 -1
  8. package/dist/components/chat/utils/message-segment-accumulator.d.ts +16 -0
  9. package/dist/components/chat/utils/message-segment-accumulator.d.ts.map +1 -1
  10. package/dist/components/chat/utils/process-historical-messages.d.ts.map +1 -1
  11. package/dist/components/features/index.cjs +2 -2
  12. package/dist/components/features/index.js +1 -1
  13. package/dist/components/index.cjs +4 -2
  14. package/dist/components/index.cjs.map +1 -1
  15. package/dist/components/index.js +3 -1
  16. package/dist/components/navigation/index.cjs +2 -2
  17. package/dist/components/navigation/index.js +1 -1
  18. package/dist/components/ui/index.cjs +4 -2
  19. package/dist/components/ui/index.cjs.map +1 -1
  20. package/dist/components/ui/index.js +3 -1
  21. package/dist/index.cjs +4 -2
  22. package/dist/index.cjs.map +1 -1
  23. package/dist/index.js +3 -1
  24. package/package.json +1 -1
  25. package/src/components/chat/chat-message-list.tsx +138 -1
  26. package/src/components/chat/types/message.types.ts +20 -0
  27. package/src/components/chat/utils/message-segment-accumulator.ts +28 -0
  28. package/src/components/chat/utils/process-historical-messages.ts +23 -5
  29. package/dist/chunk-E6VCRL42.js.map +0 -1
  30. package/dist/chunk-GMC5VU7X.cjs.map +0 -1
@@ -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();
@@ -7835,6 +7909,7 @@ var MessageSegmentAccumulator = class {
7835
7909
  return this.getSegments();
7836
7910
  }
7837
7911
  const toolKey = execId || `${toolData.integratedToolType}-${toolData.toolFunction}`;
7912
+ this.resolvePendingApprovalForExecution();
7838
7913
  if (toolData.type === "EXECUTING_TOOL") {
7839
7914
  this.executingTools.set(toolKey, {
7840
7915
  integratedToolType: toolData.integratedToolType,
@@ -7853,8 +7928,8 @@ var MessageSegmentAccumulator = class {
7853
7928
  type: "tool_execution",
7854
7929
  data: {
7855
7930
  ...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])
7931
+ toolTitle: _nullishCoalesce(_nullishCoalesce(toolData.toolTitle, () => ( _optionalChain([existingExecuting, 'optionalAccess', _173 => _173.data, 'access', _174 => _174.toolTitle]))), () => ( _optionalChain([executingTool, 'optionalAccess', _175 => _175.toolTitle]))),
7932
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _176 => _176.parameters])
7858
7933
  }
7859
7934
  };
7860
7935
  if (existingIndex !== -1) {
@@ -7878,8 +7953,8 @@ var MessageSegmentAccumulator = class {
7878
7953
  if (seg.type !== "approval_batch") return seg;
7879
7954
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
7880
7955
  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]) };
7956
+ const prev = _optionalChain([seg, 'access', _177 => _177.data, 'access', _178 => _178.executions, 'optionalAccess', _179 => _179[execId]]);
7957
+ 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
7958
  matched = true;
7884
7959
  return {
7885
7960
  ...seg,
@@ -7891,6 +7966,30 @@ var MessageSegmentAccumulator = class {
7891
7966
  });
7892
7967
  return matched;
7893
7968
  }
7969
+ /**
7970
+ * A tool only ever runs after its approval gate was granted. The legacy /
7971
+ * single `approval_request` segment carries no `toolExecutionRequestId` to
7972
+ * correlate with the execution, and an observer (e.g. a technician
7973
+ * mirroring the client chat) may never receive an `APPROVAL_RESULT` chunk —
7974
+ * only the tool's `EXECUTING_TOOL` / `EXECUTED_TOOL` events. Treat the
7975
+ * arrival of a tool execution as implicit approval of the most recent
7976
+ * still-pending gate so the card does not stay stuck `pending` in realtime.
7977
+ *
7978
+ * The agent stays paused while an approval is outstanding, so there is at
7979
+ * most one relevant gate; flipping only the latest pending one is safe and
7980
+ * monotonic (never downgrades, can't make a correct state wrong — an
7981
+ * unapproved tool cannot execute). `approval_batch` is handled separately by
7982
+ * `applyExecutionToBatch` and is intentionally left untouched here.
7983
+ */
7984
+ resolvePendingApprovalForExecution() {
7985
+ for (let i = this.segments.length - 1; i >= 0; i--) {
7986
+ const seg = this.segments[i];
7987
+ if (seg.type === "approval_request" && seg.status === "pending") {
7988
+ this.segments[i] = { ...seg, status: "approved" };
7989
+ return;
7990
+ }
7991
+ }
7992
+ }
7894
7993
  /**
7895
7994
  * Track a pending approval request
7896
7995
  */
@@ -7975,10 +8074,10 @@ var MessageSegmentAccumulator = class {
7975
8074
  const segment = {
7976
8075
  type: "approval_request",
7977
8076
  data: {
7978
- command: _optionalChain([pendingApproval, 'optionalAccess', _180 => _180.command]) || "",
7979
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _181 => _181.explanation]),
8077
+ command: _optionalChain([pendingApproval, 'optionalAccess', _182 => _182.command]) || "",
8078
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _183 => _183.explanation]),
7980
8079
  requestId,
7981
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _182 => _182.approvalType]) || approvalType
8080
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _184 => _184.approvalType]) || approvalType
7982
8081
  },
7983
8082
  status,
7984
8083
  onApprove: this.callbacks.onApprove,
@@ -8166,7 +8265,7 @@ function useRealtimeChunkProcessor(options) {
8166
8265
  if (initialState.escalatedApprovals) {
8167
8266
  pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
8168
8267
  initialState.escalatedApprovals.forEach((data, requestId) => {
8169
- _optionalChain([callbacks, 'access', _183 => _183.onEscalatedApproval, 'optionalCall', _184 => _184(requestId, data)]);
8268
+ _optionalChain([callbacks, 'access', _185 => _185.onEscalatedApproval, 'optionalCall', _186 => _186(requestId, data)]);
8170
8269
  });
8171
8270
  }
8172
8271
  hasInitializedWithData.current = true;
@@ -8185,30 +8284,30 @@ function useRealtimeChunkProcessor(options) {
8185
8284
  switch (action.action) {
8186
8285
  case "message_start":
8187
8286
  isInStreamRef.current = true;
8188
- _optionalChain([callbacks, 'access', _185 => _185.onStreamStart, 'optionalCall', _186 => _186()]);
8287
+ _optionalChain([callbacks, 'access', _187 => _187.onStreamStart, 'optionalCall', _188 => _188()]);
8189
8288
  accumulator.resetSegments();
8190
8289
  break;
8191
8290
  case "message_end":
8192
8291
  isInStreamRef.current = false;
8193
- _optionalChain([callbacks, 'access', _187 => _187.onStreamEnd, 'optionalCall', _188 => _188()]);
8292
+ _optionalChain([callbacks, 'access', _189 => _189.onStreamEnd, 'optionalCall', _190 => _190()]);
8194
8293
  accumulator.resetSegments();
8195
8294
  break;
8196
8295
  case "metadata":
8197
- _optionalChain([callbacks, 'access', _189 => _189.onMetadata, 'optionalCall', _190 => _190(action)]);
8296
+ _optionalChain([callbacks, 'access', _191 => _191.onMetadata, 'optionalCall', _192 => _192(action)]);
8198
8297
  break;
8199
8298
  case "text": {
8200
8299
  const segments = accumulator.appendText(action.text);
8201
- _optionalChain([callbacks, 'access', _191 => _191.onSegmentsUpdate, 'optionalCall', _192 => _192(segments)]);
8300
+ _optionalChain([callbacks, 'access', _193 => _193.onSegmentsUpdate, 'optionalCall', _194 => _194(segments)]);
8202
8301
  break;
8203
8302
  }
8204
8303
  case "thinking": {
8205
8304
  const segments = accumulator.appendThinking(action.text);
8206
- _optionalChain([callbacks, 'access', _193 => _193.onSegmentsUpdate, 'optionalCall', _194 => _194(segments)]);
8305
+ _optionalChain([callbacks, 'access', _195 => _195.onSegmentsUpdate, 'optionalCall', _196 => _196(segments)]);
8207
8306
  break;
8208
8307
  }
8209
8308
  case "tool_execution": {
8210
8309
  const segments = accumulator.addToolExecution(action.segment);
8211
- _optionalChain([callbacks, 'access', _195 => _195.onSegmentsUpdate, 'optionalCall', _196 => _196(segments)]);
8310
+ _optionalChain([callbacks, 'access', _197 => _197.onSegmentsUpdate, 'optionalCall', _198 => _198(segments)]);
8212
8311
  break;
8213
8312
  }
8214
8313
  case "approval_request": {
@@ -8222,10 +8321,10 @@ function useRealtimeChunkProcessor(options) {
8222
8321
  approvalType,
8223
8322
  status
8224
8323
  );
8225
- _optionalChain([callbacks, 'access', _197 => _197.onSegmentsUpdate, 'optionalCall', _198 => _198(segments)]);
8324
+ _optionalChain([callbacks, 'access', _199 => _199.onSegmentsUpdate, 'optionalCall', _200 => _200(segments)]);
8226
8325
  } else {
8227
8326
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
8228
- _optionalChain([callbacks, 'access', _199 => _199.onEscalatedApproval, 'optionalCall', _200 => _200(requestId, { command, explanation, approvalType })]);
8327
+ _optionalChain([callbacks, 'access', _201 => _201.onEscalatedApproval, 'optionalCall', _202 => _202(requestId, { command, explanation, approvalType })]);
8229
8328
  }
8230
8329
  break;
8231
8330
  }
@@ -8237,20 +8336,20 @@ function useRealtimeChunkProcessor(options) {
8237
8336
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
8238
8337
  pendingEscalatedRef.current.set(requestId, {
8239
8338
  command: summary,
8240
- explanation: _optionalChain([required, 'optionalAccess', _201 => _201.toolExplanation]),
8339
+ explanation: _optionalChain([required, 'optionalAccess', _203 => _203.toolExplanation]),
8241
8340
  approvalType,
8242
8341
  toolCalls
8243
8342
  });
8244
- _optionalChain([callbacks, 'access', _202 => _202.onEscalatedApproval, 'optionalCall', _203 => _203(requestId, {
8343
+ _optionalChain([callbacks, 'access', _204 => _204.onEscalatedApproval, 'optionalCall', _205 => _205(requestId, {
8245
8344
  command: summary,
8246
- explanation: _optionalChain([required, 'optionalAccess', _204 => _204.toolExplanation]),
8345
+ explanation: _optionalChain([required, 'optionalAccess', _206 => _206.toolExplanation]),
8247
8346
  approvalType
8248
8347
  })]);
8249
8348
  break;
8250
8349
  }
8251
8350
  if (batchApprovalsEnabled) {
8252
8351
  const segments2 = accumulator.addApprovalBatch(requestId, approvalType, toolCalls, status);
8253
- _optionalChain([callbacks, 'access', _205 => _205.onSegmentsUpdate, 'optionalCall', _206 => _206(segments2)]);
8352
+ _optionalChain([callbacks, 'access', _207 => _207.onSegmentsUpdate, 'optionalCall', _208 => _208(segments2)]);
8254
8353
  break;
8255
8354
  }
8256
8355
  let segments = accumulator.getSegments();
@@ -8264,7 +8363,7 @@ function useRealtimeChunkProcessor(options) {
8264
8363
  status
8265
8364
  );
8266
8365
  }
8267
- _optionalChain([callbacks, 'access', _207 => _207.onSegmentsUpdate, 'optionalCall', _208 => _208(segments)]);
8366
+ _optionalChain([callbacks, 'access', _209 => _209.onSegmentsUpdate, 'optionalCall', _210 => _210(segments)]);
8268
8367
  break;
8269
8368
  }
8270
8369
  case "approval_result": {
@@ -8273,7 +8372,7 @@ function useRealtimeChunkProcessor(options) {
8273
8372
  const status = approved ? "approved" : "rejected";
8274
8373
  if (escalatedData) {
8275
8374
  pendingEscalatedRef.current.delete(requestId);
8276
- _optionalChain([callbacks, 'access', _209 => _209.onEscalatedApprovalResult, 'optionalCall', _210 => _210(requestId, approved, {
8375
+ _optionalChain([callbacks, 'access', _211 => _211.onEscalatedApprovalResult, 'optionalCall', _212 => _212(requestId, approved, {
8277
8376
  command: escalatedData.command,
8278
8377
  explanation: escalatedData.explanation,
8279
8378
  approvalType: escalatedData.approvalType
@@ -8286,7 +8385,7 @@ function useRealtimeChunkProcessor(options) {
8286
8385
  escalatedData.toolCalls,
8287
8386
  status
8288
8387
  );
8289
- _optionalChain([callbacks, 'access', _211 => _211.onSegmentsUpdate, 'optionalCall', _212 => _212(segments)]);
8388
+ _optionalChain([callbacks, 'access', _213 => _213.onSegmentsUpdate, 'optionalCall', _214 => _214(segments)]);
8290
8389
  } else {
8291
8390
  let segments = accumulator.getSegments();
8292
8391
  for (const call of escalatedData.toolCalls) {
@@ -8299,7 +8398,7 @@ function useRealtimeChunkProcessor(options) {
8299
8398
  status
8300
8399
  );
8301
8400
  }
8302
- _optionalChain([callbacks, 'access', _213 => _213.onSegmentsUpdate, 'optionalCall', _214 => _214(segments)]);
8401
+ _optionalChain([callbacks, 'access', _215 => _215.onSegmentsUpdate, 'optionalCall', _216 => _216(segments)]);
8303
8402
  }
8304
8403
  } else {
8305
8404
  const segments = accumulator.addApprovalRequest(
@@ -8309,63 +8408,63 @@ function useRealtimeChunkProcessor(options) {
8309
8408
  escalatedData.approvalType,
8310
8409
  status
8311
8410
  );
8312
- _optionalChain([callbacks, 'access', _215 => _215.onSegmentsUpdate, 'optionalCall', _216 => _216(segments)]);
8411
+ _optionalChain([callbacks, 'access', _217 => _217.onSegmentsUpdate, 'optionalCall', _218 => _218(segments)]);
8313
8412
  }
8314
8413
  } else {
8315
8414
  const segments = accumulator.updateApprovalStatus(requestId, status);
8316
- _optionalChain([callbacks, 'access', _217 => _217.onSegmentsUpdate, 'optionalCall', _218 => _218(segments)]);
8415
+ _optionalChain([callbacks, 'access', _219 => _219.onSegmentsUpdate, 'optionalCall', _220 => _220(segments)]);
8317
8416
  }
8318
8417
  void approvalType;
8319
8418
  break;
8320
8419
  }
8321
8420
  case "error": {
8322
8421
  let message;
8323
- if ("details" in action && _optionalChain([action, 'optionalAccess', _219 => _219.details])) {
8422
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _221 => _221.details])) {
8324
8423
  try {
8325
- message = _optionalChain([JSON, 'access', _220 => _220.parse, 'call', _221 => _221(action.details), 'optionalAccess', _222 => _222.error, 'optionalAccess', _223 => _223.message]);
8424
+ message = _optionalChain([JSON, 'access', _222 => _222.parse, 'call', _223 => _223(action.details), 'optionalAccess', _224 => _224.error, 'optionalAccess', _225 => _225.message]);
8326
8425
  } catch (e20) {
8327
8426
  message = action.details;
8328
8427
  }
8329
8428
  }
8330
8429
  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)]);
8430
+ _optionalChain([callbacks, 'access', _226 => _226.onSegmentsUpdate, 'optionalCall', _227 => _227(segments)]);
8431
+ _optionalChain([callbacks, 'access', _228 => _228.onError, 'optionalCall', _229 => _229(action.error, message)]);
8333
8432
  break;
8334
8433
  }
8335
8434
  case "system": {
8336
- _optionalChain([callbacks, 'access', _228 => _228.onSystemMessage, 'optionalCall', _229 => _229(action.text)]);
8435
+ _optionalChain([callbacks, 'access', _230 => _230.onSystemMessage, 'optionalCall', _231 => _231(action.text)]);
8337
8436
  break;
8338
8437
  }
8339
8438
  case "direct_message": {
8340
- _optionalChain([callbacks, 'access', _230 => _230.onDirectMessage, 'optionalCall', _231 => _231(action.text, {
8439
+ _optionalChain([callbacks, 'access', _232 => _232.onDirectMessage, 'optionalCall', _233 => _233(action.text, {
8341
8440
  ownerType: action.ownerType,
8342
8441
  displayName: action.displayName
8343
8442
  })]);
8344
8443
  break;
8345
8444
  }
8346
8445
  case "message_request":
8347
- _optionalChain([callbacks, 'access', _232 => _232.onUserMessage, 'optionalCall', _233 => _233(action.text, {
8446
+ _optionalChain([callbacks, 'access', _234 => _234.onUserMessage, 'optionalCall', _235 => _235(action.text, {
8348
8447
  ownerType: action.ownerType,
8349
8448
  displayName: action.displayName
8350
8449
  })]);
8351
8450
  break;
8352
8451
  case "token_usage":
8353
- _optionalChain([callbacks, 'access', _234 => _234.onTokenUsage, 'optionalCall', _235 => _235(action.data)]);
8452
+ _optionalChain([callbacks, 'access', _236 => _236.onTokenUsage, 'optionalCall', _237 => _237(action.data)]);
8354
8453
  break;
8355
8454
  case "context_compaction_start": {
8356
8455
  const standalone = !isInStreamRef.current;
8357
8456
  const segments = accumulator.addContextCompaction();
8358
- _optionalChain([callbacks, 'access', _236 => _236.onSegmentsUpdate, 'optionalCall', _237 => _237(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
8457
+ _optionalChain([callbacks, 'access', _238 => _238.onSegmentsUpdate, 'optionalCall', _239 => _239(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
8359
8458
  break;
8360
8459
  }
8361
8460
  case "context_compaction_end": {
8362
8461
  const standalone = !isInStreamRef.current;
8363
8462
  const segments = accumulator.completeContextCompaction(action.summary);
8364
- _optionalChain([callbacks, 'access', _238 => _238.onSegmentsUpdate, 'optionalCall', _239 => _239(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
8463
+ _optionalChain([callbacks, 'access', _240 => _240.onSegmentsUpdate, 'optionalCall', _241 => _241(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
8365
8464
  break;
8366
8465
  }
8367
8466
  case "dialog_closed":
8368
- _optionalChain([callbacks, 'access', _240 => _240.onDialogClosed, 'optionalCall', _241 => _241()]);
8467
+ _optionalChain([callbacks, 'access', _242 => _242.onDialogClosed, 'optionalCall', _243 => _243()]);
8369
8468
  break;
8370
8469
  default:
8371
8470
  break;
@@ -8401,12 +8500,12 @@ function useRealtimeChunkProcessor(options) {
8401
8500
 
8402
8501
  // src/components/chat/utils/process-historical-messages.ts
8403
8502
  function getOwnerDisplayName(owner) {
8404
- if (_optionalChain([owner, 'optionalAccess', _242 => _242.type]) === OWNER_TYPE.ADMIN && owner.user) {
8503
+ if (_optionalChain([owner, 'optionalAccess', _244 => _244.type]) === OWNER_TYPE.ADMIN && owner.user) {
8405
8504
  const { firstName, lastName } = owner.user;
8406
8505
  const name = [firstName, lastName].filter(Boolean).join(" ");
8407
8506
  if (name) return name;
8408
8507
  }
8409
- return _optionalChain([owner, 'optionalAccess', _243 => _243.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
8508
+ return _optionalChain([owner, 'optionalAccess', _245 => _245.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
8410
8509
  }
8411
8510
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
8412
8511
  messageDataArray.forEach((data) => {
@@ -8469,10 +8568,10 @@ function processHistoricalMessages(messages, options = {}) {
8469
8568
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
8470
8569
  return;
8471
8570
  }
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;
8571
+ 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
8572
  if (isUserMessage) {
8474
8573
  flushAssistantMessage();
8475
- const userAuthorType = _optionalChain([msg, 'access', _248 => _248.owner, 'optionalAccess', _249 => _249.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
8574
+ const userAuthorType = _optionalChain([msg, 'access', _250 => _250.owner, 'optionalAccess', _251 => _251.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
8476
8575
  messageDataArray.forEach((data) => {
8477
8576
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
8478
8577
  processedMessages.push({
@@ -8496,7 +8595,7 @@ function processHistoricalMessages(messages, options = {}) {
8496
8595
  });
8497
8596
  const nextMsg = messages[index + 1];
8498
8597
  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);
8598
+ 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
8599
  if (isLastMessage || nextIsFromUser) {
8501
8600
  flushAssistantMessage();
8502
8601
  }
@@ -8588,14 +8687,25 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
8588
8687
  }
8589
8688
  }
8590
8689
  } else {
8591
- accumulator.trackApprovalRequest(data.approvalRequestId, {
8592
- command: data.command || "",
8593
- explanation: data.explanation,
8594
- approvalType
8595
- });
8690
+ const resolvedStatus = approvalStatuses[data.approvalRequestId];
8691
+ if (resolvedStatus === "approved" || resolvedStatus === "rejected") {
8692
+ accumulator.addApprovalRequest(
8693
+ data.approvalRequestId,
8694
+ data.command || "",
8695
+ data.explanation,
8696
+ approvalType,
8697
+ resolvedStatus
8698
+ );
8699
+ } else {
8700
+ accumulator.trackApprovalRequest(data.approvalRequestId, {
8701
+ command: data.command || "",
8702
+ explanation: data.explanation,
8703
+ approvalType
8704
+ });
8705
+ }
8596
8706
  }
8597
8707
  } else {
8598
- _optionalChain([escalatedApprovals, 'optionalAccess', _254 => _254.set, 'call', _255 => _255(data.approvalRequestId, {
8708
+ _optionalChain([escalatedApprovals, 'optionalAccess', _256 => _256.set, 'call', _257 => _257(data.approvalRequestId, {
8599
8709
  command: data.command || "",
8600
8710
  explanation: data.explanation,
8601
8711
  approvalType,
@@ -8608,8 +8718,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
8608
8718
  if ("approvalRequestId" in data && data.approvalRequestId) {
8609
8719
  const existingStatus = approvalStatuses[data.approvalRequestId];
8610
8720
  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) {
8721
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _258 => _258.get, 'call', _259 => _259(data.approvalRequestId)]);
8722
+ if (_optionalChain([escalatedData, 'optionalAccess', _260 => _260.toolCalls]) && escalatedData.toolCalls.length > 0) {
8613
8723
  if (batchApprovalsEnabled) {
8614
8724
  accumulator.addApprovalBatch(
8615
8725
  data.approvalRequestId,
@@ -8629,7 +8739,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
8629
8739
  );
8630
8740
  }
8631
8741
  }
8632
- _optionalChain([escalatedApprovals, 'optionalAccess', _259 => _259.delete, 'call', _260 => _260(data.approvalRequestId)]);
8742
+ _optionalChain([escalatedApprovals, 'optionalAccess', _261 => _261.delete, 'call', _262 => _262(data.approvalRequestId)]);
8633
8743
  break;
8634
8744
  }
8635
8745
  if (escalatedData) {
@@ -8638,7 +8748,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
8638
8748
  explanation: escalatedData.explanation,
8639
8749
  approvalType: escalatedData.approvalType
8640
8750
  });
8641
- _optionalChain([escalatedApprovals, 'optionalAccess', _261 => _261.delete, 'call', _262 => _262(data.approvalRequestId)]);
8751
+ _optionalChain([escalatedApprovals, 'optionalAccess', _263 => _263.delete, 'call', _264 => _264(data.approvalRequestId)]);
8642
8752
  }
8643
8753
  const before = accumulator.getSegments();
8644
8754
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status);
@@ -8654,9 +8764,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
8654
8764
  case MESSAGE_TYPE.ERROR:
8655
8765
  if ("error" in data) {
8656
8766
  let message;
8657
- if ("details" in data && _optionalChain([data, 'optionalAccess', _263 => _263.details])) {
8767
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _265 => _265.details])) {
8658
8768
  try {
8659
- message = _optionalChain([JSON, 'access', _264 => _264.parse, 'call', _265 => _265(data.details), 'optionalAccess', _266 => _266.error, 'optionalAccess', _267 => _267.message]);
8769
+ message = _optionalChain([JSON, 'access', _266 => _266.parse, 'call', _267 => _267(data.details), 'optionalAccess', _268 => _268.error, 'optionalAccess', _269 => _269.message]);
8660
8770
  } catch (e21) {
8661
8771
  message = data.details;
8662
8772
  }
@@ -8739,10 +8849,10 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
8739
8849
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
8740
8850
  return;
8741
8851
  }
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;
8852
+ 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
8853
  if (isUserMessage) {
8744
8854
  flushAssistantMessage();
8745
- const userAuthorType = _optionalChain([msg, 'access', _272 => _272.owner, 'optionalAccess', _273 => _273.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
8855
+ const userAuthorType = _optionalChain([msg, 'access', _274 => _274.owner, 'optionalAccess', _275 => _275.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
8746
8856
  messageDataArray.forEach((data) => {
8747
8857
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
8748
8858
  processedMessages.push({
@@ -8766,7 +8876,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
8766
8876
  });
8767
8877
  const nextMsg = messages[index + 1];
8768
8878
  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);
8879
+ 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
8880
  if (isLastMessage || nextIsFromUser) {
8771
8881
  flushAssistantMessage();
8772
8882
  }
@@ -8826,7 +8936,7 @@ function extractIncompleteMessageState(lastMessage) {
8826
8936
  break;
8827
8937
  case "approval_batch": {
8828
8938
  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"
8939
+ (c) => _optionalChain([segment, 'access', _280 => _280.data, 'access', _281 => _281.executions, 'optionalAccess', _282 => _282[c.toolExecutionRequestId], 'optionalAccess', _283 => _283.status]) === "done"
8830
8940
  );
8831
8941
  if (segment.status !== "rejected" && !allDone) {
8832
8942
  hasIncompleteState = true;
@@ -8988,7 +9098,7 @@ function Header({ config, platform }) {
8988
9098
  className: _chunkUC43NICZcjs.cn.call(void 0,
8989
9099
  "flex justify-start w-full",
8990
9100
  "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",
9101
+ index < (_nullishCoalesce(_optionalChain([item, 'access', _284 => _284.children, 'optionalAccess', _285 => _285.length]), () => ( 0))) - 1 && "mb-1",
8992
9102
  "text-ods-text-primary",
8993
9103
  // All dropdown items use primary text color
8994
9104
  child.isActive && "bg-ods-bg-hover"
@@ -9080,7 +9190,7 @@ function Header({ config, platform }) {
9080
9190
  style: config.style,
9081
9191
  children: [
9082
9192
  /* @__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 }),
9193
+ _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
9194
  /* @__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
9195
  ] }),
9086
9196
  config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -9097,7 +9207,7 @@ function Header({ config, platform }) {
9097
9207
  }
9098
9208
  ),
9099
9209
  /* @__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 }),
9210
+ _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
9211
  config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9102
9212
  _chunkV2FNIPZJcjs.Button,
9103
9213
  {
@@ -9105,10 +9215,10 @@ function Header({ config, platform }) {
9105
9215
  size: "icon",
9106
9216
  className: "flex md:hidden",
9107
9217
  onClick: () => {
9108
- _optionalChain([config, 'access', _288 => _288.mobile, 'optionalAccess', _289 => _289.onToggle, 'optionalCall', _290 => _290()]);
9218
+ _optionalChain([config, 'access', _290 => _290.mobile, 'optionalAccess', _291 => _291.onToggle, 'optionalCall', _292 => _292()]);
9109
9219
  },
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, {})
9220
+ "aria-label": _optionalChain([config, 'access', _293 => _293.mobile, 'optionalAccess', _294 => _294.isOpen]) ? "Close menu" : "Open menu",
9221
+ leftIcon: _optionalChain([config, 'access', _295 => _295.mobile, 'optionalAccess', _296 => _296.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Menu01Icon, {})
9112
9222
  }
9113
9223
  )
9114
9224
  ] })
@@ -9125,10 +9235,10 @@ function Header({ config, platform }) {
9125
9235
  // src/components/navigation/header-skeleton.tsx
9126
9236
 
9127
9237
  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")]);
9238
+ const showNavigation = _optionalChain([config, 'optionalAccess', _297 => _297.navigation]) && config.navigation.items.length > 0;
9239
+ const showActions = _optionalChain([config, 'optionalAccess', _298 => _298.actions, 'optionalAccess', _299 => _299.right]) && config.actions.right.length > 0;
9240
+ const showMobileMenu = _optionalChain([config, 'optionalAccess', _300 => _300.mobile, 'optionalAccess', _301 => _301.enabled]);
9241
+ const isAdminHeader = _optionalChain([config, 'optionalAccess', _302 => _302.className, 'optionalAccess', _303 => _303.includes, 'call', _304 => _304("admin")]);
9132
9242
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
9133
9243
  "header",
9134
9244
  {
@@ -9137,11 +9247,11 @@ function HeaderSkeleton({ config }) {
9137
9247
  "bg-ods-card border-b border-ods-border backdrop-blur-sm",
9138
9248
  "px-6 py-3",
9139
9249
  "transition-opacity duration-300 ease-in-out",
9140
- _optionalChain([config, 'optionalAccess', _303 => _303.className])
9250
+ _optionalChain([config, 'optionalAccess', _305 => _305.className])
9141
9251
  ),
9142
9252
  children: [
9143
9253
  /* @__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" }) }),
9254
+ 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
9255
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
9146
9256
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
9147
9257
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
@@ -9149,8 +9259,8 @@ function HeaderSkeleton({ config }) {
9149
9259
  ] }),
9150
9260
  showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkUC43NICZcjs.cn.call(void 0,
9151
9261
  "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"
9262
+ _optionalChain([config, 'optionalAccess', _308 => _308.navigation, 'optionalAccess', _309 => _309.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
9263
+ _optionalChain([config, 'optionalAccess', _310 => _310.navigation, 'optionalAccess', _311 => _311.position]) === "right" && "ml-auto mr-4"
9154
9264
  ), children: [
9155
9265
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
9156
9266
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
@@ -9198,7 +9308,7 @@ function MobileNavPanel({ isOpen, config }) {
9198
9308
  _react.useEffect.call(void 0, () => {
9199
9309
  const handleKeyDown = (e) => {
9200
9310
  if (e.key === "Escape" && isOpen) {
9201
- _optionalChain([config, 'access', _310 => _310.onClose, 'optionalCall', _311 => _311()]);
9311
+ _optionalChain([config, 'access', _312 => _312.onClose, 'optionalCall', _313 => _313()]);
9202
9312
  }
9203
9313
  };
9204
9314
  if (isOpen) {
@@ -9215,7 +9325,7 @@ function MobileNavPanel({ isOpen, config }) {
9215
9325
  if (item.onClick) {
9216
9326
  item.onClick();
9217
9327
  }
9218
- _optionalChain([config, 'access', _312 => _312.onClose, 'optionalCall', _313 => _313()]);
9328
+ _optionalChain([config, 'access', _314 => _314.onClose, 'optionalCall', _315 => _315()]);
9219
9329
  };
9220
9330
  if (item.href) {
9221
9331
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -9433,7 +9543,7 @@ function SlidingSidebar({ config }) {
9433
9543
  variant: "transparent",
9434
9544
  size: "default",
9435
9545
  onClick: () => {
9436
- _optionalChain([item, 'access', _314 => _314.onClick, 'optionalCall', _315 => _315()]);
9546
+ _optionalChain([item, 'access', _316 => _316.onClick, 'optionalCall', _317 => _317()]);
9437
9547
  config.onClose();
9438
9548
  },
9439
9549
  leftIcon: item.icon,
@@ -9456,7 +9566,7 @@ function SlidingSidebar({ config }) {
9456
9566
  variant: "transparent",
9457
9567
  size: "default",
9458
9568
  onClick: () => {
9459
- _optionalChain([item, 'access', _316 => _316.onClick, 'optionalCall', _317 => _317()]);
9569
+ _optionalChain([item, 'access', _318 => _318.onClick, 'optionalCall', _319 => _319()]);
9460
9570
  config.onClose();
9461
9571
  },
9462
9572
  leftIcon: item.icon,
@@ -9583,7 +9693,7 @@ function StickySectionNav({
9583
9693
  ] });
9584
9694
  }
9585
9695
  function useSectionNavigation(sections, options) {
9586
- const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _318 => _318[0], 'optionalAccess', _319 => _319.id]) || "");
9696
+ const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _320 => _320[0], 'optionalAccess', _321 => _321.id]) || "");
9587
9697
  const isScrollingFromClick = _react.useRef.call(void 0, false);
9588
9698
  const { offset: offset2 = 100 } = options || {};
9589
9699
  const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
@@ -9608,7 +9718,7 @@ function useSectionNavigation(sections, options) {
9608
9718
  const handleScroll = () => {
9609
9719
  if (isScrollingFromClick.current) return;
9610
9720
  const scrollPosition = window.scrollY + offset2 + 50;
9611
- let currentSection = _optionalChain([sections, 'access', _320 => _320[0], 'optionalAccess', _321 => _321.id]) || "";
9721
+ let currentSection = _optionalChain([sections, 'access', _322 => _322[0], 'optionalAccess', _323 => _323.id]) || "";
9612
9722
  for (let i = sections.length - 1; i >= 0; i--) {
9613
9723
  const element = document.getElementById(sections[i].id);
9614
9724
  if (element && scrollPosition >= element.offsetTop) {
@@ -9792,14 +9902,14 @@ function NavigationSidebar({ config, disabled = false }) {
9792
9902
  const showLabel = isLgUp && !minimized;
9793
9903
  const handleToggle = _react.useCallback.call(void 0, () => {
9794
9904
  setMinimized((prev) => !prev);
9795
- _optionalChain([config, 'access', _322 => _322.onToggleMinimized, 'optionalCall', _323 => _323()]);
9905
+ _optionalChain([config, 'access', _324 => _324.onToggleMinimized, 'optionalCall', _325 => _325()]);
9796
9906
  }, [setMinimized, config]);
9797
9907
  const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
9798
- _optionalChain([event, 'optionalAccess', _324 => _324.stopPropagation, 'call', _325 => _325()]);
9908
+ _optionalChain([event, 'optionalAccess', _326 => _326.stopPropagation, 'call', _327 => _327()]);
9799
9909
  if (item.onClick) {
9800
9910
  item.onClick();
9801
9911
  } else if (item.path) {
9802
- _optionalChain([config, 'access', _326 => _326.onNavigate, 'optionalCall', _327 => _327(item.path)]);
9912
+ _optionalChain([config, 'access', _328 => _328.onNavigate, 'optionalCall', _329 => _329(item.path)]);
9803
9913
  }
9804
9914
  }, [config]);
9805
9915
  const { primaryItems, secondaryItems } = _react.useMemo.call(void 0, () => ({
@@ -9939,7 +10049,7 @@ function NotificationsProvider({
9939
10049
  const setShowPopups = React28.useCallback(
9940
10050
  (value2) => {
9941
10051
  setShowPopupsState(value2);
9942
- _optionalChain([onShowPopupsChange, 'optionalCall', _328 => _328(value2)]);
10052
+ _optionalChain([onShowPopupsChange, 'optionalCall', _330 => _330(value2)]);
9943
10053
  },
9944
10054
  [onShowPopupsChange]
9945
10055
  );
@@ -10044,11 +10154,11 @@ function HeaderGlobalSearch({
10044
10154
  };
10045
10155
  const handleSubmit = (e) => {
10046
10156
  e.preventDefault();
10047
- _optionalChain([onSubmit, 'optionalCall', _329 => _329(currentValue)]);
10157
+ _optionalChain([onSubmit, 'optionalCall', _331 => _331(currentValue)]);
10048
10158
  };
10049
10159
  const handleKeyDown = (e) => {
10050
10160
  if (e.key === "Enter") {
10051
- _optionalChain([onSubmit, 'optionalCall', _330 => _330(currentValue)]);
10161
+ _optionalChain([onSubmit, 'optionalCall', _332 => _332(currentValue)]);
10052
10162
  }
10053
10163
  };
10054
10164
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -10094,8 +10204,8 @@ function HeaderOrganizationFilter({
10094
10204
  className
10095
10205
  }) {
10096
10206
  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));
10207
+ const displayName = _optionalChain([selectedOrg, 'optionalAccess', _333 => _333.name]) || "All Organizations";
10208
+ const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _334 => _334.deviceCount]), () => ( totalDeviceCount));
10099
10209
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV2FNIPZJcjs.DropdownMenu, { children: [
10100
10210
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV2FNIPZJcjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
10101
10211
  "button",
@@ -10120,11 +10230,11 @@ function HeaderOrganizationFilter({
10120
10230
  }
10121
10231
  ) }),
10122
10232
  /* @__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" }),
10233
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkV2FNIPZJcjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _335 => _335("")]), children: "All Organizations" }),
10124
10234
  organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10125
10235
  _chunkV2FNIPZJcjs.DropdownMenuItem,
10126
10236
  {
10127
- onClick: () => _optionalChain([onOrgChange, 'optionalCall', _334 => _334(org.id)]),
10237
+ onClick: () => _optionalChain([onOrgChange, 'optionalCall', _336 => _336(org.id)]),
10128
10238
  children: org.name
10129
10239
  },
10130
10240
  org.id
@@ -10296,9 +10406,9 @@ function NotificationsHeaderButton({
10296
10406
  dimmedClass
10297
10407
  }) {
10298
10408
  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]);
10409
+ const unreadCount = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _337 => _337.unreadCount]), () => ( fallbackUnreadCount));
10410
+ const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _338 => _338.isOpen]), () => ( false));
10411
+ const onClick = _optionalChain([ctx, 'optionalAccess', _339 => _339.toggle]);
10302
10412
  const Icon2 = unreadCount > 0 ? _chunkVJTFBYVGcjs.BellRingingIcon : _chunkVJTFBYVGcjs.BellIcon;
10303
10413
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10304
10414
  HeaderButton,
@@ -10472,7 +10582,7 @@ var Switch = React32.forwardRef(({ className, checked, onCheckedChange, ...props
10472
10582
  }, [checked]);
10473
10583
  const handleCheckedChange = (newChecked) => {
10474
10584
  setIsChecked(newChecked);
10475
- _optionalChain([onCheckedChange, 'optionalCall', _338 => _338(newChecked)]);
10585
+ _optionalChain([onCheckedChange, 'optionalCall', _340 => _340(newChecked)]);
10476
10586
  };
10477
10587
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
10478
10588
  SwitchPrimitives.Root,
@@ -10525,7 +10635,7 @@ function NotificationTile({
10525
10635
  if (!isLive) return;
10526
10636
  const remaining = Math.max(0, liveDurationMs - initialElapsed);
10527
10637
  const timer = window.setTimeout(() => {
10528
- _optionalChain([onSettle, 'optionalCall', _339 => _339(id)]);
10638
+ _optionalChain([onSettle, 'optionalCall', _341 => _341(id)]);
10529
10639
  }, remaining);
10530
10640
  return () => window.clearTimeout(timer);
10531
10641
  }, [id, isLive, initialElapsed, liveDurationMs, onSettle]);
@@ -10563,7 +10673,7 @@ function NotificationTile({
10563
10673
  "button",
10564
10674
  {
10565
10675
  type: "button",
10566
- onClick: () => _optionalChain([onSettle, 'optionalCall', _340 => _340(id)]),
10676
+ onClick: () => _optionalChain([onSettle, 'optionalCall', _342 => _342(id)]),
10567
10677
  "aria-label": "Dismiss notification",
10568
10678
  tabIndex: isLive ? 0 : -1,
10569
10679
  className: _chunkUC43NICZcjs.cn.call(void 0,
@@ -10735,7 +10845,7 @@ var MobileBurgerMenu = React37.default.memo(function MobileBurgerMenu2({
10735
10845
  if (item.onClick) {
10736
10846
  item.onClick();
10737
10847
  } else if (item.path) {
10738
- _optionalChain([config, 'access', _341 => _341.onNavigate, 'optionalCall', _342 => _342(item.path)]);
10848
+ _optionalChain([config, 'access', _343 => _343.onNavigate, 'optionalCall', _344 => _344(item.path)]);
10739
10849
  }
10740
10850
  onClose();
10741
10851
  }, [config, onClose]);
@@ -11079,7 +11189,7 @@ var ShellTypeBadge = ({
11079
11189
  className,
11080
11190
  iconClassName
11081
11191
  }) => {
11082
- const normalizedType = _optionalChain([shellType, 'optionalAccess', _343 => _343.toUpperCase, 'call', _344 => _344()]);
11192
+ const normalizedType = _optionalChain([shellType, 'optionalAccess', _345 => _345.toUpperCase, 'call', _346 => _346()]);
11083
11193
  const label = getShellLabel(normalizedType);
11084
11194
  const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
11085
11195
  const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
@@ -11536,7 +11646,7 @@ function AnnouncementBar() {
11536
11646
  setIsVisible(false);
11537
11647
  };
11538
11648
  const handleCtaClick = () => {
11539
- if (!_optionalChain([announcement, 'optionalAccess', _345 => _345.cta_url])) return;
11649
+ if (!_optionalChain([announcement, 'optionalAccess', _347 => _347.cta_url])) return;
11540
11650
  announcement.cta_target === "_blank" ? window.open(announcement.cta_url, "_blank", "noopener,noreferrer") : window.location.href = announcement.cta_url;
11541
11651
  };
11542
11652
  const renderIcon = () => {
@@ -11662,8 +11772,8 @@ function getVendorLogo(vendor) {
11662
11772
  if (vendor.logo) {
11663
11773
  return fixSupabaseStorageUrl(vendor.logo);
11664
11774
  }
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])) {
11775
+ const logoMedia = _optionalChain([vendor, 'access', _348 => _348.vendor_media, 'optionalAccess', _349 => _349.find, 'call', _350 => _350((m) => m.media_type === "logo")]);
11776
+ if (_optionalChain([logoMedia, 'optionalAccess', _351 => _351.media_url])) {
11667
11777
  return fixSupabaseStorageUrl(logoMedia.media_url);
11668
11778
  }
11669
11779
  return null;
@@ -11738,7 +11848,7 @@ function VendorIcon({
11738
11848
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0,
11739
11849
  "flex items-center justify-center text-xs font-medium uppercase",
11740
11850
  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)]) || "??" }) });
11851
+ ), children: _optionalChain([vendor, 'access', _352 => _352.title, 'optionalAccess', _353 => _353.substring, 'call', _354 => _354(0, 2)]) || "??" }) });
11742
11852
  }
11743
11853
 
11744
11854
  // src/components/categories-cart.tsx
@@ -12022,7 +12132,7 @@ function UserSummary({
12022
12132
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
12023
12133
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h4 text-ods-text-primary truncate", children: [
12024
12134
  name,
12025
- _optionalChain([mspPreview, 'optionalAccess', _353 => _353.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
12135
+ _optionalChain([mspPreview, 'optionalAccess', _355 => _355.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
12026
12136
  " \u2022 ",
12027
12137
  mspPreview.name
12028
12138
  ] })
@@ -12044,7 +12154,7 @@ function UserSummary({
12044
12154
  height: 40,
12045
12155
  className: "object-cover"
12046
12156
  }
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()]) || "?" }) })
12157
+ ) : /* @__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
12158
  ] }),
12049
12159
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 grid grid-cols-[1fr_auto] gap-4", children: [
12050
12160
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-h-[6rem] flex flex-col justify-center space-y-3 truncate", children: [
@@ -12057,7 +12167,7 @@ function UserSummary({
12057
12167
  typeof mspPreview.annualRevenue === "number" ? `$${formatNumber2(mspPreview.annualRevenue)}` : null
12058
12168
  ].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
12169
  ] }),
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: [
12170
+ (_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
12171
  authProviders && authProviders.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
12062
12172
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs text-ods-text-secondary whitespace-nowrap select-none", children: "Authorized by" }),
12063
12173
  /* @__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 +12176,7 @@ function UserSummary({
12066
12176
  ] })
12067
12177
  ] })
12068
12178
  ] }),
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: [
12179
+ (_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
12180
  authProviders && authProviders.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
12071
12181
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs text-ods-text-secondary whitespace-nowrap select-none", children: "Authorized by" }),
12072
12182
  /* @__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 +12897,7 @@ function FilterChip({
12787
12897
  onClick: disabled ? void 0 : (e) => {
12788
12898
  e.preventDefault();
12789
12899
  e.stopPropagation();
12790
- _optionalChain([onClick, 'optionalCall', _361 => _361()]);
12900
+ _optionalChain([onClick, 'optionalCall', _363 => _363()]);
12791
12901
  },
12792
12902
  role: onClick ? "button" : void 0,
12793
12903
  tabIndex: onClick && !disabled ? 0 : void 0,
@@ -12974,13 +13084,13 @@ function useUnifiedFiltering(config) {
12974
13084
  const searchParams = _navigation.useSearchParams.call(void 0, );
12975
13085
  const [isPending, startTransition] = _react.useTransition.call(void 0, );
12976
13086
  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");
13087
+ const search = _optionalChain([searchParams, 'optionalAccess', _364 => _364.get, 'call', _365 => _365("search")]) || void 0;
13088
+ 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)]) || [];
13089
+ 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)]) || [];
13090
+ 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)]) || [];
13091
+ const filters = _optionalChain([searchParams, 'optionalAccess', _384 => _384.getAll, 'call', _385 => _385("filter")]) || [];
13092
+ const pricing = _optionalChain([searchParams, 'optionalAccess', _386 => _386.get, 'call', _387 => _387("pricing")]) || void 0;
13093
+ const page = parseInt(_optionalChain([searchParams, 'optionalAccess', _388 => _388.get, 'call', _389 => _389("page")]) || "1");
12984
13094
  return {
12985
13095
  search,
12986
13096
  categories,
@@ -13261,13 +13371,13 @@ function FooterWaitlistButton({ className }) {
13261
13371
  const router = _navigation.useRouter.call(void 0, );
13262
13372
  const pathname = _navigation.usePathname.call(void 0, );
13263
13373
  const handleClick = _react.useCallback.call(void 0, () => {
13264
- if (_optionalChain([pathname, 'optionalAccess', _388 => _388.startsWith, 'call', _389 => _389("/waitlist")])) {
13374
+ if (_optionalChain([pathname, 'optionalAccess', _390 => _390.startsWith, 'call', _391 => _391("/waitlist")])) {
13265
13375
  const anchor = document.getElementById("waitlist-form");
13266
13376
  if (anchor) {
13267
13377
  anchor.scrollIntoView({ behavior: "smooth", block: "center" });
13268
13378
  setTimeout(() => {
13269
13379
  const input = anchor.querySelector('input[type="email"]');
13270
- _optionalChain([input, 'optionalAccess', _390 => _390.focus, 'call', _391 => _391()]);
13380
+ _optionalChain([input, 'optionalAccess', _392 => _392.focus, 'call', _393 => _393()]);
13271
13381
  }, 400);
13272
13382
  return;
13273
13383
  }
@@ -13296,7 +13406,7 @@ function HeroImageUploader({ imageUrl, onChange, uploadEndpoint, height = 300, o
13296
13406
  const [uploading, setUploading] = _react.useState.call(void 0, false);
13297
13407
  const ALLOWED_TYPES = ["image/jpeg", "image/jpg", "image/png", "image/webp", "image/gif"];
13298
13408
  const MAX_SIZE = 5 * 1024 * 1024;
13299
- const openDialog = () => _optionalChain([inputRef, 'access', _392 => _392.current, 'optionalAccess', _393 => _393.click, 'call', _394 => _394()]);
13409
+ const openDialog = () => _optionalChain([inputRef, 'access', _394 => _394.current, 'optionalAccess', _395 => _395.click, 'call', _396 => _396()]);
13300
13410
  async function handleFile(file) {
13301
13411
  if (!file) return;
13302
13412
  if (!ALLOWED_TYPES.includes(file.type)) {
@@ -13352,7 +13462,7 @@ function HeroImageUploader({ imageUrl, onChange, uploadEndpoint, height = 300, o
13352
13462
  }
13353
13463
  }
13354
13464
  const handleSelect = (e) => {
13355
- handleFile(_optionalChain([e, 'access', _395 => _395.target, 'access', _396 => _396.files, 'optionalAccess', _397 => _397[0]]));
13465
+ handleFile(_optionalChain([e, 'access', _397 => _397.target, 'access', _398 => _398.files, 'optionalAccess', _399 => _399[0]]));
13356
13466
  };
13357
13467
  const handleRemove = async () => {
13358
13468
  if (onDelete) {
@@ -13489,7 +13599,7 @@ function ResponsiveIconsBlock({ loading = false }) {
13489
13599
  const getIconForIndex = (index) => {
13490
13600
  const col = index % displayColumns;
13491
13601
  const row = Math.floor(index / displayColumns);
13492
- return _optionalChain([iconGrid, 'access', _398 => _398[row], 'optionalAccess', _399 => _399[col]]) || availableIcons[0];
13602
+ return _optionalChain([iconGrid, 'access', _400 => _400[row], 'optionalAccess', _401 => _401[col]]) || availableIcons[0];
13493
13603
  };
13494
13604
  if (loading || iconGrid.length === 0) {
13495
13605
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -13575,7 +13685,7 @@ var Slider = React39.forwardRef(
13575
13685
  ({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
13576
13686
  const handleChange = (e) => {
13577
13687
  const newValue = [Number(e.target.value)];
13578
- _optionalChain([onValueChange, 'optionalCall', _400 => _400(newValue)]);
13688
+ _optionalChain([onValueChange, 'optionalCall', _402 => _402(newValue)]);
13579
13689
  };
13580
13690
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
13581
13691
  "input",
@@ -13688,7 +13798,7 @@ var ImageCropper = ({
13688
13798
  });
13689
13799
  } else if (e.key === "Escape") {
13690
13800
  e.preventDefault();
13691
- _optionalChain([onCancel, 'optionalCall', _401 => _401()]);
13801
+ _optionalChain([onCancel, 'optionalCall', _403 => _403()]);
13692
13802
  }
13693
13803
  };
13694
13804
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -14388,8 +14498,8 @@ function PricingDisplay({
14388
14498
  }
14389
14499
  if (pricingArray.length === 1) {
14390
14500
  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]);
14501
+ const price = _optionalChain([item, 'access', _404 => _404.ranges, 'optionalAccess', _405 => _405[0], 'optionalAccess', _406 => _406.min]) || 0;
14502
+ const unit = _optionalChain([item, 'access', _407 => _407.ranges, 'optionalAccess', _408 => _408[0], 'optionalAccess', _409 => _409.unit]);
14393
14503
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.fontFamily} ${className}`, children: [
14394
14504
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: formatPriceValue(price, styleConfig.showTildePrefix) }),
14395
14505
  unit && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
@@ -14398,11 +14508,11 @@ function PricingDisplay({
14398
14508
  ] })
14399
14509
  ] });
14400
14510
  }
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]));
14511
+ const priceValues = pricingArray.map((item) => formatPriceValue(_optionalChain([item, 'access', _410 => _410.ranges, 'optionalAccess', _411 => _411[0], 'optionalAccess', _412 => _412.min]) || 0, styleConfig.showTildePrefix));
14512
+ const itemWithUnit = pricingArray.find((item) => _optionalChain([item, 'access', _413 => _413.ranges, 'optionalAccess', _414 => _414[0], 'optionalAccess', _415 => _415.unit]));
14403
14513
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.fontFamily} ${className}`, children: [
14404
14514
  /* @__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: [
14515
+ 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
14516
  "/",
14407
14517
  itemWithUnit.ranges[0].unit
14408
14518
  ] })
@@ -14600,7 +14710,7 @@ function VendorTag({
14600
14710
  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
14711
  };
14602
14712
  case "classification":
14603
- const classificationType = _optionalChain([text, 'optionalAccess', _417 => _417.toLowerCase, 'call', _418 => _418()]);
14713
+ const classificationType = _optionalChain([text, 'optionalAccess', _419 => _419.toLowerCase, 'call', _420 => _420()]);
14604
14714
  if (classificationType === "open_source") {
14605
14715
  return {
14606
14716
  text: "Open Source",
@@ -14654,7 +14764,7 @@ function SelectionSourceBadge({ source, hidden = false }) {
14654
14764
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14655
14765
  VendorTag,
14656
14766
  {
14657
- type: _optionalChain([source, 'optionalAccess', _419 => _419.toLowerCase, 'call', _420 => _420()]),
14767
+ type: _optionalChain([source, 'optionalAccess', _421 => _421.toLowerCase, 'call', _422 => _422()]),
14658
14768
  size: "sm",
14659
14769
  hidden
14660
14770
  },
@@ -16774,12 +16884,12 @@ function OnboardingWalkthrough({
16774
16884
  }
16775
16885
  }, [state.completedSteps, markComplete]);
16776
16886
  const handleStepSkip = (step) => {
16777
- _optionalChain([step, 'access', _421 => _421.onSkip, 'optionalCall', _422 => _422()]);
16887
+ _optionalChain([step, 'access', _423 => _423.onSkip, 'optionalCall', _424 => _424()]);
16778
16888
  markSkipped(step.id);
16779
16889
  };
16780
16890
  const handleDismiss = () => {
16781
16891
  dismissOnboarding();
16782
- _optionalChain([onDismiss, 'optionalCall', _423 => _423()]);
16892
+ _optionalChain([onDismiss, 'optionalCall', _425 => _425()]);
16783
16893
  };
16784
16894
  if (state.dismissed) {
16785
16895
  return null;
@@ -17262,7 +17372,7 @@ var SecondaryAction = ({ action }) => {
17262
17372
  e.preventDefault();
17263
17373
  return;
17264
17374
  }
17265
- _optionalChain([action, 'access', _424 => _424.onClick, 'optionalCall', _425 => _425()]);
17375
+ _optionalChain([action, 'access', _426 => _426.onClick, 'optionalCall', _427 => _427()]);
17266
17376
  },
17267
17377
  [action]
17268
17378
  );
@@ -17303,13 +17413,13 @@ var MenuItem = ({ item, onItemClick }) => {
17303
17413
  const activate = _react.useCallback.call(void 0, () => {
17304
17414
  if (item.disabled) return;
17305
17415
  if (item.type === "checkbox") {
17306
- _optionalChain([item, 'access', _426 => _426.onClick, 'optionalCall', _427 => _427()]);
17307
- _optionalChain([onItemClick, 'optionalCall', _428 => _428(item)]);
17416
+ _optionalChain([item, 'access', _428 => _428.onClick, 'optionalCall', _429 => _429()]);
17417
+ _optionalChain([onItemClick, 'optionalCall', _430 => _430(item)]);
17308
17418
  return;
17309
17419
  }
17310
17420
  if (item.type === "submenu") return;
17311
- _optionalChain([item, 'access', _429 => _429.onClick, 'optionalCall', _430 => _430()]);
17312
- _optionalChain([onItemClick, 'optionalCall', _431 => _431(item)]);
17421
+ _optionalChain([item, 'access', _431 => _431.onClick, 'optionalCall', _432 => _432()]);
17422
+ _optionalChain([onItemClick, 'optionalCall', _433 => _433(item)]);
17313
17423
  }, [item, onItemClick]);
17314
17424
  const handleClick = _react.useCallback.call(void 0,
17315
17425
  (e) => {
@@ -17335,8 +17445,8 @@ var MenuItem = ({ item, onItemClick }) => {
17335
17445
  e.stopPropagation();
17336
17446
  return;
17337
17447
  }
17338
- _optionalChain([item, 'access', _432 => _432.onClick, 'optionalCall', _433 => _433()]);
17339
- _optionalChain([onItemClick, 'optionalCall', _434 => _434(item)]);
17448
+ _optionalChain([item, 'access', _434 => _434.onClick, 'optionalCall', _435 => _435()]);
17449
+ _optionalChain([onItemClick, 'optionalCall', _436 => _436(item)]);
17340
17450
  },
17341
17451
  [item, onItemClick]
17342
17452
  );
@@ -17491,7 +17601,7 @@ var ActionsMenuDropdown = ({
17491
17601
  const [open, setOpen] = _react.useState.call(void 0, false);
17492
17602
  const handleItemClick = _react.useCallback.call(void 0,
17493
17603
  (item) => {
17494
- _optionalChain([onItemClick, 'optionalCall', _435 => _435(item)]);
17604
+ _optionalChain([onItemClick, 'optionalCall', _437 => _437(item)]);
17495
17605
  if (item.type !== "checkbox" && item.type !== "submenu") {
17496
17606
  setOpen(false);
17497
17607
  }
@@ -17662,7 +17772,7 @@ function IconButtonsVariant({
17662
17772
  }) {
17663
17773
  const desktopActions = actions.filter((a) => !a.showOnlyMobile);
17664
17774
  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]);
17775
+ const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _438 => _438[0], 'access', _439 => _439.submenu, 'optionalAccess', _440 => _440.length]);
17666
17776
  const singleAction = isSingleAction ? actions[0] : null;
17667
17777
  const useSingleActionMobile = isSingleAction && !hasMenuActions;
17668
17778
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -18092,14 +18202,14 @@ function ReleaseDetailPage({
18092
18202
  releaseVersion
18093
18203
  ] })
18094
18204
  ] }) }),
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,
18205
+ /* @__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
18206
  StatusBadge,
18097
18207
  {
18098
- text: (tag.name || _optionalChain([tag, 'access', _441 => _441.blog_tags, 'optionalAccess', _442 => _442.name]) || "").toUpperCase(),
18208
+ text: (tag.name || _optionalChain([tag, 'access', _443 => _443.blog_tags, 'optionalAccess', _444 => _444.name]) || "").toUpperCase(),
18099
18209
  variant: "card",
18100
18210
  className: "bg-ods-card border border-ods-border"
18101
18211
  },
18102
- tag.id || _optionalChain([tag, 'access', _443 => _443.blog_tags, 'optionalAccess', _444 => _444.id])
18212
+ tag.id || _optionalChain([tag, 'access', _445 => _445.blog_tags, 'optionalAccess', _446 => _446.id])
18103
18213
  ))]) }),
18104
18214
  /* @__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
18215
  /* @__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 +18228,15 @@ function ReleaseDetailPage({
18118
18228
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18119
18229
  SquareAvatar,
18120
18230
  {
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"),
18231
+ src: _optionalChain([author, 'optionalAccess', _447 => _447.avatar_url]) || "",
18232
+ alt: _optionalChain([author, 'optionalAccess', _448 => _448.full_name]) || "Author",
18233
+ fallback: getInitials4(_optionalChain([author, 'optionalAccess', _449 => _449.full_name]) || "Unknown"),
18124
18234
  size: "md",
18125
18235
  variant: "round"
18126
18236
  }
18127
18237
  ),
18128
18238
  /* @__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" }),
18239
+ /* @__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
18240
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary", children: "Author" })
18131
18241
  ] })
18132
18242
  ] })
@@ -18157,8 +18267,8 @@ function ReleaseDetailPage({
18157
18267
  videoBites,
18158
18268
  bitesTitle: "Video Clips",
18159
18269
  filterPublishedBites: true,
18160
- srtContent: _optionalChain([release, 'optionalAccess', _449 => _449.srt_content]),
18161
- captionsUrl: _optionalChain([release, 'optionalAccess', _450 => _450.captionsUrl])
18270
+ srtContent: _optionalChain([release, 'optionalAccess', _451 => _451.srt_content]),
18271
+ captionsUrl: _optionalChain([release, 'optionalAccess', _452 => _452.captionsUrl])
18162
18272
  }
18163
18273
  ) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
18164
18274
  youtubeUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -18174,8 +18284,8 @@ function ReleaseDetailPage({
18174
18284
  Video2,
18175
18285
  {
18176
18286
  url: mainVideoUrl,
18177
- srtContent: _optionalChain([release, 'optionalAccess', _451 => _451.srt_content]),
18178
- captionsUrl: _optionalChain([release, 'optionalAccess', _452 => _452.captionsUrl]),
18287
+ srtContent: _optionalChain([release, 'optionalAccess', _453 => _453.srt_content]),
18288
+ captionsUrl: _optionalChain([release, 'optionalAccess', _454 => _454.captionsUrl]),
18179
18289
  layout: "centered"
18180
18290
  }
18181
18291
  ),
@@ -18265,7 +18375,7 @@ function ReleaseDetailPage({
18265
18375
  }
18266
18376
  )
18267
18377
  ] }),
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: [
18378
+ (_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
18379
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h5 tracking-[-0.28px] text-ods-text-secondary", children: "Related Links" }),
18270
18380
  /* @__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
18381
  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 +18404,7 @@ function ReleaseDetailPage({
18294
18404
  {
18295
18405
  href: path.startsWith("http") ? path : `/knowledge-base${path.startsWith("/") ? "" : "/"}${path}`,
18296
18406
  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"
18407
+ 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
18408
  }
18299
18409
  ),
18300
18410
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-6 w-6 text-[#ffc008] shrink-0" })
@@ -18940,7 +19050,7 @@ function TagsManager({
18940
19050
  const name = search.trim();
18941
19051
  if (!name) return;
18942
19052
  const result = await onCreateTag(name);
18943
- if (_optionalChain([result, 'optionalAccess', _463 => _463.id])) {
19053
+ if (_optionalChain([result, 'optionalAccess', _465 => _465.id])) {
18944
19054
  onChange([...selectedIds, result.id]);
18945
19055
  setSearch("");
18946
19056
  }
@@ -18948,7 +19058,7 @@ function TagsManager({
18948
19058
  const startEdit = React55.useCallback((id, name) => {
18949
19059
  setEditingId(id);
18950
19060
  setEditingName(name);
18951
- setTimeout(() => _optionalChain([editInputRef, 'access', _464 => _464.current, 'optionalAccess', _465 => _465.focus, 'call', _466 => _466()]), 0);
19061
+ setTimeout(() => _optionalChain([editInputRef, 'access', _466 => _466.current, 'optionalAccess', _467 => _467.focus, 'call', _468 => _468()]), 0);
18952
19062
  }, []);
18953
19063
  const confirmEdit = React55.useCallback(async () => {
18954
19064
  if (!onUpdateTag || !editingId || !editingName.trim()) return;
@@ -18975,7 +19085,7 @@ function TagsManager({
18975
19085
  e.stopPropagation();
18976
19086
  onChange([]);
18977
19087
  setSearch("");
18978
- _optionalChain([inputRef, 'access', _467 => _467.current, 'optionalAccess', _468 => _468.focus, 'call', _469 => _469()]);
19088
+ _optionalChain([inputRef, 'access', _469 => _469.current, 'optionalAccess', _470 => _470.focus, 'call', _471 => _471()]);
18979
19089
  },
18980
19090
  [onChange]
18981
19091
  );
@@ -19074,10 +19184,10 @@ function TagsManager({
19074
19184
  align: "start",
19075
19185
  onOpenAutoFocus: (e) => {
19076
19186
  e.preventDefault();
19077
- _optionalChain([inputRef, 'access', _470 => _470.current, 'optionalAccess', _471 => _471.focus, 'call', _472 => _472()]);
19187
+ _optionalChain([inputRef, 'access', _472 => _472.current, 'optionalAccess', _473 => _473.focus, 'call', _474 => _474()]);
19078
19188
  },
19079
19189
  onInteractOutside: (e) => {
19080
- if (_optionalChain([containerRef, 'access', _473 => _473.current, 'optionalAccess', _474 => _474.contains, 'call', _475 => _475(e.target)])) {
19190
+ if (_optionalChain([containerRef, 'access', _475 => _475.current, 'optionalAccess', _476 => _476.contains, 'call', _477 => _477(e.target)])) {
19081
19191
  e.preventDefault();
19082
19192
  }
19083
19193
  },
@@ -20181,19 +20291,19 @@ function TabNavigation({
20181
20291
  const validTabIds = _react.useMemo.call(void 0, () => new Set(tabs.map((t) => t.id)), [tabs]);
20182
20292
  const getInitialTab = () => {
20183
20293
  if (isUrlSyncEnabled) {
20184
- const fromUrl = _optionalChain([searchParams, 'optionalAccess', _476 => _476.get, 'call', _477 => _477(paramName)]) || "";
20294
+ const fromUrl = _optionalChain([searchParams, 'optionalAccess', _478 => _478.get, 'call', _479 => _479(paramName)]) || "";
20185
20295
  if (validTabIds.has(fromUrl)) {
20186
20296
  return fromUrl;
20187
20297
  }
20188
20298
  }
20189
- return defaultTab || _optionalChain([tabs, 'access', _478 => _478[0], 'optionalAccess', _479 => _479.id]) || "";
20299
+ return defaultTab || _optionalChain([tabs, 'access', _480 => _480[0], 'optionalAccess', _481 => _481.id]) || "";
20190
20300
  };
20191
20301
  const [internalActiveTab, setInternalActiveTab] = _react.useState.call(void 0, getInitialTab);
20192
20302
  const activeTab = isUrlSyncEnabled ? internalActiveTab : controlledActiveTab || "";
20193
20303
  _react.useEffect.call(void 0, () => {
20194
20304
  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]) || "";
20305
+ const fromUrl = _optionalChain([searchParams, 'optionalAccess', _482 => _482.get, 'call', _483 => _483(paramName)]) || "";
20306
+ const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _484 => _484[0], 'optionalAccess', _485 => _485.id]) || "";
20197
20307
  if (nextTab !== internalActiveTab) {
20198
20308
  setInternalActiveTab(nextTab);
20199
20309
  }
@@ -20201,13 +20311,13 @@ function TabNavigation({
20201
20311
  const handleTabChange = (tabId) => {
20202
20312
  if (isUrlSyncEnabled) {
20203
20313
  setInternalActiveTab(tabId);
20204
- const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _484 => _484.toString, 'call', _485 => _485()]));
20314
+ const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _486 => _486.toString, 'call', _487 => _487()]));
20205
20315
  params.set(paramName, tabId);
20206
20316
  const method = replaceState ? "replace" : "push";
20207
20317
  router[method](`${pathname}?${params.toString()}`);
20208
- _optionalChain([controlledOnTabChange, 'optionalCall', _486 => _486(tabId)]);
20318
+ _optionalChain([controlledOnTabChange, 'optionalCall', _488 => _488(tabId)]);
20209
20319
  } else {
20210
- _optionalChain([controlledOnTabChange, 'optionalCall', _487 => _487(tabId)]);
20320
+ _optionalChain([controlledOnTabChange, 'optionalCall', _489 => _489(tabId)]);
20211
20321
  }
20212
20322
  };
20213
20323
  const scrollRef = _react.useRef.call(void 0, null);
@@ -20295,7 +20405,7 @@ function TabNavigation({
20295
20405
  var getTabById = (tabs, tabId) => tabs.find((tab) => tab.id === tabId);
20296
20406
  var getTabComponent = (tabs, tabId) => {
20297
20407
  const tab = getTabById(tabs, tabId);
20298
- return _optionalChain([tab, 'optionalAccess', _488 => _488.component]) || null;
20408
+ return _optionalChain([tab, 'optionalAccess', _490 => _490.component]) || null;
20299
20409
  };
20300
20410
 
20301
20411
  // src/components/ui/alert.tsx
@@ -20632,16 +20742,16 @@ function FilterModal({
20632
20742
  };
20633
20743
  const handleReset = () => {
20634
20744
  onFilterChange({});
20635
- _optionalChain([onTagsChange, 'optionalCall', _489 => _489([])]);
20745
+ _optionalChain([onTagsChange, 'optionalCall', _491 => _491([])]);
20636
20746
  onClose();
20637
20747
  };
20638
20748
  const handleApply = () => {
20639
20749
  onFilterChange(selectedFilters);
20640
- _optionalChain([onTagsChange, 'optionalCall', _490 => _490(pendingTags)]);
20750
+ _optionalChain([onTagsChange, 'optionalCall', _492 => _492(pendingTags)]);
20641
20751
  onClose();
20642
20752
  };
20643
20753
  const getColumnDirection = (columnKey) => {
20644
- return _optionalChain([sortConfig, 'optionalAccess', _491 => _491.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
20754
+ return _optionalChain([sortConfig, 'optionalAccess', _493 => _493.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
20645
20755
  };
20646
20756
  const hasSort = !!sortConfig && sortConfig.columns.length > 0;
20647
20757
  const hasFilterGroups = filterGroups.length > 0;
@@ -20690,7 +20800,7 @@ function FilterModal({
20690
20800
  {
20691
20801
  column,
20692
20802
  currentDirection: getColumnDirection(column.key),
20693
- onSort: (direction) => _optionalChain([onSort, 'optionalCall', _492 => _492(column.key, direction)]),
20803
+ onSort: (direction) => _optionalChain([onSort, 'optionalCall', _494 => _494(column.key, direction)]),
20694
20804
  onClear: onSortClear ? () => onSortClear(column.key) : void 0
20695
20805
  },
20696
20806
  column.key
@@ -20856,9 +20966,9 @@ function TitleBlock({
20856
20966
  const [imageFailed, setImageFailed] = React37.default.useState(false);
20857
20967
  React37.default.useEffect(() => {
20858
20968
  setImageFailed(false);
20859
- }, [_optionalChain([image, 'optionalAccess', _493 => _493.src])]);
20969
+ }, [_optionalChain([image, 'optionalAccess', _495 => _495.src])]);
20860
20970
  const showImageFallback = !!image && (imageFailed || !image.src);
20861
- const initials = getInitials3(_optionalChain([image, 'optionalAccess', _494 => _494.alt]) || title);
20971
+ const initials = getInitials3(_optionalChain([image, 'optionalAccess', _496 => _496.alt]) || title);
20862
20972
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
20863
20973
  "div",
20864
20974
  {
@@ -21654,26 +21764,26 @@ function DeviceCard({
21654
21764
  ] }),
21655
21765
  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
21766
  ] }),
21657
- _optionalChain([actions, 'access', _495 => _495.moreButton, 'optionalAccess', _496 => _496.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21767
+ _optionalChain([actions, 'access', _497 => _497.moreButton, 'optionalAccess', _498 => _498.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21658
21768
  "div",
21659
21769
  {
21660
21770
  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
21771
  onClick: (e) => {
21662
21772
  e.stopPropagation();
21663
- _optionalChain([actions, 'access', _497 => _497.moreButton, 'optionalAccess', _498 => _498.onClick, 'optionalCall', _499 => _499()]);
21773
+ _optionalChain([actions, 'access', _499 => _499.moreButton, 'optionalAccess', _500 => _500.onClick, 'optionalCall', _501 => _501()]);
21664
21774
  },
21665
21775
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVJTFBYVGcjs.Ellipsis01Icon, { className: "text-ods-text-primary" })
21666
21776
  }
21667
21777
  ),
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(
21778
+ _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 }),
21779
+ _optionalChain([actions, 'access', _506 => _506.customActions, 'optionalAccess', _507 => _507.map, 'call', _508 => _508(
21670
21780
  (action, index) => action.visible !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
21671
21781
  "div",
21672
21782
  {
21673
21783
  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
21784
  onClick: (e) => {
21675
21785
  e.stopPropagation();
21676
- _optionalChain([action, 'access', _507 => _507.onClick, 'optionalCall', _508 => _508()]);
21786
+ _optionalChain([action, 'access', _509 => _509.onClick, 'optionalCall', _510 => _510()]);
21677
21787
  },
21678
21788
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h3 text-ods-text-primary text-nowrap tracking-[-0.36px]", children: action.label })
21679
21789
  },
@@ -22032,7 +22142,7 @@ function MoreActionsMenu({
22032
22142
  ] });
22033
22143
  const handleActivate = (e) => {
22034
22144
  e.stopPropagation();
22035
- if (!item.disabled) _optionalChain([item, 'access', _509 => _509.onClick, 'optionalCall', _510 => _510()]);
22145
+ if (!item.disabled) _optionalChain([item, 'access', _511 => _511.onClick, 'optionalCall', _512 => _512()]);
22036
22146
  };
22037
22147
  if (item.href) {
22038
22148
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -22182,7 +22292,7 @@ function OrganizationIcon({
22182
22292
  backgroundStyle = "dark"
22183
22293
  }) {
22184
22294
  const { width, height } = imageSizeMap2[size];
22185
- const initials = _optionalChain([organizationName, 'optionalAccess', _511 => _511.substring, 'call', _512 => _512(0, 2)]) || "??";
22295
+ const initials = _optionalChain([organizationName, 'optionalAccess', _513 => _513.substring, 'call', _514 => _514(0, 2)]) || "??";
22186
22296
  const containerClasses = _chunkUC43NICZcjs.cn.call(void 0,
22187
22297
  sizeClasses3[size],
22188
22298
  "rounded-lg flex items-center justify-center flex-shrink-0 relative",
@@ -22233,7 +22343,7 @@ function OrganizationCard({
22233
22343
  const handleActionClick = (e) => {
22234
22344
  e.preventDefault();
22235
22345
  e.stopPropagation();
22236
- _optionalChain([actionButton, 'optionalAccess', _513 => _513.onClick, 'call', _514 => _514(organization, e)]);
22346
+ _optionalChain([actionButton, 'optionalAccess', _515 => _515.onClick, 'call', _516 => _516(organization, e)]);
22237
22347
  };
22238
22348
  const card = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
22239
22349
  "div",
@@ -22390,7 +22500,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
22390
22500
  onKeyDown: (e) => {
22391
22501
  if (e.key === "Enter" || e.key === " ") {
22392
22502
  e.preventDefault();
22393
- _optionalChain([onClick, 'optionalCall', _515 => _515()]);
22503
+ _optionalChain([onClick, 'optionalCall', _517 => _517()]);
22394
22504
  }
22395
22505
  },
22396
22506
  children: [
@@ -22491,7 +22601,7 @@ var LogsList = React79.forwardRef(({
22491
22601
  log,
22492
22602
  isLast: index === logs.length - 1,
22493
22603
  showConnector,
22494
- onClick: () => _optionalChain([onLogClick, 'optionalCall', _516 => _516(log)])
22604
+ onClick: () => _optionalChain([onLogClick, 'optionalCall', _518 => _518(log)])
22495
22605
  },
22496
22606
  log.id
22497
22607
  ))
@@ -23080,7 +23190,7 @@ function CursorPaginationSimple({
23080
23190
  {
23081
23191
  variant: "transparent",
23082
23192
  size: "icon",
23083
- onClick: () => _optionalChain([onPrevious, 'optionalCall', _517 => _517("")]),
23193
+ onClick: () => _optionalChain([onPrevious, 'optionalCall', _519 => _519("")]),
23084
23194
  disabled: !hasPreviousPage || loading,
23085
23195
  className: "h-8 w-8",
23086
23196
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
@@ -23092,7 +23202,7 @@ function CursorPaginationSimple({
23092
23202
  {
23093
23203
  variant: "transparent",
23094
23204
  size: "icon",
23095
- onClick: () => _optionalChain([onNext, 'optionalCall', _518 => _518("")]),
23205
+ onClick: () => _optionalChain([onNext, 'optionalCall', _520 => _520("")]),
23096
23206
  disabled: !hasNextPage || loading,
23097
23207
  className: "h-8 w-8",
23098
23208
  rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
@@ -23152,7 +23262,7 @@ function TableColumnFilterDropdown({
23152
23262
  placement = "bottom-start",
23153
23263
  dropdownClassName = "min-w-[240px]"
23154
23264
  }) {
23155
- const activeCount = _optionalChain([filters, 'optionalAccess', _519 => _519[columnKey], 'optionalAccess', _520 => _520.length]) || 0;
23265
+ const activeCount = _optionalChain([filters, 'optionalAccess', _521 => _521[columnKey], 'optionalAccess', _522 => _522.length]) || 0;
23156
23266
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23157
23267
  FiltersDropdown,
23158
23268
  {
@@ -23195,7 +23305,7 @@ function TableColumnFilterDropdown({
23195
23305
  delete newFilters[columnKey];
23196
23306
  onFilterChange(newFilters);
23197
23307
  },
23198
- currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _521 => _521[columnKey]]) || [] },
23308
+ currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _523 => _523[columnKey]]) || [] },
23199
23309
  placement,
23200
23310
  dropdownClassName
23201
23311
  }
@@ -23492,7 +23602,7 @@ function TableRow({
23492
23602
  const keys = column.key.split(".");
23493
23603
  let value = item;
23494
23604
  for (const key of keys) {
23495
- value = _optionalChain([value, 'optionalAccess', _522 => _522[key]]);
23605
+ value = _optionalChain([value, 'optionalAccess', _524 => _524[key]]);
23496
23606
  }
23497
23607
  if (value === null || value === void 0) {
23498
23608
  return "-";
@@ -23562,7 +23672,7 @@ function TableRow({
23562
23672
  // src/components/ui/table/table.tsx
23563
23673
 
23564
23674
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
23565
- const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _523 => _523.length])) || Boolean(renderRowActions);
23675
+ const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _525 => _525.length])) || Boolean(renderRowActions);
23566
23676
  const result = [...columns];
23567
23677
  if (hasActions) {
23568
23678
  const actionsColumn = {
@@ -23656,7 +23766,7 @@ function Table({
23656
23766
  return rowKey(item);
23657
23767
  }
23658
23768
  const key = item[rowKey];
23659
- return _optionalChain([key, 'optionalAccess', _524 => _524.toString, 'call', _525 => _525()]) || index.toString();
23769
+ return _optionalChain([key, 'optionalAccess', _526 => _526.toString, 'call', _527 => _527()]) || index.toString();
23660
23770
  };
23661
23771
  const getRowClassName = (item, index) => {
23662
23772
  if (typeof rowClassName === "function") {
@@ -23690,23 +23800,23 @@ function Table({
23690
23800
  const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
23691
23801
  const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
23692
23802
  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]);
23803
+ const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _528 => _528.onLoadMore]));
23804
+ onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _529 => _529.onLoadMore]);
23695
23805
  _react.useEffect.call(void 0, () => {
23696
- if (!_optionalChain([infiniteScroll, 'optionalAccess', _528 => _528.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
23806
+ if (!_optionalChain([infiniteScroll, 'optionalAccess', _530 => _530.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
23697
23807
  const sentinel = sentinelRef.current;
23698
23808
  if (!sentinel) return;
23699
23809
  const observer = new IntersectionObserver(
23700
23810
  (entries) => {
23701
- if (_optionalChain([entries, 'access', _529 => _529[0], 'optionalAccess', _530 => _530.isIntersecting])) {
23702
- _optionalChain([onLoadMoreRef, 'access', _531 => _531.current, 'optionalCall', _532 => _532()]);
23811
+ if (_optionalChain([entries, 'access', _531 => _531[0], 'optionalAccess', _532 => _532.isIntersecting])) {
23812
+ _optionalChain([onLoadMoreRef, 'access', _533 => _533.current, 'optionalCall', _534 => _534()]);
23703
23813
  }
23704
23814
  },
23705
23815
  { rootMargin: "200px" }
23706
23816
  );
23707
23817
  observer.observe(sentinel);
23708
23818
  return () => observer.disconnect();
23709
- }, [_optionalChain([infiniteScroll, 'optionalAccess', _533 => _533.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _534 => _534.isFetchingNextPage])]);
23819
+ }, [_optionalChain([infiniteScroll, 'optionalAccess', _535 => _535.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _536 => _536.isFetchingNextPage])]);
23710
23820
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkUC43NICZcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
23711
23821
  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
23822
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
@@ -23777,7 +23887,7 @@ function Table({
23777
23887
  },
23778
23888
  getRowKey(item, index)
23779
23889
  )),
23780
- _optionalChain([infiniteScroll, 'optionalAccess', _535 => _535.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23890
+ _optionalChain([infiniteScroll, 'optionalAccess', _537 => _537.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23781
23891
  TableCardSkeleton,
23782
23892
  {
23783
23893
  columns,
@@ -23786,7 +23896,7 @@ function Table({
23786
23896
  hasChevron: Boolean(rowHref)
23787
23897
  }
23788
23898
  ),
23789
- _optionalChain([infiniteScroll, 'optionalAccess', _536 => _536.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
23899
+ _optionalChain([infiniteScroll, 'optionalAccess', _538 => _538.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
23790
23900
  !infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
23791
23901
  "div",
23792
23902
  {
@@ -24144,7 +24254,7 @@ function QueryReportTable({
24144
24254
  );
24145
24255
  const handleExport = () => {
24146
24256
  exportToCSV(data, columns, exportFilename);
24147
- _optionalChain([onExport, 'optionalCall', _537 => _537()]);
24257
+ _optionalChain([onExport, 'optionalCall', _539 => _539()]);
24148
24258
  };
24149
24259
  const tableMinWidth = columns.length * (columnWidth + 16);
24150
24260
  const {
@@ -24317,7 +24427,7 @@ function DataTableColumnFilter({
24317
24427
  align = "left"
24318
24428
  }) {
24319
24429
  const currentValue = column.getFilterValue();
24320
- const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _538 => _538.length]), () => ( 0));
24430
+ const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _540 => _540.length]), () => ( 0));
24321
24431
  const sections = _react.useMemo.call(void 0,
24322
24432
  () => [
24323
24433
  {
@@ -24397,7 +24507,7 @@ function DataTableHeader({
24397
24507
  const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
24398
24508
  if (header.isPlaceholder) return false;
24399
24509
  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]));
24510
+ return Boolean(_optionalChain([header, 'access', _541 => _541.column, 'access', _542 => _542.columnDef, 'access', _543 => _543.meta, 'optionalAccess', _544 => _544.filter]));
24401
24511
  });
24402
24512
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24403
24513
  "div",
@@ -24427,20 +24537,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
24427
24537
  if (header.isPlaceholder) return null;
24428
24538
  const column = header.column;
24429
24539
  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;
24540
+ const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _545 => _545.filter]));
24541
+ const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _546 => _546.align]), () => ( "left"));
24542
+ const canSort = _optionalChain([meta, 'optionalAccess', _547 => _547.sortable]) === true;
24543
+ const sortDir = _optionalChain([sort, 'optionalAccess', _548 => _548.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
24434
24544
  if (!isLgUp && !hasFilter) return null;
24435
24545
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24436
24546
  "div",
24437
24547
  {
24438
24548
  className: _chunkUC43NICZcjs.cn.call(void 0,
24439
24549
  "flex items-stretch",
24440
- isLgUp && (_optionalChain([meta, 'optionalAccess', _547 => _547.width]) || "flex-1 min-w-0"),
24441
- _optionalChain([meta, 'optionalAccess', _548 => _548.headerClassName]),
24550
+ isLgUp && (_optionalChain([meta, 'optionalAccess', _549 => _549.width]) || "flex-1 min-w-0"),
24551
+ _optionalChain([meta, 'optionalAccess', _550 => _550.headerClassName]),
24442
24552
  // Don't apply hide classes if column is filterable on tablet (keep filter accessible)
24443
- !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _549 => _549.hideAt]))
24553
+ !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _551 => _551.hideAt]))
24444
24554
  ),
24445
24555
  children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24446
24556
  DataTableColumnFilter,
@@ -24459,7 +24569,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
24459
24569
  isLgUp && alignJustify(align),
24460
24570
  canSort && "group cursor-pointer"
24461
24571
  ),
24462
- onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _550 => _550(column.id)]) : void 0,
24572
+ onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _552 => _552(column.id)]) : void 0,
24463
24573
  children: [
24464
24574
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
24465
24575
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -24543,7 +24653,7 @@ function DataTableSkeleton({
24543
24653
  }) {
24544
24654
  const table = useDataTableContext();
24545
24655
  const columns = table.getVisibleFlatColumns();
24546
- const firstColumnId = _optionalChain([columns, 'access', _551 => _551[0], 'optionalAccess', _552 => _552.id]);
24656
+ const firstColumnId = _optionalChain([columns, 'access', _553 => _553[0], 'optionalAccess', _554 => _554.id]);
24547
24657
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
24548
24658
  "div",
24549
24659
  {
@@ -24567,7 +24677,7 @@ function DataTableSkeleton({
24567
24677
  {
24568
24678
  className: _chunkUC43NICZcjs.cn.call(void 0,
24569
24679
  "flex flex-col justify-center shrink-0",
24570
- _optionalChain([meta, 'optionalAccess', _553 => _553.width]) || "flex-1"
24680
+ _optionalChain([meta, 'optionalAccess', _555 => _555.width]) || "flex-1"
24571
24681
  ),
24572
24682
  children: [
24573
24683
  /* @__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 +24723,7 @@ function DataTableRowImpl({
24613
24723
  (e) => {
24614
24724
  const target = e.target;
24615
24725
  if (target.closest("[data-no-row-click]")) return;
24616
- _optionalChain([onClick, 'optionalCall', _554 => _554(row.original)]);
24726
+ _optionalChain([onClick, 'optionalCall', _556 => _556(row.original)]);
24617
24727
  },
24618
24728
  [onClick, row.original]
24619
24729
  );
@@ -24651,10 +24761,10 @@ function DataTableRowImpl({
24651
24761
  {
24652
24762
  className: _chunkUC43NICZcjs.cn.call(void 0,
24653
24763
  "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]))
24764
+ alignJustify(_optionalChain([meta, 'optionalAccess', _557 => _557.align])),
24765
+ _optionalChain([meta, 'optionalAccess', _558 => _558.width]) || "flex-1 min-w-0",
24766
+ _optionalChain([meta, 'optionalAccess', _559 => _559.cellClassName]),
24767
+ getHideClasses2(_optionalChain([meta, 'optionalAccess', _560 => _560.hideAt]))
24658
24768
  ),
24659
24769
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
24660
24770
  },
@@ -24700,7 +24810,7 @@ function DataTableBody({
24700
24810
  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
24811
  rows.map((row, index) => {
24702
24812
  const item = row.original;
24703
- const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _559 => _559(item)]), () => ( void 0));
24813
+ const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _561 => _561(item)]), () => ( void 0));
24704
24814
  const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
24705
24815
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24706
24816
  DataTableRow,
@@ -24764,7 +24874,7 @@ function DataTableInfiniteFooter({
24764
24874
  if (!sentinel) return;
24765
24875
  const observer = new IntersectionObserver(
24766
24876
  (entries) => {
24767
- if (_optionalChain([entries, 'access', _560 => _560[0], 'optionalAccess', _561 => _561.isIntersecting])) onLoadMoreRef.current();
24877
+ if (_optionalChain([entries, 'access', _562 => _562[0], 'optionalAccess', _563 => _563.isIntersecting])) onLoadMoreRef.current();
24768
24878
  },
24769
24879
  { rootMargin }
24770
24880
  );
@@ -24812,7 +24922,7 @@ function DataTableRowCount({
24812
24922
  const table = useDataTableContext();
24813
24923
  const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
24814
24924
  if (hideWhenEmpty && count === 0) return null;
24815
- const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _562 => _562(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
24925
+ const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _564 => _564(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
24816
24926
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
24817
24927
  "span",
24818
24928
  {
@@ -24906,12 +25016,12 @@ function PhoneInput({
24906
25016
  const runValidation = _react.useCallback.call(void 0, (phone) => {
24907
25017
  if (!phone || digitCount(phone) === 0) {
24908
25018
  setIsInvalid(false);
24909
- _optionalChain([onValidationChange, 'optionalCall', _563 => _563(false)]);
25019
+ _optionalChain([onValidationChange, 'optionalCall', _565 => _565(false)]);
24910
25020
  return;
24911
25021
  }
24912
25022
  const invalid = !validatePhoneNumber(phone, countryCode);
24913
25023
  setIsInvalid(invalid);
24914
- _optionalChain([onValidationChange, 'optionalCall', _564 => _564(invalid)]);
25024
+ _optionalChain([onValidationChange, 'optionalCall', _566 => _566(invalid)]);
24915
25025
  }, [countryCode, digitCount, onValidationChange]);
24916
25026
  const debouncedValidation = _react.useCallback.call(void 0, (phone) => {
24917
25027
  if (debounceRef.current) clearTimeout(debounceRef.current);
@@ -24960,7 +25070,7 @@ function PhoneInput({
24960
25070
  debouncedValidation(val);
24961
25071
  } else if (digitCount(val) === 0) {
24962
25072
  setIsInvalid(false);
24963
- _optionalChain([onValidationChange, 'optionalCall', _565 => _565(false)]);
25073
+ _optionalChain([onValidationChange, 'optionalCall', _567 => _567(false)]);
24964
25074
  }
24965
25075
  }
24966
25076
  },
@@ -25067,7 +25177,7 @@ function SearchInput({
25067
25177
  if (!showHiddenTags) return;
25068
25178
  const handleClick = (e) => {
25069
25179
  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)])) {
25180
+ 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
25181
  setShowHiddenTags(false);
25072
25182
  }
25073
25183
  };
@@ -25115,10 +25225,10 @@ function SearchInput({
25115
25225
  } else {
25116
25226
  setInternalValue("");
25117
25227
  }
25118
- _optionalChain([inputRef, 'access', _572 => _572.current, 'optionalAccess', _573 => _573.focus, 'call', _574 => _574()]);
25228
+ _optionalChain([inputRef, 'access', _574 => _574.current, 'optionalAccess', _575 => _575.focus, 'call', _576 => _576()]);
25119
25229
  };
25120
25230
  const handleResultClick = (result, e) => {
25121
- _optionalChain([onResultSelect, 'optionalCall', _575 => _575(
25231
+ _optionalChain([onResultSelect, 'optionalCall', _577 => _577(
25122
25232
  result,
25123
25233
  e ? {
25124
25234
  metaKey: e.metaKey,
@@ -25150,7 +25260,7 @@ function SearchInput({
25150
25260
  if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
25151
25261
  handleResultClick(flatResults[highlightedIndex]);
25152
25262
  } else {
25153
- _optionalChain([onSubmit, 'optionalCall', _576 => _576(currentValue)]);
25263
+ _optionalChain([onSubmit, 'optionalCall', _578 => _578(currentValue)]);
25154
25264
  }
25155
25265
  break;
25156
25266
  case "Escape":
@@ -25228,7 +25338,7 @@ function SearchInput({
25228
25338
  dropdownVisible && "!border-ods-accent"
25229
25339
  ),
25230
25340
  onClick: () => {
25231
- _optionalChain([inputRef, 'access', _577 => _577.current, 'optionalAccess', _578 => _578.focus, 'call', _579 => _579()]);
25341
+ _optionalChain([inputRef, 'access', _579 => _579.current, 'optionalAccess', _580 => _580.focus, 'call', _581 => _581()]);
25232
25342
  setIsOpen(true);
25233
25343
  },
25234
25344
  children: [
@@ -25312,10 +25422,10 @@ function SearchInput({
25312
25422
  align: "start",
25313
25423
  onOpenAutoFocus: (e) => {
25314
25424
  e.preventDefault();
25315
- _optionalChain([inputRef, 'access', _580 => _580.current, 'optionalAccess', _581 => _581.focus, 'call', _582 => _582()]);
25425
+ _optionalChain([inputRef, 'access', _582 => _582.current, 'optionalAccess', _583 => _583.focus, 'call', _584 => _584()]);
25316
25426
  },
25317
25427
  onInteractOutside: (e) => {
25318
- if (_optionalChain([containerRef, 'access', _583 => _583.current, 'optionalAccess', _584 => _584.contains, 'call', _585 => _585(e.target)])) {
25428
+ if (_optionalChain([containerRef, 'access', _585 => _585.current, 'optionalAccess', _586 => _586.contains, 'call', _587 => _587(e.target)])) {
25319
25429
  e.preventDefault();
25320
25430
  }
25321
25431
  },
@@ -25332,10 +25442,10 @@ function SearchInput({
25332
25442
  ref: hiddenTagsPopupRef,
25333
25443
  items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
25334
25444
  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
25445
+ 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
25446
  },
25337
25447
  onRemove: (value2) => {
25338
- _optionalChain([onFilterRemove, 'optionalCall', _590 => _590(value2)]);
25448
+ _optionalChain([onFilterRemove, 'optionalCall', _592 => _592(value2)]);
25339
25449
  if (hiddenCount <= 1) setShowHiddenTags(false);
25340
25450
  }
25341
25451
  }
@@ -25386,7 +25496,7 @@ function FilterListItem({
25386
25496
  }) {
25387
25497
  const handleToggle = () => {
25388
25498
  if (disabled) return;
25389
- _optionalChain([onToggle, 'optionalCall', _591 => _591(!selected)]);
25499
+ _optionalChain([onToggle, 'optionalCall', _593 => _593(!selected)]);
25390
25500
  };
25391
25501
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
25392
25502
  "div",
@@ -25433,7 +25543,7 @@ function FilterListItem({
25433
25543
  CheckboxPrimitive4.Root,
25434
25544
  {
25435
25545
  checked: selected,
25436
- onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _592 => _592(c === true)]),
25546
+ onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _594 => _594(c === true)]),
25437
25547
  onClick: (e) => e.stopPropagation(),
25438
25548
  disabled,
25439
25549
  "aria-label": title,
@@ -25532,7 +25642,7 @@ function TagSearchInput({
25532
25642
  if (!showHiddenTags) return;
25533
25643
  const handleClick = (e) => {
25534
25644
  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)])) {
25645
+ 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
25646
  setShowHiddenTags(false);
25537
25647
  }
25538
25648
  };
@@ -25548,13 +25658,13 @@ function TagSearchInput({
25548
25658
  e.preventDefault();
25549
25659
  onSubmit(searchValue);
25550
25660
  }
25551
- _optionalChain([onKeyDown, 'optionalCall', _599 => _599(e)]);
25661
+ _optionalChain([onKeyDown, 'optionalCall', _601 => _601(e)]);
25552
25662
  };
25553
25663
  const handleClearAll = (e) => {
25554
25664
  e.stopPropagation();
25555
25665
  e.preventDefault();
25556
- _optionalChain([onClearAll, 'optionalCall', _600 => _600()]);
25557
- _optionalChain([inputRef, 'access', _601 => _601.current, 'optionalAccess', _602 => _602.focus, 'call', _603 => _603()]);
25666
+ _optionalChain([onClearAll, 'optionalCall', _602 => _602()]);
25667
+ _optionalChain([inputRef, 'access', _603 => _603.current, 'optionalAccess', _604 => _604.focus, 'call', _605 => _605()]);
25558
25668
  };
25559
25669
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
25560
25670
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -25571,7 +25681,7 @@ function TagSearchInput({
25571
25681
  className
25572
25682
  ),
25573
25683
  onClick: () => {
25574
- if (!disabled) _optionalChain([inputRef, 'access', _604 => _604.current, 'optionalAccess', _605 => _605.focus, 'call', _606 => _606()]);
25684
+ if (!disabled) _optionalChain([inputRef, 'access', _606 => _606.current, 'optionalAccess', _607 => _607.focus, 'call', _608 => _608()]);
25575
25685
  },
25576
25686
  children: [
25577
25687
  /* @__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 +25753,7 @@ function TagSearchInput({
25643
25753
  items: hiddenTags,
25644
25754
  disabled,
25645
25755
  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
25756
+ 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
25757
  },
25648
25758
  onRemove: (value) => {
25649
25759
  onTagRemove(value);
@@ -25745,7 +25855,7 @@ function MarkdownEditor({
25745
25855
  const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
25746
25856
  _react.useEffect.call(void 0, () => {
25747
25857
  Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
25748
- if (_optionalChain([mod, 'access', _611 => _611.commands, 'optionalAccess', _612 => _612.getExtraCommands])) {
25858
+ if (_optionalChain([mod, 'access', _613 => _613.commands, 'optionalAccess', _614 => _614.getExtraCommands])) {
25749
25859
  setDefaultExtraCommands(mod.commands.getExtraCommands());
25750
25860
  }
25751
25861
  });
@@ -25779,7 +25889,7 @@ function MarkdownEditor({
25779
25889
  const isImage = file.type.startsWith("image/");
25780
25890
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
25781
25891
  insertTextAtCursor(markdown);
25782
- _optionalChain([onFileUploaded, 'optionalCall', _613 => _613(url, file.name)]);
25892
+ _optionalChain([onFileUploaded, 'optionalCall', _615 => _615(url, file.name)]);
25783
25893
  } catch (error) {
25784
25894
  console.error("File upload failed:", error);
25785
25895
  setUploadProgress("Upload failed. Please try again.");
@@ -25792,7 +25902,7 @@ function MarkdownEditor({
25792
25902
  );
25793
25903
  const handleFileInputChange = _react.useCallback.call(void 0,
25794
25904
  (e) => {
25795
- const file = _optionalChain([e, 'access', _614 => _614.target, 'access', _615 => _615.files, 'optionalAccess', _616 => _616[0]]);
25905
+ const file = _optionalChain([e, 'access', _616 => _616.target, 'access', _617 => _617.files, 'optionalAccess', _618 => _618[0]]);
25796
25906
  if (file) {
25797
25907
  handleFileUpload(file);
25798
25908
  e.target.value = "";
@@ -25803,7 +25913,7 @@ function MarkdownEditor({
25803
25913
  const handlePaste = _react.useCallback.call(void 0,
25804
25914
  (e) => {
25805
25915
  if (!onUploadFile) return;
25806
- const items = _optionalChain([e, 'access', _617 => _617.clipboardData, 'optionalAccess', _618 => _618.items]);
25916
+ const items = _optionalChain([e, 'access', _619 => _619.clipboardData, 'optionalAccess', _620 => _620.items]);
25807
25917
  if (!items) return;
25808
25918
  for (const item of items) {
25809
25919
  if (item.type.startsWith("image/")) {
@@ -25828,7 +25938,7 @@ function MarkdownEditor({
25828
25938
  buttonProps: { "aria-label": "Upload file", title: "Upload file" },
25829
25939
  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
25940
  execute: () => {
25831
- _optionalChain([fileInputRef, 'access', _619 => _619.current, 'optionalAccess', _620 => _620.click, 'call', _621 => _621()]);
25941
+ _optionalChain([fileInputRef, 'access', _621 => _621.current, 'optionalAccess', _622 => _622.click, 'call', _623 => _623()]);
25832
25942
  }
25833
25943
  } : null;
25834
25944
  const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
@@ -25840,7 +25950,7 @@ function MarkdownEditor({
25840
25950
  const EDGE_ZONE = 60;
25841
25951
  const MAX_SCROLL_SPEED = 15;
25842
25952
  const findScrollParent = _react.useCallback.call(void 0, (el) => {
25843
- let node = _optionalChain([el, 'optionalAccess', _622 => _622.parentElement]);
25953
+ let node = _optionalChain([el, 'optionalAccess', _624 => _624.parentElement]);
25844
25954
  while (node && node !== document.documentElement) {
25845
25955
  const { overflowY } = window.getComputedStyle(node);
25846
25956
  if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
@@ -25983,7 +26093,7 @@ function matchesAccept(file, accept) {
25983
26093
  });
25984
26094
  }
25985
26095
  function dragHasFiles(e) {
25986
- const types = _optionalChain([e, 'access', _623 => _623.dataTransfer, 'optionalAccess', _624 => _624.types]);
26096
+ const types = _optionalChain([e, 'access', _625 => _625.dataTransfer, 'optionalAccess', _626 => _626.types]);
25987
26097
  if (!types) return false;
25988
26098
  for (let i = 0; i < types.length; i++) {
25989
26099
  if (types[i] === "Files") return true;
@@ -26078,7 +26188,7 @@ function FileUpload({
26078
26188
  e.stopPropagation();
26079
26189
  setDragActive(false);
26080
26190
  if (disabled) return;
26081
- if (_optionalChain([e, 'access', _625 => _625.dataTransfer, 'access', _626 => _626.files, 'optionalAccess', _627 => _627.length])) {
26191
+ if (_optionalChain([e, 'access', _627 => _627.dataTransfer, 'access', _628 => _628.files, 'optionalAccess', _629 => _629.length])) {
26082
26192
  handleFiles(e.dataTransfer.files);
26083
26193
  }
26084
26194
  };
@@ -26106,7 +26216,7 @@ function FileUpload({
26106
26216
  e.preventDefault();
26107
26217
  dragCounter = 0;
26108
26218
  setDragActive(false);
26109
- if (_optionalChain([e, 'access', _628 => _628.dataTransfer, 'optionalAccess', _629 => _629.files, 'optionalAccess', _630 => _630.length])) {
26219
+ if (_optionalChain([e, 'access', _630 => _630.dataTransfer, 'optionalAccess', _631 => _631.files, 'optionalAccess', _632 => _632.length])) {
26110
26220
  handleFilesRef.current(e.dataTransfer.files);
26111
26221
  }
26112
26222
  };
@@ -26128,7 +26238,7 @@ function FileUpload({
26128
26238
  };
26129
26239
  }, [acceptWindowDrops, disabled]);
26130
26240
  const handleFileSelect = (e) => {
26131
- if (_optionalChain([e, 'access', _631 => _631.target, 'access', _632 => _632.files, 'optionalAccess', _633 => _633.length])) {
26241
+ if (_optionalChain([e, 'access', _633 => _633.target, 'access', _634 => _634.files, 'optionalAccess', _635 => _635.length])) {
26132
26242
  handleFiles(e.target.files);
26133
26243
  }
26134
26244
  };
@@ -26145,7 +26255,7 @@ function FileUpload({
26145
26255
  };
26146
26256
  const openDialog = async () => {
26147
26257
  if (disabled) return;
26148
- _optionalChain([fileInputRef, 'access', _634 => _634.current, 'optionalAccess', _635 => _635.click, 'call', _636 => _636()]);
26258
+ _optionalChain([fileInputRef, 'access', _636 => _636.current, 'optionalAccess', _637 => _637.click, 'call', _638 => _638()]);
26149
26259
  };
26150
26260
  const displayError = error || validationError || void 0;
26151
26261
  const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
@@ -26223,7 +26333,7 @@ function FileUpload({
26223
26333
  "button",
26224
26334
  {
26225
26335
  type: "button",
26226
- onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _637 => _637(entry.id)]),
26336
+ onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _639 => _639(entry.id)]),
26227
26337
  className: "shrink-0 p-1 rounded hover:bg-ods-bg transition-colors",
26228
26338
  "aria-label": `Remove ${entry.fileName}`,
26229
26339
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "size-4 text-ods-text-secondary" })
@@ -26346,7 +26456,7 @@ function ImageUploader({
26346
26456
  onChange(file);
26347
26457
  };
26348
26458
  const handleFileSelect = (e) => {
26349
- validateAndEmit(_optionalChain([e, 'access', _638 => _638.target, 'access', _639 => _639.files, 'optionalAccess', _640 => _640[0]]));
26459
+ validateAndEmit(_optionalChain([e, 'access', _640 => _640.target, 'access', _641 => _641.files, 'optionalAccess', _642 => _642[0]]));
26350
26460
  if (inputRef.current) inputRef.current.value = "";
26351
26461
  };
26352
26462
  const handleDrag = (e) => {
@@ -26361,11 +26471,11 @@ function ImageUploader({
26361
26471
  e.stopPropagation();
26362
26472
  setDragActive(false);
26363
26473
  if (!interactive) return;
26364
- validateAndEmit(_optionalChain([e, 'access', _641 => _641.dataTransfer, 'access', _642 => _642.files, 'optionalAccess', _643 => _643[0]]));
26474
+ validateAndEmit(_optionalChain([e, 'access', _643 => _643.dataTransfer, 'access', _644 => _644.files, 'optionalAccess', _645 => _645[0]]));
26365
26475
  };
26366
26476
  const openDialog = () => {
26367
26477
  if (!interactive) return;
26368
- _optionalChain([inputRef, 'access', _644 => _644.current, 'optionalAccess', _645 => _645.click, 'call', _646 => _646()]);
26478
+ _optionalChain([inputRef, 'access', _646 => _646.current, 'optionalAccess', _647 => _647.click, 'call', _648 => _648()]);
26369
26479
  };
26370
26480
  const handleRootKeyDown = (e) => {
26371
26481
  if (hasImage || !interactive) return;
@@ -26522,7 +26632,7 @@ function CompactAssigneeDropdown({
26522
26632
  return [current, ...filtered.filter((o) => o.value !== currentAssignee.id)];
26523
26633
  }, [filtered, currentAssignee]);
26524
26634
  const handleSelect = (userId) => {
26525
- const next = _optionalChain([currentAssignee, 'optionalAccess', _647 => _647.id]) === userId ? null : userId;
26635
+ const next = _optionalChain([currentAssignee, 'optionalAccess', _649 => _649.id]) === userId ? null : userId;
26526
26636
  onAssign(next);
26527
26637
  setIsOpen(false);
26528
26638
  };
@@ -26587,7 +26697,7 @@ function CompactAssigneeDropdown({
26587
26697
  }
26588
26698
  ) }),
26589
26699
  /* @__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;
26700
+ const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _650 => _650.id]) === opt.value;
26591
26701
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
26592
26702
  "button",
26593
26703
  {
@@ -26656,7 +26766,7 @@ function DefaultAssigneeDropdown({
26656
26766
  Autocomplete,
26657
26767
  {
26658
26768
  options,
26659
- value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _649 => _649.id]), () => ( null)),
26769
+ value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _651 => _651.id]), () => ( null)),
26660
26770
  onChange: (val) => {
26661
26771
  onAssign(val);
26662
26772
  setIsEditing(false);
@@ -27014,14 +27124,14 @@ function TicketInfoSection({
27014
27124
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27015
27125
  SquareAvatar,
27016
27126
  {
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",
27127
+ src: _optionalChain([organization, 'optionalAccess', _652 => _652.imageSrc]),
27128
+ alt: _optionalChain([organization, 'optionalAccess', _653 => _653.name]),
27129
+ fallback: _optionalChain([organization, 'optionalAccess', _654 => _654.name]) || "Org",
27020
27130
  size: "md",
27021
27131
  className: "shrink-0"
27022
27132
  }
27023
27133
  ),
27024
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _653 => _653.name]) || "Unassigned", label: "Organization" })
27134
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _655 => _655.name]) || "Unassigned", label: "Organization" })
27025
27135
  ] }),
27026
27136
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27027
27137
  AssigneeDropdown,
@@ -27042,10 +27152,10 @@ function TicketInfoSection({
27042
27152
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27043
27153
  InfoCell2,
27044
27154
  {
27045
- value: _optionalChain([device, 'optionalAccess', _654 => _654.name]) || "Unassigned",
27155
+ value: _optionalChain([device, 'optionalAccess', _656 => _656.name]) || "Unassigned",
27046
27156
  label: "Device",
27047
- icon: _optionalChain([device, 'optionalAccess', _655 => _655.icon]),
27048
- onClick: _optionalChain([device, 'optionalAccess', _656 => _656.onClick])
27157
+ icon: _optionalChain([device, 'optionalAccess', _657 => _657.icon]),
27158
+ onClick: _optionalChain([device, 'optionalAccess', _658 => _658.onClick])
27049
27159
  }
27050
27160
  ),
27051
27161
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
@@ -27804,10 +27914,10 @@ var getContentDimensions = (config) => {
27804
27914
  const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
27805
27915
  const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
27806
27916
  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));
27917
+ const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _659 => _659.mobileContentDimensions, 'optionalAccess', _660 => _660.width]))), () => ( defaultMobile.width));
27918
+ const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _661 => _661.mobileContentDimensions, 'optionalAccess', _662 => _662.height]))), () => ( defaultMobile.height));
27919
+ const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _663 => _663.desktopContentDimensions, 'optionalAccess', _664 => _664.width]))), () => ( defaultDesktop.width));
27920
+ const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _665 => _665.desktopContentDimensions, 'optionalAccess', _666 => _666.height]))), () => ( defaultDesktop.height));
27811
27921
  return {
27812
27922
  mobile: { width: mobileWidth, height: mobileHeight },
27813
27923
  desktop: { width: desktopWidth, height: desktopHeight }
@@ -27941,7 +28051,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
27941
28051
  const contentDimensions = getContentDimensions(config);
27942
28052
  const mobileHeight = contentDimensions.mobile.height;
27943
28053
  const calculatedHeight = Math.max(mobileHeight + 100, 400);
27944
- return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _665 => _665.innerHeight]) * 0.85 || 650)}px`;
28054
+ return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _667 => _667.innerHeight]) * 0.85 || 650)}px`;
27945
28055
  })(),
27946
28056
  minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
27947
28057
  const contentDimensions = getContentDimensions(config);
@@ -28046,7 +28156,7 @@ var FigmaPrototypeViewer = ({
28046
28156
  const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
28047
28157
  const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
28048
28158
  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]) || ""
28159
+ config.defaultSectionId || _optionalChain([config, 'access', _668 => _668.sections, 'access', _669 => _669[0], 'optionalAccess', _670 => _670.id]) || ""
28050
28160
  );
28051
28161
  const activeSection = externalActiveSection || internalActiveSection;
28052
28162
  const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
@@ -28136,7 +28246,7 @@ var FigmaPrototypeViewer = ({
28136
28246
  const handleMessage = (event) => {
28137
28247
  if (event.origin !== "https://www.figma.com") return;
28138
28248
  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)) {
28249
+ if (_optionalChain([event, 'access', _671 => _671.data, 'optionalAccess', _672 => _672.type]) && validEvents.includes(event.data.type)) {
28140
28250
  const figmaEvent = event.data;
28141
28251
  console.log("[Figma Event]", figmaEvent.type, viewMode);
28142
28252
  switch (figmaEvent.type) {
@@ -28146,19 +28256,19 @@ var FigmaPrototypeViewer = ({
28146
28256
  setIframeState("READY");
28147
28257
  break;
28148
28258
  case "PRESENTED_NODE_CHANGED":
28149
- if (_optionalChain([figmaEvent, 'access', _671 => _671.data, 'optionalAccess', _672 => _672.presentedNodeId])) {
28259
+ if (_optionalChain([figmaEvent, 'access', _673 => _673.data, 'optionalAccess', _674 => _674.presentedNodeId])) {
28150
28260
  setCurrentNodeId(figmaEvent.data.presentedNodeId);
28151
28261
  if (!isNavigating) {
28152
28262
  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]);
28263
+ 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]);
28264
+ 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
28265
  return desktopMatch || mobileMatch;
28156
28266
  });
28157
28267
  if (matchingSection && matchingSection.id !== activeSection) {
28158
28268
  if (!externalActiveSection) {
28159
28269
  setInternalActiveSection(matchingSection.id);
28160
28270
  }
28161
- _optionalChain([config, 'access', _684 => _684.onSectionChange, 'optionalCall', _685 => _685(matchingSection.id)]);
28271
+ _optionalChain([config, 'access', _686 => _686.onSectionChange, 'optionalCall', _687 => _687(matchingSection.id)]);
28162
28272
  }
28163
28273
  }
28164
28274
  }
@@ -28171,7 +28281,7 @@ var FigmaPrototypeViewer = ({
28171
28281
  }, [config.sections, activeSection, isNavigating, externalActiveSection, config.onSectionChange, viewMode]);
28172
28282
  const navigateToSection = _react.useCallback.call(void 0, (sectionId) => {
28173
28283
  const section = config.sections.find((s) => s.id === sectionId);
28174
- if (!section || !_optionalChain([iframeRef, 'access', _686 => _686.current, 'optionalAccess', _687 => _687.contentWindow]) || !isInitialized) {
28284
+ if (!section || !_optionalChain([iframeRef, 'access', _688 => _688.current, 'optionalAccess', _689 => _689.contentWindow]) || !isInitialized) {
28175
28285
  return;
28176
28286
  }
28177
28287
  setIsNavigating(true);
@@ -28179,7 +28289,7 @@ var FigmaPrototypeViewer = ({
28179
28289
  if (!externalActiveSection) {
28180
28290
  setInternalActiveSection(sectionId);
28181
28291
  }
28182
- _optionalChain([config, 'access', _688 => _688.onSectionChange, 'optionalCall', _689 => _689(sectionId)]);
28292
+ _optionalChain([config, 'access', _690 => _690.onSectionChange, 'optionalCall', _691 => _691(sectionId)]);
28183
28293
  const command = {
28184
28294
  type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
28185
28295
  data: { nodeId }
@@ -28499,7 +28609,7 @@ var FiltersDropdown = ({
28499
28609
  defaults[section.id] = section.defaultSelected || [];
28500
28610
  });
28501
28611
  setSelectedFilters(defaults);
28502
- _optionalChain([onReset, 'optionalCall', _690 => _690()]);
28612
+ _optionalChain([onReset, 'optionalCall', _692 => _692()]);
28503
28613
  setIsOpen(false);
28504
28614
  };
28505
28615
  const handleApply = () => {
@@ -28793,7 +28903,7 @@ function MediaGalleryManager({
28793
28903
  const [deletingIndex, setDeletingIndex] = _react.useState.call(void 0, null);
28794
28904
  const [draggedIndex, setDraggedIndex] = _react.useState.call(void 0, null);
28795
28905
  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]]);
28906
+ const file = _optionalChain([event, 'access', _693 => _693.target, 'access', _694 => _694.files, 'optionalAccess', _695 => _695[0]]);
28797
28907
  if (!file) return;
28798
28908
  let mediaType;
28799
28909
  if (file.type.startsWith("image/")) {
@@ -28908,7 +29018,7 @@ function MediaGalleryManager({
28908
29018
  {
28909
29019
  type: "button",
28910
29020
  variant: "outline",
28911
- onClick: () => _optionalChain([fileInputRef, 'access', _694 => _694.current, 'optionalAccess', _695 => _695.click, 'call', _696 => _696()]),
29021
+ onClick: () => _optionalChain([fileInputRef, 'access', _696 => _696.current, 'optionalAccess', _697 => _697.click, 'call', _698 => _698()]),
28912
29022
  disabled: isUploading,
28913
29023
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
28914
29024
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -29693,7 +29803,7 @@ function ReleaseMediaManager({
29693
29803
  const fileInputRef = _react.useRef.call(void 0, null);
29694
29804
  const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
29695
29805
  const handleFileSelect = async (event) => {
29696
- const file = _optionalChain([event, 'access', _697 => _697.target, 'access', _698 => _698.files, 'optionalAccess', _699 => _699[0]]);
29806
+ const file = _optionalChain([event, 'access', _699 => _699.target, 'access', _700 => _700.files, 'optionalAccess', _701 => _701[0]]);
29697
29807
  if (!file) return;
29698
29808
  let mediaType;
29699
29809
  if (file.type.startsWith("image/")) {
@@ -29773,7 +29883,7 @@ function ReleaseMediaManager({
29773
29883
  {
29774
29884
  type: "button",
29775
29885
  variant: "outline",
29776
- onClick: () => _optionalChain([fileInputRef, 'access', _700 => _700.current, 'optionalAccess', _701 => _701.click, 'call', _702 => _702()]),
29886
+ onClick: () => _optionalChain([fileInputRef, 'access', _702 => _702.current, 'optionalAccess', _703 => _703.click, 'call', _704 => _704()]),
29777
29887
  disabled: uploadingIndex !== null,
29778
29888
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
29779
29889
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -29986,7 +30096,7 @@ function SEOEditorPreview({
29986
30096
  const displayImage = hasOgImage || hasFeaturedImage;
29987
30097
  const handleImageUpload = async (event) => {
29988
30098
  if (!onOgImageUpload) return;
29989
- const file = _optionalChain([event, 'access', _703 => _703.target, 'access', _704 => _704.files, 'optionalAccess', _705 => _705[0]]);
30099
+ const file = _optionalChain([event, 'access', _705 => _705.target, 'access', _706 => _706.files, 'optionalAccess', _707 => _707[0]]);
29990
30100
  if (!file) return;
29991
30101
  setIsUploading(true);
29992
30102
  try {
@@ -30117,7 +30227,7 @@ function SEOEditorPreview({
30117
30227
  type: "button",
30118
30228
  variant: "outline",
30119
30229
  size: "icon",
30120
- onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _706 => _706.click, 'call', _707 => _707()]),
30230
+ onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _708 => _708.click, 'call', _709 => _709()]),
30121
30231
  disabled: disabled || isUploading,
30122
30232
  className: "bg-white text-black hover:bg-gray-100 rounded-full opacity-0 group-hover:opacity-100",
30123
30233
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
@@ -30140,7 +30250,7 @@ function SEOEditorPreview({
30140
30250
  "div",
30141
30251
  {
30142
30252
  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()]),
30253
+ onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _710 => _710.click, 'call', _711 => _711()]),
30144
30254
  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
30255
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
30146
30256
  /* @__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 +30335,7 @@ function SocialLinksManager({
30225
30335
  className = ""
30226
30336
  }) {
30227
30337
  const addLink = () => {
30228
- const firstPlatform = _optionalChain([platforms, 'access', _710 => _710[0], 'optionalAccess', _711 => _711.name]) || "website";
30338
+ const firstPlatform = _optionalChain([platforms, 'access', _712 => _712[0], 'optionalAccess', _713 => _713.name]) || "website";
30229
30339
  onChange([...links, { platform: firstPlatform, url: "" }]);
30230
30340
  };
30231
30341
  const removeLink = (index) => {
@@ -30237,7 +30347,7 @@ function SocialLinksManager({
30237
30347
  onChange(updated);
30238
30348
  };
30239
30349
  const getIcon = (link, platform) => {
30240
- const iconKey = _optionalChain([platform, 'optionalAccess', _712 => _712.icon_name]) || link.platform;
30350
+ const iconKey = _optionalChain([platform, 'optionalAccess', _714 => _714.icon_name]) || link.platform;
30241
30351
  const IconComponent = iconMap[iconKey];
30242
30352
  return IconComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: "w-5 h-5 text-ods-text-secondary" }) : null;
30243
30353
  };
@@ -30262,7 +30372,7 @@ function SocialLinksManager({
30262
30372
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30263
30373
  _chunkV2FNIPZJcjs.Input,
30264
30374
  {
30265
- placeholder: _optionalChain([platform, 'optionalAccess', _713 => _713.placeholder]) || "Profile URL",
30375
+ placeholder: _optionalChain([platform, 'optionalAccess', _715 => _715.placeholder]) || "Profile URL",
30266
30376
  value: link.url,
30267
30377
  onChange: (e) => updateLink(index, "url", e.target.value),
30268
30378
  onKeyDown: (e) => {
@@ -30639,7 +30749,7 @@ function VideoSourceSelector({
30639
30749
  input.accept = "video/*";
30640
30750
  input.onchange = async (e) => {
30641
30751
  const target = e.target;
30642
- const file = _optionalChain([target, 'access', _714 => _714.files, 'optionalAccess', _715 => _715[0]]);
30752
+ const file = _optionalChain([target, 'access', _716 => _716.files, 'optionalAccess', _717 => _717[0]]);
30643
30753
  if (!file) return;
30644
30754
  setIsUploading(true);
30645
30755
  setUploadProgress(0);
@@ -30969,7 +31079,7 @@ function TranscriptSummaryEditor({
30969
31079
  {
30970
31080
  id: "subtitles",
30971
31081
  value: subtitles || "",
30972
- onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _716 => _716(e.target.value)]),
31082
+ onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _718 => _718(e.target.value)]),
30973
31083
  placeholder: subtitlesPlaceholder,
30974
31084
  disabled: disabled || !onSubtitlesChange,
30975
31085
  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 +31232,7 @@ var AIEnrichSection = ({
31122
31232
  }) => {
31123
31233
  const hasResults = status === "success" || status === "error";
31124
31234
  const shouldDisable = disabled || !canEnrich;
31125
- const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _717 => _717.filter, 'call', _718 => _718((f) => !f.isFilled)]) || [];
31235
+ const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _719 => _719.filter, 'call', _720 => _720((f) => !f.isFilled)]) || [];
31126
31236
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
31127
31237
  "div",
31128
31238
  {
@@ -31160,7 +31270,7 @@ var AIEnrichSection = ({
31160
31270
  {
31161
31271
  id: "ai-enrich-custom-instructions",
31162
31272
  value: _nullishCoalesce(customInstructions, () => ( "")),
31163
- onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _719 => _719(e.target.value)]),
31273
+ onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _721 => _721(e.target.value)]),
31164
31274
  placeholder: customInstructionsPlaceholder,
31165
31275
  disabled: loading,
31166
31276
  maxLength: customInstructionsMaxLength,
@@ -31289,7 +31399,7 @@ function HighlightVideoSection({
31289
31399
  input.accept = "video/*";
31290
31400
  input.onchange = async (e) => {
31291
31401
  const target = e.target;
31292
- const file = _optionalChain([target, 'access', _720 => _720.files, 'optionalAccess', _721 => _721[0]]);
31402
+ const file = _optionalChain([target, 'access', _722 => _722.files, 'optionalAccess', _723 => _723[0]]);
31293
31403
  if (!file) return;
31294
31404
  setUploadError(null);
31295
31405
  try {
@@ -31791,7 +31901,7 @@ function HighlightVideoPreview({
31791
31901
  input.accept = "video/*";
31792
31902
  input.onchange = async (e) => {
31793
31903
  const target = e.target;
31794
- const file = _optionalChain([target, 'access', _722 => _722.files, 'optionalAccess', _723 => _723[0]]);
31904
+ const file = _optionalChain([target, 'access', _724 => _724.files, 'optionalAccess', _725 => _725[0]]);
31795
31905
  if (!file) return;
31796
31906
  await onUpload(file);
31797
31907
  };
@@ -31978,7 +32088,7 @@ function HighlightVideoCombinedSection({
31978
32088
  input.accept = "video/*";
31979
32089
  input.onchange = async (e) => {
31980
32090
  const target = e.target;
31981
- const file = _optionalChain([target, 'access', _724 => _724.files, 'optionalAccess', _725 => _725[0]]);
32091
+ const file = _optionalChain([target, 'access', _726 => _726.files, 'optionalAccess', _727 => _727[0]]);
31982
32092
  if (!file) return;
31983
32093
  await onUpload(file);
31984
32094
  };
@@ -32275,7 +32385,7 @@ var getApprovalLevelLabel = (level, editMode = false) => {
32275
32385
  return editMode ? "Set Global Permission" : "";
32276
32386
  }
32277
32387
  const option = approvalLevelOptions.find((opt) => opt.value === level);
32278
- return _optionalChain([option, 'optionalAccess', _726 => _726.label]) || level;
32388
+ return _optionalChain([option, 'optionalAccess', _728 => _728.label]) || level;
32279
32389
  };
32280
32390
  var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
32281
32391
  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: [
@@ -32807,15 +32917,15 @@ function TicketCard({
32807
32917
  transform: _utilities.CSS.Transform.toString(sortable.transform),
32808
32918
  transition: sortable.transition
32809
32919
  };
32810
- const showDeviceRow = !!(_optionalChain([ticket, 'access', _727 => _727.deviceHostnames, 'optionalAccess', _728 => _728.length]) || ticket.organizationName);
32920
+ const showDeviceRow = !!(_optionalChain([ticket, 'access', _729 => _729.deviceHostnames, 'optionalAccess', _730 => _730.length]) || ticket.organizationName);
32811
32921
  const deviceText = [
32812
- _optionalChain([ticket, 'access', _729 => _729.deviceHostnames, 'optionalAccess', _730 => _730.join, 'call', _731 => _731(", ")]),
32922
+ _optionalChain([ticket, 'access', _731 => _731.deviceHostnames, 'optionalAccess', _732 => _732.join, 'call', _733 => _733(", ")]),
32813
32923
  ticket.organizationName
32814
32924
  ].filter(Boolean).join(", ");
32815
32925
  const handleClick = (e) => {
32816
32926
  if (sortable.isDragging) e.preventDefault();
32817
32927
  };
32818
- const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _732 => _732.assignees, 'optionalAccess', _733 => _733.length]) || renderAssignSlot);
32928
+ const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _734 => _734.assignees, 'optionalAccess', _735 => _735.length]) || renderAssignSlot);
32819
32929
  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
32930
  ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32821
32931
  _chunkVJTFBYVGcjs.Flag02Icon,
@@ -32824,7 +32934,7 @@ function TicketCard({
32824
32934
  "aria-label": `Priority: ${ticket.priority}`
32825
32935
  }
32826
32936
  ),
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: [
32937
+ 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
32938
  ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
32829
32939
  SquareAvatar,
32830
32940
  {
@@ -32853,7 +32963,7 @@ function TicketCard({
32853
32963
  ] }),
32854
32964
  rightSection
32855
32965
  ] }),
32856
- _optionalChain([ticket, 'access', _736 => _736.tags, 'optionalAccess', _737 => _737.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null
32966
+ _optionalChain([ticket, 'access', _738 => _738.tags, 'optionalAccess', _739 => _739.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null
32857
32967
  ] });
32858
32968
  const cardClasses = _chunkUC43NICZcjs.cn.call(void 0,
32859
32969
  "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 +33123,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
33013
33123
  const observer = new IntersectionObserver(
33014
33124
  (entries) => {
33015
33125
  if (entries.some((e) => e.isIntersecting)) {
33016
- _optionalChain([loadMoreRef, 'access', _738 => _738.current, 'optionalCall', _739 => _739(columnIdRef.current)]);
33126
+ _optionalChain([loadMoreRef, 'access', _740 => _740.current, 'optionalCall', _741 => _741(columnIdRef.current)]);
33017
33127
  }
33018
33128
  },
33019
33129
  { root, rootMargin: loadMoreRootMargin }
@@ -33042,7 +33152,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
33042
33152
  {
33043
33153
  ticket: t,
33044
33154
  columnId: column.id,
33045
- href: _optionalChain([getTicketHref, 'optionalCall', _740 => _740(t.id)]),
33155
+ href: _optionalChain([getTicketHref, 'optionalCall', _742 => _742(t.id)]),
33046
33156
  renderAssignSlot,
33047
33157
  dragDisabled: column.dragDisabled
33048
33158
  },
@@ -33137,17 +33247,17 @@ function Board({
33137
33247
  const pointer = _core.pointerWithin.call(void 0, args);
33138
33248
  const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
33139
33249
  const ticketHit = intersections.find(
33140
- (c) => _optionalChain([c, 'access', _741 => _741.data, 'optionalAccess', _742 => _742.droppableContainer, 'optionalAccess', _743 => _743.data, 'optionalAccess', _744 => _744.current, 'optionalAccess', _745 => _745.type]) === "ticket"
33250
+ (c) => _optionalChain([c, 'access', _743 => _743.data, 'optionalAccess', _744 => _744.droppableContainer, 'optionalAccess', _745 => _745.data, 'optionalAccess', _746 => _746.current, 'optionalAccess', _747 => _747.type]) === "ticket"
33141
33251
  );
33142
33252
  if (ticketHit) return [ticketHit];
33143
33253
  const columnHit = intersections.find(
33144
- (c) => _optionalChain([c, 'access', _746 => _746.data, 'optionalAccess', _747 => _747.droppableContainer, 'optionalAccess', _748 => _748.data, 'optionalAccess', _749 => _749.current, 'optionalAccess', _750 => _750.type]) === "column"
33254
+ (c) => _optionalChain([c, 'access', _748 => _748.data, 'optionalAccess', _749 => _749.droppableContainer, 'optionalAccess', _750 => _750.data, 'optionalAccess', _751 => _751.current, 'optionalAccess', _752 => _752.type]) === "column"
33145
33255
  );
33146
33256
  if (columnHit) {
33147
- const columnId = _optionalChain([columnHit, 'access', _751 => _751.data, 'optionalAccess', _752 => _752.droppableContainer, 'optionalAccess', _753 => _753.data, 'optionalAccess', _754 => _754.current, 'optionalAccess', _755 => _755.columnId]);
33257
+ const columnId = _optionalChain([columnHit, 'access', _753 => _753.data, 'optionalAccess', _754 => _754.droppableContainer, 'optionalAccess', _755 => _755.data, 'optionalAccess', _756 => _756.current, 'optionalAccess', _757 => _757.columnId]);
33148
33258
  const ticketsInColumn = args.droppableContainers.filter((c) => {
33149
33259
  const d = c.data.current;
33150
- return _optionalChain([d, 'optionalAccess', _756 => _756.type]) === "ticket" && d.columnId === columnId;
33260
+ return _optionalChain([d, 'optionalAccess', _758 => _758.type]) === "ticket" && d.columnId === columnId;
33151
33261
  });
33152
33262
  if (ticketsInColumn.length > 0) {
33153
33263
  const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
@@ -33172,20 +33282,20 @@ function Board({
33172
33282
  const overId = String(over.id);
33173
33283
  if (activeId === overId) return;
33174
33284
  const overData = over.data.current;
33175
- const fromColumnId = _optionalChain([locate, 'call', _757 => _757(items, activeId), 'optionalAccess', _758 => _758.columnId]);
33176
- const toColumnId = _optionalChain([overData, 'optionalAccess', _759 => _759.columnId]);
33285
+ const fromColumnId = _optionalChain([locate, 'call', _759 => _759(items, activeId), 'optionalAccess', _760 => _760.columnId]);
33286
+ const toColumnId = _optionalChain([overData, 'optionalAccess', _761 => _761.columnId]);
33177
33287
  if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
33178
33288
  const origin = dragOriginRef.current;
33179
- const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _760 => _760.fromColumnId]) === toColumnId;
33289
+ const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _762 => _762.fromColumnId]) === toColumnId;
33180
33290
  const targetCol = items.find((c) => c.id === toColumnId);
33181
- const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _761 => _761.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
33182
- if (_optionalChain([targetCol, 'optionalAccess', _762 => _762.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
33291
+ const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _763 => _763.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
33292
+ if (_optionalChain([targetCol, 'optionalAccess', _764 => _764.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
33183
33293
  setItems((prev) => {
33184
33294
  const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
33185
33295
  const toCol = prev.find((c) => c.id === toColumnId);
33186
33296
  if (fromIndex < 0 || !toCol) return prev;
33187
33297
  let toIndex;
33188
- if (_optionalChain([overData, 'optionalAccess', _763 => _763.type]) === "column") {
33298
+ if (_optionalChain([overData, 'optionalAccess', _765 => _765.type]) === "column") {
33189
33299
  toIndex = toCol.tickets.length;
33190
33300
  } else {
33191
33301
  const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
@@ -33227,14 +33337,14 @@ function Board({
33227
33337
  const toColumnId = located.columnId;
33228
33338
  const isCrossColumn = origin.fromColumnId !== toColumnId;
33229
33339
  const targetCol = items.find((c) => c.id === toColumnId);
33230
- if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _764 => _764.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _765 => _765.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
33340
+ if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _766 => _766.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _767 => _767.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
33231
33341
  setItems(columns);
33232
33342
  return;
33233
33343
  }
33234
33344
  let finalIndex = located.index;
33235
- let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _766 => _766.find, 'call', _767 => _767((c) => c.id === toColumnId), 'optionalAccess', _768 => _768.tickets]), () => ( []));
33345
+ let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _768 => _768.find, 'call', _769 => _769((c) => c.id === toColumnId), 'optionalAccess', _770 => _770.tickets]), () => ( []));
33236
33346
  const overData = over.data.current;
33237
- if (_optionalChain([overData, 'optionalAccess', _769 => _769.type]) === "ticket") {
33347
+ if (_optionalChain([overData, 'optionalAccess', _771 => _771.type]) === "ticket") {
33238
33348
  const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
33239
33349
  if (overIndex >= 0 && overIndex !== located.index) {
33240
33350
  finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
@@ -33254,8 +33364,8 @@ function Board({
33254
33364
  ticketId: origin.ticketId,
33255
33365
  fromColumnId: origin.fromColumnId,
33256
33366
  toColumnId,
33257
- afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _770 => _770[finalIndex - 1], 'optionalAccess', _771 => _771.id]), () => ( null)),
33258
- beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _772 => _772[finalIndex + 1], 'optionalAccess', _773 => _773.id]), () => ( null))
33367
+ afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _772 => _772[finalIndex - 1], 'optionalAccess', _773 => _773.id]), () => ( null)),
33368
+ beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _774 => _774[finalIndex + 1], 'optionalAccess', _775 => _775.id]), () => ( null))
33259
33369
  });
33260
33370
  };
33261
33371
  const handleDragCancel = () => {
@@ -33284,8 +33394,8 @@ function Board({
33284
33394
  children: items.map((column, i) => {
33285
33395
  const prev = items[i - 1];
33286
33396
  const next = items[i + 1];
33287
- const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _774 => _774.system]));
33288
- const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _775 => _775.system]));
33397
+ const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _776 => _776.system]));
33398
+ const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _777 => _777.system]));
33289
33399
  const showGap = i > 0 && !joinLeft;
33290
33400
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React102.Fragment, { children: [
33291
33401
  showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
@@ -33343,7 +33453,7 @@ function locate(cols, ticketId) {
33343
33453
  return null;
33344
33454
  }
33345
33455
  function findIndexInColumn(cols, columnId, ticketId) {
33346
- 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));
33456
+ 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));
33347
33457
  }
33348
33458
 
33349
33459
  // src/components/features/board/types.ts
@@ -34007,5 +34117,6 @@ function canonicalize(status) {
34007
34117
 
34008
34118
 
34009
34119
 
34010
- 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;
34011
- //# sourceMappingURL=chunk-GMC5VU7X.cjs.map
34120
+
34121
+ 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;
34122
+ //# sourceMappingURL=chunk-IQM3G2I6.cjs.map