@iblai/iblai-js 1.23.0 → 1.24.0

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.
@@ -6,7 +6,7 @@ import { useGetUserMetadataQuery, useGetUserMetadataEdxQuery, useUpdateUserMetad
6
6
  import { getInitials, useTenantMetadata, WithPermissions, useStripeUpgrade, openExternalUrl, CHAT_AREA_SIZE, isAlphaNumeric32, checkRbacPermission, selectNumberOfActiveChatMessages, useUsername, selectStreaming, isLoggedIn, TOOLS, isSafariBrowser, useShowAttachment, useShowVoiceCall, useShowVoiceRecorder, useMentorSettings, selectShowingSharedChat, selectRbacPermissions, useShowFreeTrialDialog, useEmbedMode, chatInputSliceSelectors, useResponsive, useAccessingPublicRoute, useVisitingTenant, useModelFileUploadCapabilities, useChatFileUpload, useVoiceChat, selectAttachedFiles, MENTOR_CHAT_DOCUMENTS_EXTENSIONS, removeFile, chatInputSliceActions, chatActions, WithFormPermissions, useTenantContext, TimeTracker, advancedTabsProperties, defaultSessionIds, ANONYMOUS_USERNAME as ANONYMOUS_USERNAME$2, redirectToAuthSpaJoinTenant, selectActiveTab, useAxdToken, useWelcomeMessage, markdownToPlainText, useCachedSessionId, use402ErrorCheck, selectTokenEnabled, selectToken, useServiceWorker, useUserAgreement, useAdvancedChat, sendMessageToParentWebsite, useMentorTools, useFileDragDrop, eventBus, RemoteEvents, selectEnableChatActionsPopup, advancedTabs, isInIframe, getAuthSpaJoinUrl, addMessage, clearFiles, MENTOR_VISIBILITY } from '@iblai/web-utils';
7
7
  import { useDispatch, useSelector } from 'react-redux';
8
8
  import { toast } from 'sonner';
9
- import { useSearchParams, useParams, usePathname } from 'next/navigation';
9
+ import { useSearchParams, useParams, useRouter, usePathname } from 'next/navigation';
10
10
  import Image$4 from 'next/image';
11
11
  import Link$2 from 'next/link';
12
12
  import * as ReactDOM from 'react-dom';
@@ -18,7 +18,7 @@ import { MentorVisibilityEnum, TransportEnum, PromptVisibilityEnum } from '@ibla
18
18
  import '@reduxjs/toolkit/query';
19
19
  import dynamic from 'next/dynamic';
20
20
  import Script from 'next/script';
21
- import { useRouter } from 'next/router';
21
+ import { useRouter as useRouter$1 } from 'next/router';
22
22
  import { Room, RoomEvent, ConnectionState, VideoPresets, Track, ParticipantEvent } from 'livekit-client';
23
23
  import { RoomContext, RoomAudioRenderer, VideoConference, formatChatMessageLinks, useRoomContext } from '@livekit/components-react';
24
24
  import { createRoot } from 'react-dom/client';
@@ -49337,12 +49337,12 @@ const __iconNode$oC = [
49337
49337
  ["path", { d: "M5 12H2a10 10 0 0 0 20 0h-3", key: "1hv3nh" }],
49338
49338
  ["circle", { cx: "12", cy: "5", r: "3", key: "rqqgnr" }]
49339
49339
  ];
49340
- const Anchor$3 = createLucideIcon("anchor", __iconNode$oC);
49340
+ const Anchor$4 = createLucideIcon("anchor", __iconNode$oC);
49341
49341
 
49342
49342
  var anchor = /*#__PURE__*/Object.freeze({
49343
49343
  __proto__: null,
49344
49344
  __iconNode: __iconNode$oC,
49345
- default: Anchor$3
49345
+ default: Anchor$4
49346
49346
  });
49347
49347
 
49348
49348
  /**
@@ -90901,8 +90901,8 @@ const arrow$2 = (options, deps) => {
90901
90901
  };
90902
90902
 
90903
90903
  // packages/react/arrow/src/arrow.tsx
90904
- var NAME$8 = "Arrow";
90905
- var Arrow$3 = React.forwardRef((props, forwardedRef) => {
90904
+ var NAME$9 = "Arrow";
90905
+ var Arrow$5 = React.forwardRef((props, forwardedRef) => {
90906
90906
  const { children, width = 10, height = 5, ...arrowProps } = props;
90907
90907
  return /* @__PURE__ */ jsx(
90908
90908
  Primitive$4.svg,
@@ -90917,8 +90917,8 @@ var Arrow$3 = React.forwardRef((props, forwardedRef) => {
90917
90917
  }
90918
90918
  );
90919
90919
  });
90920
- Arrow$3.displayName = NAME$8;
90921
- var Root$e = Arrow$3;
90920
+ Arrow$5.displayName = NAME$9;
90921
+ var Root$g = Arrow$5;
90922
90922
 
90923
90923
  // packages/react/use-size/src/use-size.tsx
90924
90924
  function useSize$1(element) {
@@ -90956,20 +90956,20 @@ function useSize$1(element) {
90956
90956
  return size;
90957
90957
  }
90958
90958
 
90959
- var POPPER_NAME$1 = "Popper";
90960
- var [createPopperContext$1, createPopperScope$1] = createContextScope$1(POPPER_NAME$1);
90961
- var [PopperProvider$1, usePopperContext$1] = createPopperContext$1(POPPER_NAME$1);
90962
- var Popper$1 = (props) => {
90959
+ var POPPER_NAME$2 = "Popper";
90960
+ var [createPopperContext$2, createPopperScope$2] = createContextScope$1(POPPER_NAME$2);
90961
+ var [PopperProvider$2, usePopperContext$2] = createPopperContext$2(POPPER_NAME$2);
90962
+ var Popper$2 = (props) => {
90963
90963
  const { __scopePopper, children } = props;
90964
90964
  const [anchor, setAnchor] = React.useState(null);
90965
- return /* @__PURE__ */ jsx(PopperProvider$1, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });
90965
+ return /* @__PURE__ */ jsx(PopperProvider$2, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });
90966
90966
  };
