@flamingo-stack/openframe-frontend-core 0.0.176 → 0.0.177

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.
@@ -5432,10 +5432,13 @@ var ChatMessageList = _react.forwardRef.call(void 0,
5432
5432
  return;
5433
5433
  }
5434
5434
  if (newCount > prevCount) {
5435
- const newSlice = messages.slice(prevCount);
5436
- const hasNewUser = newSlice.some((m) => m.role === "user");
5437
- if (hasNewUser) {
5438
- void scrollToBottom({ animation: "instant", ignoreEscapes: true });
5435
+ const isPrepend = prependRef.current.firstMessageId !== void 0 && _optionalChain([messages, 'access', _110 => _110[0], 'optionalAccess', _111 => _111.id]) !== prependRef.current.firstMessageId;
5436
+ if (!isPrepend) {
5437
+ const newSlice = messages.slice(prevCount);
5438
+ const hasNewUser = newSlice.some((m) => m.role === "user");
5439
+ if (hasNewUser) {
5440
+ void scrollToBottom({ animation: "instant", ignoreEscapes: true });
5441
+ }
5439
5442
  }
5440
5443
  }
5441
5444
  }, [autoScroll, messages, dialogId, scrollToBottom, scrollEl]);
@@ -5445,8 +5448,8 @@ var ChatMessageList = _react.forwardRef.call(void 0,
5445
5448
  prependRef.current = { firstMessageId: void 0, firstMessageContent: void 0, scrollHeight: 0 };
5446
5449
  return;
5447
5450
  }
5448
- const currentFirstId = _optionalChain([messages, 'access', _110 => _110[0], 'optionalAccess', _111 => _111.id]);
5449
- const currentFirstContent = _optionalChain([messages, 'access', _112 => _112[0], 'optionalAccess', _113 => _113.content]);
5451
+ const currentFirstId = _optionalChain([messages, 'access', _112 => _112[0], 'optionalAccess', _113 => _113.id]);
5452
+ const currentFirstContent = _optionalChain([messages, 'access', _114 => _114[0], 'optionalAccess', _115 => _115.content]);
5450
5453
  const prevFirstId = prependRef.current.firstMessageId;
5451
5454
  const prevHeight = prependRef.current.scrollHeight;
5452
5455
  if (currentFirstId !== prevFirstId) {
@@ -5475,14 +5478,14 @@ var ChatMessageList = _react.forwardRef.call(void 0,
5475
5478
  if (!scrollContainer || !hasNextPage) return;
5476
5479
  const tryLoad = () => {
5477
5480
  if (isFetchingRef.current) return;
5478
- _optionalChain([onLoadMoreRef, 'access', _114 => _114.current, 'optionalCall', _115 => _115()]);
5481
+ _optionalChain([onLoadMoreRef, 'access', _116 => _116.current, 'optionalCall', _117 => _117()]);
5479
5482
  };
5480
5483
  let observer;
5481
5484
  if (sentinelElement) {
5482
5485
  observer = new IntersectionObserver(
5483
5486
  (entries) => {
5484
5487
  const entry = entries[0];
5485
- if (_optionalChain([entry, 'optionalAccess', _116 => _116.isIntersecting])) tryLoad();
5488
+ if (_optionalChain([entry, 'optionalAccess', _118 => _118.isIntersecting])) tryLoad();
5486
5489
  },
5487
5490
  { root: scrollContainer, rootMargin: "200px", threshold: 0.1 }
5488
5491
  );
@@ -5493,12 +5496,19 @@ var ChatMessageList = _react.forwardRef.call(void 0,
5493
5496
  };
5494
5497
  scrollContainer.addEventListener("scroll", onScroll, { passive: true });
5495
5498
  return () => {
5496
- _optionalChain([observer, 'optionalAccess', _117 => _117.disconnect, 'call', _118 => _118()]);
5499
+ _optionalChain([observer, 'optionalAccess', _119 => _119.disconnect, 'call', _120 => _120()]);
5497
5500
  scrollContainer.removeEventListener("scroll", onScroll);
5498
5501
  };
5499
5502
  }, [hasNextPage, scrollEl, sentinelEl, messages.length]);
5500
5503
  _react.useImperativeHandle.call(void 0, ref, () => scrollRef.current, [scrollRef]);
5501
5504
  const showLoader = useDelayedFlag(isLoading, { delay: 200, minDuration: 400 });
5505
+ const setScrollRef = _react.useCallback.call(void 0, (el) => {
5506
+ scrollRef(el);
5507
+ setScrollEl(el);
5508
+ }, [scrollRef]);
5509
+ const setContentRef = _react.useCallback.call(void 0, (el) => {
5510
+ contentRef(el);
5511
+ }, [contentRef]);
5502
5512
  if (showLoader) {
5503
5513
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5504
5514
  ChatMessageListLoader,
@@ -5509,13 +5519,6 @@ var ChatMessageList = _react.forwardRef.call(void 0,
5509
5519
  }
5510
5520
  );
5511
5521
  }
5512
- const setScrollRef = (el) => {
5513
- scrollRef(el);
5514
- setScrollEl(el);
5515
- };
5516
- const setContentRef = (el) => {
5517
- contentRef(el);
5518
- };
5519
5522
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex-1 min-h-0 flex flex-col", children: [
5520
5523
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
5521
5524
  "div",