90967
- Popper$1.displayName = POPPER_NAME$1;
90968
- var ANCHOR_NAME$3 = "PopperAnchor";
90969
- var PopperAnchor$1 = React.forwardRef(
90967
+ Popper$2.displayName = POPPER_NAME$2;
90968
+ var ANCHOR_NAME$4 = "PopperAnchor";
90969
+ var PopperAnchor$2 = React.forwardRef(
90970
90970
  (props, forwardedRef) => {
90971
90971
  const { __scopePopper, virtualRef, ...anchorProps } = props;
90972
- const context = usePopperContext$1(ANCHOR_NAME$3, __scopePopper);
90972
+ const context = usePopperContext$2(ANCHOR_NAME$4, __scopePopper);
90973
90973
  const ref = React.useRef(null);
90974
90974
  const composedRefs = useComposedRefs$1(forwardedRef, ref);
90975
90975
  React.useEffect(() => {
@@ -90978,10 +90978,10 @@ var PopperAnchor$1 = React.forwardRef(
90978
90978
  return virtualRef ? null : /* @__PURE__ */ jsx(Primitive$4.div, { ...anchorProps, ref: composedRefs });
90979
90979
  }
90980
90980
  );
90981
- PopperAnchor$1.displayName = ANCHOR_NAME$3;
90982
- var CONTENT_NAME$8 = "PopperContent";
90983
- var [PopperContentProvider$1, useContentContext$1] = createPopperContext$1(CONTENT_NAME$8);
90984
- var PopperContent$1 = React.forwardRef(
90981
+ PopperAnchor$2.displayName = ANCHOR_NAME$4;
90982
+ var CONTENT_NAME$b = "PopperContent";
90983
+ var [PopperContentProvider$2, useContentContext$2] = createPopperContext$2(CONTENT_NAME$b);
90984
+ var PopperContent$2 = React.forwardRef(
90985
90985
  (props, forwardedRef) => {
90986
90986
  const {
90987
90987
  __scopePopper,
@@ -90999,7 +90999,7 @@ var PopperContent$1 = React.forwardRef(
90999
90999
  onPlaced,
91000
91000
  ...contentProps
91001
91001
  } = props;
91002
- const context = usePopperContext$1(CONTENT_NAME$8, __scopePopper);
91002
+ const context = usePopperContext$2(CONTENT_NAME$b, __scopePopper);
91003
91003
  const [content, setContent] = React.useState(null);
91004
91004
  const composedRefs = useComposedRefs$1(forwardedRef, (node) => setContent(node));
91005
91005
  const [arrow, setArrow] = React.useState(null);
@@ -91012,7 +91012,7 @@ var PopperContent$1 = React.forwardRef(
91012
91012
  const hasExplicitBoundaries = boundary.length > 0;
91013
91013
  const detectOverflowOptions = {
91014
91014
  padding: collisionPadding,
91015
- boundary: boundary.filter(isNotNull$1),
91015
+ boundary: boundary.filter(isNotNull$2),
91016
91016
  // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries
91017
91017
  altBoundary: hasExplicitBoundaries
91018
91018
  };
@@ -91050,11 +91050,11 @@ var PopperContent$1 = React.forwardRef(
91050
91050
  }
91051
91051
  }),
91052
91052
  arrow && arrow$2({ element: arrow, padding: arrowPadding }),
91053
- transformOrigin$2({ arrowWidth, arrowHeight }),
91053
+ transformOrigin$3({ arrowWidth, arrowHeight }),
91054
91054
  hideWhenDetached && hide({ strategy: "referenceHidden", ...detectOverflowOptions })
91055
91055
  ]
91056
91056
  });
91057
- const [placedSide, placedAlign] = getSideAndAlignFromPlacement$1(placement);
91057
+ const [placedSide, placedAlign] = getSideAndAlignFromPlacement$2(placement);
91058
91058
  const handlePlaced = useCallbackRef$2(onPlaced);
91059
91059
  useLayoutEffect2$1(() => {
91060
91060
  if (isPositioned) {
@@ -91093,7 +91093,7 @@ var PopperContent$1 = React.forwardRef(
91093
91093
  },
91094
91094
  dir: props.dir,
91095
91095
  children: /* @__PURE__ */ jsx(
91096
- PopperContentProvider$1,
91096
+ PopperContentProvider$2,
91097
91097
  {
91098
91098
  scope: __scopePopper,
91099
91099
  placedSide,
@@ -91122,18 +91122,18 @@ var PopperContent$1 = React.forwardRef(
91122
91122
  );
91123
91123
  }
91124
91124
  );
91125
- PopperContent$1.displayName = CONTENT_NAME$8;
91126
- var ARROW_NAME$6 = "PopperArrow";
91127
- var OPPOSITE_SIDE$1 = {
91125
+ PopperContent$2.displayName = CONTENT_NAME$b;
91126
+ var ARROW_NAME$8 = "PopperArrow";
91127
+ var OPPOSITE_SIDE$2 = {
91128
91128
  top: "bottom",
91129
91129
  right: "left",
91130
91130
  bottom: "top",
91131
91131
  left: "right"
91132
91132
  };
91133
- var PopperArrow$1 = React.forwardRef(function PopperArrow2(props, forwardedRef) {
91133
+ var PopperArrow$2 = React.forwardRef(function PopperArrow2(props, forwardedRef) {
91134
91134
  const { __scopePopper, ...arrowProps } = props;
91135
- const contentContext = useContentContext$1(ARROW_NAME$6, __scopePopper);
91136
- const baseSide = OPPOSITE_SIDE$1[contentContext.placedSide];
91135
+ const contentContext = useContentContext$2(ARROW_NAME$8, __scopePopper);
91136
+ const baseSide = OPPOSITE_SIDE$2[contentContext.placedSide];
91137
91137
  return (
91138
91138
  // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)
91139
91139
  // doesn't report size as we'd expect on SVG elements.
@@ -91162,7 +91162,7 @@ var PopperArrow$1 = React.forwardRef(function PopperArrow2(props, forwardedRef)
91162
91162
  visibility: contentContext.shouldHideArrow ? "hidden" : void 0
91163
91163
  },
91164
91164
  children: /* @__PURE__ */ jsx(
91165
- Root$e,
91165
+ Root$g,
91166
91166
  {
91167
91167
  ...arrowProps,
91168
91168
  ref: forwardedRef,
@@ -91177,11 +91177,11 @@ var PopperArrow$1 = React.forwardRef(function PopperArrow2(props, forwardedRef)
91177
91177
  )
91178
91178
  );
91179
91179
  });
91180
- PopperArrow$1.displayName = ARROW_NAME$6;
91181
- function isNotNull$1(value) {
91180
+ PopperArrow$2.displayName = ARROW_NAME$8;
91181
+ function isNotNull$2(value) {
91182
91182
  return value !== null;
91183
91183
  }
91184
- var transformOrigin$2 = (options) => ({
91184
+ var transformOrigin$3 = (options) => ({
91185
91185
  name: "transformOrigin",
91186
91186
  options,
91187
91187
  fn(data) {
@@ -91190,7 +91190,7 @@ var transformOrigin$2 = (options) => ({
91190
91190
  const isArrowHidden = cannotCenterArrow;
91191
91191
  const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;
91192
91192
  const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;
91193
- const [placedSide, placedAlign] = getSideAndAlignFromPlacement$1(placement);
91193
+ const [placedSide, placedAlign] = getSideAndAlignFromPlacement$2(placement);
91194
91194
  const noArrowAlign = { start: "0%", center: "50%", end: "100%" }[placedAlign];
91195
91195
  const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;
91196
91196
  const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;
@@ -91212,24 +91212,24 @@ var transformOrigin$2 = (options) => ({
91212
91212
  return { data: { x, y } };
91213
91213
  }
91214
91214
  });
91215
- function getSideAndAlignFromPlacement$1(placement) {
91215
+ function getSideAndAlignFromPlacement$2(placement) {
91216
91216
  const [side, align = "center"] = placement.split("-");
91217
91217
  return [side, align];
91218
91218
  }
91219
- var Root2$8 = Popper$1;
91220
- var Anchor$2 = PopperAnchor$1;
91221
- var Content$2 = PopperContent$1;
91222
- var Arrow$2 = PopperArrow$1;
91219
+ var Root2$a = Popper$2;
91220
+ var Anchor$3 = PopperAnchor$2;
91221
+ var Content$3 = PopperContent$2;
91222
+ var Arrow$4 = PopperArrow$2;
91223
91223
 
91224
- var PORTAL_NAME$8 = "Portal";
91225
- var Portal$6 = React.forwardRef((props, forwardedRef) => {
91224
+ var PORTAL_NAME$9 = "Portal";
91225
+ var Portal$7 = React.forwardRef((props, forwardedRef) => {
91226
91226
  const { container: containerProp, ...portalProps } = props;
91227
91227
  const [mounted, setMounted] = React.useState(false);
91228
91228
  useLayoutEffect2$1(() => setMounted(true), []);
91229
91229
  const container = containerProp || mounted && globalThis?.document?.body;
91230
91230
  return container ? ReactDOM__default.createPortal(/* @__PURE__ */ jsx(Primitive$4.div, { ...portalProps, ref: forwardedRef }), container) : null;
91231
91231
  });
91232
- Portal$6.displayName = PORTAL_NAME$8;
91232
+ Portal$7.displayName = PORTAL_NAME$9;
91233
91233
 
91234
91234
  function useStateMachine$4(initialState, machine) {
91235
91235
  return React.useReducer((state, event) => {
@@ -91560,7 +91560,7 @@ function focusFirst$3(candidates, preventScroll = false) {
91560
91560
  function wrapArray$3(array, startIndex) {
91561
91561
  return array.map((_, index) => array[(startIndex + index) % array.length]);
91562
91562
  }
91563
- var Root$d = RovingFocusGroup$1;
91563
+ var Root$f = RovingFocusGroup$1;
91564
91564
  var Item$3 = RovingFocusGroupItem$1;
91565
91565
 
91566
91566
  var getDefaultParent = function (originalTarget) {
@@ -92473,16 +92473,16 @@ var MENU_NAME = "Menu";
92473
92473
  var [Collection$3, useCollection$3, createCollectionScope$3] = createCollection$2(MENU_NAME);
92474
92474
  var [createMenuContext, createMenuScope] = createContextScope$1(MENU_NAME, [
92475
92475
  createCollectionScope$3,
92476
- createPopperScope$1,
92476
+ createPopperScope$2,
92477
92477
  createRovingFocusGroupScope$1
92478
92478
  ]);
92479
- var usePopperScope$3 = createPopperScope$1();
92479
+ var usePopperScope$4 = createPopperScope$2();
92480
92480
  var useRovingFocusGroupScope$2 = createRovingFocusGroupScope$1();
92481
92481
  var [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);
92482
92482
  var [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);
92483
92483
  var Menu = (props) => {
92484
92484
  const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;
92485
- const popperScope = usePopperScope$3(__scopeMenu);
92485
+ const popperScope = usePopperScope$4(__scopeMenu);
92486
92486
  const [content, setContent] = React.useState(null);
92487
92487
  const isUsingKeyboardRef = React.useRef(false);
92488
92488
  const handleOpenChange = useCallbackRef$2(onOpenChange);
@@ -92501,7 +92501,7 @@ var Menu = (props) => {
92501
92501
  document.removeEventListener("pointermove", handlePointer, { capture: true });
92502
92502
  };
92503
92503
  }, []);
92504
- return /* @__PURE__ */ jsx(Root2$8, { ...popperScope, children: /* @__PURE__ */ jsx(
92504
+ return /* @__PURE__ */ jsx(Root2$a, { ...popperScope, children: /* @__PURE__ */ jsx(
92505
92505
  MenuProvider,
92506
92506
  {
92507
92507
  scope: __scopeMenu,
@@ -92524,39 +92524,39 @@ var Menu = (props) => {
92524
92524
  ) });
92525
92525
  };
92526
92526
  Menu.displayName = MENU_NAME;
92527
- var ANCHOR_NAME$2 = "MenuAnchor";
92527
+ var ANCHOR_NAME$3 = "MenuAnchor";
92528
92528
  var MenuAnchor = React.forwardRef(
92529
92529
  (props, forwardedRef) => {
92530
92530
  const { __scopeMenu, ...anchorProps } = props;
92531
- const popperScope = usePopperScope$3(__scopeMenu);
92532
- return /* @__PURE__ */ jsx(Anchor$2, { ...popperScope, ...anchorProps, ref: forwardedRef });
92531
+ const popperScope = usePopperScope$4(__scopeMenu);
92532
+ return /* @__PURE__ */ jsx(Anchor$3, { ...popperScope, ...anchorProps, ref: forwardedRef });
92533
92533
  }
92534
92534
  );
92535
- MenuAnchor.displayName = ANCHOR_NAME$2;
92536
- var PORTAL_NAME$7 = "MenuPortal";
92537
- var [PortalProvider$2, usePortalContext$2] = createMenuContext(PORTAL_NAME$7, {
92535
+ MenuAnchor.displayName = ANCHOR_NAME$3;
92536
+ var PORTAL_NAME$8 = "MenuPortal";
92537
+ var [PortalProvider$3, usePortalContext$3] = createMenuContext(PORTAL_NAME$8, {
92538
92538
  forceMount: void 0
92539
92539
  });
92540
92540
  var MenuPortal = (props) => {
92541
92541
  const { __scopeMenu, forceMount, children, container } = props;
92542
- const context = useMenuContext(PORTAL_NAME$7, __scopeMenu);
92543
- return /* @__PURE__ */ jsx(PortalProvider$2, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsx(Presence$3, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Portal$6, { asChild: true, container, children }) }) });
92542
+ const context = useMenuContext(PORTAL_NAME$8, __scopeMenu);
92543
+ return /* @__PURE__ */ jsx(PortalProvider$3, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsx(Presence$3, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Portal$7, { asChild: true, container, children }) }) });
92544
92544
  };
92545
- MenuPortal.displayName = PORTAL_NAME$7;
92546
- var CONTENT_NAME$7 = "MenuContent";
92547
- var [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME$7);
92545
+ MenuPortal.displayName = PORTAL_NAME$8;
92546
+ var CONTENT_NAME$a = "MenuContent";
92547
+ var [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME$a);
92548
92548
  var MenuContent = React.forwardRef(
92549
92549
  (props, forwardedRef) => {
92550
- const portalContext = usePortalContext$2(CONTENT_NAME$7, props.__scopeMenu);
92550
+ const portalContext = usePortalContext$3(CONTENT_NAME$a, props.__scopeMenu);
92551
92551
  const { forceMount = portalContext.forceMount, ...contentProps } = props;
92552
- const context = useMenuContext(CONTENT_NAME$7, props.__scopeMenu);
92553
- const rootContext = useMenuRootContext(CONTENT_NAME$7, props.__scopeMenu);
92552
+ const context = useMenuContext(CONTENT_NAME$a, props.__scopeMenu);
92553
+ const rootContext = useMenuRootContext(CONTENT_NAME$a, props.__scopeMenu);
92554
92554
  return /* @__PURE__ */ jsx(Collection$3.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence$3, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection$3.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ jsx(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });
92555
92555
  }
92556
92556
  );
92557
92557
  var MenuRootContentModal = React.forwardRef(
92558
92558
  (props, forwardedRef) => {
92559
- const context = useMenuContext(CONTENT_NAME$7, props.__scopeMenu);
92559
+ const context = useMenuContext(CONTENT_NAME$a, props.__scopeMenu);
92560
92560
  const ref = React.useRef(null);
92561
92561
  const composedRefs = useComposedRefs$1(forwardedRef, ref);
92562
92562
  React.useEffect(() => {
@@ -92582,7 +92582,7 @@ var MenuRootContentModal = React.forwardRef(
92582
92582
  }
92583
92583
  );
92584
92584
  var MenuRootContentNonModal = React.forwardRef((props, forwardedRef) => {
92585
- const context = useMenuContext(CONTENT_NAME$7, props.__scopeMenu);
92585
+ const context = useMenuContext(CONTENT_NAME$a, props.__scopeMenu);
92586
92586
  return /* @__PURE__ */ jsx(
92587
92587
  MenuContentImpl,
92588
92588
  {
@@ -92614,9 +92614,9 @@ var MenuContentImpl = React.forwardRef(
92614
92614
  disableOutsideScroll,
92615
92615
  ...contentProps
92616
92616
  } = props;
92617
- const context = useMenuContext(CONTENT_NAME$7, __scopeMenu);
92618
- const rootContext = useMenuRootContext(CONTENT_NAME$7, __scopeMenu);
92619
- const popperScope = usePopperScope$3(__scopeMenu);
92617
+ const context = useMenuContext(CONTENT_NAME$a, __scopeMenu);
92618
+ const rootContext = useMenuRootContext(CONTENT_NAME$a, __scopeMenu);
92619
+ const popperScope = usePopperScope$4(__scopeMenu);
92620
92620
  const rovingFocusGroupScope = useRovingFocusGroupScope$2(__scopeMenu);
92621
92621
  const getItems = useCollection$3(__scopeMenu);
92622
92622
  const [currentItemId, setCurrentItemId] = React.useState(null);
@@ -92705,7 +92705,7 @@ var MenuContentImpl = React.forwardRef(
92705
92705
  onInteractOutside,
92706
92706
  onDismiss,
92707
92707
  children: /* @__PURE__ */ jsx(
92708
- Root$d,
92708
+ Root$f,
92709
92709
  {
92710
92710
  asChild: true,
92711
92711
  ...rovingFocusGroupScope,
@@ -92719,7 +92719,7 @@ var MenuContentImpl = React.forwardRef(
92719
92719
  }),
92720
92720
  preventScrollOnEntryFocus: true,
92721
92721
  children: /* @__PURE__ */ jsx(
92722
- Content$2,
92722
+ Content$3,
92723
92723
  {
92724
92724
  role: "menu",
92725
92725
  "aria-orientation": "vertical",
@@ -92778,7 +92778,7 @@ var MenuContentImpl = React.forwardRef(
92778
92778
  );
92779
92779
  }
92780
92780
  );
92781
- MenuContent.displayName = CONTENT_NAME$7;
92781
+ MenuContent.displayName = CONTENT_NAME$a;
92782
92782
  var GROUP_NAME$3 = "MenuGroup";
92783
92783
  var MenuGroup = React.forwardRef(
92784
92784
  (props, forwardedRef) => {
@@ -93003,15 +93003,15 @@ var MenuSeparator = React.forwardRef(
93003
93003
  }
93004
93004
  );
93005
93005
  MenuSeparator.displayName = SEPARATOR_NAME$2;
93006
- var ARROW_NAME$5 = "MenuArrow";
93006
+ var ARROW_NAME$7 = "MenuArrow";
93007
93007
  var MenuArrow = React.forwardRef(
93008
93008
  (props, forwardedRef) => {
93009
93009
  const { __scopeMenu, ...arrowProps } = props;
93010
- const popperScope = usePopperScope$3(__scopeMenu);
93011
- return /* @__PURE__ */ jsx(Arrow$2, { ...popperScope, ...arrowProps, ref: forwardedRef });
93010
+ const popperScope = usePopperScope$4(__scopeMenu);
93011
+ return /* @__PURE__ */ jsx(Arrow$4, { ...popperScope, ...arrowProps, ref: forwardedRef });
93012
93012
  }
93013
93013
  );
93014
- MenuArrow.displayName = ARROW_NAME$5;
93014
+ MenuArrow.displayName = ARROW_NAME$7;
93015
93015
  var SUB_NAME = "MenuSub";
93016
93016
  var [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);
93017
93017
  var SUB_TRIGGER_NAME$1 = "MenuSubTrigger";
@@ -93118,10 +93118,10 @@ MenuSubTrigger.displayName = SUB_TRIGGER_NAME$1;
93118
93118
  var SUB_CONTENT_NAME$1 = "MenuSubContent";
93119
93119
  var MenuSubContent = React.forwardRef(
93120
93120
  (props, forwardedRef) => {
93121
- const portalContext = usePortalContext$2(CONTENT_NAME$7, props.__scopeMenu);
93121
+ const portalContext = usePortalContext$3(CONTENT_NAME$a, props.__scopeMenu);
93122
93122
  const { forceMount = portalContext.forceMount, ...subContentProps } = props;
93123
- const context = useMenuContext(CONTENT_NAME$7, props.__scopeMenu);
93124
- const rootContext = useMenuRootContext(CONTENT_NAME$7, props.__scopeMenu);
93123
+ const context = useMenuContext(CONTENT_NAME$a, props.__scopeMenu);
93124
+ const rootContext = useMenuRootContext(CONTENT_NAME$a, props.__scopeMenu);
93125
93125
  const subContext = useMenuSubContext(SUB_CONTENT_NAME$1, props.__scopeMenu);
93126
93126
  const ref = React.useRef(null);
93127
93127
  const composedRefs = useComposedRefs$1(forwardedRef, ref);
@@ -93218,8 +93218,8 @@ function whenMouse(handler) {
93218
93218
  }
93219
93219
  var Root3$1 = Menu;
93220
93220
  var Anchor2$1 = MenuAnchor;
93221
- var Portal$5 = MenuPortal;
93222
- var Content2$5 = MenuContent;
93221
+ var Portal$6 = MenuPortal;
93222
+ var Content2$6 = MenuContent;
93223
93223
  var Group = MenuGroup;
93224
93224
  var Label$4 = MenuLabel;
93225
93225
  var Item2$2 = MenuItem;
@@ -93272,11 +93272,11 @@ var DropdownMenu$1 = (props) => {
93272
93272
  );
93273
93273
  };
93274
93274
  DropdownMenu$1.displayName = DROPDOWN_MENU_NAME;
93275
- var TRIGGER_NAME$5 = "DropdownMenuTrigger";
93275
+ var TRIGGER_NAME$7 = "DropdownMenuTrigger";
93276
93276
  var DropdownMenuTrigger$1 = React.forwardRef(
93277
93277
  (props, forwardedRef) => {
93278
93278
  const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;
93279
- const context = useDropdownMenuContext(TRIGGER_NAME$5, __scopeDropdownMenu);
93279
+ const context = useDropdownMenuContext(TRIGGER_NAME$7, __scopeDropdownMenu);
93280
93280
  const menuScope = useMenuScope(__scopeDropdownMenu);
93281
93281
  return /* @__PURE__ */ jsx(Anchor2$1, { asChild: true, ...menuScope, children: /* @__PURE__ */ jsx(
93282
93282
  Primitive$4.button,
@@ -93307,23 +93307,23 @@ var DropdownMenuTrigger$1 = React.forwardRef(
93307
93307
  ) });
93308
93308
  }
93309
93309
  );
93310
- DropdownMenuTrigger$1.displayName = TRIGGER_NAME$5;
93311
- var PORTAL_NAME$6 = "DropdownMenuPortal";
93310
+ DropdownMenuTrigger$1.displayName = TRIGGER_NAME$7;
93311
+ var PORTAL_NAME$7 = "DropdownMenuPortal";
93312
93312
  var DropdownMenuPortal = (props) => {
93313
93313
  const { __scopeDropdownMenu, ...portalProps } = props;
93314
93314
  const menuScope = useMenuScope(__scopeDropdownMenu);
93315
- return /* @__PURE__ */ jsx(Portal$5, { ...menuScope, ...portalProps });
93315
+ return /* @__PURE__ */ jsx(Portal$6, { ...menuScope, ...portalProps });
93316
93316
  };
93317
- DropdownMenuPortal.displayName = PORTAL_NAME$6;
93318
- var CONTENT_NAME$6 = "DropdownMenuContent";
93317
+ DropdownMenuPortal.displayName = PORTAL_NAME$7;
93318
+ var CONTENT_NAME$9 = "DropdownMenuContent";
93319
93319
  var DropdownMenuContent$1 = React.forwardRef(
93320
93320
  (props, forwardedRef) => {
93321
93321
  const { __scopeDropdownMenu, ...contentProps } = props;
93322
- const context = useDropdownMenuContext(CONTENT_NAME$6, __scopeDropdownMenu);
93322
+ const context = useDropdownMenuContext(CONTENT_NAME$9, __scopeDropdownMenu);
93323
93323
  const menuScope = useMenuScope(__scopeDropdownMenu);
93324
93324
  const hasInteractedOutsideRef = React.useRef(false);
93325
93325
  return /* @__PURE__ */ jsx(
93326
- Content2$5,
93326
+ Content2$6,
93327
93327
  {
93328
93328
  id: context.contentId,
93329
93329
  "aria-labelledby": context.triggerId,
@@ -93356,7 +93356,7 @@ var DropdownMenuContent$1 = React.forwardRef(
93356
93356
  );
93357
93357
  }
93358
93358
  );
93359
- DropdownMenuContent$1.displayName = CONTENT_NAME$6;
93359
+ DropdownMenuContent$1.displayName = CONTENT_NAME$9;
93360
93360
  var GROUP_NAME$2 = "DropdownMenuGroup";
93361
93361
  var DropdownMenuGroup = React.forwardRef(
93362
93362
  (props, forwardedRef) => {
@@ -93419,7 +93419,7 @@ var DropdownMenuSeparator$1 = React.forwardRef((props, forwardedRef) => {
93419
93419
  return /* @__PURE__ */ jsx(Separator$3, { ...menuScope, ...separatorProps, ref: forwardedRef });
93420
93420
  });
93421
93421
  DropdownMenuSeparator$1.displayName = SEPARATOR_NAME$1;
93422
- var ARROW_NAME$4 = "DropdownMenuArrow";
93422
+ var ARROW_NAME$6 = "DropdownMenuArrow";
93423
93423
  var DropdownMenuArrow = React.forwardRef(
93424
93424
  (props, forwardedRef) => {
93425
93425
  const { __scopeDropdownMenu, ...arrowProps } = props;
@@ -93427,7 +93427,7 @@ var DropdownMenuArrow = React.forwardRef(
93427
93427
  return /* @__PURE__ */ jsx(Arrow2$1, { ...menuScope, ...arrowProps, ref: forwardedRef });
93428
93428
  }
93429
93429
  );
93430
- DropdownMenuArrow.displayName = ARROW_NAME$4;
93430
+ DropdownMenuArrow.displayName = ARROW_NAME$6;
93431
93431
  var SUB_TRIGGER_NAME = "DropdownMenuSubTrigger";
93432
93432
  var DropdownMenuSubTrigger = React.forwardRef((props, forwardedRef) => {
93433
93433
  const { __scopeDropdownMenu, ...subTriggerProps } = props;
@@ -93460,10 +93460,10 @@ var DropdownMenuSubContent = React.forwardRef((props, forwardedRef) => {
93460
93460
  );
93461
93461
  });
93462
93462
  DropdownMenuSubContent.displayName = SUB_CONTENT_NAME;
93463
- var Root2$7 = DropdownMenu$1;
93464
- var Trigger$4 = DropdownMenuTrigger$1;
93463
+ var Root2$9 = DropdownMenu$1;
93464
+ var Trigger$5 = DropdownMenuTrigger$1;
93465
93465
  var Portal2$1 = DropdownMenuPortal;
93466
- var Content2$4 = DropdownMenuContent$1;
93466
+ var Content2$5 = DropdownMenuContent$1;
93467
93467
  var Item2$1 = DropdownMenuItem$1;
93468
93468
  var Separator2 = DropdownMenuSeparator$1;
93469
93469
 
@@ -93473,14 +93473,14 @@ function useFloatingPortalContainer() {
93473
93473
  }
93474
93474
 
93475
93475
  function DropdownMenu({ ...props }) {
93476
- return jsx(Root2$7, { "data-slot": "dropdown-menu", ...props });
93476
+ return jsx(Root2$9, { "data-slot": "dropdown-menu", ...props });
93477
93477
  }
93478
93478
  function DropdownMenuTrigger({ ...props }) {
93479
- return jsx(Trigger$4, { "data-slot": "dropdown-menu-trigger", ...props });
93479
+ return jsx(Trigger$5, { "data-slot": "dropdown-menu-trigger", ...props });
93480
93480
  }
93481
93481
  function DropdownMenuContent({ className, sideOffset = 4, ...props }) {
93482
93482
  const portalContainer = useFloatingPortalContainer();
93483
- return (jsx(Portal2$1, { container: portalContainer !== null && portalContainer !== void 0 ? portalContainer : undefined, children: jsx(Content2$4, { "data-slot": "dropdown-menu-content", "data-iblai-dialog-interaction-layer": true, sideOffset: sideOffset, className: cn('bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md', className), ...props }) }));
93483
+ return (jsx(Portal2$1, { container: portalContainer !== null && portalContainer !== void 0 ? portalContainer : undefined, children: jsx(Content2$5, { "data-slot": "dropdown-menu-content", "data-iblai-dialog-interaction-layer": true, sideOffset: sideOffset, className: cn('bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md', className), ...props }) }));
93484
93484
  }
93485
93485
  function DropdownMenuItem({ className, inset, variant = 'default', ...props }) {
93486
93486
  return (jsx(Item2$1, { "data-slot": "dropdown-menu-item", "data-inset": inset, "data-variant": variant, className: cn("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), ...props }));
@@ -93833,12 +93833,12 @@ function useImageLoadingStatus(src, { referrerPolicy, crossOrigin }) {
93833
93833
  }, [image, crossOrigin, referrerPolicy]);
93834
93834
  return loadingStatus;
93835
93835
  }
93836
- var Root$c = Avatar$1;
93836
+ var Root$e = Avatar$1;
93837
93837
  var Image$2 = AvatarImage$1;
93838
93838
  var Fallback = AvatarFallback$1;
93839
93839
 
93840
- const Avatar = React.forwardRef(({ className, onClick, ...props }, ref) => (jsx(Root$c, { ref: ref, className: cn("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full", className), onClick: onClick, ...props })));
93841
- Avatar.displayName = Root$c.displayName;
93840
+ const Avatar = React.forwardRef(({ className, onClick, ...props }, ref) => (jsx(Root$e, { ref: ref, className: cn("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full", className), onClick: onClick, ...props })));
93841
+ Avatar.displayName = Root$e.displayName;
93842
93842
  const AvatarImage = React.forwardRef(({ className, onClick, ...props }, ref) => (jsx(Image$2, { ref: ref, className: cn("aspect-square h-full w-full cursor-pointer rounded-full border-0 object-cover", // Changed object-center to object-cover for better image fitting
93843
93843
  className), onClick: onClick, ...props })));
93844
93844
  AvatarImage.displayName = "AvatarImage";
@@ -93881,7 +93881,7 @@ function usePrevious$1(value) {
93881
93881
  }
93882
93882
 
93883
93883
  // packages/react/visually-hidden/src/visually-hidden.tsx
93884
- var NAME$7 = "VisuallyHidden";
93884
+ var NAME$8 = "VisuallyHidden";
93885
93885
  var VisuallyHidden$2 = React.forwardRef(
93886
93886
  (props, forwardedRef) => {
93887
93887
  return /* @__PURE__ */ jsx(
@@ -93907,7 +93907,7 @@ var VisuallyHidden$2 = React.forwardRef(
93907
93907
  );
93908
93908
  }
93909
93909
  );
93910
- VisuallyHidden$2.displayName = NAME$7;
93910
+ VisuallyHidden$2.displayName = NAME$8;
93911
93911
 
93912
93912
  var OPEN_KEYS = [" ", "Enter", "ArrowUp", "ArrowDown"];
93913
93913
  var SELECTION_KEYS = [" ", "Enter"];
@@ -93915,9 +93915,9 @@ var SELECT_NAME = "Select";
93915
93915
  var [Collection$2, useCollection$2, createCollectionScope$2] = createCollection$2(SELECT_NAME);
93916
93916
  var [createSelectContext] = createContextScope$1(SELECT_NAME, [
93917
93917
  createCollectionScope$2,
93918
- createPopperScope$1
93918
+ createPopperScope$2
93919
93919
  ]);
93920
- var usePopperScope$2 = createPopperScope$1();
93920
+ var usePopperScope$3 = createPopperScope$2();
93921
93921
  var [SelectProvider, useSelectContext] = createSelectContext(SELECT_NAME);
93922
93922
  var [SelectNativeOptionsProvider, useSelectNativeOptionsContext] = createSelectContext(SELECT_NAME);
93923
93923
  var Select$2 = (props) => {
@@ -93937,7 +93937,7 @@ var Select$2 = (props) => {
93937
93937
  required,
93938
93938
  form
93939
93939
  } = props;
93940
- const popperScope = usePopperScope$2(__scopeSelect);
93940
+ const popperScope = usePopperScope$3(__scopeSelect);
93941
93941
  const [trigger, setTrigger] = React.useState(null);
93942
93942
  const [valueNode, setValueNode] = React.useState(null);
93943
93943
  const [valueNodeHasChildren, setValueNodeHasChildren] = React.useState(false);
@@ -93956,7 +93956,7 @@ var Select$2 = (props) => {
93956
93956
  const isFormControl = trigger ? form || !!trigger.closest("form") : true;
93957
93957
  const [nativeOptionsSet, setNativeOptionsSet] = React.useState(/* @__PURE__ */ new Set());
93958
93958
  const nativeSelectKey = Array.from(nativeOptionsSet).map((option) => option.props.value).join(";");
93959
- return /* @__PURE__ */ jsx(Root2$8, { ...popperScope, children: /* @__PURE__ */ jsxs(
93959
+ return /* @__PURE__ */ jsx(Root2$a, { ...popperScope, children: /* @__PURE__ */ jsxs(
93960
93960
  SelectProvider,
93961
93961
  {
93962
93962
  required,
@@ -94017,12 +94017,12 @@ var Select$2 = (props) => {
94017
94017
  ) });
94018
94018
  };
94019
94019
  Select$2.displayName = SELECT_NAME;
94020
- var TRIGGER_NAME$4 = "SelectTrigger";
94020
+ var TRIGGER_NAME$6 = "SelectTrigger";
94021
94021
  var SelectTrigger$1 = React.forwardRef(
94022
94022
  (props, forwardedRef) => {
94023
94023
  const { __scopeSelect, disabled = false, ...triggerProps } = props;
94024
- const popperScope = usePopperScope$2(__scopeSelect);
94025
- const context = useSelectContext(TRIGGER_NAME$4, __scopeSelect);
94024
+ const popperScope = usePopperScope$3(__scopeSelect);
94025
+ const context = useSelectContext(TRIGGER_NAME$6, __scopeSelect);
94026
94026
  const isDisabled = context.disabled || disabled;
94027
94027
  const composedRefs = useComposedRefs$1(forwardedRef, context.onTriggerChange);
94028
94028
  const getItems = useCollection$2(__scopeSelect);
@@ -94047,7 +94047,7 @@ var SelectTrigger$1 = React.forwardRef(
94047
94047
  };
94048
94048
  }
94049
94049
  };
94050
- return /* @__PURE__ */ jsx(Anchor$2, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(
94050
+ return /* @__PURE__ */ jsx(Anchor$3, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(
94051
94051
  Primitive$4.button,
94052
94052
  {
94053
94053
  type: "button",
@@ -94094,7 +94094,7 @@ var SelectTrigger$1 = React.forwardRef(
94094
94094
  ) });
94095
94095
  }
94096
94096
  );
94097
- SelectTrigger$1.displayName = TRIGGER_NAME$4;
94097
+ SelectTrigger$1.displayName = TRIGGER_NAME$6;
94098
94098
  var VALUE_NAME = "SelectValue";
94099
94099
  var SelectValue$1 = React.forwardRef(
94100
94100
  (props, forwardedRef) => {
@@ -94126,15 +94126,15 @@ var SelectIcon = React.forwardRef(
94126
94126
  }
94127
94127
  );
94128
94128
  SelectIcon.displayName = ICON_NAME;
94129
- var PORTAL_NAME$5 = "SelectPortal";
94129
+ var PORTAL_NAME$6 = "SelectPortal";
94130
94130
  var SelectPortal = (props) => {
94131
- return /* @__PURE__ */ jsx(Portal$6, { asChild: true, ...props });
94131
+ return /* @__PURE__ */ jsx(Portal$7, { asChild: true, ...props });
94132
94132
  };
94133
- SelectPortal.displayName = PORTAL_NAME$5;
94134
- var CONTENT_NAME$5 = "SelectContent";
94133
+ SelectPortal.displayName = PORTAL_NAME$6;
94134
+ var CONTENT_NAME$8 = "SelectContent";
94135
94135
  var SelectContent$1 = React.forwardRef(
94136
94136
  (props, forwardedRef) => {
94137
- const context = useSelectContext(CONTENT_NAME$5, props.__scopeSelect);
94137
+ const context = useSelectContext(CONTENT_NAME$8, props.__scopeSelect);
94138
94138
  const [fragment, setFragment] = React.useState();
94139
94139
  useLayoutEffect2$1(() => {
94140
94140
  setFragment(new DocumentFragment());
@@ -94149,9 +94149,9 @@ var SelectContent$1 = React.forwardRef(
94149
94149
  return /* @__PURE__ */ jsx(SelectContentImpl, { ...props, ref: forwardedRef });
94150
94150
  }
94151
94151
  );
94152
- SelectContent$1.displayName = CONTENT_NAME$5;
94152
+ SelectContent$1.displayName = CONTENT_NAME$8;
94153
94153
  var CONTENT_MARGIN = 10;
94154
- var [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME$5);
94154
+ var [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME$8);
94155
94155
  var CONTENT_IMPL_NAME = "SelectContentImpl";
94156
94156
  var Slot$2 = createSlot$1("SelectContent.RemoveScroll");
94157
94157
  var SelectContentImpl = React.forwardRef(
@@ -94177,7 +94177,7 @@ var SelectContentImpl = React.forwardRef(
94177
94177
  //
94178
94178
  ...contentProps
94179
94179
  } = props;
94180
- const context = useSelectContext(CONTENT_NAME$5, __scopeSelect);
94180
+ const context = useSelectContext(CONTENT_NAME$8, __scopeSelect);
94181
94181
  const [content, setContent] = React.useState(null);
94182
94182
  const [viewport, setViewport] = React.useState(null);
94183
94183
  const composedRefs = useComposedRefs$1(forwardedRef, (node) => setContent(node));
@@ -94390,8 +94390,8 @@ SelectContentImpl.displayName = CONTENT_IMPL_NAME;
94390
94390
  var ITEM_ALIGNED_POSITION_NAME = "SelectItemAlignedPosition";
94391
94391
  var SelectItemAlignedPosition = React.forwardRef((props, forwardedRef) => {
94392
94392
  const { __scopeSelect, onPlaced, ...popperProps } = props;
94393
- const context = useSelectContext(CONTENT_NAME$5, __scopeSelect);
94394
- const contentContext = useSelectContentContext(CONTENT_NAME$5, __scopeSelect);
94393
+ const context = useSelectContext(CONTENT_NAME$8, __scopeSelect);
94394
+ const contentContext = useSelectContentContext(CONTENT_NAME$8, __scopeSelect);
94395
94395
  const [contentWrapper, setContentWrapper] = React.useState(null);
94396
94396
  const [content, setContent] = React.useState(null);
94397
94397
  const composedRefs = useComposedRefs$1(forwardedRef, (node) => setContent(node));
@@ -94559,9 +94559,9 @@ var SelectPopperPosition = React.forwardRef((props, forwardedRef) => {
94559
94559
  collisionPadding = CONTENT_MARGIN,
94560
94560
  ...popperProps
94561
94561
  } = props;
94562
- const popperScope = usePopperScope$2(__scopeSelect);
94562
+ const popperScope = usePopperScope$3(__scopeSelect);
94563
94563
  return /* @__PURE__ */ jsx(
94564
- Content$2,
94564
+ Content$3,
94565
94565
  {
94566
94566
  ...popperScope,
94567
94567
  ...popperProps,
@@ -94585,7 +94585,7 @@ var SelectPopperPosition = React.forwardRef((props, forwardedRef) => {
94585
94585
  );
94586
94586
  });
94587
94587
  SelectPopperPosition.displayName = POPPER_POSITION_NAME;
94588
- var [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME$5, {});
94588
+ var [SelectViewportProvider, useSelectViewportContext] = createSelectContext(CONTENT_NAME$8, {});
94589
94589
  var VIEWPORT_NAME$2 = "SelectViewport";
94590
94590
  var SelectViewport = React.forwardRef(
94591
94591
  (props, forwardedRef) => {
@@ -94934,17 +94934,17 @@ var SelectSeparator$1 = React.forwardRef(
94934
94934
  }
94935
94935
  );
94936
94936
  SelectSeparator$1.displayName = SEPARATOR_NAME;
94937
- var ARROW_NAME$3 = "SelectArrow";
94937
+ var ARROW_NAME$5 = "SelectArrow";
94938
94938
  var SelectArrow = React.forwardRef(
94939
94939
  (props, forwardedRef) => {
94940
94940
  const { __scopeSelect, ...arrowProps } = props;
94941
- const popperScope = usePopperScope$2(__scopeSelect);
94942
- const context = useSelectContext(ARROW_NAME$3, __scopeSelect);
94943
- const contentContext = useSelectContentContext(ARROW_NAME$3, __scopeSelect);
94944
- return context.open && contentContext.position === "popper" ? /* @__PURE__ */ jsx(Arrow$2, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;
94941
+ const popperScope = usePopperScope$3(__scopeSelect);
94942
+ const context = useSelectContext(ARROW_NAME$5, __scopeSelect);
94943
+ const contentContext = useSelectContentContext(ARROW_NAME$5, __scopeSelect);
94944
+ return context.open && contentContext.position === "popper" ? /* @__PURE__ */ jsx(Arrow$4, { ...popperScope, ...arrowProps, ref: forwardedRef }) : null;
94945
94945
  }
94946
94946
  );
94947
- SelectArrow.displayName = ARROW_NAME$3;
94947
+ SelectArrow.displayName = ARROW_NAME$5;
94948
94948
  function shouldShowPlaceholder(value) {
94949
94949
  return value === "" || value === void 0;
94950
94950
  }
@@ -95012,12 +95012,12 @@ function findNextItem(items, search, currentItem) {
95012
95012
  function wrapArray$1(array, startIndex) {
95013
95013
  return array.map((_, index) => array[(startIndex + index) % array.length]);
95014
95014
  }
95015
- var Root2$6 = Select$2;
95016
- var Trigger$3 = SelectTrigger$1;
95015
+ var Root2$8 = Select$2;
95016
+ var Trigger$4 = SelectTrigger$1;
95017
95017
  var Value = SelectValue$1;
95018
95018
  var Icon$3 = SelectIcon;
95019
- var Portal$4 = SelectPortal;
95020
- var Content2$3 = SelectContent$1;
95019
+ var Portal$5 = SelectPortal;
95020
+ var Content2$4 = SelectContent$1;
95021
95021
  var Viewport$2 = SelectViewport;
95022
95022
  var Label$3 = SelectLabel$1;
95023
95023
  var Item$2 = SelectItem$1;
@@ -95027,22 +95027,22 @@ var ScrollUpButton = SelectScrollUpButton$1;
95027
95027
  var ScrollDownButton = SelectScrollDownButton$1;
95028
95028
  var Separator$2 = SelectSeparator$1;
95029
95029
 
95030
- const Select$1 = Root2$6;
95030
+ const Select$1 = Root2$8;
95031
95031
  const SelectValue = Value;
95032
- const SelectTrigger = React.forwardRef(({ className, children, ...props }, ref) => (jsxs(Trigger$3, { ref: ref, className: cn('border-input ring-offset-background data-[placeholder]:text-muted-foreground focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1', className), ...props, children: [children, jsx(Icon$3, { asChild: true, children: jsx(ChevronDown, { className: "h-4 w-4 opacity-50" }) })] })));
95033
- SelectTrigger.displayName = Trigger$3.displayName;
95032
+ const SelectTrigger = React.forwardRef(({ className, children, ...props }, ref) => (jsxs(Trigger$4, { ref: ref, className: cn('border-input ring-offset-background data-[placeholder]:text-muted-foreground focus:ring-ring flex h-9 w-full items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1', className), ...props, children: [children, jsx(Icon$3, { asChild: true, children: jsx(ChevronDown, { className: "h-4 w-4 opacity-50" }) })] })));
95033
+ SelectTrigger.displayName = Trigger$4.displayName;
95034
95034
  const SelectScrollUpButton = React.forwardRef(({ className, ...props }, ref) => (jsx(ScrollUpButton, { ref: ref, className: cn('flex cursor-default items-center justify-center py-1', className), ...props, children: jsx(ChevronUp, { className: "h-4 w-4" }) })));
95035
95035
  SelectScrollUpButton.displayName = ScrollUpButton.displayName;
95036
95036
  const SelectScrollDownButton = React.forwardRef(({ className, ...props }, ref) => (jsx(ScrollDownButton, { ref: ref, className: cn('flex cursor-default items-center justify-center py-1', className), ...props, children: jsx(ChevronDown, { className: "h-4 w-4" }) })));
95037
95037
  SelectScrollDownButton.displayName = ScrollDownButton.displayName;
95038
95038
  const SelectContent = React.forwardRef(({ className, children, position = 'popper', ...props }, ref) => {
95039
95039
  const portalContainer = useFloatingPortalContainer();
95040
- return (jsx(Portal$4, { container: portalContainer !== null && portalContainer !== void 0 ? portalContainer : undefined, children: jsxs(Content2$3, { ref: ref, className: cn('bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-60 min-w-[8rem] overflow-hidden rounded-md border shadow-md', position === 'popper' &&
95040
+ return (jsx(Portal$5, { container: portalContainer !== null && portalContainer !== void 0 ? portalContainer : undefined, children: jsxs(Content2$4, { ref: ref, className: cn('bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-60 min-w-[8rem] overflow-hidden rounded-md border shadow-md', position === 'popper' &&
95041
95041
  'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1', className), position: position, ...props, children: [jsx(SelectScrollUpButton, {}), jsx(Viewport$2, { className: cn('h-[var(--radix-select-viewport-height)] overflow-auto p-1', position === 'popper' && 'w-full min-w-[var(--radix-select-trigger-width)]'), style: {
95042
95042
  '--radix-select-viewport-height': 'var(--radix-select-content-available-height)',
95043
95043
  }, children: children }), jsx(SelectScrollDownButton, {})] }) }));
95044
95044
  });
95045
- SelectContent.displayName = Content2$3.displayName;
95045
+ SelectContent.displayName = Content2$4.displayName;
95046
95046
  const SelectLabel = React.forwardRef(({ className, ...props }, ref) => (jsx(Label$3, { ref: ref, className: cn('px-2 py-1.5 text-sm font-semibold', className), ...props })));
95047
95047
  SelectLabel.displayName = Label$3.displayName;
95048
95048
  const SelectItem = React.forwardRef(({ className, children, ...props }, ref) => (jsxs(Item$2, { ref: ref, className: cn('focus:bg-accent focus:text-accent-foreground relative flex w-full cursor-default items-center rounded-sm py-1.5 pr-8 pl-2 text-sm outline-none select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50', className), ...props, children: [jsx("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: jsx(ItemIndicator, { children: jsx(Check, { className: "h-4 w-4" }) }) }), jsx(ItemText, { children: children })] })));
@@ -95445,18 +95445,18 @@ function handleAndDispatchCustomEvent$2(name, handler, detail, { discrete }) {
95445
95445
  target.dispatchEvent(event);
95446
95446
  }
95447
95447
  }
95448
- var Root$b = DismissableLayer$1;
95448
+ var Root$d = DismissableLayer$1;
95449
95449
  var Branch$1 = DismissableLayerBranch$1;
95450
95450
 
95451
- var PORTAL_NAME$4 = "Portal";
95452
- var Portal$3 = React.forwardRef((props, forwardedRef) => {
95451
+ var PORTAL_NAME$5 = "Portal";
95452
+ var Portal$4 = React.forwardRef((props, forwardedRef) => {
95453
95453
  const { container: containerProp, ...portalProps } = props;
95454
95454
  const [mounted, setMounted] = React.useState(false);
95455
95455
  useLayoutEffect2$1(() => setMounted(true), []);
95456
95456
  const container = containerProp || mounted && globalThis?.document?.body;
95457
95457
  return container ? ReactDOM__default.createPortal(/* @__PURE__ */ jsx(Primitive$2.div, { ...portalProps, ref: forwardedRef }), container) : null;
95458
95458
  });
95459
- Portal$3.displayName = PORTAL_NAME$4;
95459
+ Portal$4.displayName = PORTAL_NAME$5;
95460
95460
 
95461
95461
  function useStateMachine$3(initialState, machine) {
95462
95462
  return React.useReducer((state, event) => {
@@ -95663,7 +95663,7 @@ var VISUALLY_HIDDEN_STYLES$1 = Object.freeze({
95663
95663
  whiteSpace: "nowrap",
95664
95664
  wordWrap: "normal"
95665
95665
  });
95666
- var NAME$6 = "VisuallyHidden";
95666
+ var NAME$7 = "VisuallyHidden";
95667
95667
  var VisuallyHidden$1 = React.forwardRef(
95668
95668
  (props, forwardedRef) => {
95669
95669
  return /* @__PURE__ */ jsx(
@@ -95676,7 +95676,7 @@ var VisuallyHidden$1 = React.forwardRef(
95676
95676
  );
95677
95677
  }
95678
95678
  );
95679
- VisuallyHidden$1.displayName = NAME$6;
95679
+ VisuallyHidden$1.displayName = NAME$7;
95680
95680
 
95681
95681
  var PROVIDER_NAME$1 = "ToastProvider";
95682
95682
  var [Collection$1, useCollection$1, createCollectionScope$1] = createCollection$1("Toast");
@@ -96035,7 +96035,7 @@ var ToastImpl = React.forwardRef(
96035
96035
  ),
96036
96036
  /* @__PURE__ */ jsx(ToastInteractiveProvider, { scope: __scopeToast, onClose: handleClose, children: ReactDOM.createPortal(
96037
96037
  /* @__PURE__ */ jsx(Collection$1.ItemSlot, { scope: __scopeToast, children: /* @__PURE__ */ jsx(
96038
- Root$b,
96038
+ Root$d,
96039
96039
  {
96040
96040
  asChild: true,
96041
96041
  onEscapeKeyDown: composeEventHandlers$1(onEscapeKeyDown, () => {
@@ -96139,7 +96139,7 @@ var ToastAnnounce = (props) => {
96139
96139
  const timer = window.setTimeout(() => setIsAnnounced(true), 1e3);
96140
96140
  return () => window.clearTimeout(timer);
96141
96141
  }, []);
96142
- return isAnnounced ? null : /* @__PURE__ */ jsx(Portal$3, { asChild: true, children: /* @__PURE__ */ jsx(VisuallyHidden$1, { ...announceProps, children: renderAnnounceText && /* @__PURE__ */ jsxs(Fragment$1, { children: [
96142
+ return isAnnounced ? null : /* @__PURE__ */ jsx(Portal$4, { asChild: true, children: /* @__PURE__ */ jsx(VisuallyHidden$1, { ...announceProps, children: renderAnnounceText && /* @__PURE__ */ jsxs(Fragment$1, { children: [
96143
96143
  context.label,
96144
96144
  " ",
96145
96145
  children
@@ -96282,7 +96282,7 @@ function focusFirst$1(candidates) {
96282
96282
  }
96283
96283
  var Provider$1 = ToastProvider$1;
96284
96284
  var Viewport$1 = ToastViewport$1;
96285
- var Root2$5 = Toast$1;
96285
+ var Root2$7 = Toast$1;
96286
96286
  var Title = ToastTitle$1;
96287
96287
  var Description = ToastDescription$1;
96288
96288
  var Action$1 = ToastAction$1;
@@ -96303,9 +96303,9 @@ const toastVariants = cva("group pointer-events-auto relative flex w-full items-
96303
96303
  },
96304
96304
  });
96305
96305
  const Toast = React.forwardRef(({ className, variant, ...props }, ref) => {
96306
- return (jsx(Root2$5, { ref: ref, className: cn(toastVariants({ variant }), className), ...props }));
96306
+ return (jsx(Root2$7, { ref: ref, className: cn(toastVariants({ variant }), className), ...props }));
96307
96307
  });
96308
- Toast.displayName = Root2$5.displayName;
96308
+ Toast.displayName = Root2$7.displayName;
96309
96309
  const ToastAction = React.forwardRef(({ className, ...props }, ref) => (jsx(Action$1, { ref: ref, className: cn("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive", className), ...props })));
96310
96310
  ToastAction.displayName = Action$1.displayName;
96311
96311
  const ToastClose = React.forwardRef(({ className, ...props }, ref) => (jsx(Close, { ref: ref, className: cn("absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600", className), "toast-close": "", ...props, children: jsx(X$2, { className: "h-4 w-4" }) })));
@@ -96350,7 +96350,7 @@ var Switch$1 = React.forwardRef(
96350
96350
  role: "switch",
96351
96351
  "aria-checked": checked,
96352
96352
  "aria-required": required,
96353
- "data-state": getState$3(checked),
96353
+ "data-state": getState$4(checked),
96354
96354
  "data-disabled": disabled ? "" : void 0,
96355
96355
  disabled,
96356
96356
  value,
@@ -96391,7 +96391,7 @@ var SwitchThumb = React.forwardRef(
96391
96391
  return /* @__PURE__ */ jsx(
96392
96392
  Primitive$2.span,
96393
96393
  {
96394
- "data-state": getState$3(context.checked),
96394
+ "data-state": getState$4(context.checked),
96395
96395
  "data-disabled": context.disabled ? "" : void 0,
96396
96396
  ...thumbProps,
96397
96397
  ref: forwardedRef
@@ -96450,14 +96450,14 @@ var SwitchBubbleInput = React.forwardRef(
96450
96450
  }
96451
96451
  );
96452
96452
  SwitchBubbleInput.displayName = BUBBLE_INPUT_NAME$1;
96453
- function getState$3(checked) {
96453
+ function getState$4(checked) {
96454
96454
  return checked ? "checked" : "unchecked";
96455
96455
  }
96456
- var Root$a = Switch$1;
96456
+ var Root$c = Switch$1;
96457
96457
  var Thumb = SwitchThumb;
96458
96458
 
96459
- const Switch = React.forwardRef(({ className, ...props }, ref) => (jsx(Root$a, { className: cn("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input", className), ...props, ref: ref, children: jsx(Thumb, { className: cn("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0") }) })));
96460
- Switch.displayName = Root$a.displayName;
96459
+ const Switch = React.forwardRef(({ className, ...props }, ref) => (jsx(Root$c, { className: cn("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input", className), ...props, ref: ref, children: jsx(Thumb, { className: cn("pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0") }) })));
96460
+ Switch.displayName = Root$c.displayName;
96461
96461
 
96462
96462
  var TABS_NAME = "Tabs";
96463
96463
  var [createTabsContext] = createContextScope$1(TABS_NAME, [
@@ -96514,7 +96514,7 @@ var TabsList$1 = React.forwardRef(
96514
96514
  const context = useTabsContext(TAB_LIST_NAME, __scopeTabs);
96515
96515
  const rovingFocusGroupScope = useRovingFocusGroupScope$1(__scopeTabs);
96516
96516
  return /* @__PURE__ */ jsx(
96517
- Root$d,
96517
+ Root$f,
96518
96518
  {
96519
96519
  asChild: true,
96520
96520
  ...rovingFocusGroupScope,
@@ -96535,11 +96535,11 @@ var TabsList$1 = React.forwardRef(
96535
96535
  }
96536
96536
  );
96537
96537
  TabsList$1.displayName = TAB_LIST_NAME;
96538
- var TRIGGER_NAME$3 = "TabsTrigger";
96538
+ var TRIGGER_NAME$5 = "TabsTrigger";
96539
96539
  var TabsTrigger$1 = React.forwardRef(
96540
96540
  (props, forwardedRef) => {
96541
96541
  const { __scopeTabs, value, disabled = false, ...triggerProps } = props;
96542
- const context = useTabsContext(TRIGGER_NAME$3, __scopeTabs);
96542
+ const context = useTabsContext(TRIGGER_NAME$5, __scopeTabs);
96543
96543
  const rovingFocusGroupScope = useRovingFocusGroupScope$1(__scopeTabs);
96544
96544
  const triggerId = makeTriggerId(context.baseId, value);
96545
96545
  const contentId = makeContentId(context.baseId, value);
@@ -96586,12 +96586,12 @@ var TabsTrigger$1 = React.forwardRef(
96586
96586
  );
96587
96587
  }
96588
96588
  );
96589
- TabsTrigger$1.displayName = TRIGGER_NAME$3;
96590
- var CONTENT_NAME$4 = "TabsContent";
96589
+ TabsTrigger$1.displayName = TRIGGER_NAME$5;
96590
+ var CONTENT_NAME$7 = "TabsContent";
96591
96591
  var TabsContent$1 = React.forwardRef(
96592
96592
  (props, forwardedRef) => {
96593
96593
  const { __scopeTabs, value, forceMount, children, ...contentProps } = props;
96594
- const context = useTabsContext(CONTENT_NAME$4, __scopeTabs);
96594
+ const context = useTabsContext(CONTENT_NAME$7, __scopeTabs);
96595
96595
  const triggerId = makeTriggerId(context.baseId, value);
96596
96596
  const contentId = makeContentId(context.baseId, value);
96597
96597
  const isSelected = value === context.value;
@@ -96621,25 +96621,25 @@ var TabsContent$1 = React.forwardRef(
96621
96621
  ) });
96622
96622
  }
96623
96623
  );
96624
- TabsContent$1.displayName = CONTENT_NAME$4;
96624
+ TabsContent$1.displayName = CONTENT_NAME$7;
96625
96625
  function makeTriggerId(baseId, value) {
96626
96626
  return `${baseId}-trigger-${value}`;
96627
96627
  }
96628
96628
  function makeContentId(baseId, value) {
96629
96629
  return `${baseId}-content-${value}`;
96630
96630
  }
96631
- var Root2$4 = Tabs$1;
96631
+ var Root2$6 = Tabs$1;
96632
96632
  var List = TabsList$1;
96633
- var Trigger$2 = TabsTrigger$1;
96634
- var Content$1 = TabsContent$1;
96633
+ var Trigger$3 = TabsTrigger$1;
96634
+ var Content$2 = TabsContent$1;
96635
96635
 
96636
- const Tabs = Root2$4;
96636
+ const Tabs = Root2$6;
96637
96637
  const TabsList = React.forwardRef(({ className, ...props }, ref) => (jsx(List, { ref: ref, className: cn("bg-muted text-muted-foreground inline-flex h-9 items-center justify-center rounded-lg p-1", className), ...props })));
96638
96638
  TabsList.displayName = List.displayName;
96639
- const TabsTrigger = React.forwardRef(({ className, ...props }, ref) => (jsx(Trigger$2, { ref: ref, className: cn("ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center rounded-md px-3 py-1 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow", className), ...props })));
96640
- TabsTrigger.displayName = Trigger$2.displayName;
96641
- const TabsContent = React.forwardRef(({ className, ...props }, ref) => (jsx(Content$1, { ref: ref, className: cn("ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none", className), ...props })));
96642
- TabsContent.displayName = Content$1.displayName;
96639
+ const TabsTrigger = React.forwardRef(({ className, ...props }, ref) => (jsx(Trigger$3, { ref: ref, className: cn("ring-offset-background focus-visible:ring-ring data-[state=active]:bg-background data-[state=active]:text-foreground inline-flex items-center justify-center rounded-md px-3 py-1 text-sm font-medium whitespace-nowrap transition-all focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow", className), ...props })));
96640
+ TabsTrigger.displayName = Trigger$3.displayName;
96641
+ const TabsContent = React.forwardRef(({ className, ...props }, ref) => (jsx(Content$2, { ref: ref, className: cn("ring-offset-background focus-visible:ring-ring mt-2 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none", className), ...props })));
96642
+ TabsContent.displayName = Content$2.displayName;
96643
96643
 
96644
96644
  /**
96645
96645
  * Default locale for the application
@@ -101872,6 +101872,32 @@ var ltiTabLabels$3 = {
101872
101872
  toolError: "Something went wrong with the LTI tool"
101873
101873
  }
101874
101874
  };
101875
+ var platformSidebar$3 = {
101876
+ collapseSidebar: "Collapse sidebar",
101877
+ expandSidebar: "Expand sidebar",
101878
+ mainNavigation: "Main navigation",
101879
+ notifications: "Notifications",
101880
+ invites: "Invites",
101881
+ management: "Management",
101882
+ integrations: "Integrations",
101883
+ monetization: "Monetization",
101884
+ advanced: "Advanced",
101885
+ support: "Support",
101886
+ accountTabOrganization: "Organization",
101887
+ accountTabBilling: "Billing",
101888
+ accountDescOrganization: "Manage your organization settings.",
101889
+ accountDescManagement: "Manage users and their permissions in the system.",
101890
+ accountDescIntegrations: "Manage your integrations with other services.",
101891
+ accountDescMonetization: "Configure paywalls, pricing, and revenue.",
101892
+ accountDescAdvanced: "Configure advanced organization settings.",
101893
+ accountDescBilling: "Manage your billing and subscription."
101894
+ };
101895
+ var platformNavbar$3 = {
101896
+ search: "Search",
101897
+ searchPlaceholder: "Search",
101898
+ logIn: "Log in",
101899
+ signUpForFree: "Sign up for free"
101900
+ };
101875
101901
  var en = {
101876
101902
  accessTabAddAccess: accessTabAddAccess$3,
101877
101903
  accessTabLabels: accessTabLabels$3,
@@ -102106,7 +102132,9 @@ var en = {
102106
102132
  workflowsCreateWorkflowModal: workflowsCreateWorkflowModal$3,
102107
102133
  workflowsDeleteWorkflowModal: workflowsDeleteWorkflowModal$3,
102108
102134
  workflowsToolDialogs: workflowsToolDialogs$3,
102109
- ltiTabLabels: ltiTabLabels$3
102135
+ ltiTabLabels: ltiTabLabels$3,
102136
+ platformSidebar: platformSidebar$3,
102137
+ platformNavbar: platformNavbar$3
102110
102138
  };
102111
102139
 
102112
102140
  var accessTabAddAccess$2 = {
@@ -107154,6 +107182,32 @@ var ltiTabLabels$2 = {
107154
107182
  toolError: "Un problème est survenu avec l'outil LTI"
107155
107183
  }
107156
107184
  };
107185
+ var platformSidebar$2 = {
107186
+ collapseSidebar: "Réduire la barre latérale",
107187
+ expandSidebar: "Développer la barre latérale",
107188
+ mainNavigation: "Navigation principale",
107189
+ notifications: "Notifications",
107190
+ invites: "Invitations",
107191
+ management: "Gestion",
107192
+ integrations: "Intégrations",
107193
+ monetization: "Monétisation",
107194
+ advanced: "Avancé",
107195
+ support: "Support",
107196
+ accountTabOrganization: "Organisation",
107197
+ accountTabBilling: "Facturation",
107198
+ accountDescOrganization: "Gérez les paramètres de votre organisation.",
107199
+ accountDescManagement: "Gérez les utilisateurs et leurs permissions dans le système.",
107200
+ accountDescIntegrations: "Gérez vos intégrations avec d'autres services.",
107201
+ accountDescMonetization: "Configurez les paywalls, la tarification et les revenus.",
107202
+ accountDescAdvanced: "Configurez les paramètres avancés de l'organisation.",
107203
+ accountDescBilling: "Gérez votre facturation et votre abonnement."
107204
+ };
107205
+ var platformNavbar$2 = {
107206
+ search: "Rechercher",
107207
+ searchPlaceholder: "Rechercher",
107208
+ logIn: "Se connecter",
107209
+ signUpForFree: "S'inscrire gratuitement"
107210
+ };
107157
107211
  var fr = {
107158
107212
  accessTabAddAccess: accessTabAddAccess$2,
107159
107213
  accessTabLabels: accessTabLabels$2,
@@ -107388,7 +107442,9 @@ var fr = {
107388
107442
  workflowsCreateWorkflowModal: workflowsCreateWorkflowModal$2,
107389
107443
  workflowsDeleteWorkflowModal: workflowsDeleteWorkflowModal$2,
107390
107444
  workflowsToolDialogs: workflowsToolDialogs$2,
107391
- ltiTabLabels: ltiTabLabels$2
107445
+ ltiTabLabels: ltiTabLabels$2,
107446
+ platformSidebar: platformSidebar$2,
107447
+ platformNavbar: platformNavbar$2
107392
107448
  };
107393
107449
 
107394
107450
  var accessTabAddAccess$1 = {
@@ -112436,6 +112492,32 @@ var ltiTabLabels$1 = {
112436
112492
  toolError: "Algo salió mal con la herramienta LTI"
112437
112493
  }
112438
112494
  };
112495
+ var platformSidebar$1 = {
112496
+ collapseSidebar: "Contraer barra lateral",
112497
+ expandSidebar: "Expandir barra lateral",
112498
+ mainNavigation: "Navegación principal",
112499
+ notifications: "Notificaciones",
112500
+ invites: "Invitaciones",
112501
+ management: "Gestión",
112502
+ integrations: "Integraciones",
112503
+ monetization: "Monetización",
112504
+ advanced: "Avanzado",
112505
+ support: "Soporte",
112506
+ accountTabOrganization: "Organización",
112507
+ accountTabBilling: "Facturación",
112508
+ accountDescOrganization: "Gestiona los ajustes de tu organización.",
112509
+ accountDescManagement: "Gestiona los usuarios y sus permisos en el sistema.",
112510
+ accountDescIntegrations: "Gestiona tus integraciones con otros servicios.",
112511
+ accountDescMonetization: "Configura muros de pago, precios e ingresos.",
112512
+ accountDescAdvanced: "Configura los ajustes avanzados de la organización.",
112513
+ accountDescBilling: "Gestiona tu facturación y suscripción."
112514
+ };
112515
+ var platformNavbar$1 = {
112516
+ search: "Buscar",
112517
+ searchPlaceholder: "Buscar",
112518
+ logIn: "Iniciar sesión",
112519
+ signUpForFree: "Registrarse gratis"
112520
+ };
112439
112521
  var es = {
112440
112522
  accessTabAddAccess: accessTabAddAccess$1,
112441
112523
  accessTabLabels: accessTabLabels$1,
@@ -112670,7 +112752,9 @@ var es = {
112670
112752
  workflowsCreateWorkflowModal: workflowsCreateWorkflowModal$1,
112671
112753
  workflowsDeleteWorkflowModal: workflowsDeleteWorkflowModal$1,
112672
112754
  workflowsToolDialogs: workflowsToolDialogs$1,
112673
- ltiTabLabels: ltiTabLabels$1
112755
+ ltiTabLabels: ltiTabLabels$1,
112756
+ platformSidebar: platformSidebar$1,
112757
+ platformNavbar: platformNavbar$1
112674
112758
  };
112675
112759
 
112676
112760
  var accessTabAddAccess = {
@@ -117718,6 +117802,32 @@ var ltiTabLabels = {
117718
117802
  toolError: "LTI 工具出现问题"
117719
117803
  }
117720
117804
  };
117805
+ var platformSidebar = {
117806
+ collapseSidebar: "收起侧边栏",
117807
+ expandSidebar: "展开侧边栏",
117808
+ mainNavigation: "主导航",
117809
+ notifications: "通知",
117810
+ invites: "邀请",
117811
+ management: "管理",
117812
+ integrations: "集成",
117813
+ monetization: "变现",
117814
+ advanced: "高级",
117815
+ support: "支持",
117816
+ accountTabOrganization: "组织",
117817
+ accountTabBilling: "账单",
117818
+ accountDescOrganization: "管理您的组织设置。",
117819
+ accountDescManagement: "管理系统中的用户及其权限。",
117820
+ accountDescIntegrations: "管理与其他服务的集成。",
117821
+ accountDescMonetization: "配置付费墙、定价和收入。",
117822
+ accountDescAdvanced: "配置组织的高级设置。",
117823
+ accountDescBilling: "管理您的账单和订阅。"
117824
+ };
117825
+ var platformNavbar = {
117826
+ search: "搜索",
117827
+ searchPlaceholder: "搜索",
117828
+ logIn: "登录",
117829
+ signUpForFree: "免费注册"
117830
+ };
117721
117831
  var zh = {
117722
117832
  accessTabAddAccess: accessTabAddAccess,
117723
117833
  accessTabLabels: accessTabLabels,
@@ -117952,7 +118062,9 @@ var zh = {
117952
118062
  workflowsCreateWorkflowModal: workflowsCreateWorkflowModal,
117953
118063
  workflowsDeleteWorkflowModal: workflowsDeleteWorkflowModal,
117954
118064
  workflowsToolDialogs: workflowsToolDialogs,
117955
- ltiTabLabels: ltiTabLabels
118065
+ ltiTabLabels: ltiTabLabels,
118066
+ platformSidebar: platformSidebar,
118067
+ platformNavbar: platformNavbar
117956
118068
  };
117957
118069
 
117958
118070
  /**
@@ -122884,8 +122996,8 @@ function handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {
122884
122996
  }
122885
122997
 
122886
122998
  // src/arrow.tsx
122887
- var NAME$5 = "Arrow";
122888
- var Arrow$1 = React.forwardRef((props, forwardedRef) => {
122999
+ var NAME$6 = "Arrow";
123000
+ var Arrow$3 = React.forwardRef((props, forwardedRef) => {
122889
123001
  const { children, width = 10, height = 5, ...arrowProps } = props;
122890
123002
  return /* @__PURE__ */ jsx(
122891
123003
  Primitive$3.svg,
@@ -122900,23 +123012,23 @@ var Arrow$1 = React.forwardRef((props, forwardedRef) => {
122900
123012
  }
122901
123013
  );
122902
123014
  });
122903
- Arrow$1.displayName = NAME$5;
122904
- var Root$9 = Arrow$1;
123015
+ Arrow$3.displayName = NAME$6;
123016
+ var Root$b = Arrow$3;
122905
123017
 
122906
- var POPPER_NAME = "Popper";
122907
- var [createPopperContext, createPopperScope] = createContextScope$1(POPPER_NAME);
122908
- var [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);
122909
- var Popper = (props) => {
123018
+ var POPPER_NAME$1 = "Popper";
123019
+ var [createPopperContext$1, createPopperScope$1] = createContextScope$1(POPPER_NAME$1);
123020
+ var [PopperProvider$1, usePopperContext$1] = createPopperContext$1(POPPER_NAME$1);
123021
+ var Popper$1 = (props) => {
122910
123022
  const { __scopePopper, children } = props;
122911
123023
  const [anchor, setAnchor] = React.useState(null);
122912
- return /* @__PURE__ */ jsx(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });
123024
+ return /* @__PURE__ */ jsx(PopperProvider$1, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });
122913
123025
  };
122914
- Popper.displayName = POPPER_NAME;
122915
- var ANCHOR_NAME$1 = "PopperAnchor";
122916
- var PopperAnchor = React.forwardRef(
123026
+ Popper$1.displayName = POPPER_NAME$1;
123027
+ var ANCHOR_NAME$2 = "PopperAnchor";
123028
+ var PopperAnchor$1 = React.forwardRef(
122917
123029
  (props, forwardedRef) => {
122918
123030
  const { __scopePopper, virtualRef, ...anchorProps } = props;
122919
- const context = usePopperContext(ANCHOR_NAME$1, __scopePopper);
123031
+ const context = usePopperContext$1(ANCHOR_NAME$2, __scopePopper);
122920
123032
  const ref = React.useRef(null);
122921
123033
  const composedRefs = useComposedRefs$1(forwardedRef, ref);
122922
123034
  React.useEffect(() => {
@@ -122925,10 +123037,10 @@ var PopperAnchor = React.forwardRef(
122925
123037
  return virtualRef ? null : /* @__PURE__ */ jsx(Primitive$3.div, { ...anchorProps, ref: composedRefs });
122926
123038
  }
122927
123039
  );
122928
- PopperAnchor.displayName = ANCHOR_NAME$1;
122929
- var CONTENT_NAME$3 = "PopperContent";
122930
- var [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME$3);
122931
- var PopperContent = React.forwardRef(
123040
+ PopperAnchor$1.displayName = ANCHOR_NAME$2;
123041
+ var CONTENT_NAME$6 = "PopperContent";
123042
+ var [PopperContentProvider$1, useContentContext$1] = createPopperContext$1(CONTENT_NAME$6);
123043
+ var PopperContent$1 = React.forwardRef(
122932
123044
  (props, forwardedRef) => {
122933
123045
  const {
122934
123046
  __scopePopper,
@@ -122946,7 +123058,7 @@ var PopperContent = React.forwardRef(
122946
123058
  onPlaced,
122947
123059
  ...contentProps
122948
123060
  } = props;
122949
- const context = usePopperContext(CONTENT_NAME$3, __scopePopper);
123061
+ const context = usePopperContext$1(CONTENT_NAME$6, __scopePopper);
122950
123062
  const [content, setContent] = React.useState(null);
122951
123063
  const composedRefs = useComposedRefs$1(forwardedRef, (node) => setContent(node));
122952
123064
  const [arrow, setArrow] = React.useState(null);
@@ -122959,7 +123071,7 @@ var PopperContent = React.forwardRef(
122959
123071
  const hasExplicitBoundaries = boundary.length > 0;
122960
123072
  const detectOverflowOptions = {
122961
123073
  padding: collisionPadding,
122962
- boundary: boundary.filter(isNotNull),
123074
+ boundary: boundary.filter(isNotNull$1),
122963
123075
  // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries
122964
123076
  altBoundary: hasExplicitBoundaries
122965
123077
  };
@@ -122997,11 +123109,11 @@ var PopperContent = React.forwardRef(
122997
123109
  }
122998
123110
  }),
122999
123111
  arrow && arrow$2({ element: arrow, padding: arrowPadding }),
123000
- transformOrigin$1({ arrowWidth, arrowHeight }),
123112
+ transformOrigin$2({ arrowWidth, arrowHeight }),
123001
123113
  hideWhenDetached && hide({ strategy: "referenceHidden", ...detectOverflowOptions })
123002
123114
  ]
123003
123115
  });
123004
- const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);
123116
+ const [placedSide, placedAlign] = getSideAndAlignFromPlacement$1(placement);
123005
123117
  const handlePlaced = useCallbackRef$2(onPlaced);
123006
123118
  useLayoutEffect2$1(() => {
123007
123119
  if (isPositioned) {
@@ -123040,7 +123152,7 @@ var PopperContent = React.forwardRef(
123040
123152
  },
123041
123153
  dir: props.dir,
123042
123154
  children: /* @__PURE__ */ jsx(
123043
- PopperContentProvider,
123155
+ PopperContentProvider$1,
123044
123156
  {
123045
123157
  scope: __scopePopper,
123046
123158
  placedSide,
@@ -123069,18 +123181,18 @@ var PopperContent = React.forwardRef(
123069
123181
  );
123070
123182
  }
123071
123183
  );
123072
- PopperContent.displayName = CONTENT_NAME$3;
123073
- var ARROW_NAME$2 = "PopperArrow";
123074
- var OPPOSITE_SIDE = {
123184
+ PopperContent$1.displayName = CONTENT_NAME$6;
123185
+ var ARROW_NAME$4 = "PopperArrow";
123186
+ var OPPOSITE_SIDE$1 = {
123075
123187
  top: "bottom",
123076
123188
  right: "left",
123077
123189
  bottom: "top",
123078
123190
  left: "right"
123079
123191
  };
123080
- var PopperArrow = React.forwardRef(function PopperArrow2(props, forwardedRef) {
123192
+ var PopperArrow$1 = React.forwardRef(function PopperArrow2(props, forwardedRef) {
123081
123193
  const { __scopePopper, ...arrowProps } = props;
123082
- const contentContext = useContentContext(ARROW_NAME$2, __scopePopper);
123083
- const baseSide = OPPOSITE_SIDE[contentContext.placedSide];
123194
+ const contentContext = useContentContext$1(ARROW_NAME$4, __scopePopper);
123195
+ const baseSide = OPPOSITE_SIDE$1[contentContext.placedSide];
123084
123196
  return (
123085
123197
  // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)
123086
123198
  // doesn't report size as we'd expect on SVG elements.
@@ -123109,7 +123221,7 @@ var PopperArrow = React.forwardRef(function PopperArrow2(props, forwardedRef) {
123109
123221
  visibility: contentContext.shouldHideArrow ? "hidden" : void 0
123110
123222
  },
123111
123223
  children: /* @__PURE__ */ jsx(
123112
- Root$9,
123224
+ Root$b,
123113
123225
  {
123114
123226
  ...arrowProps,
123115
123227
  ref: forwardedRef,
@@ -123124,11 +123236,11 @@ var PopperArrow = React.forwardRef(function PopperArrow2(props, forwardedRef) {
123124
123236
  )
123125
123237
  );
123126
123238
  });
123127
- PopperArrow.displayName = ARROW_NAME$2;
123128
- function isNotNull(value) {
123239
+ PopperArrow$1.displayName = ARROW_NAME$4;
123240
+ function isNotNull$1(value) {
123129
123241
  return value !== null;
123130
123242
  }
123131
- var transformOrigin$1 = (options) => ({
123243
+ var transformOrigin$2 = (options) => ({
123132
123244
  name: "transformOrigin",
123133
123245
  options,
123134
123246
  fn(data) {
@@ -123137,7 +123249,7 @@ var transformOrigin$1 = (options) => ({
123137
123249
  const isArrowHidden = cannotCenterArrow;
123138
123250
  const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;
123139
123251
  const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;
123140
- const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);
123252
+ const [placedSide, placedAlign] = getSideAndAlignFromPlacement$1(placement);
123141
123253
  const noArrowAlign = { start: "0%", center: "50%", end: "100%" }[placedAlign];
123142
123254
  const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;
123143
123255
  const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;
@@ -123159,24 +123271,24 @@ var transformOrigin$1 = (options) => ({
123159
123271
  return { data: { x, y } };
123160
123272
  }
123161
123273
  });
123162
- function getSideAndAlignFromPlacement(placement) {
123274
+ function getSideAndAlignFromPlacement$1(placement) {
123163
123275
  const [side, align = "center"] = placement.split("-");
123164
123276
  return [side, align];
123165
123277
  }
123166
- var Root2$3 = Popper;
123167
- var Anchor$1 = PopperAnchor;
123168
- var Content = PopperContent;
123169
- var Arrow = PopperArrow;
123278
+ var Root2$5 = Popper$1;
123279
+ var Anchor$2 = PopperAnchor$1;
123280
+ var Content$1 = PopperContent$1;
123281
+ var Arrow$2 = PopperArrow$1;
123170
123282
 
123171
- var PORTAL_NAME$3 = "Portal";
123172
- var Portal$2 = React.forwardRef((props, forwardedRef) => {
123283
+ var PORTAL_NAME$4 = "Portal";
123284
+ var Portal$3 = React.forwardRef((props, forwardedRef) => {
123173
123285
  const { container: containerProp, ...portalProps } = props;
123174
123286
  const [mounted, setMounted] = React.useState(false);
123175
123287
  useLayoutEffect2$1(() => setMounted(true), []);
123176
123288
  const container = containerProp || mounted && globalThis?.document?.body;
123177
123289
  return container ? ReactDOM__default.createPortal(/* @__PURE__ */ jsx(Primitive$3.div, { ...portalProps, ref: forwardedRef }), container) : null;
123178
123290
  });
123179
- Portal$2.displayName = PORTAL_NAME$3;
123291
+ Portal$3.displayName = PORTAL_NAME$4;
123180
123292
 
123181
123293
  function useStateMachine$2(initialState, machine) {
123182
123294
  return React.useReducer((state, event) => {
@@ -123317,7 +123429,7 @@ var VISUALLY_HIDDEN_STYLES = Object.freeze({
123317
123429
  whiteSpace: "nowrap",
123318
123430
  wordWrap: "normal"
123319
123431
  });
123320
- var NAME$4 = "VisuallyHidden";
123432
+ var NAME$5 = "VisuallyHidden";
123321
123433
  var VisuallyHidden = React.forwardRef(
123322
123434
  (props, forwardedRef) => {
123323
123435
  return /* @__PURE__ */ jsx(
@@ -123330,13 +123442,13 @@ var VisuallyHidden = React.forwardRef(
123330
123442
  );
123331
123443
  }
123332
123444
  );
123333
- VisuallyHidden.displayName = NAME$4;
123334
- var Root$8 = VisuallyHidden;
123445
+ VisuallyHidden.displayName = NAME$5;
123446
+ var Root$a = VisuallyHidden;
123335
123447
 
123336
123448
  var [createTooltipContext] = createContextScope$1("Tooltip", [
123337
- createPopperScope
123449
+ createPopperScope$1
123338
123450
  ]);
123339
- var usePopperScope$1 = createPopperScope();
123451
+ var usePopperScope$2 = createPopperScope$1();
123340
123452
  var PROVIDER_NAME = "TooltipProvider";
123341
123453
  var DEFAULT_DELAY_DURATION = 700;
123342
123454
  var TOOLTIP_OPEN = "tooltip.open";
@@ -123396,7 +123508,7 @@ var Tooltip$2 = (props) => {
123396
123508
  delayDuration: delayDurationProp
123397
123509
  } = props;
123398
123510
  const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);
123399
- const popperScope = usePopperScope$1(__scopeTooltip);
123511
+ const popperScope = usePopperScope$2(__scopeTooltip);
123400
123512
  const [trigger, setTrigger] = React.useState(null);
123401
123513
  const contentId = useId$1();
123402
123514
  const openTimerRef = React.useRef(0);
@@ -123447,7 +123559,7 @@ var Tooltip$2 = (props) => {
123447
123559
  }
123448
123560
  };
123449
123561
  }, []);
123450
- return /* @__PURE__ */ jsx(Root2$3, { ...popperScope, children: /* @__PURE__ */ jsx(
123562
+ return /* @__PURE__ */ jsx(Root2$5, { ...popperScope, children: /* @__PURE__ */ jsx(
123451
123563
  TooltipContextProvider,
123452
123564
  {
123453
123565
  scope: __scopeTooltip,
@@ -123476,13 +123588,13 @@ var Tooltip$2 = (props) => {
123476
123588
  ) });
123477
123589
  };
123478
123590
  Tooltip$2.displayName = TOOLTIP_NAME;
123479
- var TRIGGER_NAME$2 = "TooltipTrigger";
123591
+ var TRIGGER_NAME$4 = "TooltipTrigger";
123480
123592
  var TooltipTrigger$1 = React.forwardRef(
123481
123593
  (props, forwardedRef) => {
123482
123594
  const { __scopeTooltip, ...triggerProps } = props;
123483
- const context = useTooltipContext(TRIGGER_NAME$2, __scopeTooltip);
123484
- const providerContext = useTooltipProviderContext(TRIGGER_NAME$2, __scopeTooltip);
123485
- const popperScope = usePopperScope$1(__scopeTooltip);
123595
+ const context = useTooltipContext(TRIGGER_NAME$4, __scopeTooltip);
123596
+ const providerContext = useTooltipProviderContext(TRIGGER_NAME$4, __scopeTooltip);
123597
+ const popperScope = usePopperScope$2(__scopeTooltip);
123486
123598
  const ref = React.useRef(null);
123487
123599
  const composedRefs = useComposedRefs$1(forwardedRef, ref, context.onTriggerChange);
123488
123600
  const isPointerDownRef = React.useRef(false);
@@ -123491,7 +123603,7 @@ var TooltipTrigger$1 = React.forwardRef(
123491
123603
  React.useEffect(() => {
123492
123604
  return () => document.removeEventListener("pointerup", handlePointerUp);
123493
123605
  }, [handlePointerUp]);
123494
- return /* @__PURE__ */ jsx(Anchor$1, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(
123606
+ return /* @__PURE__ */ jsx(Anchor$2, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(
123495
123607
  Primitive$3.button,
123496
123608
  {
123497
123609
  "aria-describedby": context.open ? context.contentId : void 0,
@@ -123525,29 +123637,29 @@ var TooltipTrigger$1 = React.forwardRef(
123525
123637
  ) });
123526
123638
  }
123527
123639
  );
123528
- TooltipTrigger$1.displayName = TRIGGER_NAME$2;
123529
- var PORTAL_NAME$2 = "TooltipPortal";
123530
- var [PortalProvider$1, usePortalContext$1] = createTooltipContext(PORTAL_NAME$2, {
123640
+ TooltipTrigger$1.displayName = TRIGGER_NAME$4;
123641
+ var PORTAL_NAME$3 = "TooltipPortal";
123642
+ var [PortalProvider$2, usePortalContext$2] = createTooltipContext(PORTAL_NAME$3, {
123531
123643
  forceMount: void 0
123532
123644
  });
123533
123645
  var TooltipPortal = (props) => {
123534
123646
  const { __scopeTooltip, forceMount, children, container } = props;
123535
- const context = useTooltipContext(PORTAL_NAME$2, __scopeTooltip);
123536
- return /* @__PURE__ */ jsx(PortalProvider$1, { scope: __scopeTooltip, forceMount, children: /* @__PURE__ */ jsx(Presence$1, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Portal$2, { asChild: true, container, children }) }) });
123647
+ const context = useTooltipContext(PORTAL_NAME$3, __scopeTooltip);
123648
+ return /* @__PURE__ */ jsx(PortalProvider$2, { scope: __scopeTooltip, forceMount, children: /* @__PURE__ */ jsx(Presence$1, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Portal$3, { asChild: true, container, children }) }) });
123537
123649
  };
123538
- TooltipPortal.displayName = PORTAL_NAME$2;
123539
- var CONTENT_NAME$2 = "TooltipContent";
123650
+ TooltipPortal.displayName = PORTAL_NAME$3;
123651
+ var CONTENT_NAME$5 = "TooltipContent";
123540
123652
  var TooltipContent$1 = React.forwardRef(
123541
123653
  (props, forwardedRef) => {
123542
- const portalContext = usePortalContext$1(CONTENT_NAME$2, props.__scopeTooltip);
123654
+ const portalContext = usePortalContext$2(CONTENT_NAME$5, props.__scopeTooltip);
123543
123655
  const { forceMount = portalContext.forceMount, side = "top", ...contentProps } = props;
123544
- const context = useTooltipContext(CONTENT_NAME$2, props.__scopeTooltip);
123656
+ const context = useTooltipContext(CONTENT_NAME$5, props.__scopeTooltip);
123545
123657
  return /* @__PURE__ */ jsx(Presence$1, { present: forceMount || context.open, children: context.disableHoverableContent ? /* @__PURE__ */ jsx(TooltipContentImpl, { side, ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(TooltipContentHoverable, { side, ...contentProps, ref: forwardedRef }) });
123546
123658
  }
123547
123659
  );
123548
123660
  var TooltipContentHoverable = React.forwardRef((props, forwardedRef) => {
123549
- const context = useTooltipContext(CONTENT_NAME$2, props.__scopeTooltip);
123550
- const providerContext = useTooltipProviderContext(CONTENT_NAME$2, props.__scopeTooltip);
123661
+ const context = useTooltipContext(CONTENT_NAME$5, props.__scopeTooltip);
123662
+ const providerContext = useTooltipProviderContext(CONTENT_NAME$5, props.__scopeTooltip);
123551
123663
  const ref = React.useRef(null);
123552
123664
  const composedRefs = useComposedRefs$1(forwardedRef, ref);
123553
123665
  const [pointerGraceArea, setPointerGraceArea] = React.useState(null);
@@ -123618,8 +123730,8 @@ var TooltipContentImpl = React.forwardRef(
123618
123730
  onPointerDownOutside,
123619
123731
  ...contentProps
123620
123732
  } = props;
123621
- const context = useTooltipContext(CONTENT_NAME$2, __scopeTooltip);
123622
- const popperScope = usePopperScope$1(__scopeTooltip);
123733
+ const context = useTooltipContext(CONTENT_NAME$5, __scopeTooltip);
123734
+ const popperScope = usePopperScope$2(__scopeTooltip);
123623
123735
  const { onClose } = context;
123624
123736
  React.useEffect(() => {
123625
123737
  document.addEventListener(TOOLTIP_OPEN, onClose);
@@ -123645,7 +123757,7 @@ var TooltipContentImpl = React.forwardRef(
123645
123757
  onFocusOutside: (event) => event.preventDefault(),
123646
123758
  onDismiss: onClose,
123647
123759
  children: /* @__PURE__ */ jsxs(
123648
- Content,
123760
+ Content$1,
123649
123761
  {
123650
123762
  "data-state": context.stateAttribute,
123651
123763
  ...popperScope,
@@ -123664,7 +123776,7 @@ var TooltipContentImpl = React.forwardRef(
123664
123776
  },
123665
123777
  children: [
123666
123778
  /* @__PURE__ */ jsx(Slottable$2, { children }),
123667
- /* @__PURE__ */ jsx(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ jsx(Root$8, { id: context.contentId, role: "tooltip", children: ariaLabel || children }) })
123779
+ /* @__PURE__ */ jsx(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ jsx(Root$a, { id: context.contentId, role: "tooltip", children: ariaLabel || children }) })
123668
123780
  ]
123669
123781
  }
123670
123782
  )
@@ -123672,20 +123784,20 @@ var TooltipContentImpl = React.forwardRef(
123672
123784
  );
123673
123785
  }
123674
123786
  );
123675
- TooltipContent$1.displayName = CONTENT_NAME$2;
123676
- var ARROW_NAME$1 = "TooltipArrow";
123787
+ TooltipContent$1.displayName = CONTENT_NAME$5;
123788
+ var ARROW_NAME$3 = "TooltipArrow";
123677
123789
  var TooltipArrow = React.forwardRef(
123678
123790
  (props, forwardedRef) => {
123679
123791
  const { __scopeTooltip, ...arrowProps } = props;
123680
- const popperScope = usePopperScope$1(__scopeTooltip);
123792
+ const popperScope = usePopperScope$2(__scopeTooltip);
123681
123793
  const visuallyHiddenContentContext = useVisuallyHiddenContentContext(
123682
- ARROW_NAME$1,
123794
+ ARROW_NAME$3,
123683
123795
  __scopeTooltip
123684
123796
  );
123685
- return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ jsx(Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });
123797
+ return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ jsx(Arrow$2, { ...popperScope, ...arrowProps, ref: forwardedRef });
123686
123798
  }
123687
123799
  );
123688
- TooltipArrow.displayName = ARROW_NAME$1;
123800
+ TooltipArrow.displayName = ARROW_NAME$3;
123689
123801
  function getExitSideFromRect(point, rect) {
123690
123802
  const top = Math.abs(rect.top - point.y);
123691
123803
  const bottom = Math.abs(rect.bottom - point.y);
@@ -123803,9 +123915,9 @@ function getHullPresorted(points) {
123803
123915
  }
123804
123916
  var Provider = TooltipProvider$1;
123805
123917
  var Root3 = Tooltip$2;
123806
- var Trigger$1 = TooltipTrigger$1;
123807
- var Portal$1 = TooltipPortal;
123808
- var Content2$2 = TooltipContent$1;
123918
+ var Trigger$2 = TooltipTrigger$1;
123919
+ var Portal$2 = TooltipPortal;
123920
+ var Content2$3 = TooltipContent$1;
123809
123921
  var Arrow2 = TooltipArrow;
123810
123922
 
123811
123923
  function TooltipProvider({ delayDuration = 0, ...props }) {
@@ -123815,10 +123927,10 @@ function Tooltip$1({ ...props }) {
123815
123927
  return (jsx(TooltipProvider, { children: jsx(Root3, { "data-slot": "tooltip", ...props }) }));
123816
123928
  }
123817
123929
  function TooltipTrigger({ ...props }) {
123818
- return jsx(Trigger$1, { "data-slot": "tooltip-trigger", ...props });
123930
+ return jsx(Trigger$2, { "data-slot": "tooltip-trigger", ...props });
123819
123931
  }
123820
123932
  function TooltipContent({ className, sideOffset = 0, children, ...props }) {
123821
- return (jsx(Portal$1, { children: jsxs(Content2$2, { "data-slot": "tooltip-content", sideOffset: sideOffset, className: cn("bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance", className), ...props, children: [children, jsx(Arrow2, { className: "bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })] }) }));
123933
+ return (jsx(Portal$2, { children: jsxs(Content2$3, { "data-slot": "tooltip-content", sideOffset: sideOffset, className: cn("bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance", className), ...props, children: [children, jsx(Arrow2, { className: "bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" })] }) }));
123822
123934
  }
123823
123935
 
123824
123936
  // packages/react/context/src/createContext.tsx
@@ -124108,11 +124220,11 @@ function getInvalidValueError(propValue, componentName) {
124108
124220
 
124109
124221
  Defaulting to \`null\`.`;
124110
124222
  }
124111
- var Root$7 = Progress$1;
124223
+ var Root$9 = Progress$1;
124112
124224
  var Indicator$2 = ProgressIndicator;
124113
124225
 
124114
- const Progress = React.forwardRef(({ className, value, ...props }, ref) => (jsx(Root$7, { ref: ref, className: cn('bg-secondary relative h-4 w-full overflow-hidden rounded-full', className), ...props, children: jsx(Indicator$2, { className: "bg-primary h-full w-full flex-1 transition-all", style: { transform: `translateX(-${100 - (value || 0)}%)` } }) })));
124115
- Progress.displayName = Root$7.displayName;
124226
+ const Progress = React.forwardRef(({ className, value, ...props }, ref) => (jsx(Root$9, { ref: ref, className: cn('bg-secondary relative h-4 w-full overflow-hidden rounded-full', className), ...props, children: jsx(Indicator$2, { className: "bg-primary h-full w-full flex-1 transition-all", style: { transform: `translateX(-${100 - (value || 0)}%)` } }) })));
124227
+ Progress.displayName = Root$9.displayName;
124116
124228
 
124117
124229
  var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
124118
124230
  // @__NO_SIDE_EFFECTS__
@@ -124136,7 +124248,7 @@ var AlertDialog$1 = (props) => {
124136
124248
  return /* @__PURE__ */ jsx(DialogPrimitive.Root, { ...dialogScope, ...alertDialogProps, modal: true });
124137
124249
  };
124138
124250
  AlertDialog$1.displayName = ROOT_NAME;
124139
- var TRIGGER_NAME$1 = "AlertDialogTrigger";
124251
+ var TRIGGER_NAME$3 = "AlertDialogTrigger";
124140
124252
  var AlertDialogTrigger = React.forwardRef(
124141
124253
  (props, forwardedRef) => {
124142
124254
  const { __scopeAlertDialog, ...triggerProps } = props;
@@ -124144,14 +124256,14 @@ var AlertDialogTrigger = React.forwardRef(
124144
124256
  return /* @__PURE__ */ jsx(DialogPrimitive.Trigger, { ...dialogScope, ...triggerProps, ref: forwardedRef });
124145
124257
  }
124146
124258
  );
124147
- AlertDialogTrigger.displayName = TRIGGER_NAME$1;
124148
- var PORTAL_NAME$1 = "AlertDialogPortal";
124259
+ AlertDialogTrigger.displayName = TRIGGER_NAME$3;
124260
+ var PORTAL_NAME$2 = "AlertDialogPortal";
124149
124261
  var AlertDialogPortal$1 = (props) => {
124150
124262
  const { __scopeAlertDialog, ...portalProps } = props;
124151
124263
  const dialogScope = useDialogScope(__scopeAlertDialog);
124152
124264
  return /* @__PURE__ */ jsx(DialogPrimitive.Portal, { ...dialogScope, ...portalProps });
124153
124265
  };
124154
- AlertDialogPortal$1.displayName = PORTAL_NAME$1;
124266
+ AlertDialogPortal$1.displayName = PORTAL_NAME$2;
124155
124267
  var OVERLAY_NAME = "AlertDialogOverlay";
124156
124268
  var AlertDialogOverlay$1 = React.forwardRef(
124157
124269
  (props, forwardedRef) => {
@@ -124161,8 +124273,8 @@ var AlertDialogOverlay$1 = React.forwardRef(
124161
124273
  }
124162
124274
  );
124163
124275
  AlertDialogOverlay$1.displayName = OVERLAY_NAME;
124164
- var CONTENT_NAME$1 = "AlertDialogContent";
124165
- var [AlertDialogContentProvider, useAlertDialogContentContext] = createAlertDialogContext(CONTENT_NAME$1);
124276
+ var CONTENT_NAME$4 = "AlertDialogContent";
124277
+ var [AlertDialogContentProvider, useAlertDialogContentContext] = createAlertDialogContext(CONTENT_NAME$4);
124166
124278
  var Slottable = createSlottable("AlertDialogContent");
124167
124279
  var AlertDialogContent$1 = React.forwardRef(
124168
124280
  (props, forwardedRef) => {
@@ -124174,7 +124286,7 @@ var AlertDialogContent$1 = React.forwardRef(
124174
124286
  return /* @__PURE__ */ jsx(
124175
124287
  DialogPrimitive.WarningProvider,
124176
124288
  {
124177
- contentName: CONTENT_NAME$1,
124289
+ contentName: CONTENT_NAME$4,
124178
124290
  titleName: TITLE_NAME,
124179
124291
  docsSlug: "alert-dialog",
124180
124292
  children: /* @__PURE__ */ jsx(AlertDialogContentProvider, { scope: __scopeAlertDialog, cancelRef, children: /* @__PURE__ */ jsxs(
@@ -124200,7 +124312,7 @@ var AlertDialogContent$1 = React.forwardRef(
124200
124312
  );
124201
124313
  }
124202
124314
  );
124203
- AlertDialogContent$1.displayName = CONTENT_NAME$1;
124315
+ AlertDialogContent$1.displayName = CONTENT_NAME$4;
124204
124316
  var TITLE_NAME = "AlertDialogTitle";
124205
124317
  var AlertDialogTitle$1 = React.forwardRef(
124206
124318
  (props, forwardedRef) => {
@@ -124238,11 +124350,11 @@ var AlertDialogCancel$1 = React.forwardRef(
124238
124350
  );
124239
124351
  AlertDialogCancel$1.displayName = CANCEL_NAME;
124240
124352
  var DescriptionWarning = ({ contentRef }) => {
124241
- const MESSAGE = `\`${CONTENT_NAME$1}\` requires a description for the component to be accessible for screen reader users.
124353
+ const MESSAGE = `\`${CONTENT_NAME$4}\` requires a description for the component to be accessible for screen reader users.
124242
124354
 
124243
- You can add a description to the \`${CONTENT_NAME$1}\` by passing a \`${DESCRIPTION_NAME}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
124355
+ You can add a description to the \`${CONTENT_NAME$4}\` by passing a \`${DESCRIPTION_NAME}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
124244
124356
 
124245
- Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${CONTENT_NAME$1}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
124357
+ Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${CONTENT_NAME$4}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
124246
124358
 
124247
124359
  For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;
124248
124360
  React.useEffect(() => {
@@ -124253,21 +124365,21 @@ For more information, see https://radix-ui.com/primitives/docs/components/alert-
124253
124365
  }, [MESSAGE, contentRef]);
124254
124366
  return null;
124255
124367
  };
124256
- var Root2$2 = AlertDialog$1;
124368
+ var Root2$4 = AlertDialog$1;
124257
124369
  var Portal2 = AlertDialogPortal$1;
124258
124370
  var Overlay2 = AlertDialogOverlay$1;
124259
- var Content2$1 = AlertDialogContent$1;
124371
+ var Content2$2 = AlertDialogContent$1;
124260
124372
  var Action = AlertDialogAction$1;
124261
124373
  var Cancel = AlertDialogCancel$1;
124262
124374
  var Title2 = AlertDialogTitle$1;
124263
124375
  var Description2 = AlertDialogDescription$1;
124264
124376
 
124265
- const AlertDialog = Root2$2;
124377
+ const AlertDialog = Root2$4;
124266
124378
  const AlertDialogPortal = Portal2;
124267
124379
  const AlertDialogOverlay = React.forwardRef(({ className, ...props }, ref) => (jsx(Overlay2, { className: cn('data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80', className), ...props, ref: ref })));
124268
124380
  AlertDialogOverlay.displayName = Overlay2.displayName;
124269
- const AlertDialogContent = React.forwardRef(({ className, ...props }, ref) => (jsxs(AlertDialogPortal, { children: [jsx(AlertDialogOverlay, {}), jsx(Content2$1, { ref: ref, className: cn('bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-200 sm:rounded-lg', className), ...props })] })));
124270
- AlertDialogContent.displayName = Content2$1.displayName;
124381
+ const AlertDialogContent = React.forwardRef(({ className, ...props }, ref) => (jsxs(AlertDialogPortal, { children: [jsx(AlertDialogOverlay, {}), jsx(Content2$2, { ref: ref, className: cn('bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] fixed top-[50%] left-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border p-6 shadow-lg duration-200 sm:rounded-lg', className), ...props })] })));
124382
+ AlertDialogContent.displayName = Content2$2.displayName;
124271
124383
  const AlertDialogHeader = ({ className, ...props }) => (jsx("div", { className: cn('flex flex-col space-y-2 text-center sm:text-left', className), ...props }));
124272
124384
  AlertDialogHeader.displayName = 'AlertDialogHeader';
124273
124385
  const AlertDialogFooter = ({ className, ...props }) => (jsx("div", { className: cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className), ...props }));
@@ -125170,7 +125282,7 @@ var Primitive = NODES.reduce((primitive, node) => {
125170
125282
  return { ...primitive, [node]: Node };
125171
125283
  }, {});
125172
125284
 
125173
- var NAME$3 = "Label";
125285
+ var NAME$4 = "Label";
125174
125286
  var Label$2 = React.forwardRef((props, forwardedRef) => {
125175
125287
  return /* @__PURE__ */ jsx(
125176
125288
  Primitive.label,
@@ -125186,12 +125298,12 @@ var Label$2 = React.forwardRef((props, forwardedRef) => {
125186
125298
  }
125187
125299
  );
125188
125300
  });
125189
- Label$2.displayName = NAME$3;
125190
- var Root$6 = Label$2;
125301
+ Label$2.displayName = NAME$4;
125302
+ var Root$8 = Label$2;
125191
125303
 
125192
125304
  const labelVariants = cva("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70");
125193
- const Label$1 = React.forwardRef(({ className, ...props }, ref) => (jsx(Root$6, { ref: ref, className: cn(labelVariants(), className), ...props })));
125194
- Label$1.displayName = Root$6.displayName;
125305
+ const Label$1 = React.forwardRef(({ className, ...props }, ref) => (jsx(Root$8, { ref: ref, className: cn(labelVariants(), className), ...props })));
125306
+ Label$1.displayName = Root$8.displayName;
125195
125307
 
125196
125308
  var dayjs_min = {exports: {}};
125197
125309
 
@@ -173815,7 +173927,7 @@ var Checkbox$1 = React.forwardRef(
173815
173927
  role: "checkbox",
173816
173928
  "aria-checked": isIndeterminate(checked) ? "mixed" : checked,
173817
173929
  "aria-required": required,
173818
- "data-state": getState$2(checked),
173930
+ "data-state": getState$3(checked),
173819
173931
  "data-disabled": disabled ? "" : void 0,
173820
173932
  disabled,
173821
173933
  value,
@@ -173860,7 +173972,7 @@ var CheckboxIndicator = React.forwardRef(
173860
173972
  return /* @__PURE__ */ jsx(Presence$1, { present: forceMount || isIndeterminate(context.state) || context.state === true, children: /* @__PURE__ */ jsx(
173861
173973
  Primitive$3.span,
173862
173974
  {
173863
- "data-state": getState$2(context.state),
173975
+ "data-state": getState$3(context.state),
173864
173976
  "data-disabled": context.disabled ? "" : void 0,
173865
173977
  ...indicatorProps,
173866
173978
  ref: forwardedRef,
@@ -173926,14 +174038,14 @@ CheckboxBubbleInput.displayName = BUBBLE_INPUT_NAME;
173926
174038
  function isIndeterminate(checked) {
173927
174039
  return checked === "indeterminate";
173928
174040
  }
173929
- function getState$2(checked) {
174041
+ function getState$3(checked) {
173930
174042
  return isIndeterminate(checked) ? "indeterminate" : checked ? "checked" : "unchecked";
173931
174043
  }
173932
- var Root$5 = Checkbox$1;
174044
+ var Root$7 = Checkbox$1;
173933
174045
  var Indicator$1 = CheckboxIndicator;
173934
174046
 
173935
- const Checkbox = React.forwardRef(({ className, ...props }, ref) => (jsx(Root$5, { ref: ref, className: cn("peer border-primary focus-visible:ring-ring h-4 w-4 shrink-0 rounded-sm border shadow-sm focus-visible:ring-1 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-blue-500 data-[state=checked]:text-white", className), ...props, children: jsx(Indicator$1, { className: cn("flex items-center justify-center text-current"), children: jsx(Check, { className: "h-4 w-4" }) }) })));
173936
- Checkbox.displayName = Root$5.displayName;
174047
+ const Checkbox = React.forwardRef(({ className, ...props }, ref) => (jsx(Root$7, { ref: ref, className: cn("peer border-primary focus-visible:ring-ring h-4 w-4 shrink-0 rounded-sm border shadow-sm focus-visible:ring-1 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-blue-500 data-[state=checked]:text-white", className), ...props, children: jsx(Indicator$1, { className: cn("flex items-center justify-center text-current"), children: jsx(Check, { className: "h-4 w-4" }) }) })));
174048
+ Checkbox.displayName = Root$7.displayName;
173937
174049
 
173938
174050
  function CoursesTab({ tenant, currentPage, itemsPerPage, hasManageUsersPermission = false, }) {
173939
174051
  var _a;
@@ -174851,9 +174963,9 @@ const AdvancedPagination = ({ currentPage, totalPages, onPageChange, totalCount,
174851
174963
 
174852
174964
  var POPOVER_NAME = "Popover";
174853
174965
  var [createPopoverContext] = createContextScope$1(POPOVER_NAME, [
174854
- createPopperScope$1
174966
+ createPopperScope$2
174855
174967
  ]);
174856
- var usePopperScope = createPopperScope$1();
174968
+ var usePopperScope$1 = createPopperScope$2();
174857
174969
  var [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);
174858
174970
  var Popover$1 = (props) => {
174859
174971
  const {
@@ -174864,7 +174976,7 @@ var Popover$1 = (props) => {
174864
174976
  onOpenChange,
174865
174977
  modal = false
174866
174978
  } = props;
174867
- const popperScope = usePopperScope(__scopePopover);
174979
+ const popperScope = usePopperScope$1(__scopePopover);
174868
174980
  const triggerRef = React.useRef(null);
174869
174981
  const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);
174870
174982
  const [open = false, setOpen] = useControllableState$2({
@@ -174872,7 +174984,7 @@ var Popover$1 = (props) => {
174872
174984
  defaultProp: defaultOpen,
174873
174985
  onChange: onOpenChange
174874
174986
  });
174875
- return /* @__PURE__ */ jsx(Root2$8, { ...popperScope, children: /* @__PURE__ */ jsx(
174987
+ return /* @__PURE__ */ jsx(Root2$a, { ...popperScope, children: /* @__PURE__ */ jsx(
174876
174988
  PopoverProvider,
174877
174989
  {
174878
174990
  scope: __scopePopover,
@@ -174890,27 +175002,27 @@ var Popover$1 = (props) => {
174890
175002
  ) });
174891
175003
  };
174892
175004
  Popover$1.displayName = POPOVER_NAME;
174893
- var ANCHOR_NAME = "PopoverAnchor";
175005
+ var ANCHOR_NAME$1 = "PopoverAnchor";
174894
175006
  var PopoverAnchor$1 = React.forwardRef(
174895
175007
  (props, forwardedRef) => {
174896
175008
  const { __scopePopover, ...anchorProps } = props;
174897
- const context = usePopoverContext(ANCHOR_NAME, __scopePopover);
174898
- const popperScope = usePopperScope(__scopePopover);
175009
+ const context = usePopoverContext(ANCHOR_NAME$1, __scopePopover);
175010
+ const popperScope = usePopperScope$1(__scopePopover);
174899
175011
  const { onCustomAnchorAdd, onCustomAnchorRemove } = context;
174900
175012
  React.useEffect(() => {
174901
175013
  onCustomAnchorAdd();
174902
175014
  return () => onCustomAnchorRemove();
174903
175015
  }, [onCustomAnchorAdd, onCustomAnchorRemove]);
174904
- return /* @__PURE__ */ jsx(Anchor$2, { ...popperScope, ...anchorProps, ref: forwardedRef });
175016
+ return /* @__PURE__ */ jsx(Anchor$3, { ...popperScope, ...anchorProps, ref: forwardedRef });
174905
175017
  }
174906
175018
  );
174907
- PopoverAnchor$1.displayName = ANCHOR_NAME;
174908
- var TRIGGER_NAME = "PopoverTrigger";
175019
+ PopoverAnchor$1.displayName = ANCHOR_NAME$1;
175020
+ var TRIGGER_NAME$2 = "PopoverTrigger";
174909
175021
  var PopoverTrigger$1 = React.forwardRef(
174910
175022
  (props, forwardedRef) => {
174911
175023
  const { __scopePopover, ...triggerProps } = props;
174912
- const context = usePopoverContext(TRIGGER_NAME, __scopePopover);
174913
- const popperScope = usePopperScope(__scopePopover);
175024
+ const context = usePopoverContext(TRIGGER_NAME$2, __scopePopover);
175025
+ const popperScope = usePopperScope$1(__scopePopover);
174914
175026
  const composedTriggerRef = useComposedRefs$1(forwardedRef, context.triggerRef);
174915
175027
  const trigger = /* @__PURE__ */ jsx(
174916
175028
  Primitive$4.button,
@@ -174919,40 +175031,40 @@ var PopoverTrigger$1 = React.forwardRef(
174919
175031
  "aria-haspopup": "dialog",
174920
175032
  "aria-expanded": context.open,
174921
175033
  "aria-controls": context.contentId,
174922
- "data-state": getState$1(context.open),
175034
+ "data-state": getState$2(context.open),
174923
175035
  ...triggerProps,
174924
175036
  ref: composedTriggerRef,
174925
175037
  onClick: composeEventHandlers$2(props.onClick, context.onOpenToggle)
174926
175038
  }
174927
175039
  );
174928
- return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx(Anchor$2, { asChild: true, ...popperScope, children: trigger });
175040
+ return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx(Anchor$3, { asChild: true, ...popperScope, children: trigger });
174929
175041
  }
174930
175042
  );
174931
- PopoverTrigger$1.displayName = TRIGGER_NAME;
174932
- var PORTAL_NAME = "PopoverPortal";
174933
- var [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME, {
175043
+ PopoverTrigger$1.displayName = TRIGGER_NAME$2;
175044
+ var PORTAL_NAME$1 = "PopoverPortal";
175045
+ var [PortalProvider$1, usePortalContext$1] = createPopoverContext(PORTAL_NAME$1, {
174934
175046
  forceMount: void 0
174935
175047
  });
174936
175048
  var PopoverPortal = (props) => {
174937
175049
  const { __scopePopover, forceMount, children, container } = props;
174938
- const context = usePopoverContext(PORTAL_NAME, __scopePopover);
174939
- return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsx(Presence$3, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Portal$6, { asChild: true, container, children }) }) });
175050
+ const context = usePopoverContext(PORTAL_NAME$1, __scopePopover);
175051
+ return /* @__PURE__ */ jsx(PortalProvider$1, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsx(Presence$3, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Portal$7, { asChild: true, container, children }) }) });
174940
175052
  };
174941
- PopoverPortal.displayName = PORTAL_NAME;
174942
- var CONTENT_NAME = "PopoverContent";
175053
+ PopoverPortal.displayName = PORTAL_NAME$1;
175054
+ var CONTENT_NAME$3 = "PopoverContent";
174943
175055
  var PopoverContent$1 = React.forwardRef(
174944
175056
  (props, forwardedRef) => {
174945
- const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);
175057
+ const portalContext = usePortalContext$1(CONTENT_NAME$3, props.__scopePopover);
174946
175058
  const { forceMount = portalContext.forceMount, ...contentProps } = props;
174947
- const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);
175059
+ const context = usePopoverContext(CONTENT_NAME$3, props.__scopePopover);
174948
175060
  return /* @__PURE__ */ jsx(Presence$3, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });
174949
175061
  }
174950
175062
  );
174951
- PopoverContent$1.displayName = CONTENT_NAME;
175063
+ PopoverContent$1.displayName = CONTENT_NAME$3;
174952
175064
  var Slot = createSlot$1("PopoverContent.RemoveScroll");
174953
175065
  var PopoverContentModal = React.forwardRef(
174954
175066
  (props, forwardedRef) => {
174955
- const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);
175067
+ const context = usePopoverContext(CONTENT_NAME$3, props.__scopePopover);
174956
175068
  const contentRef = React.useRef(null);
174957
175069
  const composedRefs = useComposedRefs$1(forwardedRef, contentRef);
174958
175070
  const isRightClickOutsideRef = React.useRef(false);
@@ -174992,7 +175104,7 @@ var PopoverContentModal = React.forwardRef(
174992
175104
  );
174993
175105
  var PopoverContentNonModal = React.forwardRef(
174994
175106
  (props, forwardedRef) => {
174995
- const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);
175107
+ const context = usePopoverContext(CONTENT_NAME$3, props.__scopePopover);
174996
175108
  const hasInteractedOutsideRef = React.useRef(false);
174997
175109
  const hasPointerDownOutsideRef = React.useRef(false);
174998
175110
  return /* @__PURE__ */ jsx(
@@ -175044,8 +175156,8 @@ var PopoverContentImpl = React.forwardRef(
175044
175156
  onInteractOutside,
175045
175157
  ...contentProps
175046
175158
  } = props;
175047
- const context = usePopoverContext(CONTENT_NAME, __scopePopover);
175048
- const popperScope = usePopperScope(__scopePopover);
175159
+ const context = usePopoverContext(CONTENT_NAME$3, __scopePopover);
175160
+ const popperScope = usePopperScope$1(__scopePopover);
175049
175161
  useFocusGuards();
175050
175162
  return /* @__PURE__ */ jsx(
175051
175163
  FocusScope,
@@ -175066,9 +175178,9 @@ var PopoverContentImpl = React.forwardRef(
175066
175178
  onFocusOutside,
175067
175179
  onDismiss: () => context.onOpenChange(false),
175068
175180
  children: /* @__PURE__ */ jsx(
175069
- Content$2,
175181
+ Content$3,
175070
175182
  {
175071
- "data-state": getState$1(context.open),
175183
+ "data-state": getState$2(context.open),
175072
175184
  role: "dialog",
175073
175185
  id: context.contentId,
175074
175186
  ...popperScope,
@@ -175110,38 +175222,38 @@ var PopoverClose = React.forwardRef(
175110
175222
  }
175111
175223
  );
175112
175224
  PopoverClose.displayName = CLOSE_NAME;
175113
- var ARROW_NAME = "PopoverArrow";
175225
+ var ARROW_NAME$2 = "PopoverArrow";
175114
175226
  var PopoverArrow = React.forwardRef(
175115
175227
  (props, forwardedRef) => {
175116
175228
  const { __scopePopover, ...arrowProps } = props;
175117
- const popperScope = usePopperScope(__scopePopover);
175118
- return /* @__PURE__ */ jsx(Arrow$2, { ...popperScope, ...arrowProps, ref: forwardedRef });
175229
+ const popperScope = usePopperScope$1(__scopePopover);
175230
+ return /* @__PURE__ */ jsx(Arrow$4, { ...popperScope, ...arrowProps, ref: forwardedRef });
175119
175231
  }
175120
175232
  );
175121
- PopoverArrow.displayName = ARROW_NAME;
175122
- function getState$1(open) {
175233
+ PopoverArrow.displayName = ARROW_NAME$2;
175234
+ function getState$2(open) {
175123
175235
  return open ? "open" : "closed";
175124
175236
  }
175125
- var Root2$1 = Popover$1;
175237
+ var Root2$3 = Popover$1;
175126
175238
  var Anchor2 = PopoverAnchor$1;
175127
- var Trigger = PopoverTrigger$1;
175128
- var Portal = PopoverPortal;
175129
- var Content2 = PopoverContent$1;
175239
+ var Trigger$1 = PopoverTrigger$1;
175240
+ var Portal$1 = PopoverPortal;
175241
+ var Content2$1 = PopoverContent$1;
175130
175242
 
175131
- const Popover = Root2$1;
175132
- const PopoverTrigger = Trigger;
175243
+ const Popover = Root2$3;
175244
+ const PopoverTrigger = Trigger$1;
175133
175245
  const PopoverAnchor = Anchor2;
175134
175246
  const PopoverContent = React.forwardRef(({ className, align = 'center', sideOffset = 4, portalled = true, container, ...props }, ref) => {
175135
175247
  var _a;
175136
175248
  const portalContainer = useFloatingPortalContainer();
175137
175249
  const resolvedContainer = (_a = container !== null && container !== void 0 ? container : portalContainer) !== null && _a !== void 0 ? _a : undefined;
175138
- const content = (jsx(Content2, { ref: ref, "data-iblai-dialog-interaction-layer": true, align: align, sideOffset: sideOffset, className: cn('bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none', className), ...props }));
175250
+ const content = (jsx(Content2$1, { ref: ref, "data-iblai-dialog-interaction-layer": true, align: align, sideOffset: sideOffset, className: cn('bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 rounded-md border p-4 shadow-md outline-none', className), ...props }));
175139
175251
  if (!portalled) {
175140
175252
  return content;
175141
175253
  }
175142
- return jsx(Portal, { container: resolvedContainer, children: content });
175254
+ return jsx(Portal$1, { container: resolvedContainer, children: content });
175143
175255
  });
175144
- PopoverContent.displayName = Content2.displayName;
175256
+ PopoverContent.displayName = Content2$1.displayName;
175145
175257
 
175146
175258
  function UsersTab({ tenant, onInviteClick, currentSpa, showGradebookTab = false, }) {
175147
175259
  const t = useT();
@@ -178564,7 +178676,7 @@ function PreviousMonthButton(props) {
178564
178676
  * @group Components
178565
178677
  * @see https://daypicker.dev/guides/custom-components
178566
178678
  */
178567
- function Root$4(props) {
178679
+ function Root$6(props) {
178568
178680
  const { rootRef, ...rest } = props;
178569
178681
  return React__default.createElement("div", { ...rest, ref: rootRef });
178570
178682
  }
@@ -178672,7 +178784,7 @@ var components$1 = /*#__PURE__*/Object.freeze({
178672
178784
  NextMonthButton: NextMonthButton,
178673
178785
  Option: Option,
178674
178786
  PreviousMonthButton: PreviousMonthButton,
178675
- Root: Root$4,
178787
+ Root: Root$6,
178676
178788
  Select: Select,
178677
178789
  Week: Week,
178678
178790
  WeekNumber: WeekNumber,
@@ -210964,7 +211076,7 @@ function useUncontrolledState({
210964
211076
  return uncontrolledState;
210965
211077
  }
210966
211078
 
210967
- var NAME$2 = "Toggle";
211079
+ var NAME$3 = "Toggle";
210968
211080
  var Toggle$1 = React.forwardRef((props, forwardedRef) => {
210969
211081
  const { pressed: pressedProp, defaultPressed = false, onPressedChange, ...buttonProps } = props;
210970
211082
  const [pressed = false, setPressed] = useControllableState({
@@ -210989,8 +211101,8 @@ var Toggle$1 = React.forwardRef((props, forwardedRef) => {
210989
211101
  }
210990
211102
  );
210991
211103
  });
210992
- Toggle$1.displayName = NAME$2;
210993
- var Root$3 = Toggle$1;
211104
+ Toggle$1.displayName = NAME$3;
211105
+ var Root$5 = Toggle$1;
210994
211106
 
210995
211107
  const toggleVariants = cva('inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground', {
210996
211108
  variants: {
@@ -211009,11 +211121,11 @@ const toggleVariants = cva('inline-flex items-center justify-center rounded-md t
211009
211121
  size: 'default',
211010
211122
  },
211011
211123
  });
211012
- const Toggle = React.forwardRef(({ className, variant, size, ...props }, ref) => (jsx(Root$3, { ref: ref, className: cn(toggleVariants({ variant, size, className })), ...props })));
211013
- Toggle.displayName = Root$3.displayName;
211124
+ const Toggle = React.forwardRef(({ className, variant, size, ...props }, ref) => (jsx(Root$5, { ref: ref, className: cn(toggleVariants({ variant, size, className })), ...props })));
211125
+ Toggle.displayName = Root$5.displayName;
211014
211126
 
211015
211127
  // src/separator.tsx
211016
- var NAME$1 = "Separator";
211128
+ var NAME$2 = "Separator";
211017
211129
  var DEFAULT_ORIENTATION = "horizontal";
211018
211130
  var ORIENTATIONS = ["horizontal", "vertical"];
211019
211131
  var Separator$1 = React.forwardRef((props, forwardedRef) => {
@@ -211031,14 +211143,14 @@ var Separator$1 = React.forwardRef((props, forwardedRef) => {
211031
211143
  }
211032
211144
  );
211033
211145
  });
211034
- Separator$1.displayName = NAME$1;
211146
+ Separator$1.displayName = NAME$2;
211035
211147
  function isValidOrientation(orientation) {
211036
211148
  return ORIENTATIONS.includes(orientation);
211037
211149
  }
211038
- var Root$2 = Separator$1;
211150
+ var Root$4 = Separator$1;
211039
211151
 
211040
- const Separator = React.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => (jsx(Root$2, { ref: ref, decorative: decorative, orientation: orientation, className: cn("shrink-0 bg-border", orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]", className), ...props })));
211041
- Separator.displayName = Root$2.displayName;
211152
+ const Separator = React.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => (jsx(Root$4, { ref: ref, decorative: decorative, orientation: orientation, className: cn("shrink-0 bg-border", orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]", className), ...props })));
211153
+ Separator.displayName = Root$4.displayName;
211042
211154
 
211043
211155
  // Custom Div extension to preserve div elements with inline styles
211044
211156
  const Div = Node3.create({
@@ -211875,7 +211987,7 @@ function focusFirst(candidates, preventScroll = false) {
211875
211987
  function wrapArray(array, startIndex) {
211876
211988
  return array.map((_, index) => array[(startIndex + index) % array.length]);
211877
211989
  }
211878
- var Root$1 = RovingFocusGroup;
211990
+ var Root$3 = RovingFocusGroup;
211879
211991
  var Item = RovingFocusGroupItem;
211880
211992
 
211881
211993
  // packages/react/use-size/src/useSize.tsx
@@ -212078,7 +212190,7 @@ var Radio = React.forwardRef(
212078
212190
  type: "button",
212079
212191
  role: "radio",
212080
212192
  "aria-checked": checked,
212081
- "data-state": getState(checked),
212193
+ "data-state": getState$1(checked),
212082
212194
  "data-disabled": disabled ? "" : void 0,
212083
212195
  disabled,
212084
212196
  value,
@@ -212119,7 +212231,7 @@ var RadioIndicator = React.forwardRef(
212119
212231
  return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.checked, children: /* @__PURE__ */ jsx(
212120
212232
  Primitive$1.span,
212121
212233
  {
212122
- "data-state": getState(context.checked),
212234
+ "data-state": getState$1(context.checked),
212123
212235
  "data-disabled": context.disabled ? "" : void 0,
212124
212236
  ...indicatorProps,
212125
212237
  ref: forwardedRef
@@ -212164,7 +212276,7 @@ var BubbleInput = (props) => {
212164
212276
  }
212165
212277
  );
212166
212278
  };
212167
- function getState(checked) {
212279
+ function getState$1(checked) {
212168
212280
  return checked ? "checked" : "unchecked";
212169
212281
  }
212170
212282
  var ARROW_KEYS = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"];
@@ -212208,7 +212320,7 @@ var RadioGroup$1 = React.forwardRef(
212208
212320
  value,
212209
212321
  onValueChange: setValue,
212210
212322
  children: /* @__PURE__ */ jsx(
212211
- Root$1,
212323
+ Root$3,
212212
212324
  {
212213
212325
  asChild: true,
212214
212326
  ...rovingFocusGroupScope,
@@ -212300,12 +212412,12 @@ var RadioGroupIndicator = React.forwardRef(
212300
212412
  }
212301
212413
  );
212302
212414
  RadioGroupIndicator.displayName = INDICATOR_NAME2;
212303
- var Root2 = RadioGroup$1;
212415
+ var Root2$2 = RadioGroup$1;
212304
212416
  var Item2 = RadioGroupItem$1;
212305
212417
  var Indicator = RadioGroupIndicator;
212306
212418
 
212307
212419
  function RadioGroup({ className, ...props }) {
212308
- return (jsx(Root2, { "data-slot": "radio-group", className: cn('grid gap-3', className), ...props }));
212420
+ return (jsx(Root2$2, { "data-slot": "radio-group", className: cn('grid gap-3', className), ...props }));
212309
212421
  }
212310
212422
  function RadioGroupItem({ className, ...props }) {
212311
212423
  return (jsx(Item2, { "data-slot": "radio-group-item", className: cn('border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50', className), ...props, children: jsx(Indicator, { "data-slot": "radio-group-indicator", className: "relative flex items-center justify-center", children: jsx(Circle, { className: "fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2" }) }) }));
@@ -255515,9 +255627,1011 @@ function NavBar({ username, isAuthenticated = false, onNewChat, onSettings, onLo
255515
255627
  return (jsxs("header", { className: "flex h-20 shrink-0 items-center gap-2 bg-white px-4 border-b border-[#D0E0FF]", children: [jsx(SidebarTrigger, { className: "-ml-1" }), mentorName && !showMentorDropdown && (jsx("div", { className: "flex items-center gap-2 ml-4", children: jsx("h1", { className: "text-lg font-semibold text-gray-900", children: mentorName }) })), mentorName && showMentorDropdown && (jsxs(DropdownMenu, { children: [jsx(DropdownMenuTrigger, { asChild: true, children: jsxs(Button$1, { variant: "ghost", className: "gap-2 text-gray-900 hover:bg-gray-100 ml-4", children: [jsx("span", { className: "font-semibold", children: mentorName }), jsx(ChevronDown, { className: "h-4 w-4" })] }) }), jsxs(DropdownMenuContent, { align: "start", className: "w-[200px]", children: [jsx(DropdownMenuItem, { children: t('navbar.switchAgent') }), jsx(DropdownMenuItem, { children: t('navbar.exploreAgents') })] })] })), jsxs("div", { className: "flex items-center gap-2 ml-auto", children: [onNewChat && (jsxs(Button$1, { variant: "ghost", size: "sm", onClick: onNewChat, className: "gap-2 text-[#646464] hover:text-[#484848] hover:bg-transparent", children: [jsx(MessageSquare, { className: "h-4 w-4" }), jsx("span", { className: "hidden sm:inline", children: t('navbar.newChat') })] })), isAuthenticated ? (jsxs(DropdownMenu, { children: [jsx(DropdownMenuTrigger, { asChild: true, children: jsxs(Button$1, { variant: "ghost", size: "sm", className: "gap-2 text-[#646464] hover:text-[#484848] hover:bg-transparent", children: [jsxs(Avatar, { className: "h-6 w-6", children: [jsx(AvatarImage, { src: `https://api.dicebear.com/7.x/initials/svg?seed=${username}` }), jsx(AvatarFallback, { children: username === null || username === void 0 ? void 0 : username.charAt(0).toUpperCase() })] }), jsx("span", { className: "hidden sm:inline", children: username })] }) }), jsxs(DropdownMenuContent, { align: "end", className: "w-[180px] rounded-md border border-gray-200 bg-white p-2 shadow-lg", children: [additionalMenuItems.map((item, index) => (jsxs(React__default.Fragment, { children: [item.separator && jsx(DropdownMenuSeparator, {}), jsxs(DropdownMenuItem, { onClick: item.onClick, className: "flex cursor-pointer items-center rounded-md px-3 py-2 text-sm text-gray-700 hover:bg-gray-100", children: [jsx(item.icon, { className: "mr-3 h-4 w-4 text-gray-600" }), item.label] })] }, item.label))), onSettings && (jsxs(DropdownMenuItem, { onClick: onSettings, className: "flex cursor-pointer items-center rounded-md px-3 py-2 text-sm text-gray-700 hover:bg-gray-100", children: [jsx(Settings$1, { className: "mr-3 h-4 w-4 text-gray-600" }), t('common.settings')] })), onLogout && (jsxs(Fragment$1, { children: [jsx(DropdownMenuSeparator, {}), jsxs(DropdownMenuItem, { onClick: onLogout, className: "flex cursor-pointer items-center rounded-md px-3 py-2 text-sm text-gray-700 hover:bg-gray-100", children: [jsx(LogOut, { className: "mr-3 h-4 w-4 text-gray-600" }), t('common.logout')] })] }))] })] })) : (onLogin && (jsxs(Button$1, { onClick: onLogin, size: "sm", className: "gap-2", children: [jsx(LogIn, { className: "h-4 w-4" }), t('common.login')] })))] })] }));
255516
255628
  }
255517
255629
 
255630
+ var COLLAPSIBLE_NAME = "Collapsible";
255631
+ var [createCollapsibleContext] = createContextScope$1(COLLAPSIBLE_NAME);
255632
+ var [CollapsibleProvider, useCollapsibleContext] = createCollapsibleContext(COLLAPSIBLE_NAME);
255633
+ var Collapsible$1 = React.forwardRef(
255634
+ (props, forwardedRef) => {
255635
+ const {
255636
+ __scopeCollapsible,
255637
+ open: openProp,
255638
+ defaultOpen,
255639
+ disabled,
255640
+ onOpenChange,
255641
+ ...collapsibleProps
255642
+ } = props;
255643
+ const [open, setOpen] = useControllableState$1({
255644
+ prop: openProp,
255645
+ defaultProp: defaultOpen ?? false,
255646
+ onChange: onOpenChange,
255647
+ caller: COLLAPSIBLE_NAME
255648
+ });
255649
+ return /* @__PURE__ */ jsx(
255650
+ CollapsibleProvider,
255651
+ {
255652
+ scope: __scopeCollapsible,
255653
+ disabled,
255654
+ contentId: useId$1(),
255655
+ open,
255656
+ onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
255657
+ children: /* @__PURE__ */ jsx(
255658
+ Primitive$2.div,
255659
+ {
255660
+ "data-state": getState(open),
255661
+ "data-disabled": disabled ? "" : void 0,
255662
+ ...collapsibleProps,
255663
+ ref: forwardedRef
255664
+ }
255665
+ )
255666
+ }
255667
+ );
255668
+ }
255669
+ );
255670
+ Collapsible$1.displayName = COLLAPSIBLE_NAME;
255671
+ var TRIGGER_NAME$1 = "CollapsibleTrigger";
255672
+ var CollapsibleTrigger$1 = React.forwardRef(
255673
+ (props, forwardedRef) => {
255674
+ const { __scopeCollapsible, ...triggerProps } = props;
255675
+ const context = useCollapsibleContext(TRIGGER_NAME$1, __scopeCollapsible);
255676
+ return /* @__PURE__ */ jsx(
255677
+ Primitive$2.button,
255678
+ {
255679
+ type: "button",
255680
+ "aria-controls": context.contentId,
255681
+ "aria-expanded": context.open || false,
255682
+ "data-state": getState(context.open),
255683
+ "data-disabled": context.disabled ? "" : void 0,
255684
+ disabled: context.disabled,
255685
+ ...triggerProps,
255686
+ ref: forwardedRef,
255687
+ onClick: composeEventHandlers$1(props.onClick, context.onOpenToggle)
255688
+ }
255689
+ );
255690
+ }
255691
+ );
255692
+ CollapsibleTrigger$1.displayName = TRIGGER_NAME$1;
255693
+ var CONTENT_NAME$2 = "CollapsibleContent";
255694
+ var CollapsibleContent$1 = React.forwardRef(
255695
+ (props, forwardedRef) => {
255696
+ const { forceMount, ...contentProps } = props;
255697
+ const context = useCollapsibleContext(CONTENT_NAME$2, props.__scopeCollapsible);
255698
+ return /* @__PURE__ */ jsx(Presence$2, { present: forceMount || context.open, children: ({ present }) => /* @__PURE__ */ jsx(CollapsibleContentImpl, { ...contentProps, ref: forwardedRef, present }) });
255699
+ }
255700
+ );
255701
+ CollapsibleContent$1.displayName = CONTENT_NAME$2;
255702
+ var CollapsibleContentImpl = React.forwardRef((props, forwardedRef) => {
255703
+ const { __scopeCollapsible, present, children, ...contentProps } = props;
255704
+ const context = useCollapsibleContext(CONTENT_NAME$2, __scopeCollapsible);
255705
+ const [isPresent, setIsPresent] = React.useState(present);
255706
+ const ref = React.useRef(null);
255707
+ const composedRefs = useComposedRefs$1(forwardedRef, ref);
255708
+ const heightRef = React.useRef(0);
255709
+ const height = heightRef.current;
255710
+ const widthRef = React.useRef(0);
255711
+ const width = widthRef.current;
255712
+ const isOpen = context.open || isPresent;
255713
+ const isMountAnimationPreventedRef = React.useRef(isOpen);
255714
+ const originalStylesRef = React.useRef(void 0);
255715
+ React.useEffect(() => {
255716
+ const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);
255717
+ return () => cancelAnimationFrame(rAF);
255718
+ }, []);
255719
+ useLayoutEffect2$1(() => {
255720
+ const node = ref.current;
255721
+ if (node) {
255722
+ originalStylesRef.current = originalStylesRef.current || {
255723
+ transitionDuration: node.style.transitionDuration,
255724
+ animationName: node.style.animationName
255725
+ };
255726
+ node.style.transitionDuration = "0s";
255727
+ node.style.animationName = "none";
255728
+ const rect = node.getBoundingClientRect();
255729
+ heightRef.current = rect.height;
255730
+ widthRef.current = rect.width;
255731
+ if (!isMountAnimationPreventedRef.current) {
255732
+ node.style.transitionDuration = originalStylesRef.current.transitionDuration;
255733
+ node.style.animationName = originalStylesRef.current.animationName;
255734
+ }
255735
+ setIsPresent(present);
255736
+ }
255737
+ }, [context.open, present]);
255738
+ return /* @__PURE__ */ jsx(
255739
+ Primitive$2.div,
255740
+ {
255741
+ "data-state": getState(context.open),
255742
+ "data-disabled": context.disabled ? "" : void 0,
255743
+ id: context.contentId,
255744
+ hidden: !isOpen,
255745
+ ...contentProps,
255746
+ ref: composedRefs,
255747
+ style: {
255748
+ [`--radix-collapsible-content-height`]: height ? `${height}px` : void 0,
255749
+ [`--radix-collapsible-content-width`]: width ? `${width}px` : void 0,
255750
+ ...props.style
255751
+ },
255752
+ children: isOpen && children
255753
+ }
255754
+ );
255755
+ });
255756
+ function getState(open) {
255757
+ return open ? "open" : "closed";
255758
+ }
255759
+ var Root$2 = Collapsible$1;
255760
+
255761
+ const Collapsible = Root$2;
255762
+ const CollapsibleTrigger = CollapsibleTrigger$1;
255763
+ const CollapsibleContent = CollapsibleContent$1;
255764
+
255765
+ // src/arrow.tsx
255766
+ var NAME$1 = "Arrow";
255767
+ var Arrow$1 = React.forwardRef((props, forwardedRef) => {
255768
+ const { children, width = 10, height = 5, ...arrowProps } = props;
255769
+ return /* @__PURE__ */ jsx(
255770
+ Primitive$2.svg,
255771
+ {
255772
+ ...arrowProps,
255773
+ ref: forwardedRef,
255774
+ width,
255775
+ height,
255776
+ viewBox: "0 0 30 10",
255777
+ preserveAspectRatio: "none",
255778
+ children: props.asChild ? children : /* @__PURE__ */ jsx("polygon", { points: "0,0 30,0 15,10" })
255779
+ }
255780
+ );
255781
+ });
255782
+ Arrow$1.displayName = NAME$1;
255783
+ var Root$1 = Arrow$1;
255784
+
255785
+ var POPPER_NAME = "Popper";
255786
+ var [createPopperContext, createPopperScope] = createContextScope$1(POPPER_NAME);
255787
+ var [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);
255788
+ var Popper = (props) => {
255789
+ const { __scopePopper, children } = props;
255790
+ const [anchor, setAnchor] = React.useState(null);
255791
+ return /* @__PURE__ */ jsx(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });
255792
+ };
255793
+ Popper.displayName = POPPER_NAME;
255794
+ var ANCHOR_NAME = "PopperAnchor";
255795
+ var PopperAnchor = React.forwardRef(
255796
+ (props, forwardedRef) => {
255797
+ const { __scopePopper, virtualRef, ...anchorProps } = props;
255798
+ const context = usePopperContext(ANCHOR_NAME, __scopePopper);
255799
+ const ref = React.useRef(null);
255800
+ const composedRefs = useComposedRefs$1(forwardedRef, ref);
255801
+ const anchorRef = React.useRef(null);
255802
+ React.useEffect(() => {
255803
+ const previousAnchor = anchorRef.current;
255804
+ anchorRef.current = virtualRef?.current || ref.current;
255805
+ if (previousAnchor !== anchorRef.current) {
255806
+ context.onAnchorChange(anchorRef.current);
255807
+ }
255808
+ });
255809
+ return virtualRef ? null : /* @__PURE__ */ jsx(Primitive$2.div, { ...anchorProps, ref: composedRefs });
255810
+ }
255811
+ );
255812
+ PopperAnchor.displayName = ANCHOR_NAME;
255813
+ var CONTENT_NAME$1 = "PopperContent";
255814
+ var [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME$1);
255815
+ var PopperContent = React.forwardRef(
255816
+ (props, forwardedRef) => {
255817
+ const {
255818
+ __scopePopper,
255819
+ side = "bottom",
255820
+ sideOffset = 0,
255821
+ align = "center",
255822
+ alignOffset = 0,
255823
+ arrowPadding = 0,
255824
+ avoidCollisions = true,
255825
+ collisionBoundary = [],
255826
+ collisionPadding: collisionPaddingProp = 0,
255827
+ sticky = "partial",
255828
+ hideWhenDetached = false,
255829
+ updatePositionStrategy = "optimized",
255830
+ onPlaced,
255831
+ ...contentProps
255832
+ } = props;
255833
+ const context = usePopperContext(CONTENT_NAME$1, __scopePopper);
255834
+ const [content, setContent] = React.useState(null);
255835
+ const composedRefs = useComposedRefs$1(forwardedRef, (node) => setContent(node));
255836
+ const [arrow, setArrow] = React.useState(null);
255837
+ const arrowSize = useSize$1(arrow);
255838
+ const arrowWidth = arrowSize?.width ?? 0;
255839
+ const arrowHeight = arrowSize?.height ?? 0;
255840
+ const desiredPlacement = side + (align !== "center" ? "-" + align : "");
255841
+ const collisionPadding = typeof collisionPaddingProp === "number" ? collisionPaddingProp : { top: 0, right: 0, bottom: 0, left: 0, ...collisionPaddingProp };
255842
+ const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [collisionBoundary];
255843
+ const hasExplicitBoundaries = boundary.length > 0;
255844
+ const detectOverflowOptions = {
255845
+ padding: collisionPadding,
255846
+ boundary: boundary.filter(isNotNull),
255847
+ // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries
255848
+ altBoundary: hasExplicitBoundaries
255849
+ };
255850
+ const { refs, floatingStyles, placement, isPositioned, middlewareData } = useFloating({
255851
+ // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues
255852
+ strategy: "fixed",
255853
+ placement: desiredPlacement,
255854
+ whileElementsMounted: (...args) => {
255855
+ const cleanup = autoUpdate(...args, {
255856
+ animationFrame: updatePositionStrategy === "always"
255857
+ });
255858
+ return cleanup;
255859
+ },
255860
+ elements: {
255861
+ reference: context.anchor
255862
+ },
255863
+ middleware: [
255864
+ offset({ mainAxis: sideOffset + arrowHeight, alignmentAxis: alignOffset }),
255865
+ avoidCollisions && shift$1({
255866
+ mainAxis: true,
255867
+ crossAxis: false,
255868
+ limiter: sticky === "partial" ? limitShift() : void 0,
255869
+ ...detectOverflowOptions
255870
+ }),
255871
+ avoidCollisions && flip({ ...detectOverflowOptions }),
255872
+ size({
255873
+ ...detectOverflowOptions,
255874
+ apply: ({ elements, rects, availableWidth, availableHeight }) => {
255875
+ const { width: anchorWidth, height: anchorHeight } = rects.reference;
255876
+ const contentStyle = elements.floating.style;
255877
+ contentStyle.setProperty("--radix-popper-available-width", `${availableWidth}px`);
255878
+ contentStyle.setProperty("--radix-popper-available-height", `${availableHeight}px`);
255879
+ contentStyle.setProperty("--radix-popper-anchor-width", `${anchorWidth}px`);
255880
+ contentStyle.setProperty("--radix-popper-anchor-height", `${anchorHeight}px`);
255881
+ }
255882
+ }),
255883
+ arrow && arrow$2({ element: arrow, padding: arrowPadding }),
255884
+ transformOrigin$1({ arrowWidth, arrowHeight }),
255885
+ hideWhenDetached && hide({ strategy: "referenceHidden", ...detectOverflowOptions })
255886
+ ]
255887
+ });
255888
+ const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);
255889
+ const handlePlaced = useCallbackRef$2(onPlaced);
255890
+ useLayoutEffect2$1(() => {
255891
+ if (isPositioned) {
255892
+ handlePlaced?.();
255893
+ }
255894
+ }, [isPositioned, handlePlaced]);
255895
+ const arrowX = middlewareData.arrow?.x;
255896
+ const arrowY = middlewareData.arrow?.y;
255897
+ const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;
255898
+ const [contentZIndex, setContentZIndex] = React.useState();
255899
+ useLayoutEffect2$1(() => {
255900
+ if (content) setContentZIndex(window.getComputedStyle(content).zIndex);
255901
+ }, [content]);
255902
+ return /* @__PURE__ */ jsx(
255903
+ "div",
255904
+ {
255905
+ ref: refs.setFloating,
255906
+ "data-radix-popper-content-wrapper": "",
255907
+ style: {
255908
+ ...floatingStyles,
255909
+ transform: isPositioned ? floatingStyles.transform : "translate(0, -200%)",
255910
+ // keep off the page when measuring
255911
+ minWidth: "max-content",
255912
+ zIndex: contentZIndex,
255913
+ ["--radix-popper-transform-origin"]: [
255914
+ middlewareData.transformOrigin?.x,
255915
+ middlewareData.transformOrigin?.y
255916
+ ].join(" "),
255917
+ // hide the content if using the hide middleware and should be hidden
255918
+ // set visibility to hidden and disable pointer events so the UI behaves
255919
+ // as if the PopperContent isn't there at all
255920
+ ...middlewareData.hide?.referenceHidden && {
255921
+ visibility: "hidden",
255922
+ pointerEvents: "none"
255923
+ }
255924
+ },
255925
+ dir: props.dir,
255926
+ children: /* @__PURE__ */ jsx(
255927
+ PopperContentProvider,
255928
+ {
255929
+ scope: __scopePopper,
255930
+ placedSide,
255931
+ onArrowChange: setArrow,
255932
+ arrowX,
255933
+ arrowY,
255934
+ shouldHideArrow: cannotCenterArrow,
255935
+ children: /* @__PURE__ */ jsx(
255936
+ Primitive$2.div,
255937
+ {
255938
+ "data-side": placedSide,
255939
+ "data-align": placedAlign,
255940
+ ...contentProps,
255941
+ ref: composedRefs,
255942
+ style: {
255943
+ ...contentProps.style,
255944
+ // if the PopperContent hasn't been placed yet (not all measurements done)
255945
+ // we prevent animations so that users's animation don't kick in too early referring wrong sides
255946
+ animation: !isPositioned ? "none" : void 0
255947
+ }
255948
+ }
255949
+ )
255950
+ }
255951
+ )
255952
+ }
255953
+ );
255954
+ }
255955
+ );
255956
+ PopperContent.displayName = CONTENT_NAME$1;
255957
+ var ARROW_NAME$1 = "PopperArrow";
255958
+ var OPPOSITE_SIDE = {
255959
+ top: "bottom",
255960
+ right: "left",
255961
+ bottom: "top",
255962
+ left: "right"
255963
+ };
255964
+ var PopperArrow = React.forwardRef(function PopperArrow2(props, forwardedRef) {
255965
+ const { __scopePopper, ...arrowProps } = props;
255966
+ const contentContext = useContentContext(ARROW_NAME$1, __scopePopper);
255967
+ const baseSide = OPPOSITE_SIDE[contentContext.placedSide];
255968
+ return (
255969
+ // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)
255970
+ // doesn't report size as we'd expect on SVG elements.
255971
+ // it reports their bounding box which is effectively the largest path inside the SVG.
255972
+ /* @__PURE__ */ jsx(
255973
+ "span",
255974
+ {
255975
+ ref: contentContext.onArrowChange,
255976
+ style: {
255977
+ position: "absolute",
255978
+ left: contentContext.arrowX,
255979
+ top: contentContext.arrowY,
255980
+ [baseSide]: 0,
255981
+ transformOrigin: {
255982
+ top: "",
255983
+ right: "0 0",
255984
+ bottom: "center 0",
255985
+ left: "100% 0"
255986
+ }[contentContext.placedSide],
255987
+ transform: {
255988
+ top: "translateY(100%)",
255989
+ right: "translateY(50%) rotate(90deg) translateX(-50%)",
255990
+ bottom: `rotate(180deg)`,
255991
+ left: "translateY(50%) rotate(-90deg) translateX(50%)"
255992
+ }[contentContext.placedSide],
255993
+ visibility: contentContext.shouldHideArrow ? "hidden" : void 0
255994
+ },
255995
+ children: /* @__PURE__ */ jsx(
255996
+ Root$1,
255997
+ {
255998
+ ...arrowProps,
255999
+ ref: forwardedRef,
256000
+ style: {
256001
+ ...arrowProps.style,
256002
+ // ensures the element can be measured correctly (mostly for if SVG)
256003
+ display: "block"
256004
+ }
256005
+ }
256006
+ )
256007
+ }
256008
+ )
256009
+ );
256010
+ });
256011
+ PopperArrow.displayName = ARROW_NAME$1;
256012
+ function isNotNull(value) {
256013
+ return value !== null;
256014
+ }
256015
+ var transformOrigin$1 = (options) => ({
256016
+ name: "transformOrigin",
256017
+ options,
256018
+ fn(data) {
256019
+ const { placement, rects, middlewareData } = data;
256020
+ const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;
256021
+ const isArrowHidden = cannotCenterArrow;
256022
+ const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;
256023
+ const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;
256024
+ const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);
256025
+ const noArrowAlign = { start: "0%", center: "50%", end: "100%" }[placedAlign];
256026
+ const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;
256027
+ const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;
256028
+ let x = "";
256029
+ let y = "";
256030
+ if (placedSide === "bottom") {
256031
+ x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;
256032
+ y = `${-arrowHeight}px`;
256033
+ } else if (placedSide === "top") {
256034
+ x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;
256035
+ y = `${rects.floating.height + arrowHeight}px`;
256036
+ } else if (placedSide === "right") {
256037
+ x = `${-arrowHeight}px`;
256038
+ y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;
256039
+ } else if (placedSide === "left") {
256040
+ x = `${rects.floating.width + arrowHeight}px`;
256041
+ y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;
256042
+ }
256043
+ return { data: { x, y } };
256044
+ }
256045
+ });
256046
+ function getSideAndAlignFromPlacement(placement) {
256047
+ const [side, align = "center"] = placement.split("-");
256048
+ return [side, align];
256049
+ }
256050
+ var Root2$1 = Popper;
256051
+ var Anchor$1 = PopperAnchor;
256052
+ var Content = PopperContent;
256053
+ var Arrow = PopperArrow;
256054
+
256055
+ var originalBodyUserSelect;
256056
+ var HOVERCARD_NAME = "HoverCard";
256057
+ var [createHoverCardContext] = createContextScope$1(HOVERCARD_NAME, [
256058
+ createPopperScope
256059
+ ]);
256060
+ var usePopperScope = createPopperScope();
256061
+ var [HoverCardProvider, useHoverCardContext] = createHoverCardContext(HOVERCARD_NAME);
256062
+ var HoverCard$1 = (props) => {
256063
+ const {
256064
+ __scopeHoverCard,
256065
+ children,
256066
+ open: openProp,
256067
+ defaultOpen,
256068
+ onOpenChange,
256069
+ openDelay = 700,
256070
+ closeDelay = 300
256071
+ } = props;
256072
+ const popperScope = usePopperScope(__scopeHoverCard);
256073
+ const openTimerRef = React.useRef(0);
256074
+ const closeTimerRef = React.useRef(0);
256075
+ const hasSelectionRef = React.useRef(false);
256076
+ const isPointerDownOnContentRef = React.useRef(false);
256077
+ const [open, setOpen] = useControllableState$1({
256078
+ prop: openProp,
256079
+ defaultProp: defaultOpen ?? false,
256080
+ onChange: onOpenChange,
256081
+ caller: HOVERCARD_NAME
256082
+ });
256083
+ const handleOpen = React.useCallback(() => {
256084
+ clearTimeout(closeTimerRef.current);
256085
+ openTimerRef.current = window.setTimeout(() => setOpen(true), openDelay);
256086
+ }, [openDelay, setOpen]);
256087
+ const handleClose = React.useCallback(() => {
256088
+ clearTimeout(openTimerRef.current);
256089
+ if (!hasSelectionRef.current && !isPointerDownOnContentRef.current) {
256090
+ closeTimerRef.current = window.setTimeout(() => setOpen(false), closeDelay);
256091
+ }
256092
+ }, [closeDelay, setOpen]);
256093
+ const handleDismiss = React.useCallback(() => setOpen(false), [setOpen]);
256094
+ React.useEffect(() => {
256095
+ return () => {
256096
+ clearTimeout(openTimerRef.current);
256097
+ clearTimeout(closeTimerRef.current);
256098
+ };
256099
+ }, []);
256100
+ return /* @__PURE__ */ jsx(
256101
+ HoverCardProvider,
256102
+ {
256103
+ scope: __scopeHoverCard,
256104
+ open,
256105
+ onOpenChange: setOpen,
256106
+ onOpen: handleOpen,
256107
+ onClose: handleClose,
256108
+ onDismiss: handleDismiss,
256109
+ hasSelectionRef,
256110
+ isPointerDownOnContentRef,
256111
+ children: /* @__PURE__ */ jsx(Root2$1, { ...popperScope, children })
256112
+ }
256113
+ );
256114
+ };
256115
+ HoverCard$1.displayName = HOVERCARD_NAME;
256116
+ var TRIGGER_NAME = "HoverCardTrigger";
256117
+ var HoverCardTrigger$1 = React.forwardRef(
256118
+ (props, forwardedRef) => {
256119
+ const { __scopeHoverCard, ...triggerProps } = props;
256120
+ const context = useHoverCardContext(TRIGGER_NAME, __scopeHoverCard);
256121
+ const popperScope = usePopperScope(__scopeHoverCard);
256122
+ return /* @__PURE__ */ jsx(Anchor$1, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(
256123
+ Primitive$2.a,
256124
+ {
256125
+ "data-state": context.open ? "open" : "closed",
256126
+ ...triggerProps,
256127
+ ref: forwardedRef,
256128
+ onPointerEnter: composeEventHandlers$1(props.onPointerEnter, excludeTouch(context.onOpen)),
256129
+ onPointerLeave: composeEventHandlers$1(props.onPointerLeave, excludeTouch(context.onClose)),
256130
+ onFocus: composeEventHandlers$1(props.onFocus, context.onOpen),
256131
+ onBlur: composeEventHandlers$1(props.onBlur, context.onClose),
256132
+ onTouchStart: composeEventHandlers$1(props.onTouchStart, (event) => event.preventDefault())
256133
+ }
256134
+ ) });
256135
+ }
256136
+ );
256137
+ HoverCardTrigger$1.displayName = TRIGGER_NAME;
256138
+ var PORTAL_NAME = "HoverCardPortal";
256139
+ var [PortalProvider, usePortalContext] = createHoverCardContext(PORTAL_NAME, {
256140
+ forceMount: void 0
256141
+ });
256142
+ var HoverCardPortal = (props) => {
256143
+ const { __scopeHoverCard, forceMount, children, container } = props;
256144
+ const context = useHoverCardContext(PORTAL_NAME, __scopeHoverCard);
256145
+ return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeHoverCard, forceMount, children: /* @__PURE__ */ jsx(Presence$2, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Portal$4, { asChild: true, container, children }) }) });
256146
+ };
256147
+ HoverCardPortal.displayName = PORTAL_NAME;
256148
+ var CONTENT_NAME = "HoverCardContent";
256149
+ var HoverCardContent$1 = React.forwardRef(
256150
+ (props, forwardedRef) => {
256151
+ const portalContext = usePortalContext(CONTENT_NAME, props.__scopeHoverCard);
256152
+ const { forceMount = portalContext.forceMount, ...contentProps } = props;
256153
+ const context = useHoverCardContext(CONTENT_NAME, props.__scopeHoverCard);
256154
+ return /* @__PURE__ */ jsx(Presence$2, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(
256155
+ HoverCardContentImpl,
256156
+ {
256157
+ "data-state": context.open ? "open" : "closed",
256158
+ ...contentProps,
256159
+ onPointerEnter: composeEventHandlers$1(props.onPointerEnter, excludeTouch(context.onOpen)),
256160
+ onPointerLeave: composeEventHandlers$1(props.onPointerLeave, excludeTouch(context.onClose)),
256161
+ ref: forwardedRef
256162
+ }
256163
+ ) });
256164
+ }
256165
+ );
256166
+ HoverCardContent$1.displayName = CONTENT_NAME;
256167
+ var HoverCardContentImpl = React.forwardRef((props, forwardedRef) => {
256168
+ const {
256169
+ __scopeHoverCard,
256170
+ onEscapeKeyDown,
256171
+ onPointerDownOutside,
256172
+ onFocusOutside,
256173
+ onInteractOutside,
256174
+ ...contentProps
256175
+ } = props;
256176
+ const context = useHoverCardContext(CONTENT_NAME, __scopeHoverCard);
256177
+ const popperScope = usePopperScope(__scopeHoverCard);
256178
+ const ref = React.useRef(null);
256179
+ const composedRefs = useComposedRefs$1(forwardedRef, ref);
256180
+ const [containSelection, setContainSelection] = React.useState(false);
256181
+ React.useEffect(() => {
256182
+ if (containSelection) {
256183
+ const body = document.body;
256184
+ originalBodyUserSelect = body.style.userSelect || body.style.webkitUserSelect;
256185
+ body.style.userSelect = "none";
256186
+ body.style.webkitUserSelect = "none";
256187
+ return () => {
256188
+ body.style.userSelect = originalBodyUserSelect;
256189
+ body.style.webkitUserSelect = originalBodyUserSelect;
256190
+ };
256191
+ }
256192
+ }, [containSelection]);
256193
+ React.useEffect(() => {
256194
+ if (ref.current) {
256195
+ const handlePointerUp = () => {
256196
+ setContainSelection(false);
256197
+ context.isPointerDownOnContentRef.current = false;
256198
+ setTimeout(() => {
256199
+ const hasSelection = document.getSelection()?.toString() !== "";
256200
+ if (hasSelection) context.hasSelectionRef.current = true;
256201
+ });
256202
+ };
256203
+ document.addEventListener("pointerup", handlePointerUp);
256204
+ return () => {
256205
+ document.removeEventListener("pointerup", handlePointerUp);
256206
+ context.hasSelectionRef.current = false;
256207
+ context.isPointerDownOnContentRef.current = false;
256208
+ };
256209
+ }
256210
+ }, [context.isPointerDownOnContentRef, context.hasSelectionRef]);
256211
+ React.useEffect(() => {
256212
+ if (ref.current) {
256213
+ const tabbables = getTabbableNodes(ref.current);
256214
+ tabbables.forEach((tabbable) => tabbable.setAttribute("tabindex", "-1"));
256215
+ }
256216
+ });
256217
+ return /* @__PURE__ */ jsx(
256218
+ DismissableLayer$1,
256219
+ {
256220
+ asChild: true,
256221
+ disableOutsidePointerEvents: false,
256222
+ onInteractOutside,
256223
+ onEscapeKeyDown,
256224
+ onPointerDownOutside,
256225
+ onFocusOutside: composeEventHandlers$1(onFocusOutside, (event) => {
256226
+ event.preventDefault();
256227
+ }),
256228
+ onDismiss: context.onDismiss,
256229
+ children: /* @__PURE__ */ jsx(
256230
+ Content,
256231
+ {
256232
+ ...popperScope,
256233
+ ...contentProps,
256234
+ onPointerDown: composeEventHandlers$1(contentProps.onPointerDown, (event) => {
256235
+ if (event.currentTarget.contains(event.target)) {
256236
+ setContainSelection(true);
256237
+ }
256238
+ context.hasSelectionRef.current = false;
256239
+ context.isPointerDownOnContentRef.current = true;
256240
+ }),
256241
+ ref: composedRefs,
256242
+ style: {
256243
+ ...contentProps.style,
256244
+ userSelect: containSelection ? "text" : void 0,
256245
+ // Safari requires prefix
256246
+ WebkitUserSelect: containSelection ? "text" : void 0,
256247
+ // re-namespace exposed content custom properties
256248
+ ...{
256249
+ "--radix-hover-card-content-transform-origin": "var(--radix-popper-transform-origin)",
256250
+ "--radix-hover-card-content-available-width": "var(--radix-popper-available-width)",
256251
+ "--radix-hover-card-content-available-height": "var(--radix-popper-available-height)",
256252
+ "--radix-hover-card-trigger-width": "var(--radix-popper-anchor-width)",
256253
+ "--radix-hover-card-trigger-height": "var(--radix-popper-anchor-height)"
256254
+ }
256255
+ }
256256
+ }
256257
+ )
256258
+ }
256259
+ );
256260
+ });
256261
+ var ARROW_NAME = "HoverCardArrow";
256262
+ var HoverCardArrow = React.forwardRef(
256263
+ (props, forwardedRef) => {
256264
+ const { __scopeHoverCard, ...arrowProps } = props;
256265
+ const popperScope = usePopperScope(__scopeHoverCard);
256266
+ return /* @__PURE__ */ jsx(Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });
256267
+ }
256268
+ );
256269
+ HoverCardArrow.displayName = ARROW_NAME;
256270
+ function excludeTouch(eventHandler) {
256271
+ return (event) => event.pointerType === "touch" ? void 0 : eventHandler();
256272
+ }
256273
+ function getTabbableNodes(container) {
256274
+ const nodes = [];
256275
+ const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {
256276
+ acceptNode: (node) => {
256277
+ return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
256278
+ }
256279
+ });
256280
+ while (walker.nextNode()) nodes.push(walker.currentNode);
256281
+ return nodes;
256282
+ }
256283
+ var Root2 = HoverCard$1;
256284
+ var Trigger = HoverCardTrigger$1;
256285
+ var Portal = HoverCardPortal;
256286
+ var Content2 = HoverCardContent$1;
256287
+
256288
+ const HoverCard = Root2;
256289
+ const HoverCardTrigger = Trigger;
256290
+ const HoverCardContent = React.forwardRef(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (
256291
+ // Portal lifts the content out of the trigger's stacking/clipping
256292
+ // context. Without it, hover-cards rendered from inside `<Sidebar>`
256293
+ // (which has `overflow-hidden` and lives in a `z-10` container) get
256294
+ // clipped at the sidebar edge and hidden behind the main content.
256295
+ jsx(Portal, { children: jsx(Content2, { ref: ref, align: align, sideOffset: sideOffset, className: cn('bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-64 rounded-md border p-4 shadow-md outline-none', className), ...props }) })));
256296
+ HoverCardContent.displayName = Content2.displayName;
256297
+
256298
+ /** Muted icon/label color shared by every nav row. Exported so host apps
256299
+ * can build custom sections that match the shell's palette. */
256300
+ const PLATFORM_SIDEBAR_NAV_MUTED = '#5f5f61';
256301
+ const PLATFORM_SIDEBAR_FLYOUT_TITLE_COLOR = '#646676';
256302
+ const PLATFORM_SIDEBAR_FLYOUT_ITEM_COLOR = '#1f1f20';
256303
+ const PLATFORM_SIDEBAR_NAV_ACTIVE_BG_OPEN = 'data-[state=open]:bg-[#cfe8fa]/40 data-[state=open]:hover:bg-[#cfe8fa]/50';
256304
+ const SidebarNavCallbackContext = React.createContext({});
256305
+ const PlatformSidebarNavCallbackProvider = SidebarNavCallbackContext.Provider;
256306
+ /** After-nav callback (closes the mobile sheet, etc.) for items rendered
256307
+ * anywhere inside the PlatformSidebar — including host-app custom sections. */
256308
+ function usePlatformSidebarNavCallback() {
256309
+ return React.useContext(SidebarNavCallbackContext);
256310
+ }
256311
+ function PlatformSidebarCollapsedLabelFlyout({ label, children, }) {
256312
+ return (jsxs(HoverCard, { openDelay: 180, closeDelay: 120, children: [jsx(HoverCardTrigger, { asChild: true, children: children }), jsx(HoverCardContent, { side: "right", align: "start", sideOffset: 10, className: "z-[200] w-max max-w-[280px] min-w-[120px] rounded-2xl border border-[#e6e6e8] bg-white px-3 py-2.5 shadow-[0_10px_40px_-12px_rgba(15,23,42,0.18)]", children: jsx("span", { className: "text-[13px] leading-tight font-medium", style: { color: PLATFORM_SIDEBAR_FLYOUT_TITLE_COLOR }, children: label }) })] }));
256313
+ }
256314
+ function PlatformSidebarNavDivider() {
256315
+ return jsx("div", { role: "separator", className: "my-2.5 h-px w-full shrink-0 bg-[#e9e9ea]", "aria-hidden": true });
256316
+ }
256317
+ function PlatformSidebarSubNavItem({ id, label, href, exact, emptyState, onItemSelect, }) {
256318
+ const { onAfterNav } = usePlatformSidebarNavCallback();
256319
+ const router = useRouter();
256320
+ const pathname = usePathname();
256321
+ const [isPending, startTransition] = React.useTransition();
256322
+ const active = React.useMemo(() => {
256323
+ if (!href || !pathname)
256324
+ return false;
256325
+ if (href === '/')
256326
+ return pathname === '/';
256327
+ const normalizedHref = href.endsWith('/') ? href.slice(0, -1) : href;
256328
+ const normalizedPath = pathname.endsWith('/') ? pathname.slice(0, -1) : pathname;
256329
+ if (exact)
256330
+ return normalizedPath === normalizedHref;
256331
+ return normalizedPath === normalizedHref || normalizedPath.startsWith(`${normalizedHref}/`);
256332
+ }, [href, pathname, exact]);
256333
+ return (jsxs("button", { type: "button", disabled: isPending || emptyState, "aria-busy": isPending, className: cn('flex w-full min-w-0 cursor-pointer items-center gap-2 rounded-md px-2 py-2 text-left text-[14px] font-normal transition-colors', emptyState
256334
+ ? 'cursor-default text-[#94a3b8] italic hover:bg-transparent'
256335
+ : active
256336
+ ? 'bg-[#eef6fc] text-[#1e40af]'
256337
+ : 'text-[#4a5568] hover:bg-[#f4f4f4]', isPending && 'opacity-70'), onClick: () => {
256338
+ if (emptyState)
256339
+ return;
256340
+ const result = onItemSelect === null || onItemSelect === void 0 ? void 0 : onItemSelect(id);
256341
+ if (result === false)
256342
+ return;
256343
+ if (href) {
256344
+ if (/^https?:\/\//i.test(href)) {
256345
+ window.open(href, '_blank', 'noopener,noreferrer');
256346
+ }
256347
+ else {
256348
+ startTransition(() => {
256349
+ router.push(href);
256350
+ });
256351
+ }
256352
+ }
256353
+ onAfterNav === null || onAfterNav === void 0 ? void 0 : onAfterNav();
256354
+ }, children: [jsx("span", { className: "min-w-0 flex-1 truncate", children: label }), isPending && (jsx(LoaderCircle, { className: "size-3.5 shrink-0 animate-spin text-[#7d7e82]", "aria-hidden": true }))] }));
256355
+ }
256356
+ function PlatformSidebarCollapsedNavFlyout({ icon: Icon, label, items, onIconClick, onItemSelect, }) {
256357
+ const router = useRouter();
256358
+ const { onAfterNav } = usePlatformSidebarNavCallback();
256359
+ return (jsxs(HoverCard, { openDelay: 180, closeDelay: 120, children: [jsx(HoverCardTrigger, { asChild: true, children: jsx("button", { type: "button", onClick: onIconClick, className: "text-foreground inline-flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-[8px] transition-colors outline-none hover:bg-[#f0f0f0] focus-visible:ring-2 focus-visible:ring-[#c4c4c8] focus-visible:ring-offset-2 focus-visible:ring-offset-[#fafafa]", "aria-label": label, children: jsx(Icon, { className: "size-4 shrink-0", style: { color: PLATFORM_SIDEBAR_NAV_MUTED }, strokeWidth: 1.5 }) }) }), jsxs(HoverCardContent, { side: "right", align: "start", sideOffset: 10, className: "z-[200] flex max-h-[70vh] w-max max-w-[280px] min-w-[200px] flex-col rounded-2xl border border-[#e6e6e8] bg-white px-3 py-2.5 shadow-[0_10px_40px_-12px_rgba(15,23,42,0.18)]", children: [jsx("div", { className: "mb-1.5 flex shrink-0 flex-wrap items-center gap-2", children: jsx("span", { className: "text-[13px] leading-tight font-medium", style: { color: PLATFORM_SIDEBAR_FLYOUT_TITLE_COLOR }, children: label }) }), jsx("ul", { className: "scrollbar-thin m-0 min-h-0 list-none space-y-0 overflow-y-auto p-0 pr-1", children: items.map((item) => (jsx("li", { children: jsx("button", { type: "button", onClick: () => {
256360
+ if ((onItemSelect === null || onItemSelect === void 0 ? void 0 : onItemSelect(item.id)) === false)
256361
+ return;
256362
+ if (item.href)
256363
+ router.push(item.href);
256364
+ onAfterNav === null || onAfterNav === void 0 ? void 0 : onAfterNav();
256365
+ }, className: cn('flex w-full cursor-pointer rounded-md px-1.5 py-1.5 text-left text-[14px] leading-snug font-medium transition-colors', item.emptyState
256366
+ ? 'cursor-default text-[#94a3b8] italic hover:bg-transparent'
256367
+ : 'hover:bg-[#f4f4f4]'), style: item.emptyState ? undefined : { color: PLATFORM_SIDEBAR_FLYOUT_ITEM_COLOR }, children: item.label }) }, item.id))) })] })] }));
256368
+ }
256369
+ function PlatformSidebarNavSection({ collapsed, menu, open, onOpenChange, onCollapsedIconClick, onItemSelect, }) {
256370
+ const Icon = menu.icon;
256371
+ if (collapsed) {
256372
+ return (jsx(PlatformSidebarCollapsedNavFlyout, { icon: Icon, label: menu.label, items: menu.items, onIconClick: onCollapsedIconClick, onItemSelect: onItemSelect }));
256373
+ }
256374
+ const triggerClassName = cn('flex h-9 w-full min-w-0 cursor-pointer items-center gap-2 rounded-md px-2 text-left text-[14px] font-normal text-[#5f5f61] outline-none transition-colors hover:bg-[#f4f4f4] focus-visible:ring-2 focus-visible:ring-[#cfe8fa] focus-visible:ring-offset-2 focus-visible:ring-offset-[#fafafa]', PLATFORM_SIDEBAR_NAV_ACTIVE_BG_OPEN);
256375
+ return (jsxs(Collapsible, { open: open, onOpenChange: onOpenChange, className: "w-full", children: [jsx(CollapsibleTrigger, { asChild: true, children: jsxs("button", { type: "button", className: triggerClassName, children: [jsx(Icon, { className: "size-4 shrink-0", style: { color: PLATFORM_SIDEBAR_NAV_MUTED }, strokeWidth: 1.5 }), jsx("span", { className: "min-w-0 flex-1 truncate", children: menu.label }), open ? (jsx(ChevronDown, { className: "size-4 shrink-0 text-[#7d7e82]", "aria-hidden": true })) : (jsx(ChevronRight, { className: "size-4 shrink-0 text-[#7d7e82]", "aria-hidden": true }))] }) }), jsx(CollapsibleContent, { className: "overflow-hidden", children: jsx("div", { className: "mt-0.5 mr-1 ml-1.5 border-l-2 border-[#e2e8f0] pb-0.5 pl-2.5", children: jsx("ul", { className: "flex flex-col gap-0.5", role: "list", children: menu.items.map((item) => (jsx("li", { children: jsx(PlatformSidebarSubNavItem, { ...item, onItemSelect: onItemSelect }) }, item.id))) }) }) })] }));
256376
+ }
256377
+
256378
+ const DEFAULT_SUPPORT_URL = 'https://ibl.ai/docs';
256379
+ /**
256380
+ * The INVARIANT footer visibility rules, shared by every SPA:
256381
+ *
256382
+ * - Notifications: gated by the host-supplied user-type signal only —
256383
+ * regular users have notifications too.
256384
+ * - Live admins get the admin cluster narrowed by their RBAC platform
256385
+ * permissions (Invites, Management, Monetization) plus the ungated
256386
+ * Integrations and Advanced rows.
256387
+ * - Trial-gated non-admins (main/advertising tenants) and anonymous
256388
+ * users get the FULL admin cluster; the host's `onAction` handler is
256389
+ * expected to route clicks to the upgrade dialog / login instead of
256390
+ * the real surface.
256391
+ * - A genuine non-admin in an RBAC-enabled tenant sees only the rows
256392
+ * whose platform permission they actually hold. Integrations and
256393
+ * Advanced have no dedicated RBAC permission, so they stay
256394
+ * admin/trial/anonymous-only.
256395
+ */
256396
+ function usePlatformSidebarFooterActions(config) {
256397
+ const t = useT();
256398
+ const { isAdmin, isLiveAdmin, showTrialGatedAdminMenu, showAnonymousAdminMenu, enableRbac, rbacPermissions, tenantKey, currentTenant, notificationsAllowed, invitesUserTypeAllowed, } = config;
256399
+ return React.useMemo(() => {
256400
+ var _a;
256401
+ const actions = [];
256402
+ if (notificationsAllowed) {
256403
+ actions.push({
256404
+ id: 'notifications',
256405
+ label: t('platformSidebar.notifications'),
256406
+ icon: Bell,
256407
+ });
256408
+ }
256409
+ const tenantKeyForRbac = (_a = currentTenant === null || currentTenant === void 0 ? void 0 : currentTenant.key) !== null && _a !== void 0 ? _a : tenantKey;
256410
+ const hasInviteUserPermission = checkRbacPermission(rbacPermissions, `/platforms/${tenantKeyForRbac}/#can_invite`, enableRbac);
256411
+ // Management surfaces a row when ANY of its sub-tab permissions
256412
+ // resolves true — matches the Admin component's `hasManagementPermissions`.
256413
+ const hasManagementPermissions = checkRbacPermission(rbacPermissions, `/platforms/${tenantKeyForRbac}/#can_manage_users`, enableRbac) ||
256414
+ checkRbacPermission(rbacPermissions, `/groups/#list`, enableRbac) ||
256415
+ checkRbacPermission(rbacPermissions, `/policies/#list`, enableRbac) ||
256416
+ checkRbacPermission(rbacPermissions, `/roles/#list`, enableRbac) ||
256417
+ checkRbacPermission(rbacPermissions, `/usergroups/#list|/platforms/${tenantKeyForRbac}/#can_invite`, enableRbac) ||
256418
+ checkRbacPermission(rbacPermissions, `/watchedgroups/#list`, enableRbac);
256419
+ const hasMonetizationPermission = checkRbacPermission(rbacPermissions, `/platforms/${tenantKeyForRbac}/#can_sell_items`, enableRbac);
256420
+ const canMonetize = !!(currentTenant === null || currentTenant === void 0 ? void 0 : currentTenant.enable_monetization) && hasMonetizationPermission;
256421
+ if (isLiveAdmin) {
256422
+ if (hasInviteUserPermission && invitesUserTypeAllowed) {
256423
+ actions.push({ id: 'invites', label: t('platformSidebar.invites'), icon: Mail });
256424
+ }
256425
+ if (hasManagementPermissions) {
256426
+ actions.push({
256427
+ id: 'management',
256428
+ label: t('platformSidebar.management'),
256429
+ icon: Users,
256430
+ });
256431
+ }
256432
+ actions.push({
256433
+ id: 'integrations',
256434
+ label: t('platformSidebar.integrations'),
256435
+ icon: KeyRound,
256436
+ });
256437
+ if (canMonetize) {
256438
+ actions.push({
256439
+ id: 'monetization',
256440
+ label: t('platformSidebar.monetization'),
256441
+ icon: Coins,
256442
+ });
256443
+ }
256444
+ actions.push({
256445
+ id: 'advanced',
256446
+ label: t('platformSidebar.advanced'),
256447
+ icon: Settings$1,
256448
+ });
256449
+ }
256450
+ else if (showTrialGatedAdminMenu || showAnonymousAdminMenu) {
256451
+ // Full admin cluster; the host's onAction routes these to the
256452
+ // upgrade dialog (trial users) or the auth SPA login (anonymous).
256453
+ actions.push({ id: 'invites', label: t('platformSidebar.invites'), icon: Mail });
256454
+ actions.push({
256455
+ id: 'management',
256456
+ label: t('platformSidebar.management'),
256457
+ icon: Users,
256458
+ });
256459
+ actions.push({
256460
+ id: 'integrations',
256461
+ label: t('platformSidebar.integrations'),
256462
+ icon: KeyRound,
256463
+ });
256464
+ actions.push({
256465
+ id: 'monetization',
256466
+ label: t('platformSidebar.monetization'),
256467
+ icon: Coins,
256468
+ });
256469
+ actions.push({
256470
+ id: 'advanced',
256471
+ label: t('platformSidebar.advanced'),
256472
+ icon: Settings$1,
256473
+ });
256474
+ }
256475
+ else if (!isAdmin && enableRbac) {
256476
+ // A GENUINE non-admin in an RBAC-enabled tenant sees ONLY the rows
256477
+ // whose platform permission they actually hold. The `enableRbac`
256478
+ // guard is required because `checkRbacPermission` returns true when
256479
+ // RBAC is off, which would otherwise expose these to every non-admin.
256480
+ if (hasInviteUserPermission) {
256481
+ actions.push({ id: 'invites', label: t('platformSidebar.invites'), icon: Mail });
256482
+ }
256483
+ if (hasManagementPermissions) {
256484
+ actions.push({
256485
+ id: 'management',
256486
+ label: t('platformSidebar.management'),
256487
+ icon: Users,
256488
+ });
256489
+ }
256490
+ if (canMonetize) {
256491
+ actions.push({
256492
+ id: 'monetization',
256493
+ label: t('platformSidebar.monetization'),
256494
+ icon: Coins,
256495
+ });
256496
+ }
256497
+ }
256498
+ return actions;
256499
+ }, [
256500
+ t,
256501
+ isAdmin,
256502
+ isLiveAdmin,
256503
+ showTrialGatedAdminMenu,
256504
+ showAnonymousAdminMenu,
256505
+ enableRbac,
256506
+ rbacPermissions,
256507
+ tenantKey,
256508
+ currentTenant,
256509
+ notificationsAllowed,
256510
+ invitesUserTypeAllowed,
256511
+ ]);
256512
+ }
256513
+ function PlatformSidebarFooter({ collapsed, config, }) {
256514
+ var _a;
256515
+ const t = useT();
256516
+ const actions = usePlatformSidebarFooterActions(config);
256517
+ const supportUrl = (_a = config.supportUrl) !== null && _a !== void 0 ? _a : DEFAULT_SUPPORT_URL;
256518
+ if (collapsed) {
256519
+ return (jsxs("div", { className: "flex shrink-0 flex-col items-center gap-0.5 border-t border-[#e2e8f0] px-2 py-3", children: [actions.map((action) => {
256520
+ const Icon = action.icon;
256521
+ return (jsx(PlatformSidebarCollapsedLabelFlyout, { label: action.label, children: jsx("button", { type: "button", className: "inline-flex size-10 cursor-pointer items-center justify-center rounded-lg text-[#5f5f61] transition-colors hover:bg-[#f0f0f0]", "aria-label": action.label, onClick: () => config.onAction(action.id), children: jsx(Icon, { className: "size-4 shrink-0", strokeWidth: 1.5 }) }) }, action.id));
256522
+ }), jsx(PlatformSidebarCollapsedLabelFlyout, { label: t('platformSidebar.support'), children: jsx("a", { href: supportUrl, target: "_blank", rel: "noopener noreferrer", className: "inline-flex size-10 items-center justify-center rounded-lg text-[#5f5f61] transition-colors hover:bg-[#f0f0f0]", "aria-label": t('platformSidebar.support'), children: jsx(BookOpen, { className: "size-4 shrink-0", strokeWidth: 1.5 }) }) })] }));
256523
+ }
256524
+ return (jsxs("div", { className: "shrink-0 space-y-0.5 border-t border-[#e2e8f0] px-2 py-2", children: [actions.map((action) => {
256525
+ const Icon = action.icon;
256526
+ return (jsxs("button", { type: "button", className: "flex h-9 w-full min-w-0 cursor-pointer items-center gap-2 rounded-md px-2 text-left text-[14px] font-normal text-[#5f5f61] transition-colors hover:bg-[#f4f4f4]", onClick: () => config.onAction(action.id), children: [jsx(Icon, { className: "size-4 shrink-0", style: { color: PLATFORM_SIDEBAR_NAV_MUTED }, strokeWidth: 1.5 }), jsx("span", { className: "min-w-0 flex-1 truncate", children: action.label })] }, action.id));
256527
+ }), jsxs("a", { href: supportUrl, target: "_blank", rel: "noopener noreferrer", className: "flex h-9 w-full min-w-0 items-center gap-2 rounded-md px-2 text-left text-[14px] font-normal text-[#5f5f61] transition-colors hover:bg-[#f4f4f4]", children: [jsx(BookOpen, { className: "size-4 shrink-0", style: { color: PLATFORM_SIDEBAR_NAV_MUTED }, strokeWidth: 1.5 }), jsx("span", { className: "min-w-0 flex-1 truncate", children: t('platformSidebar.support') })] })] }));
256528
+ }
256529
+
256530
+ /**
256531
+ * Renders one of the organization-level tab components in its own
256532
+ * dialog — `Admin` (Users), `IntegrationsTab` (API), `BillingTab`,
256533
+ * `MonetizationTab`, `AdvancedTab` (Settings). Each sidebar footer
256534
+ * action opens this dialog with a different `tab`; the body switches
256535
+ * the component, so there's no shared tab rail and nothing to hide.
256536
+ *
256537
+ * `organization` doesn't have a sidebar footer entry today, but it's
256538
+ * defined for completeness so adding "Organization" later is a one-line
256539
+ * change.
256540
+ */
256541
+ function PlatformAccountSheet({ tab, onClose, tenantKey, username, email, onInviteClick, mainPlatformKey, authUrl, currentSpa, platformBaseDomain, }) {
256542
+ const t = useT();
256543
+ const open = tab !== null;
256544
+ const accountTabTitles = {
256545
+ organization: t('platformSidebar.accountTabOrganization'),
256546
+ management: t('platformSidebar.management'),
256547
+ integrations: t('platformSidebar.integrations'),
256548
+ monetization: t('platformSidebar.monetization'),
256549
+ advanced: t('platformSidebar.advanced'),
256550
+ billing: t('platformSidebar.accountTabBilling'),
256551
+ };
256552
+ const accountTabDescriptions = {
256553
+ organization: t('platformSidebar.accountDescOrganization'),
256554
+ management: t('platformSidebar.accountDescManagement'),
256555
+ integrations: t('platformSidebar.accountDescIntegrations'),
256556
+ monetization: t('platformSidebar.accountDescMonetization'),
256557
+ advanced: t('platformSidebar.accountDescAdvanced'),
256558
+ billing: t('platformSidebar.accountDescBilling'),
256559
+ };
256560
+ return (jsx(Dialog, { open: open, onOpenChange: (o) => !o && onClose(), children: jsxs(DialogContent, { className: "mx-auto my-auto flex h-[90vh] w-[95vw] max-w-none flex-col justify-between gap-0 rounded-lg p-0 sm:max-w-7xl", children: [jsxs(DialogHeader, { className: "flex-shrink-0 border-b border-gray-200 p-4 pt-[30px]", children: [jsx(DialogTitle, { className: "text-lg font-medium text-gray-900 dark:text-gray-100", children: tab ? accountTabTitles[tab] : '' }), jsx(DialogDescription, { className: "text-sm leading-relaxed text-gray-600", children: tab ? accountTabDescriptions[tab] : '' })] }), jsxs("div", { className: "min-h-0 flex-1 overflow-y-auto p-6", children: [tab === 'management' && (jsx(Admin, { tenant: tenantKey, onInviteClick: onInviteClick,
256561
+ // RBAC is off for this entry point — admin users see every
256562
+ // sub-tab. Tenant-level access is already gated by the
256563
+ // sidebar footer visibility rules.
256564
+ hasUserTabPermission: true, hasGroupsTabPermission: true, hasRolesTabPermission: true, hasPoliciesTabPermission: true, hasTeamsTabPermission: true, hasAlertsTabPermission: true, hasInviteUserPermission: true, hasCreateTeamPermission: true, enableRbac: false, rbacPermissions: {} })), tab === 'integrations' && jsx(IntegrationsTab, { tenantKey: tenantKey, username: username }), tab === 'billing' && (jsx(BillingTab, { tenant: tenantKey, username: username, mainPlatformKey: mainPlatformKey, currentUserEmail: email })), tab === 'monetization' && jsx(MonetizationTab, { platformKey: tenantKey, authURL: authUrl }), tab === 'advanced' && (jsx(AdvancedTab, { platformKey: tenantKey, username: username, currentSPA: currentSpa, authURL: authUrl, currentPlatformBaseDomain: platformBaseDomain }))] })] }) }));
256565
+ }
256566
+
256567
+ /**
256568
+ * Cross-SPA sidebar shell.
256569
+ *
256570
+ * Invariant chrome (owned here): header with logo slot + collapse
256571
+ * toggle, the collapsed icon rail behavior, single-open accordion state
256572
+ * for sections, and the footer cluster (Notifications, Invites,
256573
+ * Management, Integrations, Monetization, Advanced, Support) with its
256574
+ * RBAC/admin visibility rules.
256575
+ *
256576
+ * Variable content (owned by the host SPA): the primary action button
256577
+ * (e.g. "New Chat") and the nav sections — declarative menus or fully
256578
+ * custom sections rendered through `PlatformSidebarSectionContext`.
256579
+ */
256580
+ function PlatformSidebar({ logo, primaryAction, sections, footer, openSectionId, onOpenSectionChange, onAfterNav: onAfterNavProp, className, sidebarInnerClassName, }) {
256581
+ var _a;
256582
+ const t = useT();
256583
+ const { state, open, openMobile, setOpenMobile, toggleSidebar, isMobile } = useSidebar();
256584
+ const isExpanded = isMobile ? openMobile : open;
256585
+ const railCollapsed = !isMobile && !open;
256586
+ const onAfterNav = React.useCallback(() => {
256587
+ if (isMobile)
256588
+ setOpenMobile(false);
256589
+ onAfterNavProp === null || onAfterNavProp === void 0 ? void 0 : onAfterNavProp();
256590
+ }, [isMobile, setOpenMobile, onAfterNavProp]);
256591
+ // Single-open accordion for sections. Controlled when `openSectionId`
256592
+ // is provided, uncontrolled otherwise.
256593
+ const [internalOpenSection, setInternalOpenSection] = React.useState(null);
256594
+ const isControlled = openSectionId !== undefined;
256595
+ const openSection = isControlled ? openSectionId : internalOpenSection;
256596
+ const setOpenSection = React.useCallback((sectionId) => {
256597
+ if (!isControlled)
256598
+ setInternalOpenSection(sectionId);
256599
+ onOpenSectionChange === null || onOpenSectionChange === void 0 ? void 0 : onOpenSectionChange(sectionId);
256600
+ }, [isControlled, onOpenSectionChange]);
256601
+ const expandFromRail = React.useCallback((sectionId) => {
256602
+ toggleSidebar();
256603
+ setOpenSection(sectionId);
256604
+ }, [toggleSidebar, setOpenSection]);
256605
+ const sectionContext = React.useCallback((sectionId) => ({
256606
+ collapsed: railCollapsed,
256607
+ open: openSection === sectionId,
256608
+ onOpenChange: (o) => setOpenSection(o ? sectionId : null),
256609
+ expandFromRail: () => expandFromRail(sectionId),
256610
+ onAfterNav,
256611
+ }), [railCollapsed, openSection, setOpenSection, expandFromRail, onAfterNav]);
256612
+ const renderSection = (section) => {
256613
+ if (section.type === 'divider') {
256614
+ return jsx(PlatformSidebarNavDivider, {}, section.id);
256615
+ }
256616
+ if (section.type === 'custom') {
256617
+ return (jsx(React.Fragment, { children: section.render(sectionContext(section.id)) }, section.id));
256618
+ }
256619
+ if (section.menu.items.length === 0)
256620
+ return null;
256621
+ const ctx = sectionContext(section.menu.id);
256622
+ return (jsx(PlatformSidebarNavSection, { collapsed: railCollapsed, menu: section.menu, open: ctx.open, onOpenChange: ctx.onOpenChange, onItemSelect: section.onItemSelect, onCollapsedIconClick: railCollapsed ? ctx.expandFromRail : undefined }, section.menu.id));
256623
+ };
256624
+ const PrimaryActionIcon = (_a = primaryAction === null || primaryAction === void 0 ? void 0 : primaryAction.icon) !== null && _a !== void 0 ? _a : SquarePen;
256625
+ return (jsx(PlatformSidebarNavCallbackProvider, { value: { onAfterNav }, children: jsx(Sidebar, { collapsible: "icon", variant: "sidebar", className: cn('flex flex-col border-r border-[#e9e9ea]', className), sidebarInnerClassName: sidebarInnerClassName !== null && sidebarInnerClassName !== void 0 ? sidebarInnerClassName : 'bg-[#fafafa]', children: jsxs("aside", { "data-state": state, className: cn('flex h-full flex-col', railCollapsed ? 'w-[65px]' : 'w-full'), children: [jsx("div", { className: cn('shrink-0', railCollapsed ? 'px-2 pt-[18px] pb-[25px]' : 'px-[10px] py-[10px]'), children: jsxs("div", { className: cn('flex items-center gap-2 font-sans', railCollapsed ? 'justify-center px-0' : 'px-1'), children: [!railCollapsed && (jsxs(Fragment$1, { children: [jsx("span", { className: "size-7 shrink-0", "aria-hidden": true }), jsx("div", { className: "flex min-w-0 flex-1 items-center justify-center", children: logo })] })), jsx(PlatformSidebarCollapsedLabelFlyout, { label: isExpanded
256626
+ ? t('platformSidebar.collapseSidebar')
256627
+ : t('platformSidebar.expandSidebar'), children: jsx("button", { type: "button", onClick: toggleSidebar, className: "inline-flex size-7 shrink-0 cursor-pointer items-center justify-center rounded-md font-sans text-[#7d7e82] transition-colors hover:bg-[#f0f0f0]", "aria-label": isExpanded
256628
+ ? t('platformSidebar.collapseSidebar')
256629
+ : t('platformSidebar.expandSidebar'), "aria-expanded": isExpanded, children: jsx("svg", { width: 20, height: 20, viewBox: "0 0 20 20", fill: "currentColor", xmlns: "http://www.w3.org/2000/svg", className: "shrink-0", "aria-hidden": true, children: jsx("path", { d: "M16.5 4A1.5 1.5 0 0 1 18 5.5v9a1.5 1.5 0 0 1-1.5 1.5h-13A1.5 1.5 0 0 1 2 14.5v-9A1.5 1.5 0 0 1 3.5 4zM7 15h9.5a.5.5 0 0 0 .5-.5v-9a.5.5 0 0 0-.5-.5H7zM3.5 5a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5H6V5z" }) }) }) })] }) }), railCollapsed ? (jsxs("nav", { className: "flex min-h-0 flex-1 flex-col items-center gap-1 overflow-y-auto px-2 pt-1 pb-2", "aria-label": t('platformSidebar.mainNavigation'), children: [primaryAction && (jsx(PlatformSidebarCollapsedLabelFlyout, { label: primaryAction.label, children: jsx("button", { type: "button", onClick: primaryAction.onClick, className: "text-foreground inline-flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-[8px] border border-[#e0e0e2] bg-white transition-colors hover:bg-[#f8f8f9]", "aria-label": primaryAction.label, children: jsx(PrimaryActionIcon, { className: "size-4 shrink-0", strokeWidth: 1.5 }) }) })), sections.map(renderSection)] })) : (jsx("nav", { className: "min-h-0 flex-1 overflow-y-auto px-2 pt-1 pb-2", "aria-label": t('platformSidebar.mainNavigation'), children: jsxs("div", { className: "space-y-0.5", children: [primaryAction && (jsx("div", { className: "px-0 pb-0.5", children: jsxs("button", { type: "button", onClick: primaryAction.onClick, className: "inline-flex h-9 w-full cursor-pointer items-center justify-start gap-2 rounded-[8px] border border-[#e0e0e2] bg-white px-2 text-[14px] font-normal text-[#687482] antialiased transition-colors hover:bg-[#f8f8f9] active:bg-[#f2f2f3]", children: [jsx(PrimaryActionIcon, { className: "size-4 shrink-0", strokeWidth: 1.5, "aria-hidden": true }), jsx("span", { children: primaryAction.label })] }) })), sections.map(renderSection)] }) })), footer && jsx(PlatformSidebarFooter, { collapsed: railCollapsed, config: footer })] }) }) }));
256630
+ }
256631
+
255518
256632
  function useTimeTracker(config) {
255519
256633
  var _a;
255520
- const router = useRouter();
256634
+ const router = useRouter$1();
255521
256635
  const trackerRef = useRef(null);
255522
256636
  const enabledRef = useRef((_a = config.enabled) !== null && _a !== void 0 ? _a : true);
255523
256637
  const getCurrentUrl = useCallback(() => {
@@ -256566,8 +257680,8 @@ const CourseContentLayout = ({ courseId, isPlatformAdmin, currentTenant, tabHref
256566
257680
  }, children: children }) })] })] })] }) }));
256567
257681
  };
256568
257682
 
256569
- const CustomSwitch = React.forwardRef(({ className, checked, onCheckedChange, ...props }, ref) => (jsx(Root$a, { checked: checked, onCheckedChange: onCheckedChange, className: cn('peer focus-visible:ring-ring focus-visible:ring-offset-background inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-blue-500 data-[state=unchecked]:bg-gray-200', className), ...props, ref: ref, children: jsx(Thumb, { className: cn('pointer-events-none block h-5 w-5 rounded-full bg-white shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0') }) })));
256570
- CustomSwitch.displayName = Root$a.displayName;
257683
+ const CustomSwitch = React.forwardRef(({ className, checked, onCheckedChange, ...props }, ref) => (jsx(Root$c, { checked: checked, onCheckedChange: onCheckedChange, className: cn('peer focus-visible:ring-ring focus-visible:ring-offset-background inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-blue-500 data-[state=unchecked]:bg-gray-200', className), ...props, ref: ref, children: jsx(Thumb, { className: cn('pointer-events-none block h-5 w-5 rounded-full bg-white shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0') }) })));
257684
+ CustomSwitch.displayName = Root$c.displayName;
256571
257685
 
256572
257686
  /**
256573
257687
  * Label contract for the Settings tab and its two sub-modals.
@@ -321530,5 +322644,5 @@ var index_es = /*#__PURE__*/Object.freeze({
321530
322644
  vectorsRatio: vectorsRatio
321531
322645
  });
321532
322646
 
321533
- export { AGENT_ACCESS_TAB_LABELS, AGENT_API_TAB_LABELS, AGENT_DATASETS_TAB_LABELS, AGENT_DISCLAIMERS_TAB_LABELS, AGENT_EMBED_TAB_LABELS, AGENT_HISTORY_TAB_LABELS, AGENT_LLM_TAB_LABELS, AGENT_LTI_TAB_LABELS, AGENT_MEMORY_TAB_LABELS, AGENT_PICKER_LABELS, AGENT_PRIVACY_TAB_LABELS, AGENT_PROMPTS_TAB_LABELS, AGENT_SAFETY_TAB_LABELS, AGENT_SCREENSHARE_TAB_LABELS, AGENT_SEARCH_LABELS, AGENT_SETTINGS_TAB_LABELS, AGENT_TASKS_TAB_LABELS, AGENT_TOOLS_TAB_LABELS, AGENT_VOICE_TAB_LABELS, Account, AgentAccessTab, AgentApiTab, AgentCard, AgentDatasetsTab, AgentDisclaimersTab, AgentEmbedTab, AgentEmptyState, AgentHistoryTab, AgentLLMTab, AgentLtiTab, AgentMemoryTab, AgentPrivacyTab, AgentPromptsTab, AgentSafetyTab, AgentScreenShareTab, AgentSearch, AgentSearchFilters, AgentSearchInput, AgentSettingsProvider, AgentSettingsTab, AgentTasksTab, AgentToolsTab, AgentVoiceTab, AppSidebar, CATALOGS, Chat, ClientErrorPage, ConversationStarters$1 as ConversationStarters, CopyButton, CopyMentorModal, CourseBox, CourseContentLayout, CourseContentTabPage, CreatePathwayModal, CredentialDetailModal, CredentialMiniBox, DEFAULT_LOCALE, DeleteMentorModal, EMPTY_PROGRAM_SETTINGS_FORM, EdxIframe, ErrorPage, GreetingMethod, McpTab, MediaBox, MentorSelectionGrid, NavBar, OrganizationTab, PathwayDetailModal, ProfileInfoCards, ProfileTabs, ProgramDetailModal, ProjectsSidebarDropdown, SUPPORTED_LOCALES, SidebarInset, SidebarProvider, SidebarTrigger, SsoLogin, StarButton, UserProfileDropdown, UserProfileModal, WebContainersI18nProvider, formatDateString, getCatalog, getLLMProviderDetails, initializeLocalStorageWithObject, isValidLocale, resolveAgentPickerLabels, resolveAgentSearchLabels, resolveSettingsTabLabels, useAgentSearch, useAgentSearchWithPagination, useAgentSettings, useAgentStar, useGetChatDetails, useSidebar, useT, useTimeTracker, useWebContainersI18n, useWebContainersLocale };
322647
+ export { AGENT_ACCESS_TAB_LABELS, AGENT_API_TAB_LABELS, AGENT_DATASETS_TAB_LABELS, AGENT_DISCLAIMERS_TAB_LABELS, AGENT_EMBED_TAB_LABELS, AGENT_HISTORY_TAB_LABELS, AGENT_LLM_TAB_LABELS, AGENT_LTI_TAB_LABELS, AGENT_MEMORY_TAB_LABELS, AGENT_PICKER_LABELS, AGENT_PRIVACY_TAB_LABELS, AGENT_PROMPTS_TAB_LABELS, AGENT_SAFETY_TAB_LABELS, AGENT_SCREENSHARE_TAB_LABELS, AGENT_SEARCH_LABELS, AGENT_SETTINGS_TAB_LABELS, AGENT_TASKS_TAB_LABELS, AGENT_TOOLS_TAB_LABELS, AGENT_VOICE_TAB_LABELS, Account, AgentAccessTab, AgentApiTab, AgentCard, AgentDatasetsTab, AgentDisclaimersTab, AgentEmbedTab, AgentEmptyState, AgentHistoryTab, AgentLLMTab, AgentLtiTab, AgentMemoryTab, AgentPrivacyTab, AgentPromptsTab, AgentSafetyTab, AgentScreenShareTab, AgentSearch, AgentSearchFilters, AgentSearchInput, AgentSettingsProvider, AgentSettingsTab, AgentTasksTab, AgentToolsTab, AgentVoiceTab, AppSidebar, CATALOGS, Chat, ClientErrorPage, ConversationStarters$1 as ConversationStarters, CopyButton, CopyMentorModal, CourseBox, CourseContentLayout, CourseContentTabPage, CreatePathwayModal, CredentialDetailModal, CredentialMiniBox, DEFAULT_LOCALE, DeleteMentorModal, EMPTY_PROGRAM_SETTINGS_FORM, EdxIframe, ErrorPage, GreetingMethod, McpTab, MediaBox, MentorSelectionGrid, NavBar, OrganizationTab, PLATFORM_SIDEBAR_FLYOUT_ITEM_COLOR, PLATFORM_SIDEBAR_FLYOUT_TITLE_COLOR, PLATFORM_SIDEBAR_NAV_ACTIVE_BG_OPEN, PLATFORM_SIDEBAR_NAV_MUTED, PathwayDetailModal, PlatformAccountSheet, PlatformSidebar, PlatformSidebarCollapsedLabelFlyout, PlatformSidebarCollapsedNavFlyout, PlatformSidebarFooter, PlatformSidebarNavDivider, PlatformSidebarNavSection, PlatformSidebarSubNavItem, ProfileInfoCards, ProfileTabs, ProgramDetailModal, ProjectsSidebarDropdown, SUPPORTED_LOCALES, SidebarInset, SidebarProvider, SidebarTrigger, SsoLogin, StarButton, UserProfileDropdown, UserProfileModal, WebContainersI18nProvider, formatDateString, getCatalog, getLLMProviderDetails, initializeLocalStorageWithObject, isValidLocale, resolveAgentPickerLabels, resolveAgentSearchLabels, resolveSettingsTabLabels, useAgentSearch, useAgentSearchWithPagination, useAgentSettings, useAgentStar, useGetChatDetails, usePlatformSidebarFooterActions, usePlatformSidebarNavCallback, useSidebar, useT, useTimeTracker, useWebContainersI18n, useWebContainersLocale };
321534
322648
  //# sourceMappingURL=index.esm.js.map