@@ -5656,7 +5659,7 @@ var ChatTicketItem = React15.forwardRef(
5656
5659
  {
5657
5660
  ref,
5658
5661
  type: "button",
5659
- onClick: () => _optionalChain([onClick, 'optionalCall', _119 => _119(ticket.id)]),
5662
+ onClick: () => _optionalChain([onClick, 'optionalCall', _121 => _121(ticket.id)]),
5660
5663
  className: _chunkOFAYLG6Dcjs.cn.call(void 0,
5661
5664
  "flex items-center gap-4 w-full h-20 px-4",
5662
5665
  "bg-ods-card border-b border-ods-border",
@@ -6004,8 +6007,8 @@ ChatSidebarSkeleton.displayName = "ChatSidebarSkeleton";
6004
6007
  var DialogListItem = _react.forwardRef.call(void 0,
6005
6008
  ({ className, dialog, isActive, onDialogSelect, onClick, ...props }, ref) => {
6006
6009
  const handleClick = (e) => {
6007
- _optionalChain([onDialogSelect, 'optionalCall', _120 => _120(dialog.id)]);
6008
- _optionalChain([onClick, 'optionalCall', _121 => _121(e)]);
6010
+ _optionalChain([onDialogSelect, 'optionalCall', _122 => _122(dialog.id)]);
6011
+ _optionalChain([onClick, 'optionalCall', _123 => _123(e)]);
6009
6012
  };
6010
6013
  const formatTimestamp2 = (timestamp) => {
6011
6014
  if (!timestamp) return "";
@@ -6064,7 +6067,7 @@ var ChatSidebar = _react.forwardRef.call(void 0,
6064
6067
  (entries) => {
6065
6068
  const [entry] = entries;
6066
6069
  if (entry.isIntersecting && !isFetchingRef.current) {
6067
- _optionalChain([onLoadMoreRef, 'access', _122 => _122.current, 'optionalCall', _123 => _123()]);
6070
+ _optionalChain([onLoadMoreRef, 'access', _124 => _124.current, 'optionalCall', _125 => _125()]);
6068
6071
  }
6069
6072
  },
6070
6073
  { root: scrollContainer, rootMargin: "100px", threshold: 0.1 }
@@ -6482,7 +6485,7 @@ function useNatsDialogSubscription({
6482
6485
  reconnectionBackoffRef.current = reconnectionBackoff;
6483
6486
  }, [reconnectionBackoff]);
6484
6487
  const acquireClient = _react.useCallback.call(void 0, (url) => {
6485
- if (_optionalChain([shared, 'optionalAccess', _124 => _124.wsUrl]) !== url) {
6488
+ if (_optionalChain([shared, 'optionalAccess', _126 => _126.wsUrl]) !== url) {
6486
6489
  if (shared) {
6487
6490
  shared.closeTimer && clearTimeout(shared.closeTimer);
6488
6491
  const old = shared;
@@ -6573,7 +6576,7 @@ function useNatsDialogSubscription({
6573
6576
  if (closed) return;
6574
6577
  if (shared !== sharedConn) return;
6575
6578
  try {
6576
- await _optionalChain([onBeforeReconnectRef, 'access', _125 => _125.current, 'optionalCall', _126 => _126()]);
6579
+ await _optionalChain([onBeforeReconnectRef, 'access', _127 => _127.current, 'optionalCall', _128 => _128()]);
6577
6580
  } catch (e7) {
6578
6581
  }
6579
6582
  if (closed) return;
@@ -6606,22 +6609,22 @@ function useNatsDialogSubscription({
6606
6609
  }
6607
6610
  hadConnectionBeforeRef.current = true;
6608
6611
  retryAttempt = 0;
6609
- _optionalChain([onConnectRef, 'access', _127 => _127.current, 'optionalCall', _128 => _128()]);
6612
+ _optionalChain([onConnectRef, 'access', _129 => _129.current, 'optionalCall', _130 => _130()]);
6610
6613
  }
6611
6614
  if (disconnected) {
6612
6615
  setIsConnected(false);
6613
6616
  setIsSubscribed(false);
6614
6617
  subscriptionRefs.current.forEach((sub) => {
6615
6618
  try {
6616
- _optionalChain([sub, 'optionalAccess', _129 => _129.unsubscribe, 'call', _130 => _130()]);
6619
+ _optionalChain([sub, 'optionalAccess', _131 => _131.unsubscribe, 'call', _132 => _132()]);
6617
6620
  } catch (e9) {
6618
6621
  }
6619
6622
  });
6620
6623
  subscriptionRefs.current.clear();
6621
6624
  lastSubscribedDialogIdRef.current = null;
6622
- _optionalChain([abortControllerRef, 'access', _131 => _131.current, 'optionalAccess', _132 => _132.abort, 'call', _133 => _133()]);
6625
+ _optionalChain([abortControllerRef, 'access', _133 => _133.current, 'optionalAccess', _134 => _134.abort, 'call', _135 => _135()]);
6623
6626
  abortControllerRef.current = null;
6624
- _optionalChain([onDisconnectRef, 'access', _134 => _134.current, 'optionalCall', _135 => _135()]);
6627
+ _optionalChain([onDisconnectRef, 'access', _136 => _136.current, 'optionalCall', _137 => _137()]);
6625
6628
  scheduleRetry();
6626
6629
  }
6627
6630
  });
@@ -6637,7 +6640,7 @@ function useNatsDialogSubscription({
6637
6640
  sharedConn.connectPromise = null;
6638
6641
  if (!closed) {
6639
6642
  setIsConnected(false);
6640
- _optionalChain([onDisconnectRef, 'access', _136 => _136.current, 'optionalCall', _137 => _137()]);
6643
+ _optionalChain([onDisconnectRef, 'access', _138 => _138.current, 'optionalCall', _139 => _139()]);
6641
6644
  scheduleRetry();
6642
6645
  }
6643
6646
  }
@@ -6653,7 +6656,7 @@ function useNatsDialogSubscription({
6653
6656
  }
6654
6657
  subscriptionRefs.current.forEach((sub) => {
6655
6658
  try {
6656
- _optionalChain([sub, 'optionalAccess', _138 => _138.unsubscribe, 'call', _139 => _139()]);
6659
+ _optionalChain([sub, 'optionalAccess', _140 => _140.unsubscribe, 'call', _141 => _141()]);
6657
6660
  } catch (e11) {
6658
6661
  }
6659
6662
  });
@@ -6681,13 +6684,13 @@ function useNatsDialogSubscription({
6681
6684
  setIsSubscribed(false);
6682
6685
  subscriptionRefs.current.forEach((sub) => {
6683
6686
  try {
6684
- _optionalChain([sub, 'optionalAccess', _140 => _140.unsubscribe, 'call', _141 => _141()]);
6687
+ _optionalChain([sub, 'optionalAccess', _142 => _142.unsubscribe, 'call', _143 => _143()]);
6685
6688
  } catch (e12) {
6686
6689
  }
6687
6690
  });
6688
6691
  subscriptionRefs.current.clear();
6689
6692
  lastSubscribedDialogIdRef.current = null;
6690
- _optionalChain([abortControllerRef, 'access', _142 => _142.current, 'optionalAccess', _143 => _143.abort, 'call', _144 => _144()]);
6693
+ _optionalChain([abortControllerRef, 'access', _144 => _144.current, 'optionalAccess', _145 => _145.abort, 'call', _146 => _146()]);
6691
6694
  abortControllerRef.current = null;
6692
6695
  }
6693
6696
  return;
@@ -6699,12 +6702,12 @@ function useNatsDialogSubscription({
6699
6702
  if (subscriptionRefs.current.size > 0) {
6700
6703
  subscriptionRefs.current.forEach((sub) => {
6701
6704
  try {
6702
- _optionalChain([sub, 'optionalAccess', _145 => _145.unsubscribe, 'call', _146 => _146()]);
6705
+ _optionalChain([sub, 'optionalAccess', _147 => _147.unsubscribe, 'call', _148 => _148()]);
6703
6706
  } catch (e13) {
6704
6707
  }
6705
6708
  });
6706
6709
  subscriptionRefs.current.clear();
6707
- _optionalChain([abortControllerRef, 'access', _147 => _147.current, 'optionalAccess', _148 => _148.abort, 'call', _149 => _149()]);
6710
+ _optionalChain([abortControllerRef, 'access', _149 => _149.current, 'optionalAccess', _150 => _150.abort, 'call', _151 => _151()]);
6708
6711
  }
6709
6712
  abortControllerRef.current = new AbortController();
6710
6713
  const abort = abortControllerRef.current;
@@ -6736,7 +6739,7 @@ function useNatsDialogSubscription({
6736
6739
  });
6737
6740
  lastSubscribedDialogIdRef.current = dialogId;
6738
6741
  setIsSubscribed(true);
6739
- _optionalChain([onSubscribedRef, 'access', _150 => _150.current, 'optionalCall', _151 => _151()]);
6742
+ _optionalChain([onSubscribedRef, 'access', _152 => _152.current, 'optionalCall', _153 => _153()]);
6740
6743
  };
6741
6744
  if (isConnectedRef.current) {
6742
6745
  createSubscriptions();
@@ -6746,7 +6749,7 @@ function useNatsDialogSubscription({
6746
6749
  abort.abort();
6747
6750
  subscriptionRefs.current.forEach((sub) => {
6748
6751
  try {
6749
- _optionalChain([sub, 'optionalAccess', _152 => _152.unsubscribe, 'call', _153 => _153()]);
6752
+ _optionalChain([sub, 'optionalAccess', _154 => _154.unsubscribe, 'call', _155 => _155()]);
6750
6753
  } catch (e15) {
6751
6754
  }
6752
6755
  });
@@ -6787,7 +6790,7 @@ function useNatsDialogSubscription({
6787
6790
  });
6788
6791
  lastSubscribedDialogIdRef.current = dialogId2;
6789
6792
  setIsSubscribed(true);
6790
- _optionalChain([onSubscribedRef, 'access', _154 => _154.current, 'optionalCall', _155 => _155()]);
6793
+ _optionalChain([onSubscribedRef, 'access', _156 => _156.current, 'optionalCall', _157 => _157()]);
6791
6794
  } else if (subscriptionRefs.current.size > 0) {
6792
6795
  setIsSubscribed(true);
6793
6796
  }
@@ -6795,10 +6798,10 @@ function useNatsDialogSubscription({
6795
6798
  return { isConnected, isSubscribed, reconnectionCount };
6796
6799
  }
6797
6800
  function buildNatsWsUrl(apiBaseUrl, options) {
6798
- const path = _optionalChain([options, 'optionalAccess', _156 => _156.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
6801
+ const path = _optionalChain([options, 'optionalAccess', _158 => _158.source]) === "dashboard" ? "/ws/nats-api" : "/ws/nats";
6799
6802
  const u = new URL(path, apiBaseUrl);
6800
6803
  u.protocol = u.protocol === "https:" ? "wss:" : "ws:";
6801
- if (_optionalChain([options, 'optionalAccess', _157 => _157.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _158 => _158.token])) {
6804
+ if (_optionalChain([options, 'optionalAccess', _159 => _159.includeAuthParam]) && _optionalChain([options, 'optionalAccess', _160 => _160.token])) {
6802
6805
  u.searchParams.set("authorization", options.token);
6803
6806
  }
6804
6807
  return u.toString();
@@ -7109,7 +7112,7 @@ var MessageSegmentAccumulator = class {
7109
7112
  type: "tool_execution",
7110
7113
  data: {
7111
7114
  ...toolData,
7112
- parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _159 => _159.parameters])
7115
+ parameters: toolData.parameters || _optionalChain([executingTool, 'optionalAccess', _161 => _161.parameters])
7113
7116
  }
7114
7117
  };
7115
7118
  if (existingIndex !== -1) {
@@ -7133,8 +7136,8 @@ var MessageSegmentAccumulator = class {
7133
7136
  if (seg.type !== "approval_batch") return seg;
7134
7137
  const hasCall = seg.data.toolCalls.some((c) => c.toolExecutionRequestId === execId);
7135
7138
  if (!hasCall) return seg;
7136
- const prev = _optionalChain([seg, 'access', _160 => _160.data, 'access', _161 => _161.executions, 'optionalAccess', _162 => _162[execId]]);
7137
- const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _163 => _163.result]), success: _optionalChain([prev, 'optionalAccess', _164 => _164.success]) };
7139
+ const prev = _optionalChain([seg, 'access', _162 => _162.data, 'access', _163 => _163.executions, 'optionalAccess', _164 => _164[execId]]);
7140
+ const next = toolData.type === "EXECUTED_TOOL" ? { status: "done", result: toolData.result, success: toolData.success } : { status: "executing", result: _optionalChain([prev, 'optionalAccess', _165 => _165.result]), success: _optionalChain([prev, 'optionalAccess', _166 => _166.success]) };
7138
7141
  matched = true;
7139
7142
  return {
7140
7143
  ...seg,
@@ -7230,10 +7233,10 @@ var MessageSegmentAccumulator = class {
7230
7233
  const segment = {
7231
7234
  type: "approval_request",
7232
7235
  data: {
7233
- command: _optionalChain([pendingApproval, 'optionalAccess', _165 => _165.command]) || "",
7234
- explanation: _optionalChain([pendingApproval, 'optionalAccess', _166 => _166.explanation]),
7236
+ command: _optionalChain([pendingApproval, 'optionalAccess', _167 => _167.command]) || "",
7237
+ explanation: _optionalChain([pendingApproval, 'optionalAccess', _168 => _168.explanation]),
7235
7238
  requestId,
7236
- approvalType: _optionalChain([pendingApproval, 'optionalAccess', _167 => _167.approvalType]) || approvalType
7239
+ approvalType: _optionalChain([pendingApproval, 'optionalAccess', _169 => _169.approvalType]) || approvalType
7237
7240
  },
7238
7241
  status,
7239
7242
  onApprove: this.callbacks.onApprove,
@@ -7421,7 +7424,7 @@ function useRealtimeChunkProcessor(options) {
7421
7424
  if (initialState.escalatedApprovals) {
7422
7425
  pendingEscalatedRef.current = new Map(initialState.escalatedApprovals);
7423
7426
  initialState.escalatedApprovals.forEach((data, requestId) => {
7424
- _optionalChain([callbacks, 'access', _168 => _168.onEscalatedApproval, 'optionalCall', _169 => _169(requestId, data)]);
7427
+ _optionalChain([callbacks, 'access', _170 => _170.onEscalatedApproval, 'optionalCall', _171 => _171(requestId, data)]);
7425
7428
  });
7426
7429
  }
7427
7430
  hasInitializedWithData.current = true;
@@ -7440,30 +7443,30 @@ function useRealtimeChunkProcessor(options) {
7440
7443
  switch (action.action) {
7441
7444
  case "message_start":
7442
7445
  isInStreamRef.current = true;
7443
- _optionalChain([callbacks, 'access', _170 => _170.onStreamStart, 'optionalCall', _171 => _171()]);
7446
+ _optionalChain([callbacks, 'access', _172 => _172.onStreamStart, 'optionalCall', _173 => _173()]);
7444
7447
  accumulator.resetSegments();
7445
7448
  break;
7446
7449
  case "message_end":
7447
7450
  isInStreamRef.current = false;
7448
- _optionalChain([callbacks, 'access', _172 => _172.onStreamEnd, 'optionalCall', _173 => _173()]);
7451
+ _optionalChain([callbacks, 'access', _174 => _174.onStreamEnd, 'optionalCall', _175 => _175()]);
7449
7452
  accumulator.resetSegments();
7450
7453
  break;
7451
7454
  case "metadata":
7452
- _optionalChain([callbacks, 'access', _174 => _174.onMetadata, 'optionalCall', _175 => _175(action)]);
7455
+ _optionalChain([callbacks, 'access', _176 => _176.onMetadata, 'optionalCall', _177 => _177(action)]);
7453
7456
  break;
7454
7457
  case "text": {
7455
7458
  const segments = accumulator.appendText(action.text);
7456
- _optionalChain([callbacks, 'access', _176 => _176.onSegmentsUpdate, 'optionalCall', _177 => _177(segments)]);
7459
+ _optionalChain([callbacks, 'access', _178 => _178.onSegmentsUpdate, 'optionalCall', _179 => _179(segments)]);
7457
7460
  break;
7458
7461
  }
7459
7462
  case "thinking": {
7460
7463
  const segments = accumulator.appendThinking(action.text);
7461
- _optionalChain([callbacks, 'access', _178 => _178.onSegmentsUpdate, 'optionalCall', _179 => _179(segments)]);
7464
+ _optionalChain([callbacks, 'access', _180 => _180.onSegmentsUpdate, 'optionalCall', _181 => _181(segments)]);
7462
7465
  break;
7463
7466
  }
7464
7467
  case "tool_execution": {
7465
7468
  const segments = accumulator.addToolExecution(action.segment);
7466
- _optionalChain([callbacks, 'access', _180 => _180.onSegmentsUpdate, 'optionalCall', _181 => _181(segments)]);
7469
+ _optionalChain([callbacks, 'access', _182 => _182.onSegmentsUpdate, 'optionalCall', _183 => _183(segments)]);
7467
7470
  break;
7468
7471
  }
7469
7472
  case "approval_request": {
@@ -7477,10 +7480,10 @@ function useRealtimeChunkProcessor(options) {
7477
7480
  approvalType,
7478
7481
  status
7479
7482
  );
7480
- _optionalChain([callbacks, 'access', _182 => _182.onSegmentsUpdate, 'optionalCall', _183 => _183(segments)]);
7483
+ _optionalChain([callbacks, 'access', _184 => _184.onSegmentsUpdate, 'optionalCall', _185 => _185(segments)]);
7481
7484
  } else {
7482
7485
  pendingEscalatedRef.current.set(requestId, { command, explanation, approvalType });
7483
- _optionalChain([callbacks, 'access', _184 => _184.onEscalatedApproval, 'optionalCall', _185 => _185(requestId, { command, explanation, approvalType })]);
7486
+ _optionalChain([callbacks, 'access', _186 => _186.onEscalatedApproval, 'optionalCall', _187 => _187(requestId, { command, explanation, approvalType })]);
7484
7487
  }
7485
7488
  break;
7486
7489
  }
@@ -7492,20 +7495,20 @@ function useRealtimeChunkProcessor(options) {
7492
7495
  const summary = required ? getCommandText(required) : `Batch of ${toolCalls.length} tool calls`;
7493
7496
  pendingEscalatedRef.current.set(requestId, {
7494
7497
  command: summary,
7495
- explanation: _optionalChain([required, 'optionalAccess', _186 => _186.toolExplanation]),
7498
+ explanation: _optionalChain([required, 'optionalAccess', _188 => _188.toolExplanation]),
7496
7499
  approvalType,
7497
7500
  toolCalls
7498
7501
  });
7499
- _optionalChain([callbacks, 'access', _187 => _187.onEscalatedApproval, 'optionalCall', _188 => _188(requestId, {
7502
+ _optionalChain([callbacks, 'access', _189 => _189.onEscalatedApproval, 'optionalCall', _190 => _190(requestId, {
7500
7503
  command: summary,
7501
- explanation: _optionalChain([required, 'optionalAccess', _189 => _189.toolExplanation]),
7504
+ explanation: _optionalChain([required, 'optionalAccess', _191 => _191.toolExplanation]),
7502
7505
  approvalType
7503
7506
  })]);
7504
7507
  break;
7505
7508
  }
7506
7509
  if (batchApprovalsEnabled) {
7507
7510
  const segments2 = accumulator.addApprovalBatch(requestId, approvalType, toolCalls, status);
7508
- _optionalChain([callbacks, 'access', _190 => _190.onSegmentsUpdate, 'optionalCall', _191 => _191(segments2)]);
7511
+ _optionalChain([callbacks, 'access', _192 => _192.onSegmentsUpdate, 'optionalCall', _193 => _193(segments2)]);
7509
7512
  break;
7510
7513
  }
7511
7514
  let segments = accumulator.getSegments();
@@ -7519,7 +7522,7 @@ function useRealtimeChunkProcessor(options) {
7519
7522
  status
7520
7523
  );
7521
7524
  }
7522
- _optionalChain([callbacks, 'access', _192 => _192.onSegmentsUpdate, 'optionalCall', _193 => _193(segments)]);
7525
+ _optionalChain([callbacks, 'access', _194 => _194.onSegmentsUpdate, 'optionalCall', _195 => _195(segments)]);
7523
7526
  break;
7524
7527
  }
7525
7528
  case "approval_result": {
@@ -7528,7 +7531,7 @@ function useRealtimeChunkProcessor(options) {
7528
7531
  const status = approved ? "approved" : "rejected";
7529
7532
  if (escalatedData) {
7530
7533
  pendingEscalatedRef.current.delete(requestId);
7531
- _optionalChain([callbacks, 'access', _194 => _194.onEscalatedApprovalResult, 'optionalCall', _195 => _195(requestId, approved, {
7534
+ _optionalChain([callbacks, 'access', _196 => _196.onEscalatedApprovalResult, 'optionalCall', _197 => _197(requestId, approved, {
7532
7535
  command: escalatedData.command,
7533
7536
  explanation: escalatedData.explanation,
7534
7537
  approvalType: escalatedData.approvalType
@@ -7541,7 +7544,7 @@ function useRealtimeChunkProcessor(options) {
7541
7544
  escalatedData.toolCalls,
7542
7545
  status
7543
7546
  );
7544
- _optionalChain([callbacks, 'access', _196 => _196.onSegmentsUpdate, 'optionalCall', _197 => _197(segments)]);
7547
+ _optionalChain([callbacks, 'access', _198 => _198.onSegmentsUpdate, 'optionalCall', _199 => _199(segments)]);
7545
7548
  } else {
7546
7549
  let segments = accumulator.getSegments();
7547
7550
  for (const call of escalatedData.toolCalls) {
@@ -7554,7 +7557,7 @@ function useRealtimeChunkProcessor(options) {
7554
7557
  status
7555
7558
  );
7556
7559
  }
7557
- _optionalChain([callbacks, 'access', _198 => _198.onSegmentsUpdate, 'optionalCall', _199 => _199(segments)]);
7560
+ _optionalChain([callbacks, 'access', _200 => _200.onSegmentsUpdate, 'optionalCall', _201 => _201(segments)]);
7558
7561
  }
7559
7562
  } else {
7560
7563
  const segments = accumulator.addApprovalRequest(
@@ -7564,63 +7567,63 @@ function useRealtimeChunkProcessor(options) {
7564
7567
  escalatedData.approvalType,
7565
7568
  status
7566
7569
  );
7567
- _optionalChain([callbacks, 'access', _200 => _200.onSegmentsUpdate, 'optionalCall', _201 => _201(segments)]);
7570
+ _optionalChain([callbacks, 'access', _202 => _202.onSegmentsUpdate, 'optionalCall', _203 => _203(segments)]);
7568
7571
  }
7569
7572
  } else {
7570
7573
  const segments = accumulator.updateApprovalStatus(requestId, status);
7571
- _optionalChain([callbacks, 'access', _202 => _202.onSegmentsUpdate, 'optionalCall', _203 => _203(segments)]);
7574
+ _optionalChain([callbacks, 'access', _204 => _204.onSegmentsUpdate, 'optionalCall', _205 => _205(segments)]);
7572
7575
  }
7573
7576
  void approvalType;
7574
7577
  break;
7575
7578
  }
7576
7579
  case "error": {
7577
7580
  let message;
7578
- if ("details" in action && _optionalChain([action, 'optionalAccess', _204 => _204.details])) {
7581
+ if ("details" in action && _optionalChain([action, 'optionalAccess', _206 => _206.details])) {
7579
7582
  try {
7580
- message = _optionalChain([JSON, 'access', _205 => _205.parse, 'call', _206 => _206(action.details), 'optionalAccess', _207 => _207.error, 'optionalAccess', _208 => _208.message]);
7583
+ message = _optionalChain([JSON, 'access', _207 => _207.parse, 'call', _208 => _208(action.details), 'optionalAccess', _209 => _209.error, 'optionalAccess', _210 => _210.message]);
7581
7584
  } catch (e17) {
7582
7585
  message = action.details;
7583
7586
  }
7584
7587
  }
7585
7588
  const segments = accumulator.addError(action.error, message);
7586
- _optionalChain([callbacks, 'access', _209 => _209.onSegmentsUpdate, 'optionalCall', _210 => _210(segments)]);
7587
- _optionalChain([callbacks, 'access', _211 => _211.onError, 'optionalCall', _212 => _212(action.error, message)]);
7589
+ _optionalChain([callbacks, 'access', _211 => _211.onSegmentsUpdate, 'optionalCall', _212 => _212(segments)]);
7590
+ _optionalChain([callbacks, 'access', _213 => _213.onError, 'optionalCall', _214 => _214(action.error, message)]);
7588
7591
  break;
7589
7592
  }
7590
7593
  case "system": {
7591
- _optionalChain([callbacks, 'access', _213 => _213.onSystemMessage, 'optionalCall', _214 => _214(action.text)]);
7594
+ _optionalChain([callbacks, 'access', _215 => _215.onSystemMessage, 'optionalCall', _216 => _216(action.text)]);
7592
7595
  break;
7593
7596
  }
7594
7597
  case "direct_message": {
7595
- _optionalChain([callbacks, 'access', _215 => _215.onDirectMessage, 'optionalCall', _216 => _216(action.text, {
7598
+ _optionalChain([callbacks, 'access', _217 => _217.onDirectMessage, 'optionalCall', _218 => _218(action.text, {
7596
7599
  ownerType: action.ownerType,
7597
7600
  displayName: action.displayName
7598
7601
  })]);
7599
7602
  break;
7600
7603
  }
7601
7604
  case "message_request":
7602
- _optionalChain([callbacks, 'access', _217 => _217.onUserMessage, 'optionalCall', _218 => _218(action.text, {
7605
+ _optionalChain([callbacks, 'access', _219 => _219.onUserMessage, 'optionalCall', _220 => _220(action.text, {
7603
7606
  ownerType: action.ownerType,
7604
7607
  displayName: action.displayName
7605
7608
  })]);
7606
7609
  break;
7607
7610
  case "token_usage":
7608
- _optionalChain([callbacks, 'access', _219 => _219.onTokenUsage, 'optionalCall', _220 => _220(action.data)]);
7611
+ _optionalChain([callbacks, 'access', _221 => _221.onTokenUsage, 'optionalCall', _222 => _222(action.data)]);
7609
7612
  break;
7610
7613
  case "context_compaction_start": {
7611
7614
  const standalone = !isInStreamRef.current;
7612
7615
  const segments = accumulator.addContextCompaction();
7613
- _optionalChain([callbacks, 'access', _221 => _221.onSegmentsUpdate, 'optionalCall', _222 => _222(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
7616
+ _optionalChain([callbacks, 'access', _223 => _223.onSegmentsUpdate, 'optionalCall', _224 => _224(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
7614
7617
  break;
7615
7618
  }
7616
7619
  case "context_compaction_end": {
7617
7620
  const standalone = !isInStreamRef.current;
7618
7621
  const segments = accumulator.completeContextCompaction(action.summary);
7619
- _optionalChain([callbacks, 'access', _223 => _223.onSegmentsUpdate, 'optionalCall', _224 => _224(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
7622
+ _optionalChain([callbacks, 'access', _225 => _225.onSegmentsUpdate, 'optionalCall', _226 => _226(segments, standalone ? { append: true, isCompacting: true } : void 0)]);
7620
7623
  break;
7621
7624
  }
7622
7625
  case "dialog_closed":
7623
- _optionalChain([callbacks, 'access', _225 => _225.onDialogClosed, 'optionalCall', _226 => _226()]);
7626
+ _optionalChain([callbacks, 'access', _227 => _227.onDialogClosed, 'optionalCall', _228 => _228()]);
7624
7627
  break;
7625
7628
  default:
7626
7629
  break;
@@ -7656,12 +7659,12 @@ function useRealtimeChunkProcessor(options) {
7656
7659
 
7657
7660
  // src/components/chat/utils/process-historical-messages.ts
7658
7661
  function getOwnerDisplayName(owner) {
7659
- if (_optionalChain([owner, 'optionalAccess', _227 => _227.type]) === OWNER_TYPE.ADMIN && owner.user) {
7662
+ if (_optionalChain([owner, 'optionalAccess', _229 => _229.type]) === OWNER_TYPE.ADMIN && owner.user) {
7660
7663
  const { firstName, lastName } = owner.user;
7661
7664
  const name = [firstName, lastName].filter(Boolean).join(" ");
7662
7665
  if (name) return name;
7663
7666
  }
7664
- return _optionalChain([owner, 'optionalAccess', _228 => _228.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
7667
+ return _optionalChain([owner, 'optionalAccess', _230 => _230.type]) === OWNER_TYPE.ADMIN ? "Admin" : "You";
7665
7668
  }
7666
7669
  function pushStandaloneMessages(processedMessages, msg, messageDataArray) {
7667
7670
  messageDataArray.forEach((data) => {
@@ -7724,10 +7727,10 @@ function processHistoricalMessages(messages, options = {}) {
7724
7727
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
7725
7728
  return;
7726
7729
  }
7727
- const isUserMessage = _optionalChain([msg, 'access', _229 => _229.owner, 'optionalAccess', _230 => _230.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _231 => _231.owner, 'optionalAccess', _232 => _232.type]) === OWNER_TYPE.ADMIN;
7730
+ const isUserMessage = _optionalChain([msg, 'access', _231 => _231.owner, 'optionalAccess', _232 => _232.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _233 => _233.owner, 'optionalAccess', _234 => _234.type]) === OWNER_TYPE.ADMIN;
7728
7731
  if (isUserMessage) {
7729
7732
  flushAssistantMessage();
7730
- const userAuthorType = _optionalChain([msg, 'access', _233 => _233.owner, 'optionalAccess', _234 => _234.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
7733
+ const userAuthorType = _optionalChain([msg, 'access', _235 => _235.owner, 'optionalAccess', _236 => _236.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
7731
7734
  messageDataArray.forEach((data) => {
7732
7735
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
7733
7736
  processedMessages.push({
@@ -7751,7 +7754,7 @@ function processHistoricalMessages(messages, options = {}) {
7751
7754
  });
7752
7755
  const nextMsg = messages[index + 1];
7753
7756
  const isLastMessage = index === messages.length - 1;
7754
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _235 => _235.owner, 'optionalAccess', _236 => _236.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _237 => _237.owner, 'optionalAccess', _238 => _238.type]) === OWNER_TYPE.ADMIN);
7757
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _237 => _237.owner, 'optionalAccess', _238 => _238.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _239 => _239.owner, 'optionalAccess', _240 => _240.type]) === OWNER_TYPE.ADMIN);
7755
7758
  if (isLastMessage || nextIsFromUser) {
7756
7759
  flushAssistantMessage();
7757
7760
  }
@@ -7848,7 +7851,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
7848
7851
  });
7849
7852
  }
7850
7853
  } else {
7851
- _optionalChain([escalatedApprovals, 'optionalAccess', _239 => _239.set, 'call', _240 => _240(data.approvalRequestId, {
7854
+ _optionalChain([escalatedApprovals, 'optionalAccess', _241 => _241.set, 'call', _242 => _242(data.approvalRequestId, {
7852
7855
  command: data.command || "",
7853
7856
  explanation: data.explanation,
7854
7857
  approvalType,
@@ -7861,8 +7864,8 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
7861
7864
  if ("approvalRequestId" in data && data.approvalRequestId) {
7862
7865
  const existingStatus = approvalStatuses[data.approvalRequestId];
7863
7866
  const status = existingStatus || (data.approved ? "approved" : "rejected");
7864
- const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _241 => _241.get, 'call', _242 => _242(data.approvalRequestId)]);
7865
- if (_optionalChain([escalatedData, 'optionalAccess', _243 => _243.toolCalls]) && escalatedData.toolCalls.length > 0) {
7867
+ const escalatedData = _optionalChain([escalatedApprovals, 'optionalAccess', _243 => _243.get, 'call', _244 => _244(data.approvalRequestId)]);
7868
+ if (_optionalChain([escalatedData, 'optionalAccess', _245 => _245.toolCalls]) && escalatedData.toolCalls.length > 0) {
7866
7869
  if (batchApprovalsEnabled) {
7867
7870
  accumulator.addApprovalBatch(
7868
7871
  data.approvalRequestId,
@@ -7882,7 +7885,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
7882
7885
  );
7883
7886
  }
7884
7887
  }
7885
- _optionalChain([escalatedApprovals, 'optionalAccess', _244 => _244.delete, 'call', _245 => _245(data.approvalRequestId)]);
7888
+ _optionalChain([escalatedApprovals, 'optionalAccess', _246 => _246.delete, 'call', _247 => _247(data.approvalRequestId)]);
7886
7889
  break;
7887
7890
  }
7888
7891
  if (escalatedData) {
@@ -7891,7 +7894,7 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
7891
7894
  explanation: escalatedData.explanation,
7892
7895
  approvalType: escalatedData.approvalType
7893
7896
  });
7894
- _optionalChain([escalatedApprovals, 'optionalAccess', _246 => _246.delete, 'call', _247 => _247(data.approvalRequestId)]);
7897
+ _optionalChain([escalatedApprovals, 'optionalAccess', _248 => _248.delete, 'call', _249 => _249(data.approvalRequestId)]);
7895
7898
  }
7896
7899
  const before = accumulator.getSegments();
7897
7900
  const after = accumulator.updateApprovalStatus(data.approvalRequestId, status);
@@ -7907,9 +7910,9 @@ function processMessageData(data, accumulator, approvalStatuses, options = {}, e
7907
7910
  case MESSAGE_TYPE.ERROR:
7908
7911
  if ("error" in data) {
7909
7912
  let message;
7910
- if ("details" in data && _optionalChain([data, 'optionalAccess', _248 => _248.details])) {
7913
+ if ("details" in data && _optionalChain([data, 'optionalAccess', _250 => _250.details])) {
7911
7914
  try {
7912
- message = _optionalChain([JSON, 'access', _249 => _249.parse, 'call', _250 => _250(data.details), 'optionalAccess', _251 => _251.error, 'optionalAccess', _252 => _252.message]);
7915
+ message = _optionalChain([JSON, 'access', _251 => _251.parse, 'call', _252 => _252(data.details), 'optionalAccess', _253 => _253.error, 'optionalAccess', _254 => _254.message]);
7913
7916
  } catch (e18) {
7914
7917
  message = data.details;
7915
7918
  }
@@ -7992,10 +7995,10 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
7992
7995
  pushStandaloneMessages(processedMessages, msg, messageDataArray);
7993
7996
  return;
7994
7997
  }
7995
- const isUserMessage = _optionalChain([msg, 'access', _253 => _253.owner, 'optionalAccess', _254 => _254.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _255 => _255.owner, 'optionalAccess', _256 => _256.type]) === OWNER_TYPE.ADMIN;
7998
+ const isUserMessage = _optionalChain([msg, 'access', _255 => _255.owner, 'optionalAccess', _256 => _256.type]) === OWNER_TYPE.CLIENT || _optionalChain([msg, 'access', _257 => _257.owner, 'optionalAccess', _258 => _258.type]) === OWNER_TYPE.ADMIN;
7996
7999
  if (isUserMessage) {
7997
8000
  flushAssistantMessage();
7998
- const userAuthorType = _optionalChain([msg, 'access', _257 => _257.owner, 'optionalAccess', _258 => _258.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
8001
+ const userAuthorType = _optionalChain([msg, 'access', _259 => _259.owner, 'optionalAccess', _260 => _260.type]) === OWNER_TYPE.ADMIN ? "admin" : "user";
7999
8002
  messageDataArray.forEach((data) => {
8000
8003
  if (data.type === MESSAGE_TYPE.TEXT && "text" in data && data.text) {
8001
8004
  processedMessages.push({
@@ -8019,7 +8022,7 @@ function processHistoricalMessagesWithErrors(messages, options = {}) {
8019
8022
  });
8020
8023
  const nextMsg = messages[index + 1];
8021
8024
  const isLastMessage = index === messages.length - 1;
8022
- const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _259 => _259.owner, 'optionalAccess', _260 => _260.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _261 => _261.owner, 'optionalAccess', _262 => _262.type]) === OWNER_TYPE.ADMIN);
8025
+ const nextIsFromUser = nextMsg && (_optionalChain([nextMsg, 'access', _261 => _261.owner, 'optionalAccess', _262 => _262.type]) === OWNER_TYPE.CLIENT || _optionalChain([nextMsg, 'access', _263 => _263.owner, 'optionalAccess', _264 => _264.type]) === OWNER_TYPE.ADMIN);
8023
8026
  if (isLastMessage || nextIsFromUser) {
8024
8027
  flushAssistantMessage();
8025
8028
  }
@@ -8078,7 +8081,7 @@ function extractIncompleteMessageState(lastMessage) {
8078
8081
  break;
8079
8082
  case "approval_batch": {
8080
8083
  const allDone = !!segment.data.executions && segment.data.toolCalls.every(
8081
- (c) => _optionalChain([segment, 'access', _263 => _263.data, 'access', _264 => _264.executions, 'optionalAccess', _265 => _265[c.toolExecutionRequestId], 'optionalAccess', _266 => _266.status]) === "done"
8084
+ (c) => _optionalChain([segment, 'access', _265 => _265.data, 'access', _266 => _266.executions, 'optionalAccess', _267 => _267[c.toolExecutionRequestId], 'optionalAccess', _268 => _268.status]) === "done"
8082
8085
  );
8083
8086
  if (segment.status !== "rejected" && !allDone) {
8084
8087
  hasIncompleteState = true;
@@ -8240,7 +8243,7 @@ function Header({ config, platform }) {
8240
8243
  className: _chunkOFAYLG6Dcjs.cn.call(void 0,
8241
8244
  "flex justify-start w-full",
8242
8245
  "font-bold text-[16px] leading-none tracking-[-0.32px]",
8243
- index < (_nullishCoalesce(_optionalChain([item, 'access', _267 => _267.children, 'optionalAccess', _268 => _268.length]), () => ( 0))) - 1 && "mb-1",
8246
+ index < (_nullishCoalesce(_optionalChain([item, 'access', _269 => _269.children, 'optionalAccess', _270 => _270.length]), () => ( 0))) - 1 && "mb-1",
8244
8247
  "text-ods-text-primary",
8245
8248
  // All dropdown items use primary text color
8246
8249
  child.isActive && "bg-ods-bg-hover"
@@ -8332,7 +8335,7 @@ function Header({ config, platform }) {
8332
8335
  style: config.style,
8333
8336
  children: [
8334
8337
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
8335
- _optionalChain([config, 'access', _269 => _269.actions, 'optionalAccess', _270 => _270.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
8338
+ _optionalChain([config, 'access', _271 => _271.actions, 'optionalAccess', _272 => _272.left]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center", children: config.actions.left }),
8336
8339
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _link2.default, { href: config.logo.href, className: "transition-opacity duration-200 hover:opacity-80", children: config.logo.element })
8337
8340
  ] }),
8338
8341
  config.navigation && config.navigation.items.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -8349,7 +8352,7 @@ function Header({ config, platform }) {
8349
8352
  }
8350
8353
  ),
8351
8354
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-end gap-4 flex-shrink-0", children: [
8352
- _optionalChain([config, 'access', _271 => _271.actions, 'optionalAccess', _272 => _272.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
8355
+ _optionalChain([config, 'access', _273 => _273.actions, 'optionalAccess', _274 => _274.right]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden md:flex items-center gap-4", children: config.actions.right }),
8353
8356
  config.mobile && config.mobile.enabled && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
8354
8357
  _chunkBJTOSUT4cjs.Button,
8355
8358
  {
@@ -8357,10 +8360,10 @@ function Header({ config, platform }) {
8357
8360
  size: "icon",
8358
8361
  className: "flex md:hidden",
8359
8362
  onClick: () => {
8360
- _optionalChain([config, 'access', _273 => _273.mobile, 'optionalAccess', _274 => _274.onToggle, 'optionalCall', _275 => _275()]);
8363
+ _optionalChain([config, 'access', _275 => _275.mobile, 'optionalAccess', _276 => _276.onToggle, 'optionalCall', _277 => _277()]);
8361
8364
  },
8362
- "aria-label": _optionalChain([config, 'access', _276 => _276.mobile, 'optionalAccess', _277 => _277.isOpen]) ? "Close menu" : "Open menu",
8363
- leftIcon: _optionalChain([config, 'access', _278 => _278.mobile, 'optionalAccess', _279 => _279.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTMD5LDX4cjs.Menu01Icon, {})
8365
+ "aria-label": _optionalChain([config, 'access', _278 => _278.mobile, 'optionalAccess', _279 => _279.isOpen]) ? "Close menu" : "Open menu",
8366
+ leftIcon: _optionalChain([config, 'access', _280 => _280.mobile, 'optionalAccess', _281 => _281.menuIcon]) || /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTMD5LDX4cjs.Menu01Icon, {})
8364
8367
  }
8365
8368
  )
8366
8369
  ] })
@@ -8377,10 +8380,10 @@ function Header({ config, platform }) {
8377
8380
  // src/components/navigation/header-skeleton.tsx
8378
8381
 
8379
8382
  function HeaderSkeleton({ config }) {
8380
- const showNavigation = _optionalChain([config, 'optionalAccess', _280 => _280.navigation]) && config.navigation.items.length > 0;
8381
- const showActions = _optionalChain([config, 'optionalAccess', _281 => _281.actions, 'optionalAccess', _282 => _282.right]) && config.actions.right.length > 0;
8382
- const showMobileMenu = _optionalChain([config, 'optionalAccess', _283 => _283.mobile, 'optionalAccess', _284 => _284.enabled]);
8383
- const isAdminHeader = _optionalChain([config, 'optionalAccess', _285 => _285.className, 'optionalAccess', _286 => _286.includes, 'call', _287 => _287("admin")]);
8383
+ const showNavigation = _optionalChain([config, 'optionalAccess', _282 => _282.navigation]) && config.navigation.items.length > 0;
8384
+ const showActions = _optionalChain([config, 'optionalAccess', _283 => _283.actions, 'optionalAccess', _284 => _284.right]) && config.actions.right.length > 0;
8385
+ const showMobileMenu = _optionalChain([config, 'optionalAccess', _285 => _285.mobile, 'optionalAccess', _286 => _286.enabled]);
8386
+ const isAdminHeader = _optionalChain([config, 'optionalAccess', _287 => _287.className, 'optionalAccess', _288 => _288.includes, 'call', _289 => _289("admin")]);
8384
8387
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "sticky top-0 z-40 w-full", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
8385
8388
  "header",
8386
8389
  {
@@ -8389,11 +8392,11 @@ function HeaderSkeleton({ config }) {
8389
8392
  "bg-ods-card border-b border-ods-border backdrop-blur-sm",
8390
8393
  "px-6 py-3",
8391
8394
  "transition-opacity duration-300 ease-in-out",
8392
- _optionalChain([config, 'optionalAccess', _288 => _288.className])
8395
+ _optionalChain([config, 'optionalAccess', _290 => _290.className])
8393
8396
  ),
8394
8397
  children: [
8395
8398
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-start flex-shrink-0", children: [
8396
- isAdminHeader && _optionalChain([config, 'optionalAccess', _289 => _289.actions, 'optionalAccess', _290 => _290.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" }) }),
8399
+ isAdminHeader && _optionalChain([config, 'optionalAccess', _291 => _291.actions, 'optionalAccess', _292 => _292.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" }) }),
8397
8400
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
8398
8401
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-8 w-8 bg-ods-border rounded animate-pulse" }),
8399
8402
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-6 w-24 bg-ods-border rounded animate-pulse" })
@@ -8401,8 +8404,8 @@ function HeaderSkeleton({ config }) {
8401
8404
  ] }),
8402
8405
  showNavigation && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { className: _chunkOFAYLG6Dcjs.cn.call(void 0,
8403
8406
  "hidden md:flex items-center gap-2",
8404
- _optionalChain([config, 'optionalAccess', _291 => _291.navigation, 'optionalAccess', _292 => _292.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
8405
- _optionalChain([config, 'optionalAccess', _293 => _293.navigation, 'optionalAccess', _294 => _294.position]) === "right" && "ml-auto mr-4"
8407
+ _optionalChain([config, 'optionalAccess', _293 => _293.navigation, 'optionalAccess', _294 => _294.position]) === "center" && "absolute left-1/2 transform -translate-x-1/2",
8408
+ _optionalChain([config, 'optionalAccess', _295 => _295.navigation, 'optionalAccess', _296 => _296.position]) === "right" && "ml-auto mr-4"
8406
8409
  ), children: [
8407
8410
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-20 bg-ods-border rounded animate-pulse" }),
8408
8411
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-10 w-28 bg-ods-border rounded animate-pulse" }),
@@ -8450,7 +8453,7 @@ function MobileNavPanel({ isOpen, config }) {
8450
8453
  _react.useEffect.call(void 0, () => {
8451
8454
  const handleKeyDown = (e) => {
8452
8455
  if (e.key === "Escape" && isOpen) {
8453
- _optionalChain([config, 'access', _295 => _295.onClose, 'optionalCall', _296 => _296()]);
8456
+ _optionalChain([config, 'access', _297 => _297.onClose, 'optionalCall', _298 => _298()]);
8454
8457
  }
8455
8458
  };
8456
8459
  if (isOpen) {
@@ -8467,7 +8470,7 @@ function MobileNavPanel({ isOpen, config }) {
8467
8470
  if (item.onClick) {
8468
8471
  item.onClick();
8469
8472
  }
8470
- _optionalChain([config, 'access', _297 => _297.onClose, 'optionalCall', _298 => _298()]);
8473
+ _optionalChain([config, 'access', _299 => _299.onClose, 'optionalCall', _300 => _300()]);
8471
8474
  };
8472
8475
  if (item.href) {
8473
8476
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -8685,7 +8688,7 @@ function SlidingSidebar({ config }) {
8685
8688
  variant: "transparent",
8686
8689
  size: "default",
8687
8690
  onClick: () => {
8688
- _optionalChain([item, 'access', _299 => _299.onClick, 'optionalCall', _300 => _300()]);
8691
+ _optionalChain([item, 'access', _301 => _301.onClick, 'optionalCall', _302 => _302()]);
8689
8692
  config.onClose();
8690
8693
  },
8691
8694
  leftIcon: item.icon,
@@ -8708,7 +8711,7 @@ function SlidingSidebar({ config }) {
8708
8711
  variant: "transparent",
8709
8712
  size: "default",
8710
8713
  onClick: () => {
8711
- _optionalChain([item, 'access', _301 => _301.onClick, 'optionalCall', _302 => _302()]);
8714
+ _optionalChain([item, 'access', _303 => _303.onClick, 'optionalCall', _304 => _304()]);
8712
8715
  config.onClose();
8713
8716
  },
8714
8717
  leftIcon: item.icon,
@@ -8835,7 +8838,7 @@ function StickySectionNav({
8835
8838
  ] });
8836
8839
  }
8837
8840
  function useSectionNavigation(sections, options) {
8838
- const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _303 => _303[0], 'optionalAccess', _304 => _304.id]) || "");
8841
+ const [activeSection, setActiveSection] = _react.useState.call(void 0, _optionalChain([sections, 'access', _305 => _305[0], 'optionalAccess', _306 => _306.id]) || "");
8839
8842
  const isScrollingFromClick = _react.useRef.call(void 0, false);
8840
8843
  const { offset: offset2 = 100 } = options || {};
8841
8844
  const handleSectionClick = _react.useCallback.call(void 0, (sectionId) => {
@@ -8860,7 +8863,7 @@ function useSectionNavigation(sections, options) {
8860
8863
  const handleScroll = () => {
8861
8864
  if (isScrollingFromClick.current) return;
8862
8865
  const scrollPosition = window.scrollY + offset2 + 50;
8863
- let currentSection = _optionalChain([sections, 'access', _305 => _305[0], 'optionalAccess', _306 => _306.id]) || "";
8866
+ let currentSection = _optionalChain([sections, 'access', _307 => _307[0], 'optionalAccess', _308 => _308.id]) || "";
8864
8867
  for (let i = sections.length - 1; i >= 0; i--) {
8865
8868
  const element = document.getElementById(sections[i].id);
8866
8869
  if (element && scrollPosition >= element.offsetTop) {
@@ -9044,14 +9047,14 @@ function NavigationSidebar({ config, disabled = false }) {
9044
9047
  const showLabel = isLgUp && !minimized;
9045
9048
  const handleToggle = _react.useCallback.call(void 0, () => {
9046
9049
  setMinimized((prev) => !prev);
9047
- _optionalChain([config, 'access', _307 => _307.onToggleMinimized, 'optionalCall', _308 => _308()]);
9050
+ _optionalChain([config, 'access', _309 => _309.onToggleMinimized, 'optionalCall', _310 => _310()]);
9048
9051
  }, [setMinimized, config]);
9049
9052
  const handleItemClick = _react.useCallback.call(void 0, (item, event) => {
9050
- _optionalChain([event, 'optionalAccess', _309 => _309.stopPropagation, 'call', _310 => _310()]);
9053
+ _optionalChain([event, 'optionalAccess', _311 => _311.stopPropagation, 'call', _312 => _312()]);
9051
9054
  if (item.onClick) {
9052
9055
  item.onClick();
9053
9056
  } else if (item.path) {
9054
- _optionalChain([config, 'access', _311 => _311.onNavigate, 'optionalCall', _312 => _312(item.path)]);
9057
+ _optionalChain([config, 'access', _313 => _313.onNavigate, 'optionalCall', _314 => _314(item.path)]);
9055
9058
  }
9056
9059
  }, [config]);
9057
9060
  const { primaryItems, secondaryItems } = _react.useMemo.call(void 0, () => ({
@@ -9191,7 +9194,7 @@ function NotificationsProvider({
9191
9194
  const setShowPopups = React24.useCallback(
9192
9195
  (value2) => {
9193
9196
  setShowPopupsState(value2);
9194
- _optionalChain([onShowPopupsChange, 'optionalCall', _313 => _313(value2)]);
9197
+ _optionalChain([onShowPopupsChange, 'optionalCall', _315 => _315(value2)]);
9195
9198
  },
9196
9199
  [onShowPopupsChange]
9197
9200
  );
@@ -9296,11 +9299,11 @@ function HeaderGlobalSearch({
9296
9299
  };
9297
9300
  const handleSubmit = (e) => {
9298
9301
  e.preventDefault();
9299
- _optionalChain([onSubmit, 'optionalCall', _314 => _314(currentValue)]);
9302
+ _optionalChain([onSubmit, 'optionalCall', _316 => _316(currentValue)]);
9300
9303
  };
9301
9304
  const handleKeyDown = (e) => {
9302
9305
  if (e.key === "Enter") {
9303
- _optionalChain([onSubmit, 'optionalCall', _315 => _315(currentValue)]);
9306
+ _optionalChain([onSubmit, 'optionalCall', _317 => _317(currentValue)]);
9304
9307
  }
9305
9308
  };
9306
9309
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -9346,8 +9349,8 @@ function HeaderOrganizationFilter({
9346
9349
  className
9347
9350
  }) {
9348
9351
  const selectedOrg = organizations.find((o) => o.id === selectedOrgId);
9349
- const displayName = _optionalChain([selectedOrg, 'optionalAccess', _316 => _316.name]) || "All Organizations";
9350
- const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _317 => _317.deviceCount]), () => ( totalDeviceCount));
9352
+ const displayName = _optionalChain([selectedOrg, 'optionalAccess', _318 => _318.name]) || "All Organizations";
9353
+ const deviceCount = _nullishCoalesce(_optionalChain([selectedOrg, 'optionalAccess', _319 => _319.deviceCount]), () => ( totalDeviceCount));
9351
9354
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBJTOSUT4cjs.DropdownMenu, { children: [
9352
9355
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBJTOSUT4cjs.DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
9353
9356
  "button",
@@ -9372,11 +9375,11 @@ function HeaderOrganizationFilter({
9372
9375
  }
9373
9376
  ) }),
9374
9377
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkBJTOSUT4cjs.DropdownMenuContent, { align: "end", className: "min-w-[240px]", children: [
9375
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBJTOSUT4cjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _318 => _318("")]), children: "All Organizations" }),
9378
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBJTOSUT4cjs.DropdownMenuItem, { onClick: () => _optionalChain([onOrgChange, 'optionalCall', _320 => _320("")]), children: "All Organizations" }),
9376
9379
  organizations.map((org) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9377
9380
  _chunkBJTOSUT4cjs.DropdownMenuItem,
9378
9381
  {
9379
- onClick: () => _optionalChain([onOrgChange, 'optionalCall', _319 => _319(org.id)]),
9382
+ onClick: () => _optionalChain([onOrgChange, 'optionalCall', _321 => _321(org.id)]),
9380
9383
  children: org.name
9381
9384
  },
9382
9385
  org.id
@@ -9548,9 +9551,9 @@ function NotificationsHeaderButton({
9548
9551
  dimmedClass
9549
9552
  }) {
9550
9553
  const ctx = useOptionalNotifications();
9551
- const unreadCount = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _320 => _320.unreadCount]), () => ( fallbackUnreadCount));
9552
- const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _321 => _321.isOpen]), () => ( false));
9553
- const onClick = _optionalChain([ctx, 'optionalAccess', _322 => _322.toggle]);
9554
+ const unreadCount = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _322 => _322.unreadCount]), () => ( fallbackUnreadCount));
9555
+ const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _323 => _323.isOpen]), () => ( false));
9556
+ const onClick = _optionalChain([ctx, 'optionalAccess', _324 => _324.toggle]);
9554
9557
  const Icon2 = unreadCount > 0 ? _chunkTMD5LDX4cjs.BellRingingIcon : _chunkTMD5LDX4cjs.BellIcon;
9555
9558
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9556
9559
  HeaderButton,
@@ -9724,7 +9727,7 @@ var Switch = React28.forwardRef(({ className, checked, onCheckedChange, ...props
9724
9727
  }, [checked]);
9725
9728
  const handleCheckedChange = (newChecked) => {
9726
9729
  setIsChecked(newChecked);
9727
- _optionalChain([onCheckedChange, 'optionalCall', _323 => _323(newChecked)]);
9730
+ _optionalChain([onCheckedChange, 'optionalCall', _325 => _325(newChecked)]);
9728
9731
  };
9729
9732
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
9730
9733
  SwitchPrimitives.Root,
@@ -9777,7 +9780,7 @@ function NotificationTile({
9777
9780
  if (!isLive) return;
9778
9781
  const remaining = Math.max(0, liveDurationMs - initialElapsed);
9779
9782
  const timer = window.setTimeout(() => {
9780
- _optionalChain([onSettle, 'optionalCall', _324 => _324(id)]);
9783
+ _optionalChain([onSettle, 'optionalCall', _326 => _326(id)]);
9781
9784
  }, remaining);
9782
9785
  return () => window.clearTimeout(timer);
9783
9786
  }, [id, isLive, initialElapsed, liveDurationMs, onSettle]);
@@ -9815,7 +9818,7 @@ function NotificationTile({
9815
9818
  "button",
9816
9819
  {
9817
9820
  type: "button",
9818
- onClick: () => _optionalChain([onSettle, 'optionalCall', _325 => _325(id)]),
9821
+ onClick: () => _optionalChain([onSettle, 'optionalCall', _327 => _327(id)]),
9819
9822
  "aria-label": "Dismiss notification",
9820
9823
  tabIndex: isLive ? 0 : -1,
9821
9824
  className: _chunkOFAYLG6Dcjs.cn.call(void 0,
@@ -9987,7 +9990,7 @@ var MobileBurgerMenu = React33.default.memo(function MobileBurgerMenu2({
9987
9990
  if (item.onClick) {
9988
9991
  item.onClick();
9989
9992
  } else if (item.path) {
9990
- _optionalChain([config, 'access', _326 => _326.onNavigate, 'optionalCall', _327 => _327(item.path)]);
9993
+ _optionalChain([config, 'access', _328 => _328.onNavigate, 'optionalCall', _329 => _329(item.path)]);
9991
9994
  }
9992
9995
  onClose();
9993
9996
  }, [config, onClose]);
@@ -10331,7 +10334,7 @@ var ShellTypeBadge = ({
10331
10334
  className,
10332
10335
  iconClassName
10333
10336
  }) => {
10334
- const normalizedType = _optionalChain([shellType, 'optionalAccess', _328 => _328.toUpperCase, 'call', _329 => _329()]);
10337
+ const normalizedType = _optionalChain([shellType, 'optionalAccess', _330 => _330.toUpperCase, 'call', _331 => _331()]);
10335
10338
  const label = getShellLabel(normalizedType);
10336
10339
  const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
10337
10340
  const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
@@ -10788,7 +10791,7 @@ function AnnouncementBar() {
10788
10791
  setIsVisible(false);
10789
10792
  };
10790
10793
  const handleCtaClick = () => {
10791
- if (!_optionalChain([announcement, 'optionalAccess', _330 => _330.cta_url])) return;
10794
+ if (!_optionalChain([announcement, 'optionalAccess', _332 => _332.cta_url])) return;
10792
10795
  announcement.cta_target === "_blank" ? window.open(announcement.cta_url, "_blank", "noopener,noreferrer") : window.location.href = announcement.cta_url;
10793
10796
  };
10794
10797
  const renderIcon = () => {
@@ -10914,8 +10917,8 @@ function getVendorLogo(vendor) {
10914
10917
  if (vendor.logo) {
10915
10918
  return fixSupabaseStorageUrl(vendor.logo);
10916
10919
  }
10917
- const logoMedia = _optionalChain([vendor, 'access', _331 => _331.vendor_media, 'optionalAccess', _332 => _332.find, 'call', _333 => _333((m) => m.media_type === "logo")]);
10918
- if (_optionalChain([logoMedia, 'optionalAccess', _334 => _334.media_url])) {
10920
+ const logoMedia = _optionalChain([vendor, 'access', _333 => _333.vendor_media, 'optionalAccess', _334 => _334.find, 'call', _335 => _335((m) => m.media_type === "logo")]);
10921
+ if (_optionalChain([logoMedia, 'optionalAccess', _336 => _336.media_url])) {
10919
10922
  return fixSupabaseStorageUrl(logoMedia.media_url);
10920
10923
  }
10921
10924
  return null;
@@ -10990,7 +10993,7 @@ function VendorIcon({
10990
10993
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkOFAYLG6Dcjs.cn.call(void 0,
10991
10994
  "flex items-center justify-center text-xs font-medium uppercase",
10992
10995
  backgroundStyle === "white" ? "text-[#333333]" : "text-ods-text-secondary"
10993
- ), children: _optionalChain([vendor, 'access', _335 => _335.title, 'optionalAccess', _336 => _336.substring, 'call', _337 => _337(0, 2)]) || "??" }) });
10996
+ ), children: _optionalChain([vendor, 'access', _337 => _337.title, 'optionalAccess', _338 => _338.substring, 'call', _339 => _339(0, 2)]) || "??" }) });
10994
10997
  }
10995
10998
 
10996
10999
  // src/components/categories-cart.tsx
@@ -11274,7 +11277,7 @@ function UserSummary({
11274
11277
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-w-0 flex-1", children: [
11275
11278
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { className: "text-h4 text-ods-text-primary truncate", children: [
11276
11279
  name,
11277
- _optionalChain([mspPreview, 'optionalAccess', _338 => _338.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
11280
+ _optionalChain([mspPreview, 'optionalAccess', _340 => _340.name]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary", children: [
11278
11281
  " \u2022 ",
11279
11282
  mspPreview.name
11280
11283
  ] })
@@ -11296,7 +11299,7 @@ function UserSummary({
11296
11299
  height: 40,
11297
11300
  className: "object-cover"
11298
11301
  }
11299
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary font-heading text-sm font-bold", children: _optionalChain([mspPreview, 'access', _339 => _339.name, 'optionalAccess', _340 => _340.charAt, 'call', _341 => _341(0), 'access', _342 => _342.toUpperCase, 'call', _343 => _343()]) || "?" }) })
11302
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-ods-text-primary font-heading text-sm font-bold", children: _optionalChain([mspPreview, 'access', _341 => _341.name, 'optionalAccess', _342 => _342.charAt, 'call', _343 => _343(0), 'access', _344 => _344.toUpperCase, 'call', _345 => _345()]) || "?" }) })
11300
11303
  ] }),
11301
11304
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex-1 grid grid-cols-[1fr_auto] gap-4", children: [
11302
11305
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-h-[6rem] flex flex-col justify-center space-y-3 truncate", children: [
@@ -11309,7 +11312,7 @@ function UserSummary({
11309
11312
  typeof mspPreview.annualRevenue === "number" ? `$${formatNumber2(mspPreview.annualRevenue)}` : null
11310
11313
  ].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)) })
11311
11314
  ] }),
11312
- (_optionalChain([authProviders, 'optionalAccess', _344 => _344.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: [
11315
+ (_optionalChain([authProviders, 'optionalAccess', _346 => _346.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: [
11313
11316
  authProviders && authProviders.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
11314
11317
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs text-ods-text-secondary whitespace-nowrap select-none", children: "Authorized by" }),
11315
11318
  /* @__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)) })
@@ -11318,7 +11321,7 @@ function UserSummary({
11318
11321
  ] })
11319
11322
  ] })
11320
11323
  ] }),
11321
- (_optionalChain([authProviders, 'optionalAccess', _345 => _345.length]) || showEditButton) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex md:hidden items-center justify-between w-full gap-4", children: [
11324
+ (_optionalChain([authProviders, 'optionalAccess', _347 => _347.length]) || showEditButton) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex md:hidden items-center justify-between w-full gap-4", children: [
11322
11325
  authProviders && authProviders.length > 0 && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
11323
11326
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-xs text-ods-text-secondary whitespace-nowrap select-none", children: "Authorized by" }),
11324
11327
  /* @__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)) })
@@ -12039,7 +12042,7 @@ function FilterChip({
12039
12042
  onClick: disabled ? void 0 : (e) => {
12040
12043
  e.preventDefault();
12041
12044
  e.stopPropagation();
12042
- _optionalChain([onClick, 'optionalCall', _346 => _346()]);
12045
+ _optionalChain([onClick, 'optionalCall', _348 => _348()]);
12043
12046
  },
12044
12047
  role: onClick ? "button" : void 0,
12045
12048
  tabIndex: onClick && !disabled ? 0 : void 0,
@@ -12226,13 +12229,13 @@ function useUnifiedFiltering(config) {
12226
12229
  const searchParams = _navigation.useSearchParams.call(void 0, );
12227
12230
  const [isPending, startTransition] = _react.useTransition.call(void 0, );
12228
12231
  const getCurrentFilterState = () => {
12229
- const search = _optionalChain([searchParams, 'optionalAccess', _347 => _347.get, 'call', _348 => _348("search")]) || void 0;
12230
- const categories = _optionalChain([searchParams, 'optionalAccess', _349 => _349.get, 'call', _350 => _350("category"), 'optionalAccess', _351 => _351.split, 'call', _352 => _352(","), 'access', _353 => _353.filter, 'call', _354 => _354(Boolean)]) || [];
12231
- const subcategories = _optionalChain([searchParams, 'optionalAccess', _355 => _355.get, 'call', _356 => _356("subcategory"), 'optionalAccess', _357 => _357.split, 'call', _358 => _358(","), 'access', _359 => _359.filter, 'call', _360 => _360(Boolean)]) || [];
12232
- const tags = _optionalChain([searchParams, 'optionalAccess', _361 => _361.get, 'call', _362 => _362("tag"), 'optionalAccess', _363 => _363.split, 'call', _364 => _364(","), 'access', _365 => _365.filter, 'call', _366 => _366(Boolean)]) || [];
12233
- const filters = _optionalChain([searchParams, 'optionalAccess', _367 => _367.getAll, 'call', _368 => _368("filter")]) || [];
12234
- const pricing = _optionalChain([searchParams, 'optionalAccess', _369 => _369.get, 'call', _370 => _370("pricing")]) || void 0;
12235
- const page = parseInt(_optionalChain([searchParams, 'optionalAccess', _371 => _371.get, 'call', _372 => _372("page")]) || "1");
12232
+ const search = _optionalChain([searchParams, 'optionalAccess', _349 => _349.get, 'call', _350 => _350("search")]) || void 0;
12233
+ const categories = _optionalChain([searchParams, 'optionalAccess', _351 => _351.get, 'call', _352 => _352("category"), 'optionalAccess', _353 => _353.split, 'call', _354 => _354(","), 'access', _355 => _355.filter, 'call', _356 => _356(Boolean)]) || [];
12234
+ const subcategories = _optionalChain([searchParams, 'optionalAccess', _357 => _357.get, 'call', _358 => _358("subcategory"), 'optionalAccess', _359 => _359.split, 'call', _360 => _360(","), 'access', _361 => _361.filter, 'call', _362 => _362(Boolean)]) || [];
12235
+ const tags = _optionalChain([searchParams, 'optionalAccess', _363 => _363.get, 'call', _364 => _364("tag"), 'optionalAccess', _365 => _365.split, 'call', _366 => _366(","), 'access', _367 => _367.filter, 'call', _368 => _368(Boolean)]) || [];
12236
+ const filters = _optionalChain([searchParams, 'optionalAccess', _369 => _369.getAll, 'call', _370 => _370("filter")]) || [];
12237
+ const pricing = _optionalChain([searchParams, 'optionalAccess', _371 => _371.get, 'call', _372 => _372("pricing")]) || void 0;
12238
+ const page = parseInt(_optionalChain([searchParams, 'optionalAccess', _373 => _373.get, 'call', _374 => _374("page")]) || "1");
12236
12239
  return {
12237
12240
  search,
12238
12241
  categories,
@@ -12513,13 +12516,13 @@ function FooterWaitlistButton({ className }) {
12513
12516
  const router = _navigation.useRouter.call(void 0, );
12514
12517
  const pathname = _navigation.usePathname.call(void 0, );
12515
12518
  const handleClick = _react.useCallback.call(void 0, () => {
12516
- if (_optionalChain([pathname, 'optionalAccess', _373 => _373.startsWith, 'call', _374 => _374("/waitlist")])) {
12519
+ if (_optionalChain([pathname, 'optionalAccess', _375 => _375.startsWith, 'call', _376 => _376("/waitlist")])) {
12517
12520
  const anchor = document.getElementById("waitlist-form");
12518
12521
  if (anchor) {
12519
12522
  anchor.scrollIntoView({ behavior: "smooth", block: "center" });
12520
12523
  setTimeout(() => {
12521
12524
  const input = anchor.querySelector('input[type="email"]');
12522
- _optionalChain([input, 'optionalAccess', _375 => _375.focus, 'call', _376 => _376()]);
12525
+ _optionalChain([input, 'optionalAccess', _377 => _377.focus, 'call', _378 => _378()]);
12523
12526
  }, 400);
12524
12527
  return;
12525
12528
  }
@@ -12548,7 +12551,7 @@ function HeroImageUploader({ imageUrl, onChange, uploadEndpoint, height = 300, o
12548
12551
  const [uploading, setUploading] = _react.useState.call(void 0, false);
12549
12552
  const ALLOWED_TYPES = ["image/jpeg", "image/jpg", "image/png", "image/webp", "image/gif"];
12550
12553
  const MAX_SIZE = 5 * 1024 * 1024;
12551
- const openDialog = () => _optionalChain([inputRef, 'access', _377 => _377.current, 'optionalAccess', _378 => _378.click, 'call', _379 => _379()]);
12554
+ const openDialog = () => _optionalChain([inputRef, 'access', _379 => _379.current, 'optionalAccess', _380 => _380.click, 'call', _381 => _381()]);
12552
12555
  async function handleFile(file) {
12553
12556
  if (!file) return;
12554
12557
  if (!ALLOWED_TYPES.includes(file.type)) {
@@ -12604,7 +12607,7 @@ function HeroImageUploader({ imageUrl, onChange, uploadEndpoint, height = 300, o
12604
12607
  }
12605
12608
  }
12606
12609
  const handleSelect = (e) => {
12607
- handleFile(_optionalChain([e, 'access', _380 => _380.target, 'access', _381 => _381.files, 'optionalAccess', _382 => _382[0]]));
12610
+ handleFile(_optionalChain([e, 'access', _382 => _382.target, 'access', _383 => _383.files, 'optionalAccess', _384 => _384[0]]));
12608
12611
  };
12609
12612
  const handleRemove = async () => {
12610
12613
  if (onDelete) {
@@ -12741,7 +12744,7 @@ function ResponsiveIconsBlock({ loading = false }) {
12741
12744
  const getIconForIndex = (index) => {
12742
12745
  const col = index % displayColumns;
12743
12746
  const row = Math.floor(index / displayColumns);
12744
- return _optionalChain([iconGrid, 'access', _383 => _383[row], 'optionalAccess', _384 => _384[col]]) || availableIcons[0];
12747
+ return _optionalChain([iconGrid, 'access', _385 => _385[row], 'optionalAccess', _386 => _386[col]]) || availableIcons[0];
12745
12748
  };
12746
12749
  if (loading || iconGrid.length === 0) {
12747
12750
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -12827,7 +12830,7 @@ var Slider = React35.forwardRef(
12827
12830
  ({ className, value = [0], onValueChange, min = 0, max = 100, step = 1, ...props }, ref) => {
12828
12831
  const handleChange = (e) => {
12829
12832
  const newValue = [Number(e.target.value)];
12830
- _optionalChain([onValueChange, 'optionalCall', _385 => _385(newValue)]);
12833
+ _optionalChain([onValueChange, 'optionalCall', _387 => _387(newValue)]);
12831
12834
  };
12832
12835
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
12833
12836
  "input",
@@ -12940,7 +12943,7 @@ var ImageCropper = ({
12940
12943
  });
12941
12944
  } else if (e.key === "Escape") {
12942
12945
  e.preventDefault();
12943
- _optionalChain([onCancel, 'optionalCall', _386 => _386()]);
12946
+ _optionalChain([onCancel, 'optionalCall', _388 => _388()]);
12944
12947
  }
12945
12948
  };
12946
12949
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -13134,7 +13137,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
13134
13137
  const playPromise = video.play();
13135
13138
  if (playPromise !== void 0) {
13136
13139
  playPromise.then(() => {
13137
- const playButton = _optionalChain([video, 'access', _387 => _387.parentElement, 'optionalAccess', _388 => _388.querySelector, 'call', _389 => _389(".video-play-button")]);
13140
+ const playButton = _optionalChain([video, 'access', _389 => _389.parentElement, 'optionalAccess', _390 => _390.querySelector, 'call', _391 => _391(".video-play-button")]);
13138
13141
  if (playButton) {
13139
13142
  playButton.style.display = "none";
13140
13143
  }
@@ -13151,13 +13154,13 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
13151
13154
  </a>
13152
13155
  </div>
13153
13156
  `;
13154
- _optionalChain([video, 'access', _390 => _390.parentElement, 'optionalAccess', _391 => _391.appendChild, 'call', _392 => _392(fallbackDiv)]);
13157
+ _optionalChain([video, 'access', _392 => _392.parentElement, 'optionalAccess', _393 => _393.appendChild, 'call', _394 => _394(fallbackDiv)]);
13155
13158
  }
13156
13159
  });
13157
13160
  }
13158
13161
  } else {
13159
13162
  video.pause();
13160
- const playButton = _optionalChain([video, 'access', _393 => _393.parentElement, 'optionalAccess', _394 => _394.querySelector, 'call', _395 => _395(".video-play-button")]);
13163
+ const playButton = _optionalChain([video, 'access', _395 => _395.parentElement, 'optionalAccess', _396 => _396.querySelector, 'call', _397 => _397(".video-play-button")]);
13161
13164
  if (playButton) {
13162
13165
  playButton.style.display = "flex";
13163
13166
  }
@@ -13241,13 +13244,13 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
13241
13244
  "data-video-index": index,
13242
13245
  onClick: () => handleVideoClick(index),
13243
13246
  onPlay: () => {
13244
- const playButton = _optionalChain([document, 'access', _396 => _396.querySelector, 'call', _397 => _397(`[data-video-index="${index}"]`), 'optionalAccess', _398 => _398.parentElement, 'optionalAccess', _399 => _399.querySelector, 'call', _400 => _400(".video-play-button")]);
13247
+ const playButton = _optionalChain([document, 'access', _398 => _398.querySelector, 'call', _399 => _399(`[data-video-index="${index}"]`), 'optionalAccess', _400 => _400.parentElement, 'optionalAccess', _401 => _401.querySelector, 'call', _402 => _402(".video-play-button")]);
13245
13248
  if (playButton) {
13246
13249
  playButton.style.display = "none";
13247
13250
  }
13248
13251
  },
13249
13252
  onPause: () => {
13250
- const playButton = _optionalChain([document, 'access', _401 => _401.querySelector, 'call', _402 => _402(`[data-video-index="${index}"]`), 'optionalAccess', _403 => _403.parentElement, 'optionalAccess', _404 => _404.querySelector, 'call', _405 => _405(".video-play-button")]);
13253
+ const playButton = _optionalChain([document, 'access', _403 => _403.querySelector, 'call', _404 => _404(`[data-video-index="${index}"]`), 'optionalAccess', _405 => _405.parentElement, 'optionalAccess', _406 => _406.querySelector, 'call', _407 => _407(".video-play-button")]);
13251
13254
  if (playButton) {
13252
13255
  playButton.style.display = "flex";
13253
13256
  }
@@ -13274,7 +13277,7 @@ var MediaCarousel = _react.memo.call(void 0, function MediaCarousel2({
13274
13277
  </a>
13275
13278
  </div>
13276
13279
  `;
13277
- _optionalChain([target, 'access', _406 => _406.parentElement, 'optionalAccess', _407 => _407.appendChild, 'call', _408 => _408(fallbackDiv)]);
13280
+ _optionalChain([target, 'access', _408 => _408.parentElement, 'optionalAccess', _409 => _409.appendChild, 'call', _410 => _410(fallbackDiv)]);
13278
13281
  }
13279
13282
  },
13280
13283
  children: [
@@ -13802,8 +13805,8 @@ function PricingDisplay({
13802
13805
  }
13803
13806
  if (pricingArray.length === 1) {
13804
13807
  const item = pricingArray[0];
13805
- const price = _optionalChain([item, 'access', _409 => _409.ranges, 'optionalAccess', _410 => _410[0], 'optionalAccess', _411 => _411.min]) || 0;
13806
- const unit = _optionalChain([item, 'access', _412 => _412.ranges, 'optionalAccess', _413 => _413[0], 'optionalAccess', _414 => _414.unit]);
13808
+ const price = _optionalChain([item, 'access', _411 => _411.ranges, 'optionalAccess', _412 => _412[0], 'optionalAccess', _413 => _413.min]) || 0;
13809
+ const unit = _optionalChain([item, 'access', _414 => _414.ranges, 'optionalAccess', _415 => _415[0], 'optionalAccess', _416 => _416.unit]);
13807
13810
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.fontFamily} ${className}`, children: [
13808
13811
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: formatPriceValue(price, styleConfig.showTildePrefix) }),
13809
13812
  unit && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
@@ -13812,11 +13815,11 @@ function PricingDisplay({
13812
13815
  ] })
13813
13816
  ] });
13814
13817
  }
13815
- const priceValues = pricingArray.map((item) => formatPriceValue(_optionalChain([item, 'access', _415 => _415.ranges, 'optionalAccess', _416 => _416[0], 'optionalAccess', _417 => _417.min]) || 0, styleConfig.showTildePrefix));
13816
- const itemWithUnit = pricingArray.find((item) => _optionalChain([item, 'access', _418 => _418.ranges, 'optionalAccess', _419 => _419[0], 'optionalAccess', _420 => _420.unit]));
13818
+ const priceValues = pricingArray.map((item) => formatPriceValue(_optionalChain([item, 'access', _417 => _417.ranges, 'optionalAccess', _418 => _418[0], 'optionalAccess', _419 => _419.min]) || 0, styleConfig.showTildePrefix));
13819
+ const itemWithUnit = pricingArray.find((item) => _optionalChain([item, 'access', _420 => _420.ranges, 'optionalAccess', _421 => _421[0], 'optionalAccess', _422 => _422.unit]));
13817
13820
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.fontFamily} ${className}`, children: [
13818
13821
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: `${styleConfig.priceTextColor} ${styleConfig.priceTextSize}`, children: priceValues.join(" | ") }),
13819
- itemWithUnit && _optionalChain([itemWithUnit, 'access', _421 => _421.ranges, 'optionalAccess', _422 => _422[0], 'optionalAccess', _423 => _423.unit]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
13822
+ itemWithUnit && _optionalChain([itemWithUnit, 'access', _423 => _423.ranges, 'optionalAccess', _424 => _424[0], 'optionalAccess', _425 => _425.unit]) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: `${styleConfig.secondaryTextColor} ${styleConfig.secondaryTextSize}`, children: [
13820
13823
  "/",
13821
13824
  itemWithUnit.ranges[0].unit
13822
13825
  ] })
@@ -14014,7 +14017,7 @@ function VendorTag({
14014
14017
  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" }) })
14015
14018
  };
14016
14019
  case "classification":
14017
- const classificationType = _optionalChain([text, 'optionalAccess', _424 => _424.toLowerCase, 'call', _425 => _425()]);
14020
+ const classificationType = _optionalChain([text, 'optionalAccess', _426 => _426.toLowerCase, 'call', _427 => _427()]);
14018
14021
  if (classificationType === "open_source") {
14019
14022
  return {
14020
14023
  text: "Open Source",
@@ -14068,7 +14071,7 @@ function SelectionSourceBadge({ source, hidden = false }) {
14068
14071
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
14069
14072
  VendorTag,
14070
14073
  {
14071
- type: _optionalChain([source, 'optionalAccess', _426 => _426.toLowerCase, 'call', _427 => _427()]),
14074
+ type: _optionalChain([source, 'optionalAccess', _428 => _428.toLowerCase, 'call', _429 => _429()]),
14072
14075
  size: "sm",
14073
14076
  hidden
14074
14077
  },
@@ -16188,12 +16191,12 @@ function OnboardingWalkthrough({
16188
16191
  }
16189
16192
  }, [state.completedSteps, markComplete]);
16190
16193
  const handleStepSkip = (step) => {
16191
- _optionalChain([step, 'access', _428 => _428.onSkip, 'optionalCall', _429 => _429()]);
16194
+ _optionalChain([step, 'access', _430 => _430.onSkip, 'optionalCall', _431 => _431()]);
16192
16195
  markSkipped(step.id);
16193
16196
  };
16194
16197
  const handleDismiss = () => {
16195
16198
  dismissOnboarding();
16196
- _optionalChain([onDismiss, 'optionalCall', _430 => _430()]);
16199
+ _optionalChain([onDismiss, 'optionalCall', _432 => _432()]);
16197
16200
  };
16198
16201
  if (state.dismissed) {
16199
16202
  return null;
@@ -16901,8 +16904,8 @@ function parseSrt(srt) {
16901
16904
  const tsIndex = lines.findIndex((l) => l.includes(" --> "));
16902
16905
  if (tsIndex === -1) continue;
16903
16906
  const [startStr, endStr] = lines[tsIndex].split(" --> ");
16904
- const from = parseSrtTimestamp(_optionalChain([startStr, 'optionalAccess', _431 => _431.trim, 'call', _432 => _432()]));
16905
- const to = parseSrtTimestamp(_optionalChain([endStr, 'optionalAccess', _433 => _433.trim, 'call', _434 => _434()]));
16907
+ const from = parseSrtTimestamp(_optionalChain([startStr, 'optionalAccess', _433 => _433.trim, 'call', _434 => _434()]));
16908
+ const to = parseSrtTimestamp(_optionalChain([endStr, 'optionalAccess', _435 => _435.trim, 'call', _436 => _436()]));
16906
16909
  if (from === null || to === null) continue;
16907
16910
  const text = lines.slice(tsIndex + 1).join("\n").trim();
16908
16911
  if (text) cues.push({ from, to, text });
@@ -16921,7 +16924,7 @@ function useSubtitleOverlay(srtContent) {
16921
16924
  const updateTime = _react.useCallback.call(void 0, (playedSeconds) => {
16922
16925
  const timeMs = playedSeconds * 1e3;
16923
16926
  const active = cues.find((c) => timeMs >= c.from && timeMs <= c.to);
16924
- setActiveText(_nullishCoalesce(_optionalChain([active, 'optionalAccess', _435 => _435.text]), () => ( null)));
16927
+ setActiveText(_nullishCoalesce(_optionalChain([active, 'optionalAccess', _437 => _437.text]), () => ( null)));
16925
16928
  }, [cues]);
16926
16929
  return { activeText, updateTime, hasCues: cues.length > 0 };
16927
16930
  }
@@ -16991,7 +16994,7 @@ var VideoPlayer = ({
16991
16994
  }
16992
16995
  }, []);
16993
16996
  const enterNativeVideoFullscreen = _react.useCallback.call(void 0, () => {
16994
- const video = _optionalChain([playerRef, 'access', _436 => _436.current, 'optionalAccess', _437 => _437.getInternalPlayer, 'call', _438 => _438()]);
16997
+ const video = _optionalChain([playerRef, 'access', _438 => _438.current, 'optionalAccess', _439 => _439.getInternalPlayer, 'call', _440 => _440()]);
16995
16998
  if (!video || !video.webkitEnterFullscreen) return;
16996
16999
  ensureWebkitCaptionCSS();
16997
17000
  const trackSrc = captionsUrl || null;
@@ -17099,11 +17102,11 @@ var VideoPlayer = ({
17099
17102
  break;
17100
17103
  case "ArrowLeft":
17101
17104
  e.preventDefault();
17102
- _optionalChain([playerRef, 'access', _439 => _439.current, 'optionalAccess', _440 => _440.seekTo, 'call', _441 => _441(Math.max(0, (_nullishCoalesce(_optionalChain([playerRef, 'access', _442 => _442.current, 'optionalAccess', _443 => _443.getCurrentTime, 'call', _444 => _444()]), () => ( 0))) - 5), "seconds")]);
17105
+ _optionalChain([playerRef, 'access', _441 => _441.current, 'optionalAccess', _442 => _442.seekTo, 'call', _443 => _443(Math.max(0, (_nullishCoalesce(_optionalChain([playerRef, 'access', _444 => _444.current, 'optionalAccess', _445 => _445.getCurrentTime, 'call', _446 => _446()]), () => ( 0))) - 5), "seconds")]);
17103
17106
  break;
17104
17107
  case "ArrowRight":
17105
17108
  e.preventDefault();
17106
- _optionalChain([playerRef, 'access', _445 => _445.current, 'optionalAccess', _446 => _446.seekTo, 'call', _447 => _447(Math.min(duration, (_nullishCoalesce(_optionalChain([playerRef, 'access', _448 => _448.current, 'optionalAccess', _449 => _449.getCurrentTime, 'call', _450 => _450()]), () => ( 0))) + 5), "seconds")]);
17109
+ _optionalChain([playerRef, 'access', _447 => _447.current, 'optionalAccess', _448 => _448.seekTo, 'call', _449 => _449(Math.min(duration, (_nullishCoalesce(_optionalChain([playerRef, 'access', _450 => _450.current, 'optionalAccess', _451 => _451.getCurrentTime, 'call', _452 => _452()]), () => ( 0))) + 5), "seconds")]);
17107
17110
  break;
17108
17111
  case "ArrowUp":
17109
17112
  e.preventDefault();
@@ -17153,11 +17156,11 @@ var VideoPlayer = ({
17153
17156
  const isDraggingRef = _react.useRef.call(void 0, false);
17154
17157
  const dragListenersRef = _react.useRef.call(void 0, null);
17155
17158
  const seekToClientX = _react.useCallback.call(void 0, (clientX) => {
17156
- const rect = _optionalChain([progressBarRef, 'access', _451 => _451.current, 'optionalAccess', _452 => _452.getBoundingClientRect, 'call', _453 => _453()]);
17159
+ const rect = _optionalChain([progressBarRef, 'access', _453 => _453.current, 'optionalAccess', _454 => _454.getBoundingClientRect, 'call', _455 => _455()]);
17157
17160
  if (!rect) return;
17158
17161
  const fraction = Math.max(0, Math.min(1, (clientX - rect.left) / rect.width));
17159
17162
  setPlayed(fraction);
17160
- _optionalChain([playerRef, 'access', _454 => _454.current, 'optionalAccess', _455 => _455.seekTo, 'call', _456 => _456(fraction, "fraction")]);
17163
+ _optionalChain([playerRef, 'access', _456 => _456.current, 'optionalAccess', _457 => _457.seekTo, 'call', _458 => _458(fraction, "fraction")]);
17161
17164
  }, []);
17162
17165
  const handleProgressMouseDown = _react.useCallback.call(void 0, (e) => {
17163
17166
  e.stopPropagation();
@@ -17196,22 +17199,22 @@ var VideoPlayer = ({
17196
17199
  if (e.key === "ArrowRight") {
17197
17200
  e.preventDefault();
17198
17201
  e.stopPropagation();
17199
- _optionalChain([playerRef, 'access', _457 => _457.current, 'optionalAccess', _458 => _458.seekTo, 'call', _459 => _459(Math.min(duration, (_nullishCoalesce(_optionalChain([playerRef, 'access', _460 => _460.current, 'optionalAccess', _461 => _461.getCurrentTime, 'call', _462 => _462()]), () => ( 0))) + 5), "seconds")]);
17202
+ _optionalChain([playerRef, 'access', _459 => _459.current, 'optionalAccess', _460 => _460.seekTo, 'call', _461 => _461(Math.min(duration, (_nullishCoalesce(_optionalChain([playerRef, 'access', _462 => _462.current, 'optionalAccess', _463 => _463.getCurrentTime, 'call', _464 => _464()]), () => ( 0))) + 5), "seconds")]);
17200
17203
  }
17201
17204
  if (e.key === "ArrowLeft") {
17202
17205
  e.preventDefault();
17203
17206
  e.stopPropagation();
17204
- _optionalChain([playerRef, 'access', _463 => _463.current, 'optionalAccess', _464 => _464.seekTo, 'call', _465 => _465(Math.max(0, (_nullishCoalesce(_optionalChain([playerRef, 'access', _466 => _466.current, 'optionalAccess', _467 => _467.getCurrentTime, 'call', _468 => _468()]), () => ( 0))) - 5), "seconds")]);
17207
+ _optionalChain([playerRef, 'access', _465 => _465.current, 'optionalAccess', _466 => _466.seekTo, 'call', _467 => _467(Math.max(0, (_nullishCoalesce(_optionalChain([playerRef, 'access', _468 => _468.current, 'optionalAccess', _469 => _469.getCurrentTime, 'call', _470 => _470()]), () => ( 0))) - 5), "seconds")]);
17205
17208
  }
17206
17209
  if (e.key === "Home") {
17207
17210
  e.preventDefault();
17208
17211
  e.stopPropagation();
17209
- _optionalChain([playerRef, 'access', _469 => _469.current, 'optionalAccess', _470 => _470.seekTo, 'call', _471 => _471(0, "seconds")]);
17212
+ _optionalChain([playerRef, 'access', _471 => _471.current, 'optionalAccess', _472 => _472.seekTo, 'call', _473 => _473(0, "seconds")]);
17210
17213
  }
17211
17214
  if (e.key === "End") {
17212
17215
  e.preventDefault();
17213
17216
  e.stopPropagation();
17214
- _optionalChain([playerRef, 'access', _472 => _472.current, 'optionalAccess', _473 => _473.seekTo, 'call', _474 => _474(duration, "seconds")]);
17217
+ _optionalChain([playerRef, 'access', _474 => _474.current, 'optionalAccess', _475 => _475.seekTo, 'call', _476 => _476(duration, "seconds")]);
17215
17218
  }
17216
17219
  }, [duration]);
17217
17220
  const handleProgressHover = _react.useCallback.call(void 0, (e) => {
@@ -17266,7 +17269,7 @@ var VideoPlayer = ({
17266
17269
  }, []);
17267
17270
  _react.useEffect.call(void 0, () => {
17268
17271
  if (!hasStarted) return;
17269
- const video = _optionalChain([playerRef, 'access', _475 => _475.current, 'optionalAccess', _476 => _476.getInternalPlayer, 'call', _477 => _477()]);
17272
+ const video = _optionalChain([playerRef, 'access', _477 => _477.current, 'optionalAccess', _478 => _478.getInternalPlayer, 'call', _479 => _479()]);
17270
17273
  if (!video) return;
17271
17274
  const onBeginFS = () => activateCaptionTracks(video);
17272
17275
  video.addEventListener("webkitbeginfullscreen", onBeginFS);
@@ -17281,7 +17284,7 @@ var VideoPlayer = ({
17281
17284
  const handleEnded = _react.useCallback.call(void 0, () => setIsPlaying(false), []);
17282
17285
  const handlePlayClick = _react.useCallback.call(void 0, () => {
17283
17286
  if (lazyMount) {
17284
- const native = _optionalChain([playerRef, 'access', _478 => _478.current, 'optionalAccess', _479 => _479.getInternalPlayer, 'call', _480 => _480()]);
17287
+ const native = _optionalChain([playerRef, 'access', _480 => _480.current, 'optionalAccess', _481 => _481.getInternalPlayer, 'call', _482 => _482()]);
17285
17288
  if (native instanceof HTMLVideoElement) {
17286
17289
  native.play().catch(() => {
17287
17290
  clearTimeout(lazyMountFailureTimerRef.current);
@@ -17600,7 +17603,7 @@ var SecondaryAction = ({ action }) => {
17600
17603
  e.preventDefault();
17601
17604
  return;
17602
17605
  }
17603
- _optionalChain([action, 'access', _481 => _481.onClick, 'optionalCall', _482 => _482()]);
17606
+ _optionalChain([action, 'access', _483 => _483.onClick, 'optionalCall', _484 => _484()]);
17604
17607
  },
17605
17608
  [action]
17606
17609
  );
@@ -17641,13 +17644,13 @@ var MenuItem = ({ item, onItemClick }) => {
17641
17644
  const activate = _react.useCallback.call(void 0, () => {
17642
17645
  if (item.disabled) return;
17643
17646
  if (item.type === "checkbox") {
17644
- _optionalChain([item, 'access', _483 => _483.onClick, 'optionalCall', _484 => _484()]);
17645
- _optionalChain([onItemClick, 'optionalCall', _485 => _485(item)]);
17647
+ _optionalChain([item, 'access', _485 => _485.onClick, 'optionalCall', _486 => _486()]);
17648
+ _optionalChain([onItemClick, 'optionalCall', _487 => _487(item)]);
17646
17649
  return;
17647
17650
  }
17648
17651
  if (item.type === "submenu") return;
17649
- _optionalChain([item, 'access', _486 => _486.onClick, 'optionalCall', _487 => _487()]);
17650
- _optionalChain([onItemClick, 'optionalCall', _488 => _488(item)]);
17652
+ _optionalChain([item, 'access', _488 => _488.onClick, 'optionalCall', _489 => _489()]);
17653
+ _optionalChain([onItemClick, 'optionalCall', _490 => _490(item)]);
17651
17654
  }, [item, onItemClick]);
17652
17655
  const handleClick = _react.useCallback.call(void 0,
17653
17656
  (e) => {
@@ -17673,8 +17676,8 @@ var MenuItem = ({ item, onItemClick }) => {
17673
17676
  e.stopPropagation();
17674
17677
  return;
17675
17678
  }
17676
- _optionalChain([item, 'access', _489 => _489.onClick, 'optionalCall', _490 => _490()]);
17677
- _optionalChain([onItemClick, 'optionalCall', _491 => _491(item)]);
17679
+ _optionalChain([item, 'access', _491 => _491.onClick, 'optionalCall', _492 => _492()]);
17680
+ _optionalChain([onItemClick, 'optionalCall', _493 => _493(item)]);
17678
17681
  },
17679
17682
  [item, onItemClick]
17680
17683
  );
@@ -17829,7 +17832,7 @@ var ActionsMenuDropdown = ({
17829
17832
  const [open, setOpen] = _react.useState.call(void 0, false);
17830
17833
  const handleItemClick = _react.useCallback.call(void 0,
17831
17834
  (item) => {
17832
- _optionalChain([onItemClick, 'optionalCall', _492 => _492(item)]);
17835
+ _optionalChain([onItemClick, 'optionalCall', _494 => _494(item)]);
17833
17836
  if (item.type !== "checkbox" && item.type !== "submenu") {
17834
17837
  setOpen(false);
17835
17838
  }
@@ -18000,7 +18003,7 @@ function IconButtonsVariant({
18000
18003
  }) {
18001
18004
  const desktopActions = actions.filter((a) => !a.showOnlyMobile);
18002
18005
  const hasMenuActions = !!menuActions && menuActions.some((g) => g.items.length > 0);
18003
- const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _493 => _493[0], 'access', _494 => _494.submenu, 'optionalAccess', _495 => _495.length]);
18006
+ const isSingleAction = actions.length === 1 && !_optionalChain([actions, 'access', _495 => _495[0], 'access', _496 => _496.submenu, 'optionalAccess', _497 => _497.length]);
18004
18007
  const singleAction = isSingleAction ? actions[0] : null;
18005
18008
  const useSingleActionMobile = isSingleAction && !hasMenuActions;
18006
18009
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -18430,14 +18433,14 @@ function ReleaseDetailPage({
18430
18433
  releaseVersion
18431
18434
  ] })
18432
18435
  ] }) }),
18433
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap gap-2 w-full", children: _optionalChain([blogTags, 'optionalAccess', _496 => _496.map, 'call', _497 => _497((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18436
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-wrap gap-2 w-full", children: _optionalChain([blogTags, 'optionalAccess', _498 => _498.map, 'call', _499 => _499((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18434
18437
  StatusBadge,
18435
18438
  {
18436
- text: (tag.name || _optionalChain([tag, 'access', _498 => _498.blog_tags, 'optionalAccess', _499 => _499.name]) || "").toUpperCase(),
18439
+ text: (tag.name || _optionalChain([tag, 'access', _500 => _500.blog_tags, 'optionalAccess', _501 => _501.name]) || "").toUpperCase(),
18437
18440
  variant: "card",
18438
18441
  className: "bg-ods-card border border-ods-border"
18439
18442
  },
18440
- tag.id || _optionalChain([tag, 'access', _500 => _500.blog_tags, 'optionalAccess', _501 => _501.id])
18443
+ tag.id || _optionalChain([tag, 'access', _502 => _502.blog_tags, 'optionalAccess', _503 => _503.id])
18441
18444
  ))]) }),
18442
18445
  /* @__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: [
18443
18446
  /* @__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: [
@@ -18456,15 +18459,15 @@ function ReleaseDetailPage({
18456
18459
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
18457
18460
  SquareAvatar,
18458
18461
  {
18459
- src: _optionalChain([author, 'optionalAccess', _502 => _502.avatar_url]) || "",
18460
- alt: _optionalChain([author, 'optionalAccess', _503 => _503.full_name]) || "Author",
18461
- fallback: getInitials4(_optionalChain([author, 'optionalAccess', _504 => _504.full_name]) || "Unknown"),
18462
+ src: _optionalChain([author, 'optionalAccess', _504 => _504.avatar_url]) || "",
18463
+ alt: _optionalChain([author, 'optionalAccess', _505 => _505.full_name]) || "Author",
18464
+ fallback: getInitials4(_optionalChain([author, 'optionalAccess', _506 => _506.full_name]) || "Unknown"),
18462
18465
  size: "md",
18463
18466
  variant: "round"
18464
18467
  }
18465
18468
  ),
18466
18469
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-0 flex-1 min-w-0", children: [
18467
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h3 tracking-[-0.36px] text-ods-text-primary truncate", children: _optionalChain([author, 'optionalAccess', _505 => _505.full_name]) || "Unknown Author" }),
18470
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h3 tracking-[-0.36px] text-ods-text-primary truncate", children: _optionalChain([author, 'optionalAccess', _507 => _507.full_name]) || "Unknown Author" }),
18468
18471
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary", children: "Author" })
18469
18472
  ] })
18470
18473
  ] })
@@ -18495,15 +18498,15 @@ function ReleaseDetailPage({
18495
18498
  videoBites,
18496
18499
  bitesTitle: "Video Clips",
18497
18500
  filterPublishedBites: true,
18498
- srtContent: _optionalChain([release, 'optionalAccess', _506 => _506.srt_content]),
18499
- captionsUrl: _optionalChain([release, 'optionalAccess', _507 => _507.captionsUrl])
18501
+ srtContent: _optionalChain([release, 'optionalAccess', _508 => _508.srt_content]),
18502
+ captionsUrl: _optionalChain([release, 'optionalAccess', _509 => _509.captionsUrl])
18500
18503
  }
18501
18504
  ) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
18502
18505
  youtubeUrl && (() => {
18503
18506
  const videoId = extractYouTubeId(youtubeUrl);
18504
18507
  return videoId ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, YouTubeEmbed, { videoId, title: `${releaseTitle} - Video`, showTitle: false, showMeta: true }) : null;
18505
18508
  })(),
18506
- !youtubeUrl && mainVideoUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-center w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full max-w-3xl", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VideoPlayer, { url: mainVideoUrl, srtContent: _optionalChain([release, 'optionalAccess', _508 => _508.srt_content]), captionsUrl: _optionalChain([release, 'optionalAccess', _509 => _509.captionsUrl]) }) }) }),
18509
+ !youtubeUrl && mainVideoUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-center w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full max-w-3xl", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VideoPlayer, { url: mainVideoUrl, srtContent: _optionalChain([release, 'optionalAccess', _510 => _510.srt_content]), captionsUrl: _optionalChain([release, 'optionalAccess', _511 => _511.captionsUrl]) }) }) }),
18507
18510
  highlightVideoUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex justify-center w-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-full max-w-3xl", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, VideoPlayer, { url: highlightVideoUrl, poster: highlightVideoThumbnail }) }) })
18508
18511
  ] }),
18509
18512
  releaseContent && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "text-h4 text-ods-text-primary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownRenderer, { content: releaseContent }) }),
@@ -18583,7 +18586,7 @@ function ReleaseDetailPage({
18583
18586
  }
18584
18587
  )
18585
18588
  ] }),
18586
- (_optionalChain([githubReleases, 'optionalAccess', _510 => _510.length]) || _optionalChain([knowledgeBaseLinks, 'optionalAccess', _511 => _511.length]) || migrationGuideUrl || documentationUrl) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1 w-full", children: [
18589
+ (_optionalChain([githubReleases, 'optionalAccess', _512 => _512.length]) || _optionalChain([knowledgeBaseLinks, 'optionalAccess', _513 => _513.length]) || migrationGuideUrl || documentationUrl) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-1 w-full", children: [
18587
18590
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-h5 tracking-[-0.28px] text-ods-text-secondary", children: "Related Links" }),
18588
18591
  /* @__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: [
18589
18592
  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: [
@@ -18612,7 +18615,7 @@ function ReleaseDetailPage({
18612
18615
  {
18613
18616
  href: path.startsWith("http") ? path : `/knowledge-base${path.startsWith("/") ? "" : "/"}${path}`,
18614
18617
  className: "text-h4 text-[#ffc008] hover:underline",
18615
- children: _optionalChain([path, 'access', _512 => _512.replace, 'call', _513 => _513(/^\//, ""), 'access', _514 => _514.split, 'call', _515 => _515("/"), 'access', _516 => _516.pop, 'call', _517 => _517(), 'optionalAccess', _518 => _518.replace, 'call', _519 => _519(/-/g, " ")]) || "View Article"
18618
+ children: _optionalChain([path, 'access', _514 => _514.replace, 'call', _515 => _515(/^\//, ""), 'access', _516 => _516.split, 'call', _517 => _517("/"), 'access', _518 => _518.pop, 'call', _519 => _519(), 'optionalAccess', _520 => _520.replace, 'call', _521 => _521(/-/g, " ")]) || "View Article"
18616
18619
  }
18617
18620
  ),
18618
18621
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-6 w-6 text-[#ffc008] shrink-0" })
@@ -19258,7 +19261,7 @@ function TagsManager({
19258
19261
  const name = search.trim();
19259
19262
  if (!name) return;
19260
19263
  const result = await onCreateTag(name);
19261
- if (_optionalChain([result, 'optionalAccess', _520 => _520.id])) {
19264
+ if (_optionalChain([result, 'optionalAccess', _522 => _522.id])) {
19262
19265
  onChange([...selectedIds, result.id]);
19263
19266
  setSearch("");
19264
19267
  }
@@ -19266,7 +19269,7 @@ function TagsManager({
19266
19269
  const startEdit = React53.useCallback((id, name) => {
19267
19270
  setEditingId(id);
19268
19271
  setEditingName(name);
19269
- setTimeout(() => _optionalChain([editInputRef, 'access', _521 => _521.current, 'optionalAccess', _522 => _522.focus, 'call', _523 => _523()]), 0);
19272
+ setTimeout(() => _optionalChain([editInputRef, 'access', _523 => _523.current, 'optionalAccess', _524 => _524.focus, 'call', _525 => _525()]), 0);
19270
19273
  }, []);
19271
19274
  const confirmEdit = React53.useCallback(async () => {
19272
19275
  if (!onUpdateTag || !editingId || !editingName.trim()) return;
@@ -19293,7 +19296,7 @@ function TagsManager({
19293
19296
  e.stopPropagation();
19294
19297
  onChange([]);
19295
19298
  setSearch("");
19296
- _optionalChain([inputRef, 'access', _524 => _524.current, 'optionalAccess', _525 => _525.focus, 'call', _526 => _526()]);
19299
+ _optionalChain([inputRef, 'access', _526 => _526.current, 'optionalAccess', _527 => _527.focus, 'call', _528 => _528()]);
19297
19300
  },
19298
19301
  [onChange]
19299
19302
  );
@@ -19392,10 +19395,10 @@ function TagsManager({
19392
19395
  align: "start",
19393
19396
  onOpenAutoFocus: (e) => {
19394
19397
  e.preventDefault();
19395
- _optionalChain([inputRef, 'access', _527 => _527.current, 'optionalAccess', _528 => _528.focus, 'call', _529 => _529()]);
19398
+ _optionalChain([inputRef, 'access', _529 => _529.current, 'optionalAccess', _530 => _530.focus, 'call', _531 => _531()]);
19396
19399
  },
19397
19400
  onInteractOutside: (e) => {
19398
- if (_optionalChain([containerRef, 'access', _530 => _530.current, 'optionalAccess', _531 => _531.contains, 'call', _532 => _532(e.target)])) {
19401
+ if (_optionalChain([containerRef, 'access', _532 => _532.current, 'optionalAccess', _533 => _533.contains, 'call', _534 => _534(e.target)])) {
19399
19402
  e.preventDefault();
19400
19403
  }
19401
19404
  },
@@ -20542,19 +20545,19 @@ function TabNavigation({
20542
20545
  const validTabIds = _react.useMemo.call(void 0, () => new Set(tabs.map((t) => t.id)), [tabs]);
20543
20546
  const getInitialTab = () => {
20544
20547
  if (isUrlSyncEnabled) {
20545
- const fromUrl = _optionalChain([searchParams, 'optionalAccess', _533 => _533.get, 'call', _534 => _534(paramName)]) || "";
20548
+ const fromUrl = _optionalChain([searchParams, 'optionalAccess', _535 => _535.get, 'call', _536 => _536(paramName)]) || "";
20546
20549
  if (validTabIds.has(fromUrl)) {
20547
20550
  return fromUrl;
20548
20551
  }
20549
20552
  }
20550
- return defaultTab || _optionalChain([tabs, 'access', _535 => _535[0], 'optionalAccess', _536 => _536.id]) || "";
20553
+ return defaultTab || _optionalChain([tabs, 'access', _537 => _537[0], 'optionalAccess', _538 => _538.id]) || "";
20551
20554
  };
20552
20555
  const [internalActiveTab, setInternalActiveTab] = _react.useState.call(void 0, getInitialTab);
20553
20556
  const activeTab = isUrlSyncEnabled ? internalActiveTab : controlledActiveTab || "";
20554
20557
  _react.useEffect.call(void 0, () => {
20555
20558
  if (!isUrlSyncEnabled) return;
20556
- const fromUrl = _optionalChain([searchParams, 'optionalAccess', _537 => _537.get, 'call', _538 => _538(paramName)]) || "";
20557
- const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _539 => _539[0], 'optionalAccess', _540 => _540.id]) || "";
20559
+ const fromUrl = _optionalChain([searchParams, 'optionalAccess', _539 => _539.get, 'call', _540 => _540(paramName)]) || "";
20560
+ const nextTab = validTabIds.has(fromUrl) ? fromUrl : defaultTab || _optionalChain([tabs, 'access', _541 => _541[0], 'optionalAccess', _542 => _542.id]) || "";
20558
20561
  if (nextTab !== internalActiveTab) {
20559
20562
  setInternalActiveTab(nextTab);
20560
20563
  }
@@ -20562,13 +20565,13 @@ function TabNavigation({
20562
20565
  const handleTabChange = (tabId) => {
20563
20566
  if (isUrlSyncEnabled) {
20564
20567
  setInternalActiveTab(tabId);
20565
- const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _541 => _541.toString, 'call', _542 => _542()]));
20568
+ const params = new URLSearchParams(_optionalChain([searchParams, 'optionalAccess', _543 => _543.toString, 'call', _544 => _544()]));
20566
20569
  params.set(paramName, tabId);
20567
20570
  const method = replaceState ? "replace" : "push";
20568
20571
  router[method](`${pathname}?${params.toString()}`);
20569
- _optionalChain([controlledOnTabChange, 'optionalCall', _543 => _543(tabId)]);
20572
+ _optionalChain([controlledOnTabChange, 'optionalCall', _545 => _545(tabId)]);
20570
20573
  } else {
20571
- _optionalChain([controlledOnTabChange, 'optionalCall', _544 => _544(tabId)]);
20574
+ _optionalChain([controlledOnTabChange, 'optionalCall', _546 => _546(tabId)]);
20572
20575
  }
20573
20576
  };
20574
20577
  const scrollRef = _react.useRef.call(void 0, null);
@@ -20656,7 +20659,7 @@ function TabNavigation({
20656
20659
  var getTabById = (tabs, tabId) => tabs.find((tab) => tab.id === tabId);
20657
20660
  var getTabComponent = (tabs, tabId) => {
20658
20661
  const tab = getTabById(tabs, tabId);
20659
- return _optionalChain([tab, 'optionalAccess', _545 => _545.component]) || null;
20662
+ return _optionalChain([tab, 'optionalAccess', _547 => _547.component]) || null;
20660
20663
  };
20661
20664
 
20662
20665
  // src/components/ui/alert.tsx
@@ -20993,16 +20996,16 @@ function FilterModal({
20993
20996
  };
20994
20997
  const handleReset = () => {
20995
20998
  onFilterChange({});
20996
- _optionalChain([onTagsChange, 'optionalCall', _546 => _546([])]);
20999
+ _optionalChain([onTagsChange, 'optionalCall', _548 => _548([])]);
20997
21000
  onClose();
20998
21001
  };
20999
21002
  const handleApply = () => {
21000
21003
  onFilterChange(selectedFilters);
21001
- _optionalChain([onTagsChange, 'optionalCall', _547 => _547(pendingTags)]);
21004
+ _optionalChain([onTagsChange, 'optionalCall', _549 => _549(pendingTags)]);
21002
21005
  onClose();
21003
21006
  };
21004
21007
  const getColumnDirection = (columnKey) => {
21005
- return _optionalChain([sortConfig, 'optionalAccess', _548 => _548.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
21008
+ return _optionalChain([sortConfig, 'optionalAccess', _550 => _550.sortBy]) === columnKey ? sortConfig.sortDirection : void 0;
21006
21009
  };
21007
21010
  const hasSort = !!sortConfig && sortConfig.columns.length > 0;
21008
21011
  const hasFilterGroups = filterGroups.length > 0;
@@ -21051,7 +21054,7 @@ function FilterModal({
21051
21054
  {
21052
21055
  column,
21053
21056
  currentDirection: getColumnDirection(column.key),
21054
- onSort: (direction) => _optionalChain([onSort, 'optionalCall', _549 => _549(column.key, direction)]),
21057
+ onSort: (direction) => _optionalChain([onSort, 'optionalCall', _551 => _551(column.key, direction)]),
21055
21058
  onClear: onSortClear ? () => onSortClear(column.key) : void 0
21056
21059
  },
21057
21060
  column.key
@@ -21217,9 +21220,9 @@ function TitleBlock({
21217
21220
  const [imageFailed, setImageFailed] = React33.default.useState(false);
21218
21221
  React33.default.useEffect(() => {
21219
21222
  setImageFailed(false);
21220
- }, [_optionalChain([image, 'optionalAccess', _550 => _550.src])]);
21223
+ }, [_optionalChain([image, 'optionalAccess', _552 => _552.src])]);
21221
21224
  const showImageFallback = !!image && (imageFailed || !image.src);
21222
- const initials = getInitials3(_optionalChain([image, 'optionalAccess', _551 => _551.alt]) || title);
21225
+ const initials = getInitials3(_optionalChain([image, 'optionalAccess', _553 => _553.alt]) || title);
21223
21226
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
21224
21227
  "div",
21225
21228
  {
@@ -22015,26 +22018,26 @@ function DeviceCard({
22015
22018
  ] }),
22016
22019
  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 })
22017
22020
  ] }),
22018
- _optionalChain([actions, 'access', _552 => _552.moreButton, 'optionalAccess', _553 => _553.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22021
+ _optionalChain([actions, 'access', _554 => _554.moreButton, 'optionalAccess', _555 => _555.visible]) !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22019
22022
  "div",
22020
22023
  {
22021
22024
  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",
22022
22025
  onClick: (e) => {
22023
22026
  e.stopPropagation();
22024
- _optionalChain([actions, 'access', _554 => _554.moreButton, 'optionalAccess', _555 => _555.onClick, 'optionalCall', _556 => _556()]);
22027
+ _optionalChain([actions, 'access', _556 => _556.moreButton, 'optionalAccess', _557 => _557.onClick, 'optionalCall', _558 => _558()]);
22025
22028
  },
22026
22029
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTMD5LDX4cjs.Ellipsis01Icon, { className: "text-ods-text-primary" })
22027
22030
  }
22028
22031
  ),
22029
- _optionalChain([actions, 'access', _557 => _557.detailsButton, 'optionalAccess', _558 => _558.visible]) !== false && _optionalChain([actions, 'access', _559 => _559.detailsButton, 'optionalAccess', _560 => _560.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
22030
- _optionalChain([actions, 'access', _561 => _561.customActions, 'optionalAccess', _562 => _562.map, 'call', _563 => _563(
22032
+ _optionalChain([actions, 'access', _559 => _559.detailsButton, 'optionalAccess', _560 => _560.visible]) !== false && _optionalChain([actions, 'access', _561 => _561.detailsButton, 'optionalAccess', _562 => _562.component]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "shrink-0", onClick: (e) => e.stopPropagation(), children: actions.detailsButton.component }),
22033
+ _optionalChain([actions, 'access', _563 => _563.customActions, 'optionalAccess', _564 => _564.map, 'call', _565 => _565(
22031
22034
  (action, index) => action.visible !== false && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
22032
22035
  "div",
22033
22036
  {
22034
22037
  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",
22035
22038
  onClick: (e) => {
22036
22039
  e.stopPropagation();
22037
- _optionalChain([action, 'access', _564 => _564.onClick, 'optionalCall', _565 => _565()]);
22040
+ _optionalChain([action, 'access', _566 => _566.onClick, 'optionalCall', _567 => _567()]);
22038
22041
  },
22039
22042
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h3 text-ods-text-primary text-nowrap tracking-[-0.36px]", children: action.label })
22040
22043
  },
@@ -22393,7 +22396,7 @@ function MoreActionsMenu({
22393
22396
  ] });
22394
22397
  const handleActivate = (e) => {
22395
22398
  e.stopPropagation();
22396
- if (!item.disabled) _optionalChain([item, 'access', _566 => _566.onClick, 'optionalCall', _567 => _567()]);
22399
+ if (!item.disabled) _optionalChain([item, 'access', _568 => _568.onClick, 'optionalCall', _569 => _569()]);
22397
22400
  };
22398
22401
  if (item.href) {
22399
22402
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -22543,7 +22546,7 @@ function OrganizationIcon({
22543
22546
  backgroundStyle = "dark"
22544
22547
  }) {
22545
22548
  const { width, height } = imageSizeMap2[size];
22546
- const initials = _optionalChain([organizationName, 'optionalAccess', _568 => _568.substring, 'call', _569 => _569(0, 2)]) || "??";
22549
+ const initials = _optionalChain([organizationName, 'optionalAccess', _570 => _570.substring, 'call', _571 => _571(0, 2)]) || "??";
22547
22550
  const containerClasses = _chunkOFAYLG6Dcjs.cn.call(void 0,
22548
22551
  sizeClasses3[size],
22549
22552
  "rounded-lg flex items-center justify-center flex-shrink-0 relative",
@@ -22594,7 +22597,7 @@ function OrganizationCard({
22594
22597
  const handleActionClick = (e) => {
22595
22598
  e.preventDefault();
22596
22599
  e.stopPropagation();
22597
- _optionalChain([actionButton, 'optionalAccess', _570 => _570.onClick, 'call', _571 => _571(organization, e)]);
22600
+ _optionalChain([actionButton, 'optionalAccess', _572 => _572.onClick, 'call', _573 => _573(organization, e)]);
22598
22601
  };
22599
22602
  const card = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
22600
22603
  "div",
@@ -22751,7 +22754,7 @@ var LogCard = ({ log, isLast, showConnector, onClick }) => {
22751
22754
  onKeyDown: (e) => {
22752
22755
  if (e.key === "Enter" || e.key === " ") {
22753
22756
  e.preventDefault();
22754
- _optionalChain([onClick, 'optionalCall', _572 => _572()]);
22757
+ _optionalChain([onClick, 'optionalCall', _574 => _574()]);
22755
22758
  }
22756
22759
  },
22757
22760
  children: [
@@ -22852,7 +22855,7 @@ var LogsList = React78.forwardRef(({
22852
22855
  log,
22853
22856
  isLast: index === logs.length - 1,
22854
22857
  showConnector,
22855
- onClick: () => _optionalChain([onLogClick, 'optionalCall', _573 => _573(log)])
22858
+ onClick: () => _optionalChain([onLogClick, 'optionalCall', _575 => _575(log)])
22856
22859
  },
22857
22860
  log.id
22858
22861
  ))
@@ -23441,7 +23444,7 @@ function CursorPaginationSimple({
23441
23444
  {
23442
23445
  variant: "transparent",
23443
23446
  size: "icon",
23444
- onClick: () => _optionalChain([onPrevious, 'optionalCall', _574 => _574("")]),
23447
+ onClick: () => _optionalChain([onPrevious, 'optionalCall', _576 => _576("")]),
23445
23448
  disabled: !hasPreviousPage || loading,
23446
23449
  className: "h-8 w-8",
23447
23450
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeft, { className: "h-4 w-4" }),
@@ -23453,7 +23456,7 @@ function CursorPaginationSimple({
23453
23456
  {
23454
23457
  variant: "transparent",
23455
23458
  size: "icon",
23456
- onClick: () => _optionalChain([onNext, 'optionalCall', _575 => _575("")]),
23459
+ onClick: () => _optionalChain([onNext, 'optionalCall', _577 => _577("")]),
23457
23460
  disabled: !hasNextPage || loading,
23458
23461
  className: "h-8 w-8",
23459
23462
  rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ChevronRight, { className: "h-4 w-4" }),
@@ -23513,7 +23516,7 @@ function TableColumnFilterDropdown({
23513
23516
  placement = "bottom-start",
23514
23517
  dropdownClassName = "min-w-[240px]"
23515
23518
  }) {
23516
- const activeCount = _optionalChain([filters, 'optionalAccess', _576 => _576[columnKey], 'optionalAccess', _577 => _577.length]) || 0;
23519
+ const activeCount = _optionalChain([filters, 'optionalAccess', _578 => _578[columnKey], 'optionalAccess', _579 => _579.length]) || 0;
23517
23520
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23518
23521
  FiltersDropdown,
23519
23522
  {
@@ -23556,7 +23559,7 @@ function TableColumnFilterDropdown({
23556
23559
  delete newFilters[columnKey];
23557
23560
  onFilterChange(newFilters);
23558
23561
  },
23559
- currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _578 => _578[columnKey]]) || [] },
23562
+ currentFilters: { [columnKey]: _optionalChain([filters, 'optionalAccess', _580 => _580[columnKey]]) || [] },
23560
23563
  placement,
23561
23564
  dropdownClassName
23562
23565
  }
@@ -23853,7 +23856,7 @@ function TableRow({
23853
23856
  const keys = column.key.split(".");
23854
23857
  let value = item;
23855
23858
  for (const key of keys) {
23856
- value = _optionalChain([value, 'optionalAccess', _579 => _579[key]]);
23859
+ value = _optionalChain([value, 'optionalAccess', _581 => _581[key]]);
23857
23860
  }
23858
23861
  if (value === null || value === void 0) {
23859
23862
  return "-";
@@ -23923,7 +23926,7 @@ function TableRow({
23923
23926
  // src/components/ui/table/table.tsx
23924
23927
 
23925
23928
  function injectSyntheticColumns(columns, rowActions, renderRowActions, rowHref) {
23926
- const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _580 => _580.length])) || Boolean(renderRowActions);
23929
+ const hasActions = Boolean(_optionalChain([rowActions, 'optionalAccess', _582 => _582.length])) || Boolean(renderRowActions);
23927
23930
  const result = [...columns];
23928
23931
  if (hasActions) {
23929
23932
  const actionsColumn = {
@@ -24017,7 +24020,7 @@ function Table({
24017
24020
  return rowKey(item);
24018
24021
  }
24019
24022
  const key = item[rowKey];
24020
- return _optionalChain([key, 'optionalAccess', _581 => _581.toString, 'call', _582 => _582()]) || index.toString();
24023
+ return _optionalChain([key, 'optionalAccess', _583 => _583.toString, 'call', _584 => _584()]) || index.toString();
24021
24024
  };
24022
24025
  const getRowClassName = (item, index) => {
24023
24026
  if (typeof rowClassName === "function") {
@@ -24051,23 +24054,23 @@ function Table({
24051
24054
  const allSelected = selectedRows.length > 0 && selectedRows.length === data.length;
24052
24055
  const someSelected = selectedRows.length > 0 && selectedRows.length < data.length;
24053
24056
  const sentinelRef = _react.useRef.call(void 0, null);
24054
- const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _583 => _583.onLoadMore]));
24055
- onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _584 => _584.onLoadMore]);
24057
+ const onLoadMoreRef = _react.useRef.call(void 0, _optionalChain([infiniteScroll, 'optionalAccess', _585 => _585.onLoadMore]));
24058
+ onLoadMoreRef.current = _optionalChain([infiniteScroll, 'optionalAccess', _586 => _586.onLoadMore]);
24056
24059
  _react.useEffect.call(void 0, () => {
24057
- if (!_optionalChain([infiniteScroll, 'optionalAccess', _585 => _585.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
24060
+ if (!_optionalChain([infiniteScroll, 'optionalAccess', _587 => _587.hasNextPage]) || infiniteScroll.isFetchingNextPage) return;
24058
24061
  const sentinel = sentinelRef.current;
24059
24062
  if (!sentinel) return;
24060
24063
  const observer = new IntersectionObserver(
24061
24064
  (entries) => {
24062
- if (_optionalChain([entries, 'access', _586 => _586[0], 'optionalAccess', _587 => _587.isIntersecting])) {
24063
- _optionalChain([onLoadMoreRef, 'access', _588 => _588.current, 'optionalCall', _589 => _589()]);
24065
+ if (_optionalChain([entries, 'access', _588 => _588[0], 'optionalAccess', _589 => _589.isIntersecting])) {
24066
+ _optionalChain([onLoadMoreRef, 'access', _590 => _590.current, 'optionalCall', _591 => _591()]);
24064
24067
  }
24065
24068
  },
24066
24069
  { rootMargin: "200px" }
24067
24070
  );
24068
24071
  observer.observe(sentinel);
24069
24072
  return () => observer.disconnect();
24070
- }, [_optionalChain([infiniteScroll, 'optionalAccess', _590 => _590.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _591 => _591.isFetchingNextPage])]);
24073
+ }, [_optionalChain([infiniteScroll, 'optionalAccess', _592 => _592.hasNextPage]), _optionalChain([infiniteScroll, 'optionalAccess', _593 => _593.isFetchingNextPage])]);
24071
24074
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkOFAYLG6Dcjs.cn.call(void 0, "flex flex-col gap-1 w-full", containerClassName), children: [
24072
24075
  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: [
24073
24076
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "text-ods-text-secondary text-sm", children: [
@@ -24138,7 +24141,7 @@ function Table({
24138
24141
  },
24139
24142
  getRowKey(item, index)
24140
24143
  )),
24141
- _optionalChain([infiniteScroll, 'optionalAccess', _592 => _592.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24144
+ _optionalChain([infiniteScroll, 'optionalAccess', _594 => _594.isFetchingNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24142
24145
  TableCardSkeleton,
24143
24146
  {
24144
24147
  columns,
@@ -24147,7 +24150,7 @@ function Table({
24147
24150
  hasChevron: Boolean(rowHref)
24148
24151
  }
24149
24152
  ),
24150
- _optionalChain([infiniteScroll, 'optionalAccess', _593 => _593.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
24153
+ _optionalChain([infiniteScroll, 'optionalAccess', _595 => _595.hasNextPage]) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: sentinelRef, className: "h-1", "aria-hidden": "true" }),
24151
24154
  !infiniteScroll && Array.from({ length: Math.max(0, skeletonRows - data.length) }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
24152
24155
  "div",
24153
24156
  {
@@ -24505,7 +24508,7 @@ function QueryReportTable({
24505
24508
  );
24506
24509
  const handleExport = () => {
24507
24510
  exportToCSV(data, columns, exportFilename);
24508
- _optionalChain([onExport, 'optionalCall', _594 => _594()]);
24511
+ _optionalChain([onExport, 'optionalCall', _596 => _596()]);
24509
24512
  };
24510
24513
  const tableMinWidth = columns.length * (columnWidth + 16);
24511
24514
  const {
@@ -24678,7 +24681,7 @@ function DataTableColumnFilter({
24678
24681
  align = "left"
24679
24682
  }) {
24680
24683
  const currentValue = column.getFilterValue();
24681
- const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _595 => _595.length]), () => ( 0));
24684
+ const activeCount = _nullishCoalesce(_optionalChain([currentValue, 'optionalAccess', _597 => _597.length]), () => ( 0));
24682
24685
  const sections = _react.useMemo.call(void 0,
24683
24686
  () => [
24684
24687
  {
@@ -24758,7 +24761,7 @@ function DataTableHeader({
24758
24761
  const hasVisibleHeaderCell = headerGroup.headers.some((header) => {
24759
24762
  if (header.isPlaceholder) return false;
24760
24763
  if (isLgUp) return true;
24761
- return Boolean(_optionalChain([header, 'access', _596 => _596.column, 'access', _597 => _597.columnDef, 'access', _598 => _598.meta, 'optionalAccess', _599 => _599.filter]));
24764
+ return Boolean(_optionalChain([header, 'access', _598 => _598.column, 'access', _599 => _599.columnDef, 'access', _600 => _600.meta, 'optionalAccess', _601 => _601.filter]));
24762
24765
  });
24763
24766
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24764
24767
  "div",
@@ -24788,20 +24791,20 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
24788
24791
  if (header.isPlaceholder) return null;
24789
24792
  const column = header.column;
24790
24793
  const meta = column.columnDef.meta;
24791
- const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _600 => _600.filter]));
24792
- const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _601 => _601.align]), () => ( "left"));
24793
- const canSort = _optionalChain([meta, 'optionalAccess', _602 => _602.sortable]) === true;
24794
- const sortDir = _optionalChain([sort, 'optionalAccess', _603 => _603.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
24794
+ const hasFilter = Boolean(_optionalChain([meta, 'optionalAccess', _602 => _602.filter]));
24795
+ const align = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _603 => _603.align]), () => ( "left"));
24796
+ const canSort = _optionalChain([meta, 'optionalAccess', _604 => _604.sortable]) === true;
24797
+ const sortDir = _optionalChain([sort, 'optionalAccess', _605 => _605.id]) === column.id ? sort.desc ? "desc" : "asc" : false;
24795
24798
  if (!isLgUp && !hasFilter) return null;
24796
24799
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24797
24800
  "div",
24798
24801
  {
24799
24802
  className: _chunkOFAYLG6Dcjs.cn.call(void 0,
24800
24803
  "flex items-stretch",
24801
- isLgUp && (_optionalChain([meta, 'optionalAccess', _604 => _604.width]) || "flex-1 min-w-0"),
24802
- _optionalChain([meta, 'optionalAccess', _605 => _605.headerClassName]),
24804
+ isLgUp && (_optionalChain([meta, 'optionalAccess', _606 => _606.width]) || "flex-1 min-w-0"),
24805
+ _optionalChain([meta, 'optionalAccess', _607 => _607.headerClassName]),
24803
24806
  // Don't apply hide classes if column is filterable on tablet (keep filter accessible)
24804
- !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _606 => _606.hideAt]))
24807
+ !(hasFilter && !isLgUp) && getHideClasses2(_optionalChain([meta, 'optionalAccess', _608 => _608.hideAt]))
24805
24808
  ),
24806
24809
  children: hasFilter ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
24807
24810
  DataTableColumnFilter,
@@ -24820,7 +24823,7 @@ function HeaderCell({ header, isLgUp, sort, onSortChange }) {
24820
24823
  isLgUp && alignJustify(align),
24821
24824
  canSort && "group cursor-pointer"
24822
24825
  ),
24823
- onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _607 => _607(column.id)]) : void 0,
24826
+ onClick: canSort ? () => _optionalChain([onSortChange, 'optionalCall', _609 => _609(column.id)]) : void 0,
24824
24827
  children: [
24825
24828
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
24826
24829
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -24904,7 +24907,7 @@ function DataTableSkeleton({
24904
24907
  }) {
24905
24908
  const table = useDataTableContext();
24906
24909
  const columns = table.getVisibleFlatColumns();
24907
- const firstColumnId = _optionalChain([columns, 'access', _608 => _608[0], 'optionalAccess', _609 => _609.id]);
24910
+ const firstColumnId = _optionalChain([columns, 'access', _610 => _610[0], 'optionalAccess', _611 => _611.id]);
24908
24911
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: Array.from({ length: rows }).map((_, index) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
24909
24912
  "div",
24910
24913
  {
@@ -24928,7 +24931,7 @@ function DataTableSkeleton({
24928
24931
  {
24929
24932
  className: _chunkOFAYLG6Dcjs.cn.call(void 0,
24930
24933
  "flex flex-col justify-center shrink-0",
24931
- _optionalChain([meta, 'optionalAccess', _610 => _610.width]) || "flex-1"
24934
+ _optionalChain([meta, 'optionalAccess', _612 => _612.width]) || "flex-1"
24932
24935
  ),
24933
24936
  children: [
24934
24937
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-5 bg-ods-bg-surface rounded-sm w-3/4 mb-[var(--spacing-system-xxs)]" }),
@@ -24974,7 +24977,7 @@ function DataTableRowImpl({
24974
24977
  (e) => {
24975
24978
  const target = e.target;
24976
24979
  if (target.closest("[data-no-row-click]")) return;
24977
- _optionalChain([onClick, 'optionalCall', _611 => _611(row.original)]);
24980
+ _optionalChain([onClick, 'optionalCall', _613 => _613(row.original)]);
24978
24981
  },
24979
24982
  [onClick, row.original]
24980
24983
  );
@@ -25012,10 +25015,10 @@ function DataTableRowImpl({
25012
25015
  {
25013
25016
  className: _chunkOFAYLG6Dcjs.cn.call(void 0,
25014
25017
  "flex flex-col overflow-hidden",
25015
- alignJustify(_optionalChain([meta, 'optionalAccess', _612 => _612.align])),
25016
- _optionalChain([meta, 'optionalAccess', _613 => _613.width]) || "flex-1 min-w-0",
25017
- _optionalChain([meta, 'optionalAccess', _614 => _614.cellClassName]),
25018
- getHideClasses2(_optionalChain([meta, 'optionalAccess', _615 => _615.hideAt]))
25018
+ alignJustify(_optionalChain([meta, 'optionalAccess', _614 => _614.align])),
25019
+ _optionalChain([meta, 'optionalAccess', _615 => _615.width]) || "flex-1 min-w-0",
25020
+ _optionalChain([meta, 'optionalAccess', _616 => _616.cellClassName]),
25021
+ getHideClasses2(_optionalChain([meta, 'optionalAccess', _617 => _617.hideAt]))
25019
25022
  ),
25020
25023
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, CellContent, { children: _reacttable.flexRender.call(void 0, cell.column.columnDef.cell, cell.getContext()) })
25021
25024
  },
@@ -25061,7 +25064,7 @@ function DataTableBody({
25061
25064
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkOFAYLG6Dcjs.cn.call(void 0, "flex flex-col gap-[var(--spacing-system-xsf)] w-full", className), children: [
25062
25065
  rows.map((row, index) => {
25063
25066
  const item = row.original;
25064
- const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _616 => _616(item)]), () => ( void 0));
25067
+ const href = _nullishCoalesce(_optionalChain([rowHref, 'optionalCall', _618 => _618(item)]), () => ( void 0));
25065
25068
  const cls = typeof rowClassName === "function" ? rowClassName(item, index) : rowClassName;
25066
25069
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25067
25070
  DataTableRow,
@@ -25125,7 +25128,7 @@ function DataTableInfiniteFooter({
25125
25128
  if (!sentinel) return;
25126
25129
  const observer = new IntersectionObserver(
25127
25130
  (entries) => {
25128
- if (_optionalChain([entries, 'access', _617 => _617[0], 'optionalAccess', _618 => _618.isIntersecting])) onLoadMoreRef.current();
25131
+ if (_optionalChain([entries, 'access', _619 => _619[0], 'optionalAccess', _620 => _620.isIntersecting])) onLoadMoreRef.current();
25129
25132
  },
25130
25133
  { rootMargin }
25131
25134
  );
@@ -25173,7 +25176,7 @@ function DataTableRowCount({
25173
25176
  const table = useDataTableContext();
25174
25177
  const count = _nullishCoalesce(totalCount, () => ( table.getRowModel().rows.length));
25175
25178
  if (hideWhenEmpty && count === 0) return null;
25176
- const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _619 => _619(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
25179
+ const label = _nullishCoalesce(_optionalChain([pluralize, 'optionalCall', _621 => _621(count, itemName)]), () => ( (count === 1 ? itemName : `${itemName}s`)));
25177
25180
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
25178
25181
  "span",
25179
25182
  {
@@ -25267,12 +25270,12 @@ function PhoneInput({
25267
25270
  const runValidation = _react.useCallback.call(void 0, (phone) => {
25268
25271
  if (!phone || digitCount(phone) === 0) {
25269
25272
  setIsInvalid(false);
25270
- _optionalChain([onValidationChange, 'optionalCall', _620 => _620(false)]);
25273
+ _optionalChain([onValidationChange, 'optionalCall', _622 => _622(false)]);
25271
25274
  return;
25272
25275
  }
25273
25276
  const invalid = !validatePhoneNumber(phone, countryCode);
25274
25277
  setIsInvalid(invalid);
25275
- _optionalChain([onValidationChange, 'optionalCall', _621 => _621(invalid)]);
25278
+ _optionalChain([onValidationChange, 'optionalCall', _623 => _623(invalid)]);
25276
25279
  }, [countryCode, digitCount, onValidationChange]);
25277
25280
  const debouncedValidation = _react.useCallback.call(void 0, (phone) => {
25278
25281
  if (debounceRef.current) clearTimeout(debounceRef.current);
@@ -25321,7 +25324,7 @@ function PhoneInput({
25321
25324
  debouncedValidation(val);
25322
25325
  } else if (digitCount(val) === 0) {
25323
25326
  setIsInvalid(false);
25324
- _optionalChain([onValidationChange, 'optionalCall', _622 => _622(false)]);
25327
+ _optionalChain([onValidationChange, 'optionalCall', _624 => _624(false)]);
25325
25328
  }
25326
25329
  }
25327
25330
  },
@@ -25428,7 +25431,7 @@ function SearchInput({
25428
25431
  if (!showHiddenTags) return;
25429
25432
  const handleClick = (e) => {
25430
25433
  const target = e.target;
25431
- if (!_optionalChain([hiddenTagsRef, 'access', _623 => _623.current, 'optionalAccess', _624 => _624.contains, 'call', _625 => _625(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _626 => _626.current, 'optionalAccess', _627 => _627.contains, 'call', _628 => _628(target)])) {
25434
+ if (!_optionalChain([hiddenTagsRef, 'access', _625 => _625.current, 'optionalAccess', _626 => _626.contains, 'call', _627 => _627(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _628 => _628.current, 'optionalAccess', _629 => _629.contains, 'call', _630 => _630(target)])) {
25432
25435
  setShowHiddenTags(false);
25433
25436
  }
25434
25437
  };
@@ -25476,10 +25479,10 @@ function SearchInput({
25476
25479
  } else {
25477
25480
  setInternalValue("");
25478
25481
  }
25479
- _optionalChain([inputRef, 'access', _629 => _629.current, 'optionalAccess', _630 => _630.focus, 'call', _631 => _631()]);
25482
+ _optionalChain([inputRef, 'access', _631 => _631.current, 'optionalAccess', _632 => _632.focus, 'call', _633 => _633()]);
25480
25483
  };
25481
25484
  const handleResultClick = (result) => {
25482
- _optionalChain([onResultSelect, 'optionalCall', _632 => _632(result)]);
25485
+ _optionalChain([onResultSelect, 'optionalCall', _634 => _634(result)]);
25483
25486
  setIsOpen(false);
25484
25487
  };
25485
25488
  const handleKeyDown = (e) => {
@@ -25502,7 +25505,7 @@ function SearchInput({
25502
25505
  if (highlightedIndex >= 0 && flatResults[highlightedIndex]) {
25503
25506
  handleResultClick(flatResults[highlightedIndex]);
25504
25507
  } else {
25505
- _optionalChain([onSubmit, 'optionalCall', _633 => _633(currentValue)]);
25508
+ _optionalChain([onSubmit, 'optionalCall', _635 => _635(currentValue)]);
25506
25509
  }
25507
25510
  break;
25508
25511
  case "Escape":
@@ -25580,7 +25583,7 @@ function SearchInput({
25580
25583
  dropdownVisible && "!border-ods-accent"
25581
25584
  ),
25582
25585
  onClick: () => {
25583
- _optionalChain([inputRef, 'access', _634 => _634.current, 'optionalAccess', _635 => _635.focus, 'call', _636 => _636()]);
25586
+ _optionalChain([inputRef, 'access', _636 => _636.current, 'optionalAccess', _637 => _637.focus, 'call', _638 => _638()]);
25584
25587
  setIsOpen(true);
25585
25588
  },
25586
25589
  children: [
@@ -25664,10 +25667,10 @@ function SearchInput({
25664
25667
  align: "start",
25665
25668
  onOpenAutoFocus: (e) => {
25666
25669
  e.preventDefault();
25667
- _optionalChain([inputRef, 'access', _637 => _637.current, 'optionalAccess', _638 => _638.focus, 'call', _639 => _639()]);
25670
+ _optionalChain([inputRef, 'access', _639 => _639.current, 'optionalAccess', _640 => _640.focus, 'call', _641 => _641()]);
25668
25671
  },
25669
25672
  onInteractOutside: (e) => {
25670
- if (_optionalChain([containerRef, 'access', _640 => _640.current, 'optionalAccess', _641 => _641.contains, 'call', _642 => _642(e.target)])) {
25673
+ if (_optionalChain([containerRef, 'access', _642 => _642.current, 'optionalAccess', _643 => _643.contains, 'call', _644 => _644(e.target)])) {
25671
25674
  e.preventDefault();
25672
25675
  }
25673
25676
  },
@@ -25684,10 +25687,10 @@ function SearchInput({
25684
25687
  ref: hiddenTagsPopupRef,
25685
25688
  items: hiddenChips.map((chip) => ({ label: chip.label, value: chip.id })),
25686
25689
  style: {
25687
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _643 => _643.current, 'optionalAccess', _644 => _644.getBoundingClientRect, 'call', _645 => _645(), 'access', _646 => _646.left]), () => ( 0))) : 0
25690
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([containerRef, 'access', _645 => _645.current, 'optionalAccess', _646 => _646.getBoundingClientRect, 'call', _647 => _647(), 'access', _648 => _648.left]), () => ( 0))) : 0
25688
25691
  },
25689
25692
  onRemove: (value2) => {
25690
- _optionalChain([onFilterRemove, 'optionalCall', _647 => _647(value2)]);
25693
+ _optionalChain([onFilterRemove, 'optionalCall', _649 => _649(value2)]);
25691
25694
  if (hiddenCount <= 1) setShowHiddenTags(false);
25692
25695
  }
25693
25696
  }
@@ -25738,7 +25741,7 @@ function FilterListItem({
25738
25741
  }) {
25739
25742
  const handleToggle = () => {
25740
25743
  if (disabled) return;
25741
- _optionalChain([onToggle, 'optionalCall', _648 => _648(!selected)]);
25744
+ _optionalChain([onToggle, 'optionalCall', _650 => _650(!selected)]);
25742
25745
  };
25743
25746
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
25744
25747
  "div",
@@ -25785,7 +25788,7 @@ function FilterListItem({
25785
25788
  CheckboxPrimitive4.Root,
25786
25789
  {
25787
25790
  checked: selected,
25788
- onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _649 => _649(c === true)]),
25791
+ onCheckedChange: (c) => _optionalChain([onToggle, 'optionalCall', _651 => _651(c === true)]),
25789
25792
  onClick: (e) => e.stopPropagation(),
25790
25793
  disabled,
25791
25794
  "aria-label": title,
@@ -25884,7 +25887,7 @@ function TagSearchInput({
25884
25887
  if (!showHiddenTags) return;
25885
25888
  const handleClick = (e) => {
25886
25889
  const target = e.target;
25887
- if (!_optionalChain([hiddenTagsRef, 'access', _650 => _650.current, 'optionalAccess', _651 => _651.contains, 'call', _652 => _652(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _653 => _653.current, 'optionalAccess', _654 => _654.contains, 'call', _655 => _655(target)])) {
25890
+ if (!_optionalChain([hiddenTagsRef, 'access', _652 => _652.current, 'optionalAccess', _653 => _653.contains, 'call', _654 => _654(target)]) && !_optionalChain([hiddenTagsPopupRef, 'access', _655 => _655.current, 'optionalAccess', _656 => _656.contains, 'call', _657 => _657(target)])) {
25888
25891
  setShowHiddenTags(false);
25889
25892
  }
25890
25893
  };
@@ -25900,13 +25903,13 @@ function TagSearchInput({
25900
25903
  e.preventDefault();
25901
25904
  onSubmit(searchValue);
25902
25905
  }
25903
- _optionalChain([onKeyDown, 'optionalCall', _656 => _656(e)]);
25906
+ _optionalChain([onKeyDown, 'optionalCall', _658 => _658(e)]);
25904
25907
  };
25905
25908
  const handleClearAll = (e) => {
25906
25909
  e.stopPropagation();
25907
25910
  e.preventDefault();
25908
- _optionalChain([onClearAll, 'optionalCall', _657 => _657()]);
25909
- _optionalChain([inputRef, 'access', _658 => _658.current, 'optionalAccess', _659 => _659.focus, 'call', _660 => _660()]);
25911
+ _optionalChain([onClearAll, 'optionalCall', _659 => _659()]);
25912
+ _optionalChain([inputRef, 'access', _660 => _660.current, 'optionalAccess', _661 => _661.focus, 'call', _662 => _662()]);
25910
25913
  };
25911
25914
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref: wrapperRef, className: "relative", children: [
25912
25915
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -25923,7 +25926,7 @@ function TagSearchInput({
25923
25926
  className
25924
25927
  ),
25925
25928
  onClick: () => {
25926
- if (!disabled) _optionalChain([inputRef, 'access', _661 => _661.current, 'optionalAccess', _662 => _662.focus, 'call', _663 => _663()]);
25929
+ if (!disabled) _optionalChain([inputRef, 'access', _663 => _663.current, 'optionalAccess', _664 => _664.focus, 'call', _665 => _665()]);
25927
25930
  },
25928
25931
  children: [
25929
25932
  /* @__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" }) }),
@@ -25995,7 +25998,7 @@ function TagSearchInput({
25995
25998
  items: hiddenTags,
25996
25999
  disabled,
25997
26000
  style: {
25998
- left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _664 => _664.current, 'optionalAccess', _665 => _665.getBoundingClientRect, 'call', _666 => _666(), 'access', _667 => _667.left]), () => ( 0))) : 0
26001
+ left: badgeRef.current ? badgeRef.current.getBoundingClientRect().left - (_nullishCoalesce(_optionalChain([wrapperRef, 'access', _666 => _666.current, 'optionalAccess', _667 => _667.getBoundingClientRect, 'call', _668 => _668(), 'access', _669 => _669.left]), () => ( 0))) : 0
25999
26002
  },
26000
26003
  onRemove: (value) => {
26001
26004
  onTagRemove(value);
@@ -26097,7 +26100,7 @@ function MarkdownEditor({
26097
26100
  const [defaultExtraCommands, setDefaultExtraCommands] = _react.useState.call(void 0, []);
26098
26101
  _react.useEffect.call(void 0, () => {
26099
26102
  Promise.resolve().then(() => _interopRequireWildcard(require("@uiw/react-md-editor"))).then((mod) => {
26100
- if (_optionalChain([mod, 'access', _668 => _668.commands, 'optionalAccess', _669 => _669.getExtraCommands])) {
26103
+ if (_optionalChain([mod, 'access', _670 => _670.commands, 'optionalAccess', _671 => _671.getExtraCommands])) {
26101
26104
  setDefaultExtraCommands(mod.commands.getExtraCommands());
26102
26105
  }
26103
26106
  });
@@ -26131,7 +26134,7 @@ function MarkdownEditor({
26131
26134
  const isImage = file.type.startsWith("image/");
26132
26135
  const markdown = isImage ? `![${file.name}](${url})` : `[${file.name}](${url})`;
26133
26136
  insertTextAtCursor(markdown);
26134
- _optionalChain([onFileUploaded, 'optionalCall', _670 => _670(url, file.name)]);
26137
+ _optionalChain([onFileUploaded, 'optionalCall', _672 => _672(url, file.name)]);
26135
26138
  } catch (error) {
26136
26139
  console.error("File upload failed:", error);
26137
26140
  setUploadProgress("Upload failed. Please try again.");
@@ -26144,7 +26147,7 @@ function MarkdownEditor({
26144
26147
  );
26145
26148
  const handleFileInputChange = _react.useCallback.call(void 0,
26146
26149
  (e) => {
26147
- const file = _optionalChain([e, 'access', _671 => _671.target, 'access', _672 => _672.files, 'optionalAccess', _673 => _673[0]]);
26150
+ const file = _optionalChain([e, 'access', _673 => _673.target, 'access', _674 => _674.files, 'optionalAccess', _675 => _675[0]]);
26148
26151
  if (file) {
26149
26152
  handleFileUpload(file);
26150
26153
  e.target.value = "";
@@ -26155,7 +26158,7 @@ function MarkdownEditor({
26155
26158
  const handlePaste = _react.useCallback.call(void 0,
26156
26159
  (e) => {
26157
26160
  if (!onUploadFile) return;
26158
- const items = _optionalChain([e, 'access', _674 => _674.clipboardData, 'optionalAccess', _675 => _675.items]);
26161
+ const items = _optionalChain([e, 'access', _676 => _676.clipboardData, 'optionalAccess', _677 => _677.items]);
26159
26162
  if (!items) return;
26160
26163
  for (const item of items) {
26161
26164
  if (item.type.startsWith("image/")) {
@@ -26180,7 +26183,7 @@ function MarkdownEditor({
26180
26183
  buttonProps: { "aria-label": "Upload file", title: "Upload file" },
26181
26184
  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" }),
26182
26185
  execute: () => {
26183
- _optionalChain([fileInputRef, 'access', _676 => _676.current, 'optionalAccess', _677 => _677.click, 'call', _678 => _678()]);
26186
+ _optionalChain([fileInputRef, 'access', _678 => _678.current, 'optionalAccess', _679 => _679.click, 'call', _680 => _680()]);
26184
26187
  }
26185
26188
  } : null;
26186
26189
  const extraCommands = uploadCommand ? [...defaultExtraCommands, uploadCommand] : defaultExtraCommands;
@@ -26192,7 +26195,7 @@ function MarkdownEditor({
26192
26195
  const EDGE_ZONE = 60;
26193
26196
  const MAX_SCROLL_SPEED = 15;
26194
26197
  const findScrollParent = _react.useCallback.call(void 0, (el) => {
26195
- let node = _optionalChain([el, 'optionalAccess', _679 => _679.parentElement]);
26198
+ let node = _optionalChain([el, 'optionalAccess', _681 => _681.parentElement]);
26196
26199
  while (node && node !== document.documentElement) {
26197
26200
  const { overflowY } = window.getComputedStyle(node);
26198
26201
  if ((overflowY === "auto" || overflowY === "scroll") && node.scrollHeight > node.clientHeight) {
@@ -26335,7 +26338,7 @@ function matchesAccept(file, accept) {
26335
26338
  });
26336
26339
  }
26337
26340
  function dragHasFiles(e) {
26338
- const types = _optionalChain([e, 'access', _680 => _680.dataTransfer, 'optionalAccess', _681 => _681.types]);
26341
+ const types = _optionalChain([e, 'access', _682 => _682.dataTransfer, 'optionalAccess', _683 => _683.types]);
26339
26342
  if (!types) return false;
26340
26343
  for (let i = 0; i < types.length; i++) {
26341
26344
  if (types[i] === "Files") return true;
@@ -26430,7 +26433,7 @@ function FileUpload({
26430
26433
  e.stopPropagation();
26431
26434
  setDragActive(false);
26432
26435
  if (disabled) return;
26433
- if (_optionalChain([e, 'access', _682 => _682.dataTransfer, 'access', _683 => _683.files, 'optionalAccess', _684 => _684.length])) {
26436
+ if (_optionalChain([e, 'access', _684 => _684.dataTransfer, 'access', _685 => _685.files, 'optionalAccess', _686 => _686.length])) {
26434
26437
  handleFiles(e.dataTransfer.files);
26435
26438
  }
26436
26439
  };
@@ -26458,7 +26461,7 @@ function FileUpload({
26458
26461
  e.preventDefault();
26459
26462
  dragCounter = 0;
26460
26463
  setDragActive(false);
26461
- if (_optionalChain([e, 'access', _685 => _685.dataTransfer, 'optionalAccess', _686 => _686.files, 'optionalAccess', _687 => _687.length])) {
26464
+ if (_optionalChain([e, 'access', _687 => _687.dataTransfer, 'optionalAccess', _688 => _688.files, 'optionalAccess', _689 => _689.length])) {
26462
26465
  handleFilesRef.current(e.dataTransfer.files);
26463
26466
  }
26464
26467
  };
@@ -26480,7 +26483,7 @@ function FileUpload({
26480
26483
  };
26481
26484
  }, [acceptWindowDrops, disabled]);
26482
26485
  const handleFileSelect = (e) => {
26483
- if (_optionalChain([e, 'access', _688 => _688.target, 'access', _689 => _689.files, 'optionalAccess', _690 => _690.length])) {
26486
+ if (_optionalChain([e, 'access', _690 => _690.target, 'access', _691 => _691.files, 'optionalAccess', _692 => _692.length])) {
26484
26487
  handleFiles(e.target.files);
26485
26488
  }
26486
26489
  };
@@ -26497,7 +26500,7 @@ function FileUpload({
26497
26500
  };
26498
26501
  const openDialog = async () => {
26499
26502
  if (disabled) return;
26500
- _optionalChain([fileInputRef, 'access', _691 => _691.current, 'optionalAccess', _692 => _692.click, 'call', _693 => _693()]);
26503
+ _optionalChain([fileInputRef, 'access', _693 => _693.current, 'optionalAccess', _694 => _694.click, 'call', _695 => _695()]);
26501
26504
  };
26502
26505
  const displayError = error || validationError || void 0;
26503
26506
  const hasFiles = isManaged ? managedFiles.length > 0 : files.length > 0;
@@ -26575,7 +26578,7 @@ function FileUpload({
26575
26578
  "button",
26576
26579
  {
26577
26580
  type: "button",
26578
- onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _694 => _694(entry.id)]),
26581
+ onClick: () => _optionalChain([onRemoveManagedFile, 'optionalCall', _696 => _696(entry.id)]),
26579
26582
  className: "shrink-0 p-1 rounded hover:bg-ods-bg transition-colors",
26580
26583
  "aria-label": `Remove ${entry.fileName}`,
26581
26584
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.X, { className: "size-4 text-ods-text-secondary" })
@@ -26698,7 +26701,7 @@ function ImageUploader({
26698
26701
  onChange(file);
26699
26702
  };
26700
26703
  const handleFileSelect = (e) => {
26701
- validateAndEmit(_optionalChain([e, 'access', _695 => _695.target, 'access', _696 => _696.files, 'optionalAccess', _697 => _697[0]]));
26704
+ validateAndEmit(_optionalChain([e, 'access', _697 => _697.target, 'access', _698 => _698.files, 'optionalAccess', _699 => _699[0]]));
26702
26705
  if (inputRef.current) inputRef.current.value = "";
26703
26706
  };
26704
26707
  const handleDrag = (e) => {
@@ -26713,11 +26716,11 @@ function ImageUploader({
26713
26716
  e.stopPropagation();
26714
26717
  setDragActive(false);
26715
26718
  if (!interactive) return;
26716
- validateAndEmit(_optionalChain([e, 'access', _698 => _698.dataTransfer, 'access', _699 => _699.files, 'optionalAccess', _700 => _700[0]]));
26719
+ validateAndEmit(_optionalChain([e, 'access', _700 => _700.dataTransfer, 'access', _701 => _701.files, 'optionalAccess', _702 => _702[0]]));
26717
26720
  };
26718
26721
  const openDialog = () => {
26719
26722
  if (!interactive) return;
26720
- _optionalChain([inputRef, 'access', _701 => _701.current, 'optionalAccess', _702 => _702.click, 'call', _703 => _703()]);
26723
+ _optionalChain([inputRef, 'access', _703 => _703.current, 'optionalAccess', _704 => _704.click, 'call', _705 => _705()]);
26721
26724
  };
26722
26725
  const handleRootKeyDown = (e) => {
26723
26726
  if (hasImage || !interactive) return;
@@ -26874,7 +26877,7 @@ function CompactAssigneeDropdown({
26874
26877
  return [current, ...filtered.filter((o) => o.value !== currentAssignee.id)];
26875
26878
  }, [filtered, currentAssignee]);
26876
26879
  const handleSelect = (userId) => {
26877
- const next = _optionalChain([currentAssignee, 'optionalAccess', _704 => _704.id]) === userId ? null : userId;
26880
+ const next = _optionalChain([currentAssignee, 'optionalAccess', _706 => _706.id]) === userId ? null : userId;
26878
26881
  onAssign(next);
26879
26882
  setIsOpen(false);
26880
26883
  };
@@ -26939,7 +26942,7 @@ function CompactAssigneeDropdown({
26939
26942
  }
26940
26943
  ) }),
26941
26944
  /* @__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) => {
26942
- const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _705 => _705.id]) === opt.value;
26945
+ const isCurrent = _optionalChain([currentAssignee, 'optionalAccess', _707 => _707.id]) === opt.value;
26943
26946
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
26944
26947
  "button",
26945
26948
  {
@@ -27008,7 +27011,7 @@ function DefaultAssigneeDropdown({
27008
27011
  Autocomplete,
27009
27012
  {
27010
27013
  options,
27011
- value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _706 => _706.id]), () => ( null)),
27014
+ value: _nullishCoalesce(_optionalChain([currentAssignee, 'optionalAccess', _708 => _708.id]), () => ( null)),
27012
27015
  onChange: (val) => {
27013
27016
  onAssign(val);
27014
27017
  setIsEditing(false);
@@ -27395,14 +27398,14 @@ function TicketInfoSection({
27395
27398
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27396
27399
  SquareAvatar,
27397
27400
  {
27398
- src: _optionalChain([organization, 'optionalAccess', _707 => _707.imageSrc]),
27399
- alt: _optionalChain([organization, 'optionalAccess', _708 => _708.name]),
27400
- fallback: _optionalChain([organization, 'optionalAccess', _709 => _709.name]) || "Org",
27401
+ src: _optionalChain([organization, 'optionalAccess', _709 => _709.imageSrc]),
27402
+ alt: _optionalChain([organization, 'optionalAccess', _710 => _710.name]),
27403
+ fallback: _optionalChain([organization, 'optionalAccess', _711 => _711.name]) || "Org",
27401
27404
  size: "md",
27402
27405
  className: "shrink-0"
27403
27406
  }
27404
27407
  ),
27405
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _710 => _710.name]) || "Unassigned", label: "Organization" })
27408
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, InfoCell2, { value: _optionalChain([organization, 'optionalAccess', _712 => _712.name]) || "Unassigned", label: "Organization" })
27406
27409
  ] }),
27407
27410
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0", children: assigned ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27408
27411
  AssigneeDropdown,
@@ -27423,10 +27426,10 @@ function TicketInfoSection({
27423
27426
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
27424
27427
  InfoCell2,
27425
27428
  {
27426
- value: _optionalChain([device, 'optionalAccess', _711 => _711.name]) || "Unassigned",
27429
+ value: _optionalChain([device, 'optionalAccess', _713 => _713.name]) || "Unassigned",
27427
27430
  label: "Device",
27428
- icon: _optionalChain([device, 'optionalAccess', _712 => _712.icon]),
27429
- onClick: _optionalChain([device, 'optionalAccess', _713 => _713.onClick])
27431
+ icon: _optionalChain([device, 'optionalAccess', _714 => _714.icon]),
27432
+ onClick: _optionalChain([device, 'optionalAccess', _715 => _715.onClick])
27430
27433
  }
27431
27434
  ),
27432
27435
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-4 min-w-0", children: [
@@ -28186,10 +28189,10 @@ var getContentDimensions = (config) => {
28186
28189
  const envMobileHeight = process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_MOBILE_HEIGHT) : null;
28187
28190
  const envDesktopWidth = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_WIDTH) : null;
28188
28191
  const envDesktopHeight = process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT ? parseInt(process.env.NEXT_PUBLIC_FIGMA_DESKTOP_HEIGHT) : null;
28189
- const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _714 => _714.mobileContentDimensions, 'optionalAccess', _715 => _715.width]))), () => ( defaultMobile.width));
28190
- const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _716 => _716.mobileContentDimensions, 'optionalAccess', _717 => _717.height]))), () => ( defaultMobile.height));
28191
- const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _718 => _718.desktopContentDimensions, 'optionalAccess', _719 => _719.width]))), () => ( defaultDesktop.width));
28192
- const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _720 => _720.desktopContentDimensions, 'optionalAccess', _721 => _721.height]))), () => ( defaultDesktop.height));
28192
+ const mobileWidth = _nullishCoalesce(_nullishCoalesce(envMobileWidth, () => ( _optionalChain([config, 'optionalAccess', _716 => _716.mobileContentDimensions, 'optionalAccess', _717 => _717.width]))), () => ( defaultMobile.width));
28193
+ const mobileHeight = _nullishCoalesce(_nullishCoalesce(envMobileHeight, () => ( _optionalChain([config, 'optionalAccess', _718 => _718.mobileContentDimensions, 'optionalAccess', _719 => _719.height]))), () => ( defaultMobile.height));
28194
+ const desktopWidth = _nullishCoalesce(_nullishCoalesce(envDesktopWidth, () => ( _optionalChain([config, 'optionalAccess', _720 => _720.desktopContentDimensions, 'optionalAccess', _721 => _721.width]))), () => ( defaultDesktop.width));
28195
+ const desktopHeight = _nullishCoalesce(_nullishCoalesce(envDesktopHeight, () => ( _optionalChain([config, 'optionalAccess', _722 => _722.desktopContentDimensions, 'optionalAccess', _723 => _723.height]))), () => ( defaultDesktop.height));
28193
28196
  return {
28194
28197
  mobile: { width: mobileWidth, height: mobileHeight },
28195
28198
  desktop: { width: desktopWidth, height: desktopHeight }
@@ -28323,7 +28326,7 @@ function renderUnifiedUI(state, handlers, config, iframeRef) {
28323
28326
  const contentDimensions = getContentDimensions(config);
28324
28327
  const mobileHeight = contentDimensions.mobile.height;
28325
28328
  const calculatedHeight = Math.max(mobileHeight + 100, 400);
28326
- return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _722 => _722.innerHeight]) * 0.85 || 650)}px`;
28329
+ return `${Math.min(calculatedHeight, _optionalChain([window, 'optionalAccess', _724 => _724.innerHeight]) * 0.85 || 650)}px`;
28327
28330
  })(),
28328
28331
  minHeight: viewMode === "DESKTOP" ? "auto" : (() => {
28329
28332
  const contentDimensions = getContentDimensions(config);
@@ -28428,7 +28431,7 @@ var FigmaPrototypeViewer = ({
28428
28431
  const [isInitialized, setIsInitialized] = _react.useState.call(void 0, false);
28429
28432
  const [currentNodeId, setCurrentNodeId] = _react.useState.call(void 0, null);
28430
28433
  const [internalActiveSection, setInternalActiveSection] = _react.useState.call(void 0,
28431
- config.defaultSectionId || _optionalChain([config, 'access', _723 => _723.sections, 'access', _724 => _724[0], 'optionalAccess', _725 => _725.id]) || ""
28434
+ config.defaultSectionId || _optionalChain([config, 'access', _725 => _725.sections, 'access', _726 => _726[0], 'optionalAccess', _727 => _727.id]) || ""
28432
28435
  );
28433
28436
  const activeSection = externalActiveSection || internalActiveSection;
28434
28437
  const [isNavigating, setIsNavigating] = _react.useState.call(void 0, false);
@@ -28518,7 +28521,7 @@ var FigmaPrototypeViewer = ({
28518
28521
  const handleMessage = (event) => {
28519
28522
  if (event.origin !== "https://www.figma.com") return;
28520
28523
  const validEvents = ["INITIAL_LOAD", "NEW_STATE", "PRESENTED_NODE_CHANGED"];
28521
- if (_optionalChain([event, 'access', _726 => _726.data, 'optionalAccess', _727 => _727.type]) && validEvents.includes(event.data.type)) {
28524
+ if (_optionalChain([event, 'access', _728 => _728.data, 'optionalAccess', _729 => _729.type]) && validEvents.includes(event.data.type)) {
28522
28525
  const figmaEvent = event.data;
28523
28526
  console.log("[Figma Event]", figmaEvent.type, viewMode);
28524
28527
  switch (figmaEvent.type) {
@@ -28528,19 +28531,19 @@ var FigmaPrototypeViewer = ({
28528
28531
  setIframeState("READY");
28529
28532
  break;
28530
28533
  case "PRESENTED_NODE_CHANGED":
28531
- if (_optionalChain([figmaEvent, 'access', _728 => _728.data, 'optionalAccess', _729 => _729.presentedNodeId])) {
28534
+ if (_optionalChain([figmaEvent, 'access', _730 => _730.data, 'optionalAccess', _731 => _731.presentedNodeId])) {
28532
28535
  setCurrentNodeId(figmaEvent.data.presentedNodeId);
28533
28536
  if (!isNavigating) {
28534
28537
  const matchingSection = config.sections.find((s) => {
28535
- const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _730 => _730.data, 'optionalAccess', _731 => _731.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _732 => _732.data, 'optionalAccess', _733 => _733.presentedNodeId]);
28536
- const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _734 => _734.data, 'optionalAccess', _735 => _735.presentedNodeId]) || _optionalChain([s, 'access', _736 => _736.mobileStartingNodeId, 'optionalAccess', _737 => _737.replace, 'call', _738 => _738(":", "-")]) === _optionalChain([figmaEvent, 'access', _739 => _739.data, 'optionalAccess', _740 => _740.presentedNodeId]);
28538
+ const desktopMatch = s.startingNodeId === _optionalChain([figmaEvent, 'access', _732 => _732.data, 'optionalAccess', _733 => _733.presentedNodeId]) || s.startingNodeId.replace(":", "-") === _optionalChain([figmaEvent, 'access', _734 => _734.data, 'optionalAccess', _735 => _735.presentedNodeId]);
28539
+ const mobileMatch = s.mobileStartingNodeId === _optionalChain([figmaEvent, 'access', _736 => _736.data, 'optionalAccess', _737 => _737.presentedNodeId]) || _optionalChain([s, 'access', _738 => _738.mobileStartingNodeId, 'optionalAccess', _739 => _739.replace, 'call', _740 => _740(":", "-")]) === _optionalChain([figmaEvent, 'access', _741 => _741.data, 'optionalAccess', _742 => _742.presentedNodeId]);
28537
28540
  return desktopMatch || mobileMatch;
28538
28541
  });
28539
28542
  if (matchingSection && matchingSection.id !== activeSection) {
28540
28543
  if (!externalActiveSection) {
28541
28544
  setInternalActiveSection(matchingSection.id);
28542
28545
  }
28543
- _optionalChain([config, 'access', _741 => _741.onSectionChange, 'optionalCall', _742 => _742(matchingSection.id)]);
28546
+ _optionalChain([config, 'access', _743 => _743.onSectionChange, 'optionalCall', _744 => _744(matchingSection.id)]);
28544
28547
  }
28545
28548
  }
28546
28549
  }
@@ -28553,7 +28556,7 @@ var FigmaPrototypeViewer = ({
28553
28556
  }, [config.sections, activeSection, isNavigating, externalActiveSection, config.onSectionChange, viewMode]);
28554
28557
  const navigateToSection = _react.useCallback.call(void 0, (sectionId) => {
28555
28558
  const section = config.sections.find((s) => s.id === sectionId);
28556
- if (!section || !_optionalChain([iframeRef, 'access', _743 => _743.current, 'optionalAccess', _744 => _744.contentWindow]) || !isInitialized) {
28559
+ if (!section || !_optionalChain([iframeRef, 'access', _745 => _745.current, 'optionalAccess', _746 => _746.contentWindow]) || !isInitialized) {
28557
28560
  return;
28558
28561
  }
28559
28562
  setIsNavigating(true);
@@ -28561,7 +28564,7 @@ var FigmaPrototypeViewer = ({
28561
28564
  if (!externalActiveSection) {
28562
28565
  setInternalActiveSection(sectionId);
28563
28566
  }
28564
- _optionalChain([config, 'access', _745 => _745.onSectionChange, 'optionalCall', _746 => _746(sectionId)]);
28567
+ _optionalChain([config, 'access', _747 => _747.onSectionChange, 'optionalCall', _748 => _748(sectionId)]);
28565
28568
  const command = {
28566
28569
  type: "NAVIGATE_TO_FRAME_AND_CLOSE_OVERLAYS",
28567
28570
  data: { nodeId }
@@ -28881,7 +28884,7 @@ var FiltersDropdown = ({
28881
28884
  defaults[section.id] = section.defaultSelected || [];
28882
28885
  });
28883
28886
  setSelectedFilters(defaults);
28884
- _optionalChain([onReset, 'optionalCall', _747 => _747()]);
28887
+ _optionalChain([onReset, 'optionalCall', _749 => _749()]);
28885
28888
  setIsOpen(false);
28886
28889
  };
28887
28890
  const handleApply = () => {
@@ -29175,7 +29178,7 @@ function MediaGalleryManager({
29175
29178
  const [deletingIndex, setDeletingIndex] = _react.useState.call(void 0, null);
29176
29179
  const [draggedIndex, setDraggedIndex] = _react.useState.call(void 0, null);
29177
29180
  const handleFileSelect = _react.useCallback.call(void 0, async (event) => {
29178
- const file = _optionalChain([event, 'access', _748 => _748.target, 'access', _749 => _749.files, 'optionalAccess', _750 => _750[0]]);
29181
+ const file = _optionalChain([event, 'access', _750 => _750.target, 'access', _751 => _751.files, 'optionalAccess', _752 => _752[0]]);
29179
29182
  if (!file) return;
29180
29183
  let mediaType;
29181
29184
  if (file.type.startsWith("image/")) {
@@ -29290,7 +29293,7 @@ function MediaGalleryManager({
29290
29293
  {
29291
29294
  type: "button",
29292
29295
  variant: "outline",
29293
- onClick: () => _optionalChain([fileInputRef, 'access', _751 => _751.current, 'optionalAccess', _752 => _752.click, 'call', _753 => _753()]),
29296
+ onClick: () => _optionalChain([fileInputRef, 'access', _753 => _753.current, 'optionalAccess', _754 => _754.click, 'call', _755 => _755()]),
29294
29297
  disabled: isUploading,
29295
29298
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
29296
29299
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -30075,7 +30078,7 @@ function ReleaseMediaManager({
30075
30078
  const fileInputRef = _react.useRef.call(void 0, null);
30076
30079
  const [uploadingIndex, setUploadingIndex] = _react.useState.call(void 0, null);
30077
30080
  const handleFileSelect = async (event) => {
30078
- const file = _optionalChain([event, 'access', _754 => _754.target, 'access', _755 => _755.files, 'optionalAccess', _756 => _756[0]]);
30081
+ const file = _optionalChain([event, 'access', _756 => _756.target, 'access', _757 => _757.files, 'optionalAccess', _758 => _758[0]]);
30079
30082
  if (!file) return;
30080
30083
  let mediaType;
30081
30084
  if (file.type.startsWith("image/")) {
@@ -30155,7 +30158,7 @@ function ReleaseMediaManager({
30155
30158
  {
30156
30159
  type: "button",
30157
30160
  variant: "outline",
30158
- onClick: () => _optionalChain([fileInputRef, 'access', _757 => _757.current, 'optionalAccess', _758 => _758.click, 'call', _759 => _759()]),
30161
+ onClick: () => _optionalChain([fileInputRef, 'access', _759 => _759.current, 'optionalAccess', _760 => _760.click, 'call', _761 => _761()]),
30159
30162
  disabled: uploadingIndex !== null,
30160
30163
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Plus, { className: "h-4 w-4" }),
30161
30164
  className: "font-['DM_Sans'] text-[16px] font-bold",
@@ -30368,7 +30371,7 @@ function SEOEditorPreview({
30368
30371
  const displayImage = hasOgImage || hasFeaturedImage;
30369
30372
  const handleImageUpload = async (event) => {
30370
30373
  if (!onOgImageUpload) return;
30371
- const file = _optionalChain([event, 'access', _760 => _760.target, 'access', _761 => _761.files, 'optionalAccess', _762 => _762[0]]);
30374
+ const file = _optionalChain([event, 'access', _762 => _762.target, 'access', _763 => _763.files, 'optionalAccess', _764 => _764[0]]);
30372
30375
  if (!file) return;
30373
30376
  setIsUploading(true);
30374
30377
  try {
@@ -30499,7 +30502,7 @@ function SEOEditorPreview({
30499
30502
  type: "button",
30500
30503
  variant: "outline",
30501
30504
  size: "icon",
30502
- onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _763 => _763.click, 'call', _764 => _764()]),
30505
+ onClick: () => _optionalChain([fileInputRef, 'optionalAccess', _765 => _765.click, 'call', _766 => _766()]),
30503
30506
  disabled: disabled || isUploading,
30504
30507
  className: "bg-white text-black hover:bg-gray-100 rounded-full opacity-0 group-hover:opacity-100",
30505
30508
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-4 w-4" })
@@ -30522,7 +30525,7 @@ function SEOEditorPreview({
30522
30525
  "div",
30523
30526
  {
30524
30527
  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",
30525
- onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _765 => _765.click, 'call', _766 => _766()]),
30528
+ onClick: () => onOgImageUpload && _optionalChain([fileInputRef, 'optionalAccess', _767 => _767.click, 'call', _768 => _768()]),
30526
30529
  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: [
30527
30530
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Upload, { className: "h-8 w-8 text-ods-text-secondary mb-2" }),
30528
30531
  /* @__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" })
@@ -30607,7 +30610,7 @@ function SocialLinksManager({
30607
30610
  className = ""
30608
30611
  }) {
30609
30612
  const addLink = () => {
30610
- const firstPlatform = _optionalChain([platforms, 'access', _767 => _767[0], 'optionalAccess', _768 => _768.name]) || "website";
30613
+ const firstPlatform = _optionalChain([platforms, 'access', _769 => _769[0], 'optionalAccess', _770 => _770.name]) || "website";
30611
30614
  onChange([...links, { platform: firstPlatform, url: "" }]);
30612
30615
  };
30613
30616
  const removeLink = (index) => {
@@ -30619,7 +30622,7 @@ function SocialLinksManager({
30619
30622
  onChange(updated);
30620
30623
  };
30621
30624
  const getIcon = (link, platform) => {
30622
- const iconKey = _optionalChain([platform, 'optionalAccess', _769 => _769.icon_name]) || link.platform;
30625
+ const iconKey = _optionalChain([platform, 'optionalAccess', _771 => _771.icon_name]) || link.platform;
30623
30626
  const IconComponent = iconMap[iconKey];
30624
30627
  return IconComponent ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: "w-5 h-5 text-ods-text-secondary" }) : null;
30625
30628
  };
@@ -30644,7 +30647,7 @@ function SocialLinksManager({
30644
30647
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
30645
30648
  _chunkBJTOSUT4cjs.Input,
30646
30649
  {
30647
- placeholder: _optionalChain([platform, 'optionalAccess', _770 => _770.placeholder]) || "Profile URL",
30650
+ placeholder: _optionalChain([platform, 'optionalAccess', _772 => _772.placeholder]) || "Profile URL",
30648
30651
  value: link.url,
30649
30652
  onChange: (e) => updateLink(index, "url", e.target.value),
30650
30653
  onKeyDown: (e) => {
@@ -31021,7 +31024,7 @@ function VideoSourceSelector({
31021
31024
  input.accept = "video/*";
31022
31025
  input.onchange = async (e) => {
31023
31026
  const target = e.target;
31024
- const file = _optionalChain([target, 'access', _771 => _771.files, 'optionalAccess', _772 => _772[0]]);
31027
+ const file = _optionalChain([target, 'access', _773 => _773.files, 'optionalAccess', _774 => _774[0]]);
31025
31028
  if (!file) return;
31026
31029
  setIsUploading(true);
31027
31030
  setUploadProgress(0);
@@ -31351,7 +31354,7 @@ function TranscriptSummaryEditor({
31351
31354
  {
31352
31355
  id: "subtitles",
31353
31356
  value: subtitles || "",
31354
- onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _773 => _773(e.target.value)]),
31357
+ onChange: (e) => _optionalChain([onSubtitlesChange, 'optionalCall', _775 => _775(e.target.value)]),
31355
31358
  placeholder: subtitlesPlaceholder,
31356
31359
  disabled: disabled || !onSubtitlesChange,
31357
31360
  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",
@@ -31504,7 +31507,7 @@ var AIEnrichSection = ({
31504
31507
  }) => {
31505
31508
  const hasResults = status === "success" || status === "error";
31506
31509
  const shouldDisable = disabled || !canEnrich;
31507
- const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _774 => _774.filter, 'call', _775 => _775((f) => !f.isFilled)]) || [];
31510
+ const unfilledFields = _optionalChain([requiredFields, 'optionalAccess', _776 => _776.filter, 'call', _777 => _777((f) => !f.isFilled)]) || [];
31508
31511
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
31509
31512
  "div",
31510
31513
  {
@@ -31542,7 +31545,7 @@ var AIEnrichSection = ({
31542
31545
  {
31543
31546
  id: "ai-enrich-custom-instructions",
31544
31547
  value: _nullishCoalesce(customInstructions, () => ( "")),
31545
- onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _776 => _776(e.target.value)]),
31548
+ onChange: (e) => _optionalChain([onCustomInstructionsChange, 'optionalCall', _778 => _778(e.target.value)]),
31546
31549
  placeholder: customInstructionsPlaceholder,
31547
31550
  disabled: loading,
31548
31551
  maxLength: customInstructionsMaxLength,
@@ -31671,7 +31674,7 @@ function HighlightVideoSection({
31671
31674
  input.accept = "video/*";
31672
31675
  input.onchange = async (e) => {
31673
31676
  const target = e.target;
31674
- const file = _optionalChain([target, 'access', _777 => _777.files, 'optionalAccess', _778 => _778[0]]);
31677
+ const file = _optionalChain([target, 'access', _779 => _779.files, 'optionalAccess', _780 => _780[0]]);
31675
31678
  if (!file) return;
31676
31679
  setUploadError(null);
31677
31680
  try {
@@ -32173,7 +32176,7 @@ function HighlightVideoPreview({
32173
32176
  input.accept = "video/*";
32174
32177
  input.onchange = async (e) => {
32175
32178
  const target = e.target;
32176
- const file = _optionalChain([target, 'access', _779 => _779.files, 'optionalAccess', _780 => _780[0]]);
32179
+ const file = _optionalChain([target, 'access', _781 => _781.files, 'optionalAccess', _782 => _782[0]]);
32177
32180
  if (!file) return;
32178
32181
  await onUpload(file);
32179
32182
  };
@@ -32360,7 +32363,7 @@ function HighlightVideoCombinedSection({
32360
32363
  input.accept = "video/*";
32361
32364
  input.onchange = async (e) => {
32362
32365
  const target = e.target;
32363
- const file = _optionalChain([target, 'access', _781 => _781.files, 'optionalAccess', _782 => _782[0]]);
32366
+ const file = _optionalChain([target, 'access', _783 => _783.files, 'optionalAccess', _784 => _784[0]]);
32364
32367
  if (!file) return;
32365
32368
  await onUpload(file);
32366
32369
  };
@@ -32657,7 +32660,7 @@ var getApprovalLevelLabel = (level, editMode = false) => {
32657
32660
  return editMode ? "Set Global Permission" : "";
32658
32661
  }
32659
32662
  const option = approvalLevelOptions.find((opt) => opt.value === level);
32660
- return _optionalChain([option, 'optionalAccess', _783 => _783.label]) || level;
32663
+ return _optionalChain([option, 'optionalAccess', _785 => _785.label]) || level;
32661
32664
  };
32662
32665
  var PolicyRow = ({ policy, categoryId, editMode, onPermissionChange }) => {
32663
32666
  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: [
@@ -33189,15 +33192,15 @@ function TicketCard({
33189
33192
  transform: _utilities.CSS.Transform.toString(sortable.transform),
33190
33193
  transition: sortable.transition
33191
33194
  };
33192
- const showDeviceRow = !!(_optionalChain([ticket, 'access', _784 => _784.deviceHostnames, 'optionalAccess', _785 => _785.length]) || ticket.organizationName);
33195
+ const showDeviceRow = !!(_optionalChain([ticket, 'access', _786 => _786.deviceHostnames, 'optionalAccess', _787 => _787.length]) || ticket.organizationName);
33193
33196
  const deviceText = [
33194
- _optionalChain([ticket, 'access', _786 => _786.deviceHostnames, 'optionalAccess', _787 => _787.join, 'call', _788 => _788(", ")]),
33197
+ _optionalChain([ticket, 'access', _788 => _788.deviceHostnames, 'optionalAccess', _789 => _789.join, 'call', _790 => _790(", ")]),
33195
33198
  ticket.organizationName
33196
33199
  ].filter(Boolean).join(", ");
33197
33200
  const handleClick = (e) => {
33198
33201
  if (sortable.isDragging) e.preventDefault();
33199
33202
  };
33200
- const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _789 => _789.assignees, 'optionalAccess', _790 => _790.length]) || renderAssignSlot);
33203
+ const hasRightSection = !!(ticket.priority || _optionalChain([ticket, 'access', _791 => _791.assignees, 'optionalAccess', _792 => _792.length]) || renderAssignSlot);
33201
33204
  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: [
33202
33205
  ticket.priority && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33203
33206
  _chunkTMD5LDX4cjs.Flag02Icon,
@@ -33206,7 +33209,7 @@ function TicketCard({
33206
33209
  "aria-label": `Priority: ${ticket.priority}`
33207
33210
  }
33208
33211
  ),
33209
- renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _791 => _791.assignees, 'optionalAccess', _792 => _792.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
33212
+ renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _793 => _793.assignees, 'optionalAccess', _794 => _794.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
33210
33213
  ticket.assignees.slice(0, MAX_VISIBLE_ASSIGNEES).map((a) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33211
33214
  SquareAvatar,
33212
33215
  {
@@ -33235,7 +33238,7 @@ function TicketCard({
33235
33238
  ] }),
33236
33239
  rightSection
33237
33240
  ] }),
33238
- _optionalChain([ticket, 'access', _793 => _793.tags, 'optionalAccess', _794 => _794.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null
33241
+ _optionalChain([ticket, 'access', _795 => _795.tags, 'optionalAccess', _796 => _796.length]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TicketTagRow, { tags: ticket.tags }) : null
33239
33242
  ] });
33240
33243
  const cardClasses = _chunkOFAYLG6Dcjs.cn.call(void 0,
33241
33244
  "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",
@@ -33395,7 +33398,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
33395
33398
  const observer = new IntersectionObserver(
33396
33399
  (entries) => {
33397
33400
  if (entries.some((e) => e.isIntersecting)) {
33398
- _optionalChain([loadMoreRef, 'access', _795 => _795.current, 'optionalCall', _796 => _796(columnIdRef.current)]);
33401
+ _optionalChain([loadMoreRef, 'access', _797 => _797.current, 'optionalCall', _798 => _798(columnIdRef.current)]);
33399
33402
  }
33400
33403
  },
33401
33404
  { root, rootMargin: loadMoreRootMargin }
@@ -33424,7 +33427,7 @@ function ColumnBody({ column, getTicketHref, renderAssignSlot, onLoadMore, loadM
33424
33427
  {
33425
33428
  ticket: t,
33426
33429
  columnId: column.id,
33427
- href: _optionalChain([getTicketHref, 'optionalCall', _797 => _797(t.id)]),
33430
+ href: _optionalChain([getTicketHref, 'optionalCall', _799 => _799(t.id)]),
33428
33431
  renderAssignSlot,
33429
33432
  dragDisabled: column.dragDisabled
33430
33433
  },
@@ -33507,17 +33510,17 @@ function Board({
33507
33510
  const pointer = _core.pointerWithin.call(void 0, args);
33508
33511
  const intersections = pointer.length > 0 ? pointer : _core.rectIntersection.call(void 0, args);
33509
33512
  const ticketHit = intersections.find(
33510
- (c) => _optionalChain([c, 'access', _798 => _798.data, 'optionalAccess', _799 => _799.droppableContainer, 'optionalAccess', _800 => _800.data, 'optionalAccess', _801 => _801.current, 'optionalAccess', _802 => _802.type]) === "ticket"
33513
+ (c) => _optionalChain([c, 'access', _800 => _800.data, 'optionalAccess', _801 => _801.droppableContainer, 'optionalAccess', _802 => _802.data, 'optionalAccess', _803 => _803.current, 'optionalAccess', _804 => _804.type]) === "ticket"
33511
33514
  );
33512
33515
  if (ticketHit) return [ticketHit];
33513
33516
  const columnHit = intersections.find(
33514
- (c) => _optionalChain([c, 'access', _803 => _803.data, 'optionalAccess', _804 => _804.droppableContainer, 'optionalAccess', _805 => _805.data, 'optionalAccess', _806 => _806.current, 'optionalAccess', _807 => _807.type]) === "column"
33517
+ (c) => _optionalChain([c, 'access', _805 => _805.data, 'optionalAccess', _806 => _806.droppableContainer, 'optionalAccess', _807 => _807.data, 'optionalAccess', _808 => _808.current, 'optionalAccess', _809 => _809.type]) === "column"
33515
33518
  );
33516
33519
  if (columnHit) {
33517
- const columnId = _optionalChain([columnHit, 'access', _808 => _808.data, 'optionalAccess', _809 => _809.droppableContainer, 'optionalAccess', _810 => _810.data, 'optionalAccess', _811 => _811.current, 'optionalAccess', _812 => _812.columnId]);
33520
+ const columnId = _optionalChain([columnHit, 'access', _810 => _810.data, 'optionalAccess', _811 => _811.droppableContainer, 'optionalAccess', _812 => _812.data, 'optionalAccess', _813 => _813.current, 'optionalAccess', _814 => _814.columnId]);
33518
33521
  const ticketsInColumn = args.droppableContainers.filter((c) => {
33519
33522
  const d = c.data.current;
33520
- return _optionalChain([d, 'optionalAccess', _813 => _813.type]) === "ticket" && d.columnId === columnId;
33523
+ return _optionalChain([d, 'optionalAccess', _815 => _815.type]) === "ticket" && d.columnId === columnId;
33521
33524
  });
33522
33525
  if (ticketsInColumn.length > 0) {
33523
33526
  const closest = _core.closestCorners.call(void 0, { ...args, droppableContainers: ticketsInColumn });
@@ -33542,20 +33545,20 @@ function Board({
33542
33545
  const overId = String(over.id);
33543
33546
  if (activeId === overId) return;
33544
33547
  const overData = over.data.current;
33545
- const fromColumnId = _optionalChain([locate, 'call', _814 => _814(items, activeId), 'optionalAccess', _815 => _815.columnId]);
33546
- const toColumnId = _optionalChain([overData, 'optionalAccess', _816 => _816.columnId]);
33548
+ const fromColumnId = _optionalChain([locate, 'call', _816 => _816(items, activeId), 'optionalAccess', _817 => _817.columnId]);
33549
+ const toColumnId = _optionalChain([overData, 'optionalAccess', _818 => _818.columnId]);
33547
33550
  if (!fromColumnId || !toColumnId || fromColumnId === toColumnId) return;
33548
33551
  const origin = dragOriginRef.current;
33549
- const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _817 => _817.fromColumnId]) === toColumnId;
33552
+ const isReturnToOrigin = _optionalChain([origin, 'optionalAccess', _819 => _819.fromColumnId]) === toColumnId;
33550
33553
  const targetCol = items.find((c) => c.id === toColumnId);
33551
- const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _818 => _818.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
33552
- if (_optionalChain([targetCol, 'optionalAccess', _819 => _819.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
33554
+ const blockedBySource = !isReturnToOrigin && !!_optionalChain([targetCol, 'optionalAccess', _820 => _820.allowedFromColumns]) && !!origin && !targetCol.allowedFromColumns.includes(origin.fromColumnId);
33555
+ if (_optionalChain([targetCol, 'optionalAccess', _821 => _821.dropDisabled]) && !isReturnToOrigin || blockedBySource) return;
33553
33556
  setItems((prev) => {
33554
33557
  const fromIndex = findIndexInColumn(prev, fromColumnId, activeId);
33555
33558
  const toCol = prev.find((c) => c.id === toColumnId);
33556
33559
  if (fromIndex < 0 || !toCol) return prev;
33557
33560
  let toIndex;
33558
- if (_optionalChain([overData, 'optionalAccess', _820 => _820.type]) === "column") {
33561
+ if (_optionalChain([overData, 'optionalAccess', _822 => _822.type]) === "column") {
33559
33562
  toIndex = toCol.tickets.length;
33560
33563
  } else {
33561
33564
  const overIndex = toCol.tickets.findIndex((t) => t.id === overId);
@@ -33597,14 +33600,14 @@ function Board({
33597
33600
  const toColumnId = located.columnId;
33598
33601
  const isCrossColumn = origin.fromColumnId !== toColumnId;
33599
33602
  const targetCol = items.find((c) => c.id === toColumnId);
33600
- if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _821 => _821.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _822 => _822.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
33603
+ if (isCrossColumn && (_optionalChain([targetCol, 'optionalAccess', _823 => _823.dropDisabled]) || _optionalChain([targetCol, 'optionalAccess', _824 => _824.allowedFromColumns]) && !targetCol.allowedFromColumns.includes(origin.fromColumnId))) {
33601
33604
  setItems(columns);
33602
33605
  return;
33603
33606
  }
33604
33607
  let finalIndex = located.index;
33605
- let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _823 => _823.find, 'call', _824 => _824((c) => c.id === toColumnId), 'optionalAccess', _825 => _825.tickets]), () => ( []));
33608
+ let finalColumnTickets = _nullishCoalesce(_optionalChain([items, 'access', _825 => _825.find, 'call', _826 => _826((c) => c.id === toColumnId), 'optionalAccess', _827 => _827.tickets]), () => ( []));
33606
33609
  const overData = over.data.current;
33607
- if (_optionalChain([overData, 'optionalAccess', _826 => _826.type]) === "ticket") {
33610
+ if (_optionalChain([overData, 'optionalAccess', _828 => _828.type]) === "ticket") {
33608
33611
  const overIndex = findIndexInColumn(items, toColumnId, String(over.id));
33609
33612
  if (overIndex >= 0 && overIndex !== located.index) {
33610
33613
  finalColumnTickets = _sortable.arrayMove.call(void 0, finalColumnTickets, located.index, overIndex);
@@ -33624,8 +33627,8 @@ function Board({
33624
33627
  ticketId: origin.ticketId,
33625
33628
  fromColumnId: origin.fromColumnId,
33626
33629
  toColumnId,
33627
- afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _827 => _827[finalIndex - 1], 'optionalAccess', _828 => _828.id]), () => ( null)),
33628
- beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _829 => _829[finalIndex + 1], 'optionalAccess', _830 => _830.id]), () => ( null))
33630
+ afterTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _829 => _829[finalIndex - 1], 'optionalAccess', _830 => _830.id]), () => ( null)),
33631
+ beforeTicketId: _nullishCoalesce(_optionalChain([finalColumnTickets, 'access', _831 => _831[finalIndex + 1], 'optionalAccess', _832 => _832.id]), () => ( null))
33629
33632
  });
33630
33633
  };
33631
33634
  const handleDragCancel = () => {
@@ -33647,8 +33650,8 @@ function Board({
33647
33650
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunkOFAYLG6Dcjs.cn.call(void 0, "flex h-full overflow-x-auto", className), children: items.map((column, i) => {
33648
33651
  const prev = items[i - 1];
33649
33652
  const next = items[i + 1];
33650
- const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _831 => _831.system]));
33651
- const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _832 => _832.system]));
33653
+ const joinLeft = !!(column.system && _optionalChain([prev, 'optionalAccess', _833 => _833.system]));
33654
+ const joinRight = !!(column.system && _optionalChain([next, 'optionalAccess', _834 => _834.system]));
33652
33655
  const showGap = i > 0 && !joinLeft;
33653
33656
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, React101.Fragment, { children: [
33654
33657
  showGap && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "aria-hidden": true, className: "w-[var(--spacing-system-mf)] shrink-0" }),
@@ -33682,7 +33685,7 @@ function locate(cols, ticketId) {
33682
33685
  return null;
33683
33686
  }
33684
33687
  function findIndexInColumn(cols, columnId, ticketId) {
33685
- return _nullishCoalesce(_optionalChain([cols, 'access', _833 => _833.find, 'call', _834 => _834((c) => c.id === columnId), 'optionalAccess', _835 => _835.tickets, 'access', _836 => _836.findIndex, 'call', _837 => _837((t) => t.id === ticketId)]), () => ( -1));
33688
+ return _nullishCoalesce(_optionalChain([cols, 'access', _835 => _835.find, 'call', _836 => _836((c) => c.id === columnId), 'optionalAccess', _837 => _837.tickets, 'access', _838 => _838.findIndex, 'call', _839 => _839((t) => t.id === ticketId)]), () => ( -1));
33686
33689
  }
33687
33690
 
33688
33691
  // src/components/features/board/types.ts
@@ -34342,4 +34345,4 @@ function canonicalize(status) {
34342
34345
 
34343
34346
 
34344
34347
  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.PulseDots = PulseDots; 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.MemoizedChatMessageEnhanced = MemoizedChatMessageEnhanced; exports.ChatMessageListLoader = ChatMessageListLoader; exports.useDelayedFlag = useDelayedFlag; exports.ChatMessageList = ChatMessageList; 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.VideoPlayer = VideoPlayer; 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.YouTubeEmbed = YouTubeEmbed; exports.extractYouTubeId = extractYouTubeId; exports.YouTubeLinkParser = YouTubeLinkParser; 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.Tabs = Tabs; exports.TabsList = TabsList; exports.TabsTrigger = TabsTrigger; exports.TabsContent = TabsContent; exports.Accordion = Accordion; exports.AccordionItem = AccordionItem; exports.AccordionTrigger = AccordionTrigger; exports.AccordionContent = AccordionContent; exports.Breadcrumb = Breadcrumb; exports.BreadcrumbList = BreadcrumbList; exports.BreadcrumbItem = BreadcrumbItem; exports.BreadcrumbLink = BreadcrumbLink; exports.BreadcrumbPage = BreadcrumbPage; exports.BreadcrumbSeparator = BreadcrumbSeparator; exports.BreadcrumbEllipsis = BreadcrumbEllipsis; exports.MenubarMenu = MenubarMenu; exports.MenubarGroup = MenubarGroup; exports.MenubarPortal = MenubarPortal; exports.MenubarSub = MenubarSub; exports.MenubarRadioGroup = MenubarRadioGroup; exports.Menubar = Menubar; exports.MenubarTrigger = MenubarTrigger; exports.MenubarSubTrigger = MenubarSubTrigger; exports.MenubarSubContent = MenubarSubContent; exports.MenubarContent = MenubarContent; exports.MenubarItem = MenubarItem; exports.MenubarCheckboxItem = MenubarCheckboxItem; exports.MenubarRadioItem = MenubarRadioItem; exports.MenubarLabel = MenubarLabel; exports.MenubarSeparator = MenubarSeparator; exports.MenubarShortcut = MenubarShortcut; exports.NavigationMenu = NavigationMenu; exports.NavigationMenuList = NavigationMenuList; exports.NavigationMenuItem = NavigationMenuItem; exports.navigationMenuTriggerStyle = navigationMenuTriggerStyle; exports.NavigationMenuTrigger = NavigationMenuTrigger; exports.NavigationMenuContent = NavigationMenuContent; exports.NavigationMenuLink = NavigationMenuLink; exports.NavigationMenuViewport = NavigationMenuViewport; exports.NavigationMenuIndicator = NavigationMenuIndicator; exports.TabContent = TabContent; exports.TabNavigation = TabNavigation; exports.getTabById = getTabById; exports.getTabComponent = getTabComponent; exports.Alert = Alert; exports.AlertTitle = AlertTitle; exports.AlertDescription = AlertDescription; exports.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.TicketKnowledgeBaseList = TicketKnowledgeBaseList; 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;
34345
- //# sourceMappingURL=chunk-SVF4YOGM.cjs.map
34348
+ //# sourceMappingURL=chunk-C6ZMI4UB.cjs.map