@iblai/iblai-js 1.23.0 → 1.23.1
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$
|
|
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$
|
|
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$
|
|
90905
|
-
var Arrow$
|
|
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$
|
|
90921
|
-
var Root$
|
|
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$
|
|
90960
|
-
var [createPopperContext$
|
|
90961
|
-
var [PopperProvider$
|
|
90962
|
-
var Popper$
|
|
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$
|
|
90965
|
+
return /* @__PURE__ */ jsx(PopperProvider$2, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });
|
|
90966
90966
|
};
|
|
90967
|
-
Popper$
|
|
90968
|
-
var ANCHOR_NAME$
|
|
90969
|
-
var PopperAnchor$
|
|
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$
|
|
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$
|
|
90982
|
-
var CONTENT_NAME$
|
|
90983
|
-
var [PopperContentProvider$
|
|
90984
|
-
var PopperContent$
|
|
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$
|
|
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$
|
|
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$
|
|
91053
|
+
transformOrigin$3({ arrowWidth, arrowHeight }),
|
|
91054
91054
|
hideWhenDetached && hide({ strategy: "referenceHidden", ...detectOverflowOptions })
|
|
91055
91055
|
]
|
|
91056
91056
|
});
|
|
91057
|
-
const [placedSide, placedAlign] = getSideAndAlignFromPlacement$
|
|
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$
|
|
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$
|
|
91126
|
-
var ARROW_NAME$
|
|
91127
|
-
var OPPOSITE_SIDE$
|
|
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$
|
|
91133
|
+
var PopperArrow$2 = React.forwardRef(function PopperArrow2(props, forwardedRef) {
|
|
91134
91134
|
const { __scopePopper, ...arrowProps } = props;
|
|
91135
|
-
const contentContext = useContentContext$
|
|
91136
|
-
const baseSide = OPPOSITE_SIDE$
|
|
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$
|
|
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$
|
|
91181
|
-
function isNotNull$
|
|
91180
|
+
PopperArrow$2.displayName = ARROW_NAME$8;
|
|
91181
|
+
function isNotNull$2(value) {
|
|
91182
91182
|
return value !== null;
|
|
91183
91183
|
}
|
|
91184
|
-
var transformOrigin$
|
|
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$
|
|
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$
|
|
91215
|
+
function getSideAndAlignFromPlacement$2(placement) {
|
|
91216
91216
|
const [side, align = "center"] = placement.split("-");
|
|
91217
91217
|
return [side, align];
|
|
91218
91218
|
}
|
|
91219
|
-
var Root2$
|
|
91220
|
-
var Anchor$
|
|
91221
|
-
var Content$
|
|
91222
|
-
var Arrow$
|
|
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$
|
|
91225
|
-
var Portal$
|
|
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$
|
|
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$
|
|
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$
|
|
92476
|
+
createPopperScope$2,
|
|
92477
92477
|
createRovingFocusGroupScope$1
|
|
92478
92478
|
]);
|
|
92479
|
-
var usePopperScope$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
92532
|
-
return /* @__PURE__ */ jsx(Anchor$
|
|
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$
|
|
92536
|
-
var PORTAL_NAME$
|
|
92537
|
-
var [PortalProvider$
|
|
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$
|
|
92543
|
-
return /* @__PURE__ */ jsx(PortalProvider$
|
|
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$
|
|
92546
|
-
var CONTENT_NAME$
|
|
92547
|
-
var [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME$
|
|
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$
|
|
92550
|
+
const portalContext = usePortalContext$3(CONTENT_NAME$a, props.__scopeMenu);
|
|
92551
92551
|
const { forceMount = portalContext.forceMount, ...contentProps } = props;
|
|
92552
|
-
const context = useMenuContext(CONTENT_NAME$
|
|
92553
|
-
const rootContext = useMenuRootContext(CONTENT_NAME$
|
|
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$
|
|
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$
|
|
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$
|
|
92618
|
-
const rootContext = useMenuRootContext(CONTENT_NAME$
|
|
92619
|
-
const popperScope = usePopperScope$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
93011
|
-
return /* @__PURE__ */ jsx(Arrow$
|
|
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$
|
|
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$
|
|
93121
|
+
const portalContext = usePortalContext$3(CONTENT_NAME$a, props.__scopeMenu);
|
|
93122
93122
|
const { forceMount = portalContext.forceMount, ...subContentProps } = props;
|
|
93123
|
-
const context = useMenuContext(CONTENT_NAME$
|
|
93124
|
-
const rootContext = useMenuRootContext(CONTENT_NAME$
|
|
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$
|
|
93222
|
-
var Content2$
|
|
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$
|
|
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$
|
|
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$
|
|
93311
|
-
var PORTAL_NAME$
|
|
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$
|
|
93315
|
+
return /* @__PURE__ */ jsx(Portal$6, { ...menuScope, ...portalProps });
|
|
93316
93316
|
};
|
|
93317
|
-
DropdownMenuPortal.displayName = PORTAL_NAME$
|
|
93318
|
-
var CONTENT_NAME$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
93464
|
-
var Trigger$
|
|
93463
|
+
var Root2$9 = DropdownMenu$1;
|
|
93464
|
+
var Trigger$5 = DropdownMenuTrigger$1;
|
|
93465
93465
|
var Portal2$1 = DropdownMenuPortal;
|
|
93466
|
-
var Content2$
|
|
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$
|
|
93476
|
+
return jsx(Root2$9, { "data-slot": "dropdown-menu", ...props });
|
|
93477
93477
|
}
|
|
93478
93478
|
function DropdownMenuTrigger({ ...props }) {
|
|
93479
|
-
return jsx(Trigger$
|
|
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$
|
|
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$
|
|
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$
|
|
93841
|
-
Avatar.displayName = Root$
|
|
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$
|
|
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$
|
|
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$
|
|
93918
|
+
createPopperScope$2
|
|
93919
93919
|
]);
|
|
93920
|
-
var usePopperScope$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
94025
|
-
const context = useSelectContext(TRIGGER_NAME$
|
|
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$
|
|
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$
|
|
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$
|
|
94129
|
+
var PORTAL_NAME$6 = "SelectPortal";
|
|
94130
94130
|
var SelectPortal = (props) => {
|
|
94131
|
-
return /* @__PURE__ */ jsx(Portal$
|
|
94131
|
+
return /* @__PURE__ */ jsx(Portal$7, { asChild: true, ...props });
|
|
94132
94132
|
};
|
|
94133
|
-
SelectPortal.displayName = PORTAL_NAME$
|
|
94134
|
-
var CONTENT_NAME$
|
|
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$
|
|
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$
|
|
94152
|
+
SelectContent$1.displayName = CONTENT_NAME$8;
|
|
94153
94153
|
var CONTENT_MARGIN = 10;
|
|
94154
|
-
var [SelectContentProvider, useSelectContentContext] = createSelectContext(CONTENT_NAME$
|
|
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$
|
|
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$
|
|
94394
|
-
const contentContext = useSelectContentContext(CONTENT_NAME$
|
|
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$
|
|
94562
|
+
const popperScope = usePopperScope$3(__scopeSelect);
|
|
94563
94563
|
return /* @__PURE__ */ jsx(
|
|
94564
|
-
Content$
|
|
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$
|
|
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$
|
|
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$
|
|
94942
|
-
const context = useSelectContext(ARROW_NAME$
|
|
94943
|
-
const contentContext = useSelectContentContext(ARROW_NAME$
|
|
94944
|
-
return context.open && contentContext.position === "popper" ? /* @__PURE__ */ jsx(Arrow$
|
|
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$
|
|
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$
|
|
95016
|
-
var Trigger$
|
|
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$
|
|
95020
|
-
var Content2$
|
|
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$
|
|
95030
|
+
const Select$1 = Root2$8;
|
|
95031
95031
|
const SelectValue = Value;
|
|
95032
|
-
const SelectTrigger = React.forwardRef(({ className, children, ...props }, ref) => (jsxs(Trigger$
|
|
95033
|
-
SelectTrigger.displayName = Trigger$
|
|
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$
|
|
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$
|
|
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$
|
|
95448
|
+
var Root$d = DismissableLayer$1;
|
|
95449
95449
|
var Branch$1 = DismissableLayerBranch$1;
|
|
95450
95450
|
|
|
95451
|
-
var PORTAL_NAME$
|
|
95452
|
-
var Portal$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
96306
|
+
return (jsx(Root2$7, { ref: ref, className: cn(toastVariants({ variant }), className), ...props }));
|
|
96307
96307
|
});
|
|
96308
|
-
Toast.displayName = Root2$
|
|
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$
|
|
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$
|
|
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$
|
|
96453
|
+
function getState$4(checked) {
|
|
96454
96454
|
return checked ? "checked" : "unchecked";
|
|
96455
96455
|
}
|
|
96456
|
-
var Root$
|
|
96456
|
+
var Root$c = Switch$1;
|
|
96457
96457
|
var Thumb = SwitchThumb;
|
|
96458
96458
|
|
|
96459
|
-
const Switch = React.forwardRef(({ className, ...props }, ref) => (jsx(Root$
|
|
96460
|
-
Switch.displayName = Root$
|
|
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$
|
|
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$
|
|
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$
|
|
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$
|
|
96590
|
-
var CONTENT_NAME$
|
|
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$
|
|
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$
|
|
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$
|
|
96631
|
+
var Root2$6 = Tabs$1;
|
|
96632
96632
|
var List = TabsList$1;
|
|
96633
|
-
var Trigger$
|
|
96634
|
-
var Content$
|
|
96633
|
+
var Trigger$3 = TabsTrigger$1;
|
|
96634
|
+
var Content$2 = TabsContent$1;
|
|
96635
96635
|
|
|
96636
|
-
const Tabs = Root2$
|
|
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$
|
|
96640
|
-
TabsTrigger.displayName = Trigger$
|
|
96641
|
-
const TabsContent = React.forwardRef(({ className, ...props }, ref) => (jsx(Content$
|
|
96642
|
-
TabsContent.displayName = Content$
|
|
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,26 @@ 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
|
+
};
|
|
101875
101895
|
var en = {
|
|
101876
101896
|
accessTabAddAccess: accessTabAddAccess$3,
|
|
101877
101897
|
accessTabLabels: accessTabLabels$3,
|
|
@@ -102106,7 +102126,8 @@ var en = {
|
|
|
102106
102126
|
workflowsCreateWorkflowModal: workflowsCreateWorkflowModal$3,
|
|
102107
102127
|
workflowsDeleteWorkflowModal: workflowsDeleteWorkflowModal$3,
|
|
102108
102128
|
workflowsToolDialogs: workflowsToolDialogs$3,
|
|
102109
|
-
ltiTabLabels: ltiTabLabels$3
|
|
102129
|
+
ltiTabLabels: ltiTabLabels$3,
|
|
102130
|
+
platformSidebar: platformSidebar$3
|
|
102110
102131
|
};
|
|
102111
102132
|
|
|
102112
102133
|
var accessTabAddAccess$2 = {
|
|
@@ -107154,6 +107175,26 @@ var ltiTabLabels$2 = {
|
|
|
107154
107175
|
toolError: "Un problème est survenu avec l'outil LTI"
|
|
107155
107176
|
}
|
|
107156
107177
|
};
|
|
107178
|
+
var platformSidebar$2 = {
|
|
107179
|
+
collapseSidebar: "Réduire la barre latérale",
|
|
107180
|
+
expandSidebar: "Développer la barre latérale",
|
|
107181
|
+
mainNavigation: "Navigation principale",
|
|
107182
|
+
notifications: "Notifications",
|
|
107183
|
+
invites: "Invitations",
|
|
107184
|
+
management: "Gestion",
|
|
107185
|
+
integrations: "Intégrations",
|
|
107186
|
+
monetization: "Monétisation",
|
|
107187
|
+
advanced: "Avancé",
|
|
107188
|
+
support: "Support",
|
|
107189
|
+
accountTabOrganization: "Organisation",
|
|
107190
|
+
accountTabBilling: "Facturation",
|
|
107191
|
+
accountDescOrganization: "Gérez les paramètres de votre organisation.",
|
|
107192
|
+
accountDescManagement: "Gérez les utilisateurs et leurs permissions dans le système.",
|
|
107193
|
+
accountDescIntegrations: "Gérez vos intégrations avec d'autres services.",
|
|
107194
|
+
accountDescMonetization: "Configurez les paywalls, la tarification et les revenus.",
|
|
107195
|
+
accountDescAdvanced: "Configurez les paramètres avancés de l'organisation.",
|
|
107196
|
+
accountDescBilling: "Gérez votre facturation et votre abonnement."
|
|
107197
|
+
};
|
|
107157
107198
|
var fr = {
|
|
107158
107199
|
accessTabAddAccess: accessTabAddAccess$2,
|
|
107159
107200
|
accessTabLabels: accessTabLabels$2,
|
|
@@ -107388,7 +107429,8 @@ var fr = {
|
|
|
107388
107429
|
workflowsCreateWorkflowModal: workflowsCreateWorkflowModal$2,
|
|
107389
107430
|
workflowsDeleteWorkflowModal: workflowsDeleteWorkflowModal$2,
|
|
107390
107431
|
workflowsToolDialogs: workflowsToolDialogs$2,
|
|
107391
|
-
ltiTabLabels: ltiTabLabels$2
|
|
107432
|
+
ltiTabLabels: ltiTabLabels$2,
|
|
107433
|
+
platformSidebar: platformSidebar$2
|
|
107392
107434
|
};
|
|
107393
107435
|
|
|
107394
107436
|
var accessTabAddAccess$1 = {
|
|
@@ -112436,6 +112478,26 @@ var ltiTabLabels$1 = {
|
|
|
112436
112478
|
toolError: "Algo salió mal con la herramienta LTI"
|
|
112437
112479
|
}
|
|
112438
112480
|
};
|
|
112481
|
+
var platformSidebar$1 = {
|
|
112482
|
+
collapseSidebar: "Contraer barra lateral",
|
|
112483
|
+
expandSidebar: "Expandir barra lateral",
|
|
112484
|
+
mainNavigation: "Navegación principal",
|
|
112485
|
+
notifications: "Notificaciones",
|
|
112486
|
+
invites: "Invitaciones",
|
|
112487
|
+
management: "Gestión",
|
|
112488
|
+
integrations: "Integraciones",
|
|
112489
|
+
monetization: "Monetización",
|
|
112490
|
+
advanced: "Avanzado",
|
|
112491
|
+
support: "Soporte",
|
|
112492
|
+
accountTabOrganization: "Organización",
|
|
112493
|
+
accountTabBilling: "Facturación",
|
|
112494
|
+
accountDescOrganization: "Gestiona los ajustes de tu organización.",
|
|
112495
|
+
accountDescManagement: "Gestiona los usuarios y sus permisos en el sistema.",
|
|
112496
|
+
accountDescIntegrations: "Gestiona tus integraciones con otros servicios.",
|
|
112497
|
+
accountDescMonetization: "Configura muros de pago, precios e ingresos.",
|
|
112498
|
+
accountDescAdvanced: "Configura los ajustes avanzados de la organización.",
|
|
112499
|
+
accountDescBilling: "Gestiona tu facturación y suscripción."
|
|
112500
|
+
};
|
|
112439
112501
|
var es = {
|
|
112440
112502
|
accessTabAddAccess: accessTabAddAccess$1,
|
|
112441
112503
|
accessTabLabels: accessTabLabels$1,
|
|
@@ -112670,7 +112732,8 @@ var es = {
|
|
|
112670
112732
|
workflowsCreateWorkflowModal: workflowsCreateWorkflowModal$1,
|
|
112671
112733
|
workflowsDeleteWorkflowModal: workflowsDeleteWorkflowModal$1,
|
|
112672
112734
|
workflowsToolDialogs: workflowsToolDialogs$1,
|
|
112673
|
-
ltiTabLabels: ltiTabLabels$1
|
|
112735
|
+
ltiTabLabels: ltiTabLabels$1,
|
|
112736
|
+
platformSidebar: platformSidebar$1
|
|
112674
112737
|
};
|
|
112675
112738
|
|
|
112676
112739
|
var accessTabAddAccess = {
|
|
@@ -117718,6 +117781,26 @@ var ltiTabLabels = {
|
|
|
117718
117781
|
toolError: "LTI 工具出现问题"
|
|
117719
117782
|
}
|
|
117720
117783
|
};
|
|
117784
|
+
var platformSidebar = {
|
|
117785
|
+
collapseSidebar: "收起侧边栏",
|
|
117786
|
+
expandSidebar: "展开侧边栏",
|
|
117787
|
+
mainNavigation: "主导航",
|
|
117788
|
+
notifications: "通知",
|
|
117789
|
+
invites: "邀请",
|
|
117790
|
+
management: "管理",
|
|
117791
|
+
integrations: "集成",
|
|
117792
|
+
monetization: "变现",
|
|
117793
|
+
advanced: "高级",
|
|
117794
|
+
support: "支持",
|
|
117795
|
+
accountTabOrganization: "组织",
|
|
117796
|
+
accountTabBilling: "账单",
|
|
117797
|
+
accountDescOrganization: "管理您的组织设置。",
|
|
117798
|
+
accountDescManagement: "管理系统中的用户及其权限。",
|
|
117799
|
+
accountDescIntegrations: "管理与其他服务的集成。",
|
|
117800
|
+
accountDescMonetization: "配置付费墙、定价和收入。",
|
|
117801
|
+
accountDescAdvanced: "配置组织的高级设置。",
|
|
117802
|
+
accountDescBilling: "管理您的账单和订阅。"
|
|
117803
|
+
};
|
|
117721
117804
|
var zh = {
|
|
117722
117805
|
accessTabAddAccess: accessTabAddAccess,
|
|
117723
117806
|
accessTabLabels: accessTabLabels,
|
|
@@ -117952,7 +118035,8 @@ var zh = {
|
|
|
117952
118035
|
workflowsCreateWorkflowModal: workflowsCreateWorkflowModal,
|
|
117953
118036
|
workflowsDeleteWorkflowModal: workflowsDeleteWorkflowModal,
|
|
117954
118037
|
workflowsToolDialogs: workflowsToolDialogs,
|
|
117955
|
-
ltiTabLabels: ltiTabLabels
|
|
118038
|
+
ltiTabLabels: ltiTabLabels,
|
|
118039
|
+
platformSidebar: platformSidebar
|
|
117956
118040
|
};
|
|
117957
118041
|
|
|
117958
118042
|
/**
|
|
@@ -122884,8 +122968,8 @@ function handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {
|
|
|
122884
122968
|
}
|
|
122885
122969
|
|
|
122886
122970
|
// src/arrow.tsx
|
|
122887
|
-
var NAME$
|
|
122888
|
-
var Arrow$
|
|
122971
|
+
var NAME$6 = "Arrow";
|
|
122972
|
+
var Arrow$3 = React.forwardRef((props, forwardedRef) => {
|
|
122889
122973
|
const { children, width = 10, height = 5, ...arrowProps } = props;
|
|
122890
122974
|
return /* @__PURE__ */ jsx(
|
|
122891
122975
|
Primitive$3.svg,
|
|
@@ -122900,23 +122984,23 @@ var Arrow$1 = React.forwardRef((props, forwardedRef) => {
|
|
|
122900
122984
|
}
|
|
122901
122985
|
);
|
|
122902
122986
|
});
|
|
122903
|
-
Arrow$
|
|
122904
|
-
var Root$
|
|
122987
|
+
Arrow$3.displayName = NAME$6;
|
|
122988
|
+
var Root$b = Arrow$3;
|
|
122905
122989
|
|
|
122906
|
-
var POPPER_NAME = "Popper";
|
|
122907
|
-
var [createPopperContext, createPopperScope] = createContextScope$1(POPPER_NAME);
|
|
122908
|
-
var [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);
|
|
122909
|
-
var Popper = (props) => {
|
|
122990
|
+
var POPPER_NAME$1 = "Popper";
|
|
122991
|
+
var [createPopperContext$1, createPopperScope$1] = createContextScope$1(POPPER_NAME$1);
|
|
122992
|
+
var [PopperProvider$1, usePopperContext$1] = createPopperContext$1(POPPER_NAME$1);
|
|
122993
|
+
var Popper$1 = (props) => {
|
|
122910
122994
|
const { __scopePopper, children } = props;
|
|
122911
122995
|
const [anchor, setAnchor] = React.useState(null);
|
|
122912
|
-
return /* @__PURE__ */ jsx(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });
|
|
122996
|
+
return /* @__PURE__ */ jsx(PopperProvider$1, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });
|
|
122913
122997
|
};
|
|
122914
|
-
Popper.displayName = POPPER_NAME;
|
|
122915
|
-
var ANCHOR_NAME$
|
|
122916
|
-
var PopperAnchor = React.forwardRef(
|
|
122998
|
+
Popper$1.displayName = POPPER_NAME$1;
|
|
122999
|
+
var ANCHOR_NAME$2 = "PopperAnchor";
|
|
123000
|
+
var PopperAnchor$1 = React.forwardRef(
|
|
122917
123001
|
(props, forwardedRef) => {
|
|
122918
123002
|
const { __scopePopper, virtualRef, ...anchorProps } = props;
|
|
122919
|
-
const context = usePopperContext(ANCHOR_NAME$
|
|
123003
|
+
const context = usePopperContext$1(ANCHOR_NAME$2, __scopePopper);
|
|
122920
123004
|
const ref = React.useRef(null);
|
|
122921
123005
|
const composedRefs = useComposedRefs$1(forwardedRef, ref);
|
|
122922
123006
|
React.useEffect(() => {
|
|
@@ -122925,10 +123009,10 @@ var PopperAnchor = React.forwardRef(
|
|
|
122925
123009
|
return virtualRef ? null : /* @__PURE__ */ jsx(Primitive$3.div, { ...anchorProps, ref: composedRefs });
|
|
122926
123010
|
}
|
|
122927
123011
|
);
|
|
122928
|
-
PopperAnchor.displayName = ANCHOR_NAME$
|
|
122929
|
-
var CONTENT_NAME$
|
|
122930
|
-
var [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME$
|
|
122931
|
-
var PopperContent = React.forwardRef(
|
|
123012
|
+
PopperAnchor$1.displayName = ANCHOR_NAME$2;
|
|
123013
|
+
var CONTENT_NAME$6 = "PopperContent";
|
|
123014
|
+
var [PopperContentProvider$1, useContentContext$1] = createPopperContext$1(CONTENT_NAME$6);
|
|
123015
|
+
var PopperContent$1 = React.forwardRef(
|
|
122932
123016
|
(props, forwardedRef) => {
|
|
122933
123017
|
const {
|
|
122934
123018
|
__scopePopper,
|
|
@@ -122946,7 +123030,7 @@ var PopperContent = React.forwardRef(
|
|
|
122946
123030
|
onPlaced,
|
|
122947
123031
|
...contentProps
|
|
122948
123032
|
} = props;
|
|
122949
|
-
const context = usePopperContext(CONTENT_NAME$
|
|
123033
|
+
const context = usePopperContext$1(CONTENT_NAME$6, __scopePopper);
|
|
122950
123034
|
const [content, setContent] = React.useState(null);
|
|
122951
123035
|
const composedRefs = useComposedRefs$1(forwardedRef, (node) => setContent(node));
|
|
122952
123036
|
const [arrow, setArrow] = React.useState(null);
|
|
@@ -122959,7 +123043,7 @@ var PopperContent = React.forwardRef(
|
|
|
122959
123043
|
const hasExplicitBoundaries = boundary.length > 0;
|
|
122960
123044
|
const detectOverflowOptions = {
|
|
122961
123045
|
padding: collisionPadding,
|
|
122962
|
-
boundary: boundary.filter(isNotNull),
|
|
123046
|
+
boundary: boundary.filter(isNotNull$1),
|
|
122963
123047
|
// with `strategy: 'fixed'`, this is the only way to get it to respect boundaries
|
|
122964
123048
|
altBoundary: hasExplicitBoundaries
|
|
122965
123049
|
};
|
|
@@ -122997,11 +123081,11 @@ var PopperContent = React.forwardRef(
|
|
|
122997
123081
|
}
|
|
122998
123082
|
}),
|
|
122999
123083
|
arrow && arrow$2({ element: arrow, padding: arrowPadding }),
|
|
123000
|
-
transformOrigin$
|
|
123084
|
+
transformOrigin$2({ arrowWidth, arrowHeight }),
|
|
123001
123085
|
hideWhenDetached && hide({ strategy: "referenceHidden", ...detectOverflowOptions })
|
|
123002
123086
|
]
|
|
123003
123087
|
});
|
|
123004
|
-
const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);
|
|
123088
|
+
const [placedSide, placedAlign] = getSideAndAlignFromPlacement$1(placement);
|
|
123005
123089
|
const handlePlaced = useCallbackRef$2(onPlaced);
|
|
123006
123090
|
useLayoutEffect2$1(() => {
|
|
123007
123091
|
if (isPositioned) {
|
|
@@ -123040,7 +123124,7 @@ var PopperContent = React.forwardRef(
|
|
|
123040
123124
|
},
|
|
123041
123125
|
dir: props.dir,
|
|
123042
123126
|
children: /* @__PURE__ */ jsx(
|
|
123043
|
-
PopperContentProvider,
|
|
123127
|
+
PopperContentProvider$1,
|
|
123044
123128
|
{
|
|
123045
123129
|
scope: __scopePopper,
|
|
123046
123130
|
placedSide,
|
|
@@ -123069,18 +123153,18 @@ var PopperContent = React.forwardRef(
|
|
|
123069
123153
|
);
|
|
123070
123154
|
}
|
|
123071
123155
|
);
|
|
123072
|
-
PopperContent.displayName = CONTENT_NAME$
|
|
123073
|
-
var ARROW_NAME$
|
|
123074
|
-
var OPPOSITE_SIDE = {
|
|
123156
|
+
PopperContent$1.displayName = CONTENT_NAME$6;
|
|
123157
|
+
var ARROW_NAME$4 = "PopperArrow";
|
|
123158
|
+
var OPPOSITE_SIDE$1 = {
|
|
123075
123159
|
top: "bottom",
|
|
123076
123160
|
right: "left",
|
|
123077
123161
|
bottom: "top",
|
|
123078
123162
|
left: "right"
|
|
123079
123163
|
};
|
|
123080
|
-
var PopperArrow = React.forwardRef(function PopperArrow2(props, forwardedRef) {
|
|
123164
|
+
var PopperArrow$1 = React.forwardRef(function PopperArrow2(props, forwardedRef) {
|
|
123081
123165
|
const { __scopePopper, ...arrowProps } = props;
|
|
123082
|
-
const contentContext = useContentContext(ARROW_NAME$
|
|
123083
|
-
const baseSide = OPPOSITE_SIDE[contentContext.placedSide];
|
|
123166
|
+
const contentContext = useContentContext$1(ARROW_NAME$4, __scopePopper);
|
|
123167
|
+
const baseSide = OPPOSITE_SIDE$1[contentContext.placedSide];
|
|
123084
123168
|
return (
|
|
123085
123169
|
// we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)
|
|
123086
123170
|
// doesn't report size as we'd expect on SVG elements.
|
|
@@ -123109,7 +123193,7 @@ var PopperArrow = React.forwardRef(function PopperArrow2(props, forwardedRef) {
|
|
|
123109
123193
|
visibility: contentContext.shouldHideArrow ? "hidden" : void 0
|
|
123110
123194
|
},
|
|
123111
123195
|
children: /* @__PURE__ */ jsx(
|
|
123112
|
-
Root$
|
|
123196
|
+
Root$b,
|
|
123113
123197
|
{
|
|
123114
123198
|
...arrowProps,
|
|
123115
123199
|
ref: forwardedRef,
|
|
@@ -123124,11 +123208,11 @@ var PopperArrow = React.forwardRef(function PopperArrow2(props, forwardedRef) {
|
|
|
123124
123208
|
)
|
|
123125
123209
|
);
|
|
123126
123210
|
});
|
|
123127
|
-
PopperArrow.displayName = ARROW_NAME$
|
|
123128
|
-
function isNotNull(value) {
|
|
123211
|
+
PopperArrow$1.displayName = ARROW_NAME$4;
|
|
123212
|
+
function isNotNull$1(value) {
|
|
123129
123213
|
return value !== null;
|
|
123130
123214
|
}
|
|
123131
|
-
var transformOrigin$
|
|
123215
|
+
var transformOrigin$2 = (options) => ({
|
|
123132
123216
|
name: "transformOrigin",
|
|
123133
123217
|
options,
|
|
123134
123218
|
fn(data) {
|
|
@@ -123137,7 +123221,7 @@ var transformOrigin$1 = (options) => ({
|
|
|
123137
123221
|
const isArrowHidden = cannotCenterArrow;
|
|
123138
123222
|
const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;
|
|
123139
123223
|
const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;
|
|
123140
|
-
const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);
|
|
123224
|
+
const [placedSide, placedAlign] = getSideAndAlignFromPlacement$1(placement);
|
|
123141
123225
|
const noArrowAlign = { start: "0%", center: "50%", end: "100%" }[placedAlign];
|
|
123142
123226
|
const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;
|
|
123143
123227
|
const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;
|
|
@@ -123159,24 +123243,24 @@ var transformOrigin$1 = (options) => ({
|
|
|
123159
123243
|
return { data: { x, y } };
|
|
123160
123244
|
}
|
|
123161
123245
|
});
|
|
123162
|
-
function getSideAndAlignFromPlacement(placement) {
|
|
123246
|
+
function getSideAndAlignFromPlacement$1(placement) {
|
|
123163
123247
|
const [side, align = "center"] = placement.split("-");
|
|
123164
123248
|
return [side, align];
|
|
123165
123249
|
}
|
|
123166
|
-
var Root2$
|
|
123167
|
-
var Anchor$
|
|
123168
|
-
var Content = PopperContent;
|
|
123169
|
-
var Arrow = PopperArrow;
|
|
123250
|
+
var Root2$5 = Popper$1;
|
|
123251
|
+
var Anchor$2 = PopperAnchor$1;
|
|
123252
|
+
var Content$1 = PopperContent$1;
|
|
123253
|
+
var Arrow$2 = PopperArrow$1;
|
|
123170
123254
|
|
|
123171
|
-
var PORTAL_NAME$
|
|
123172
|
-
var Portal$
|
|
123255
|
+
var PORTAL_NAME$4 = "Portal";
|
|
123256
|
+
var Portal$3 = React.forwardRef((props, forwardedRef) => {
|
|
123173
123257
|
const { container: containerProp, ...portalProps } = props;
|
|
123174
123258
|
const [mounted, setMounted] = React.useState(false);
|
|
123175
123259
|
useLayoutEffect2$1(() => setMounted(true), []);
|
|
123176
123260
|
const container = containerProp || mounted && globalThis?.document?.body;
|
|
123177
123261
|
return container ? ReactDOM__default.createPortal(/* @__PURE__ */ jsx(Primitive$3.div, { ...portalProps, ref: forwardedRef }), container) : null;
|
|
123178
123262
|
});
|
|
123179
|
-
Portal$
|
|
123263
|
+
Portal$3.displayName = PORTAL_NAME$4;
|
|
123180
123264
|
|
|
123181
123265
|
function useStateMachine$2(initialState, machine) {
|
|
123182
123266
|
return React.useReducer((state, event) => {
|
|
@@ -123317,7 +123401,7 @@ var VISUALLY_HIDDEN_STYLES = Object.freeze({
|
|
|
123317
123401
|
whiteSpace: "nowrap",
|
|
123318
123402
|
wordWrap: "normal"
|
|
123319
123403
|
});
|
|
123320
|
-
var NAME$
|
|
123404
|
+
var NAME$5 = "VisuallyHidden";
|
|
123321
123405
|
var VisuallyHidden = React.forwardRef(
|
|
123322
123406
|
(props, forwardedRef) => {
|
|
123323
123407
|
return /* @__PURE__ */ jsx(
|
|
@@ -123330,13 +123414,13 @@ var VisuallyHidden = React.forwardRef(
|
|
|
123330
123414
|
);
|
|
123331
123415
|
}
|
|
123332
123416
|
);
|
|
123333
|
-
VisuallyHidden.displayName = NAME$
|
|
123334
|
-
var Root$
|
|
123417
|
+
VisuallyHidden.displayName = NAME$5;
|
|
123418
|
+
var Root$a = VisuallyHidden;
|
|
123335
123419
|
|
|
123336
123420
|
var [createTooltipContext] = createContextScope$1("Tooltip", [
|
|
123337
|
-
createPopperScope
|
|
123421
|
+
createPopperScope$1
|
|
123338
123422
|
]);
|
|
123339
|
-
var usePopperScope$
|
|
123423
|
+
var usePopperScope$2 = createPopperScope$1();
|
|
123340
123424
|
var PROVIDER_NAME = "TooltipProvider";
|
|
123341
123425
|
var DEFAULT_DELAY_DURATION = 700;
|
|
123342
123426
|
var TOOLTIP_OPEN = "tooltip.open";
|
|
@@ -123396,7 +123480,7 @@ var Tooltip$2 = (props) => {
|
|
|
123396
123480
|
delayDuration: delayDurationProp
|
|
123397
123481
|
} = props;
|
|
123398
123482
|
const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);
|
|
123399
|
-
const popperScope = usePopperScope$
|
|
123483
|
+
const popperScope = usePopperScope$2(__scopeTooltip);
|
|
123400
123484
|
const [trigger, setTrigger] = React.useState(null);
|
|
123401
123485
|
const contentId = useId$1();
|
|
123402
123486
|
const openTimerRef = React.useRef(0);
|
|
@@ -123447,7 +123531,7 @@ var Tooltip$2 = (props) => {
|
|
|
123447
123531
|
}
|
|
123448
123532
|
};
|
|
123449
123533
|
}, []);
|
|
123450
|
-
return /* @__PURE__ */ jsx(Root2$
|
|
123534
|
+
return /* @__PURE__ */ jsx(Root2$5, { ...popperScope, children: /* @__PURE__ */ jsx(
|
|
123451
123535
|
TooltipContextProvider,
|
|
123452
123536
|
{
|
|
123453
123537
|
scope: __scopeTooltip,
|
|
@@ -123476,13 +123560,13 @@ var Tooltip$2 = (props) => {
|
|
|
123476
123560
|
) });
|
|
123477
123561
|
};
|
|
123478
123562
|
Tooltip$2.displayName = TOOLTIP_NAME;
|
|
123479
|
-
var TRIGGER_NAME$
|
|
123563
|
+
var TRIGGER_NAME$4 = "TooltipTrigger";
|
|
123480
123564
|
var TooltipTrigger$1 = React.forwardRef(
|
|
123481
123565
|
(props, forwardedRef) => {
|
|
123482
123566
|
const { __scopeTooltip, ...triggerProps } = props;
|
|
123483
|
-
const context = useTooltipContext(TRIGGER_NAME$
|
|
123484
|
-
const providerContext = useTooltipProviderContext(TRIGGER_NAME$
|
|
123485
|
-
const popperScope = usePopperScope$
|
|
123567
|
+
const context = useTooltipContext(TRIGGER_NAME$4, __scopeTooltip);
|
|
123568
|
+
const providerContext = useTooltipProviderContext(TRIGGER_NAME$4, __scopeTooltip);
|
|
123569
|
+
const popperScope = usePopperScope$2(__scopeTooltip);
|
|
123486
123570
|
const ref = React.useRef(null);
|
|
123487
123571
|
const composedRefs = useComposedRefs$1(forwardedRef, ref, context.onTriggerChange);
|
|
123488
123572
|
const isPointerDownRef = React.useRef(false);
|
|
@@ -123491,7 +123575,7 @@ var TooltipTrigger$1 = React.forwardRef(
|
|
|
123491
123575
|
React.useEffect(() => {
|
|
123492
123576
|
return () => document.removeEventListener("pointerup", handlePointerUp);
|
|
123493
123577
|
}, [handlePointerUp]);
|
|
123494
|
-
return /* @__PURE__ */ jsx(Anchor$
|
|
123578
|
+
return /* @__PURE__ */ jsx(Anchor$2, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(
|
|
123495
123579
|
Primitive$3.button,
|
|
123496
123580
|
{
|
|
123497
123581
|
"aria-describedby": context.open ? context.contentId : void 0,
|
|
@@ -123525,29 +123609,29 @@ var TooltipTrigger$1 = React.forwardRef(
|
|
|
123525
123609
|
) });
|
|
123526
123610
|
}
|
|
123527
123611
|
);
|
|
123528
|
-
TooltipTrigger$1.displayName = TRIGGER_NAME$
|
|
123529
|
-
var PORTAL_NAME$
|
|
123530
|
-
var [PortalProvider$
|
|
123612
|
+
TooltipTrigger$1.displayName = TRIGGER_NAME$4;
|
|
123613
|
+
var PORTAL_NAME$3 = "TooltipPortal";
|
|
123614
|
+
var [PortalProvider$2, usePortalContext$2] = createTooltipContext(PORTAL_NAME$3, {
|
|
123531
123615
|
forceMount: void 0
|
|
123532
123616
|
});
|
|
123533
123617
|
var TooltipPortal = (props) => {
|
|
123534
123618
|
const { __scopeTooltip, forceMount, children, container } = props;
|
|
123535
|
-
const context = useTooltipContext(PORTAL_NAME$
|
|
123536
|
-
return /* @__PURE__ */ jsx(PortalProvider$
|
|
123619
|
+
const context = useTooltipContext(PORTAL_NAME$3, __scopeTooltip);
|
|
123620
|
+
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
123621
|
};
|
|
123538
|
-
TooltipPortal.displayName = PORTAL_NAME$
|
|
123539
|
-
var CONTENT_NAME$
|
|
123622
|
+
TooltipPortal.displayName = PORTAL_NAME$3;
|
|
123623
|
+
var CONTENT_NAME$5 = "TooltipContent";
|
|
123540
123624
|
var TooltipContent$1 = React.forwardRef(
|
|
123541
123625
|
(props, forwardedRef) => {
|
|
123542
|
-
const portalContext = usePortalContext$
|
|
123626
|
+
const portalContext = usePortalContext$2(CONTENT_NAME$5, props.__scopeTooltip);
|
|
123543
123627
|
const { forceMount = portalContext.forceMount, side = "top", ...contentProps } = props;
|
|
123544
|
-
const context = useTooltipContext(CONTENT_NAME$
|
|
123628
|
+
const context = useTooltipContext(CONTENT_NAME$5, props.__scopeTooltip);
|
|
123545
123629
|
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
123630
|
}
|
|
123547
123631
|
);
|
|
123548
123632
|
var TooltipContentHoverable = React.forwardRef((props, forwardedRef) => {
|
|
123549
|
-
const context = useTooltipContext(CONTENT_NAME$
|
|
123550
|
-
const providerContext = useTooltipProviderContext(CONTENT_NAME$
|
|
123633
|
+
const context = useTooltipContext(CONTENT_NAME$5, props.__scopeTooltip);
|
|
123634
|
+
const providerContext = useTooltipProviderContext(CONTENT_NAME$5, props.__scopeTooltip);
|
|
123551
123635
|
const ref = React.useRef(null);
|
|
123552
123636
|
const composedRefs = useComposedRefs$1(forwardedRef, ref);
|
|
123553
123637
|
const [pointerGraceArea, setPointerGraceArea] = React.useState(null);
|
|
@@ -123618,8 +123702,8 @@ var TooltipContentImpl = React.forwardRef(
|
|
|
123618
123702
|
onPointerDownOutside,
|
|
123619
123703
|
...contentProps
|
|
123620
123704
|
} = props;
|
|
123621
|
-
const context = useTooltipContext(CONTENT_NAME$
|
|
123622
|
-
const popperScope = usePopperScope$
|
|
123705
|
+
const context = useTooltipContext(CONTENT_NAME$5, __scopeTooltip);
|
|
123706
|
+
const popperScope = usePopperScope$2(__scopeTooltip);
|
|
123623
123707
|
const { onClose } = context;
|
|
123624
123708
|
React.useEffect(() => {
|
|
123625
123709
|
document.addEventListener(TOOLTIP_OPEN, onClose);
|
|
@@ -123645,7 +123729,7 @@ var TooltipContentImpl = React.forwardRef(
|
|
|
123645
123729
|
onFocusOutside: (event) => event.preventDefault(),
|
|
123646
123730
|
onDismiss: onClose,
|
|
123647
123731
|
children: /* @__PURE__ */ jsxs(
|
|
123648
|
-
Content,
|
|
123732
|
+
Content$1,
|
|
123649
123733
|
{
|
|
123650
123734
|
"data-state": context.stateAttribute,
|
|
123651
123735
|
...popperScope,
|
|
@@ -123664,7 +123748,7 @@ var TooltipContentImpl = React.forwardRef(
|
|
|
123664
123748
|
},
|
|
123665
123749
|
children: [
|
|
123666
123750
|
/* @__PURE__ */ jsx(Slottable$2, { children }),
|
|
123667
|
-
/* @__PURE__ */ jsx(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ jsx(Root$
|
|
123751
|
+
/* @__PURE__ */ jsx(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ jsx(Root$a, { id: context.contentId, role: "tooltip", children: ariaLabel || children }) })
|
|
123668
123752
|
]
|
|
123669
123753
|
}
|
|
123670
123754
|
)
|
|
@@ -123672,20 +123756,20 @@ var TooltipContentImpl = React.forwardRef(
|
|
|
123672
123756
|
);
|
|
123673
123757
|
}
|
|
123674
123758
|
);
|
|
123675
|
-
TooltipContent$1.displayName = CONTENT_NAME$
|
|
123676
|
-
var ARROW_NAME$
|
|
123759
|
+
TooltipContent$1.displayName = CONTENT_NAME$5;
|
|
123760
|
+
var ARROW_NAME$3 = "TooltipArrow";
|
|
123677
123761
|
var TooltipArrow = React.forwardRef(
|
|
123678
123762
|
(props, forwardedRef) => {
|
|
123679
123763
|
const { __scopeTooltip, ...arrowProps } = props;
|
|
123680
|
-
const popperScope = usePopperScope$
|
|
123764
|
+
const popperScope = usePopperScope$2(__scopeTooltip);
|
|
123681
123765
|
const visuallyHiddenContentContext = useVisuallyHiddenContentContext(
|
|
123682
|
-
ARROW_NAME$
|
|
123766
|
+
ARROW_NAME$3,
|
|
123683
123767
|
__scopeTooltip
|
|
123684
123768
|
);
|
|
123685
|
-
return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ jsx(Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });
|
|
123769
|
+
return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ jsx(Arrow$2, { ...popperScope, ...arrowProps, ref: forwardedRef });
|
|
123686
123770
|
}
|
|
123687
123771
|
);
|
|
123688
|
-
TooltipArrow.displayName = ARROW_NAME$
|
|
123772
|
+
TooltipArrow.displayName = ARROW_NAME$3;
|
|
123689
123773
|
function getExitSideFromRect(point, rect) {
|
|
123690
123774
|
const top = Math.abs(rect.top - point.y);
|
|
123691
123775
|
const bottom = Math.abs(rect.bottom - point.y);
|
|
@@ -123803,9 +123887,9 @@ function getHullPresorted(points) {
|
|
|
123803
123887
|
}
|
|
123804
123888
|
var Provider = TooltipProvider$1;
|
|
123805
123889
|
var Root3 = Tooltip$2;
|
|
123806
|
-
var Trigger$
|
|
123807
|
-
var Portal$
|
|
123808
|
-
var Content2$
|
|
123890
|
+
var Trigger$2 = TooltipTrigger$1;
|
|
123891
|
+
var Portal$2 = TooltipPortal;
|
|
123892
|
+
var Content2$3 = TooltipContent$1;
|
|
123809
123893
|
var Arrow2 = TooltipArrow;
|
|
123810
123894
|
|
|
123811
123895
|
function TooltipProvider({ delayDuration = 0, ...props }) {
|
|
@@ -123815,10 +123899,10 @@ function Tooltip$1({ ...props }) {
|
|
|
123815
123899
|
return (jsx(TooltipProvider, { children: jsx(Root3, { "data-slot": "tooltip", ...props }) }));
|
|
123816
123900
|
}
|
|
123817
123901
|
function TooltipTrigger({ ...props }) {
|
|
123818
|
-
return jsx(Trigger$
|
|
123902
|
+
return jsx(Trigger$2, { "data-slot": "tooltip-trigger", ...props });
|
|
123819
123903
|
}
|
|
123820
123904
|
function TooltipContent({ className, sideOffset = 0, children, ...props }) {
|
|
123821
|
-
return (jsx(Portal$
|
|
123905
|
+
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
123906
|
}
|
|
123823
123907
|
|
|
123824
123908
|
// packages/react/context/src/createContext.tsx
|
|
@@ -124108,11 +124192,11 @@ function getInvalidValueError(propValue, componentName) {
|
|
|
124108
124192
|
|
|
124109
124193
|
Defaulting to \`null\`.`;
|
|
124110
124194
|
}
|
|
124111
|
-
var Root$
|
|
124195
|
+
var Root$9 = Progress$1;
|
|
124112
124196
|
var Indicator$2 = ProgressIndicator;
|
|
124113
124197
|
|
|
124114
|
-
const Progress = React.forwardRef(({ className, value, ...props }, ref) => (jsx(Root$
|
|
124115
|
-
Progress.displayName = Root$
|
|
124198
|
+
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)}%)` } }) })));
|
|
124199
|
+
Progress.displayName = Root$9.displayName;
|
|
124116
124200
|
|
|
124117
124201
|
var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
|
|
124118
124202
|
// @__NO_SIDE_EFFECTS__
|
|
@@ -124136,7 +124220,7 @@ var AlertDialog$1 = (props) => {
|
|
|
124136
124220
|
return /* @__PURE__ */ jsx(DialogPrimitive.Root, { ...dialogScope, ...alertDialogProps, modal: true });
|
|
124137
124221
|
};
|
|
124138
124222
|
AlertDialog$1.displayName = ROOT_NAME;
|
|
124139
|
-
var TRIGGER_NAME$
|
|
124223
|
+
var TRIGGER_NAME$3 = "AlertDialogTrigger";
|
|
124140
124224
|
var AlertDialogTrigger = React.forwardRef(
|
|
124141
124225
|
(props, forwardedRef) => {
|
|
124142
124226
|
const { __scopeAlertDialog, ...triggerProps } = props;
|
|
@@ -124144,14 +124228,14 @@ var AlertDialogTrigger = React.forwardRef(
|
|
|
124144
124228
|
return /* @__PURE__ */ jsx(DialogPrimitive.Trigger, { ...dialogScope, ...triggerProps, ref: forwardedRef });
|
|
124145
124229
|
}
|
|
124146
124230
|
);
|
|
124147
|
-
AlertDialogTrigger.displayName = TRIGGER_NAME$
|
|
124148
|
-
var PORTAL_NAME$
|
|
124231
|
+
AlertDialogTrigger.displayName = TRIGGER_NAME$3;
|
|
124232
|
+
var PORTAL_NAME$2 = "AlertDialogPortal";
|
|
124149
124233
|
var AlertDialogPortal$1 = (props) => {
|
|
124150
124234
|
const { __scopeAlertDialog, ...portalProps } = props;
|
|
124151
124235
|
const dialogScope = useDialogScope(__scopeAlertDialog);
|
|
124152
124236
|
return /* @__PURE__ */ jsx(DialogPrimitive.Portal, { ...dialogScope, ...portalProps });
|
|
124153
124237
|
};
|
|
124154
|
-
AlertDialogPortal$1.displayName = PORTAL_NAME$
|
|
124238
|
+
AlertDialogPortal$1.displayName = PORTAL_NAME$2;
|
|
124155
124239
|
var OVERLAY_NAME = "AlertDialogOverlay";
|
|
124156
124240
|
var AlertDialogOverlay$1 = React.forwardRef(
|
|
124157
124241
|
(props, forwardedRef) => {
|
|
@@ -124161,8 +124245,8 @@ var AlertDialogOverlay$1 = React.forwardRef(
|
|
|
124161
124245
|
}
|
|
124162
124246
|
);
|
|
124163
124247
|
AlertDialogOverlay$1.displayName = OVERLAY_NAME;
|
|
124164
|
-
var CONTENT_NAME$
|
|
124165
|
-
var [AlertDialogContentProvider, useAlertDialogContentContext] = createAlertDialogContext(CONTENT_NAME$
|
|
124248
|
+
var CONTENT_NAME$4 = "AlertDialogContent";
|
|
124249
|
+
var [AlertDialogContentProvider, useAlertDialogContentContext] = createAlertDialogContext(CONTENT_NAME$4);
|
|
124166
124250
|
var Slottable = createSlottable("AlertDialogContent");
|
|
124167
124251
|
var AlertDialogContent$1 = React.forwardRef(
|
|
124168
124252
|
(props, forwardedRef) => {
|
|
@@ -124174,7 +124258,7 @@ var AlertDialogContent$1 = React.forwardRef(
|
|
|
124174
124258
|
return /* @__PURE__ */ jsx(
|
|
124175
124259
|
DialogPrimitive.WarningProvider,
|
|
124176
124260
|
{
|
|
124177
|
-
contentName: CONTENT_NAME$
|
|
124261
|
+
contentName: CONTENT_NAME$4,
|
|
124178
124262
|
titleName: TITLE_NAME,
|
|
124179
124263
|
docsSlug: "alert-dialog",
|
|
124180
124264
|
children: /* @__PURE__ */ jsx(AlertDialogContentProvider, { scope: __scopeAlertDialog, cancelRef, children: /* @__PURE__ */ jsxs(
|
|
@@ -124200,7 +124284,7 @@ var AlertDialogContent$1 = React.forwardRef(
|
|
|
124200
124284
|
);
|
|
124201
124285
|
}
|
|
124202
124286
|
);
|
|
124203
|
-
AlertDialogContent$1.displayName = CONTENT_NAME$
|
|
124287
|
+
AlertDialogContent$1.displayName = CONTENT_NAME$4;
|
|
124204
124288
|
var TITLE_NAME = "AlertDialogTitle";
|
|
124205
124289
|
var AlertDialogTitle$1 = React.forwardRef(
|
|
124206
124290
|
(props, forwardedRef) => {
|
|
@@ -124238,11 +124322,11 @@ var AlertDialogCancel$1 = React.forwardRef(
|
|
|
124238
124322
|
);
|
|
124239
124323
|
AlertDialogCancel$1.displayName = CANCEL_NAME;
|
|
124240
124324
|
var DescriptionWarning = ({ contentRef }) => {
|
|
124241
|
-
const MESSAGE = `\`${CONTENT_NAME$
|
|
124325
|
+
const MESSAGE = `\`${CONTENT_NAME$4}\` requires a description for the component to be accessible for screen reader users.
|
|
124242
124326
|
|
|
124243
|
-
You can add a description to the \`${CONTENT_NAME$
|
|
124327
|
+
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
124328
|
|
|
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$
|
|
124329
|
+
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
124330
|
|
|
124247
124331
|
For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;
|
|
124248
124332
|
React.useEffect(() => {
|
|
@@ -124253,21 +124337,21 @@ For more information, see https://radix-ui.com/primitives/docs/components/alert-
|
|
|
124253
124337
|
}, [MESSAGE, contentRef]);
|
|
124254
124338
|
return null;
|
|
124255
124339
|
};
|
|
124256
|
-
var Root2$
|
|
124340
|
+
var Root2$4 = AlertDialog$1;
|
|
124257
124341
|
var Portal2 = AlertDialogPortal$1;
|
|
124258
124342
|
var Overlay2 = AlertDialogOverlay$1;
|
|
124259
|
-
var Content2$
|
|
124343
|
+
var Content2$2 = AlertDialogContent$1;
|
|
124260
124344
|
var Action = AlertDialogAction$1;
|
|
124261
124345
|
var Cancel = AlertDialogCancel$1;
|
|
124262
124346
|
var Title2 = AlertDialogTitle$1;
|
|
124263
124347
|
var Description2 = AlertDialogDescription$1;
|
|
124264
124348
|
|
|
124265
|
-
const AlertDialog = Root2$
|
|
124349
|
+
const AlertDialog = Root2$4;
|
|
124266
124350
|
const AlertDialogPortal = Portal2;
|
|
124267
124351
|
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
124352
|
AlertDialogOverlay.displayName = Overlay2.displayName;
|
|
124269
|
-
const AlertDialogContent = React.forwardRef(({ className, ...props }, ref) => (jsxs(AlertDialogPortal, { children: [jsx(AlertDialogOverlay, {}), jsx(Content2$
|
|
124270
|
-
AlertDialogContent.displayName = Content2$
|
|
124353
|
+
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 })] })));
|
|
124354
|
+
AlertDialogContent.displayName = Content2$2.displayName;
|
|
124271
124355
|
const AlertDialogHeader = ({ className, ...props }) => (jsx("div", { className: cn('flex flex-col space-y-2 text-center sm:text-left', className), ...props }));
|
|
124272
124356
|
AlertDialogHeader.displayName = 'AlertDialogHeader';
|
|
124273
124357
|
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 +125254,7 @@ var Primitive = NODES.reduce((primitive, node) => {
|
|
|
125170
125254
|
return { ...primitive, [node]: Node };
|
|
125171
125255
|
}, {});
|
|
125172
125256
|
|
|
125173
|
-
var NAME$
|
|
125257
|
+
var NAME$4 = "Label";
|
|
125174
125258
|
var Label$2 = React.forwardRef((props, forwardedRef) => {
|
|
125175
125259
|
return /* @__PURE__ */ jsx(
|
|
125176
125260
|
Primitive.label,
|
|
@@ -125186,12 +125270,12 @@ var Label$2 = React.forwardRef((props, forwardedRef) => {
|
|
|
125186
125270
|
}
|
|
125187
125271
|
);
|
|
125188
125272
|
});
|
|
125189
|
-
Label$2.displayName = NAME$
|
|
125190
|
-
var Root$
|
|
125273
|
+
Label$2.displayName = NAME$4;
|
|
125274
|
+
var Root$8 = Label$2;
|
|
125191
125275
|
|
|
125192
125276
|
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$
|
|
125194
|
-
Label$1.displayName = Root$
|
|
125277
|
+
const Label$1 = React.forwardRef(({ className, ...props }, ref) => (jsx(Root$8, { ref: ref, className: cn(labelVariants(), className), ...props })));
|
|
125278
|
+
Label$1.displayName = Root$8.displayName;
|
|
125195
125279
|
|
|
125196
125280
|
var dayjs_min = {exports: {}};
|
|
125197
125281
|
|
|
@@ -173815,7 +173899,7 @@ var Checkbox$1 = React.forwardRef(
|
|
|
173815
173899
|
role: "checkbox",
|
|
173816
173900
|
"aria-checked": isIndeterminate(checked) ? "mixed" : checked,
|
|
173817
173901
|
"aria-required": required,
|
|
173818
|
-
"data-state": getState$
|
|
173902
|
+
"data-state": getState$3(checked),
|
|
173819
173903
|
"data-disabled": disabled ? "" : void 0,
|
|
173820
173904
|
disabled,
|
|
173821
173905
|
value,
|
|
@@ -173860,7 +173944,7 @@ var CheckboxIndicator = React.forwardRef(
|
|
|
173860
173944
|
return /* @__PURE__ */ jsx(Presence$1, { present: forceMount || isIndeterminate(context.state) || context.state === true, children: /* @__PURE__ */ jsx(
|
|
173861
173945
|
Primitive$3.span,
|
|
173862
173946
|
{
|
|
173863
|
-
"data-state": getState$
|
|
173947
|
+
"data-state": getState$3(context.state),
|
|
173864
173948
|
"data-disabled": context.disabled ? "" : void 0,
|
|
173865
173949
|
...indicatorProps,
|
|
173866
173950
|
ref: forwardedRef,
|
|
@@ -173926,14 +174010,14 @@ CheckboxBubbleInput.displayName = BUBBLE_INPUT_NAME;
|
|
|
173926
174010
|
function isIndeterminate(checked) {
|
|
173927
174011
|
return checked === "indeterminate";
|
|
173928
174012
|
}
|
|
173929
|
-
function getState$
|
|
174013
|
+
function getState$3(checked) {
|
|
173930
174014
|
return isIndeterminate(checked) ? "indeterminate" : checked ? "checked" : "unchecked";
|
|
173931
174015
|
}
|
|
173932
|
-
var Root$
|
|
174016
|
+
var Root$7 = Checkbox$1;
|
|
173933
174017
|
var Indicator$1 = CheckboxIndicator;
|
|
173934
174018
|
|
|
173935
|
-
const Checkbox = React.forwardRef(({ className, ...props }, ref) => (jsx(Root$
|
|
173936
|
-
Checkbox.displayName = Root$
|
|
174019
|
+
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" }) }) })));
|
|
174020
|
+
Checkbox.displayName = Root$7.displayName;
|
|
173937
174021
|
|
|
173938
174022
|
function CoursesTab({ tenant, currentPage, itemsPerPage, hasManageUsersPermission = false, }) {
|
|
173939
174023
|
var _a;
|
|
@@ -174851,9 +174935,9 @@ const AdvancedPagination = ({ currentPage, totalPages, onPageChange, totalCount,
|
|
|
174851
174935
|
|
|
174852
174936
|
var POPOVER_NAME = "Popover";
|
|
174853
174937
|
var [createPopoverContext] = createContextScope$1(POPOVER_NAME, [
|
|
174854
|
-
createPopperScope$
|
|
174938
|
+
createPopperScope$2
|
|
174855
174939
|
]);
|
|
174856
|
-
var usePopperScope = createPopperScope$
|
|
174940
|
+
var usePopperScope$1 = createPopperScope$2();
|
|
174857
174941
|
var [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);
|
|
174858
174942
|
var Popover$1 = (props) => {
|
|
174859
174943
|
const {
|
|
@@ -174864,7 +174948,7 @@ var Popover$1 = (props) => {
|
|
|
174864
174948
|
onOpenChange,
|
|
174865
174949
|
modal = false
|
|
174866
174950
|
} = props;
|
|
174867
|
-
const popperScope = usePopperScope(__scopePopover);
|
|
174951
|
+
const popperScope = usePopperScope$1(__scopePopover);
|
|
174868
174952
|
const triggerRef = React.useRef(null);
|
|
174869
174953
|
const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);
|
|
174870
174954
|
const [open = false, setOpen] = useControllableState$2({
|
|
@@ -174872,7 +174956,7 @@ var Popover$1 = (props) => {
|
|
|
174872
174956
|
defaultProp: defaultOpen,
|
|
174873
174957
|
onChange: onOpenChange
|
|
174874
174958
|
});
|
|
174875
|
-
return /* @__PURE__ */ jsx(Root2$
|
|
174959
|
+
return /* @__PURE__ */ jsx(Root2$a, { ...popperScope, children: /* @__PURE__ */ jsx(
|
|
174876
174960
|
PopoverProvider,
|
|
174877
174961
|
{
|
|
174878
174962
|
scope: __scopePopover,
|
|
@@ -174890,27 +174974,27 @@ var Popover$1 = (props) => {
|
|
|
174890
174974
|
) });
|
|
174891
174975
|
};
|
|
174892
174976
|
Popover$1.displayName = POPOVER_NAME;
|
|
174893
|
-
var ANCHOR_NAME = "PopoverAnchor";
|
|
174977
|
+
var ANCHOR_NAME$1 = "PopoverAnchor";
|
|
174894
174978
|
var PopoverAnchor$1 = React.forwardRef(
|
|
174895
174979
|
(props, forwardedRef) => {
|
|
174896
174980
|
const { __scopePopover, ...anchorProps } = props;
|
|
174897
|
-
const context = usePopoverContext(ANCHOR_NAME, __scopePopover);
|
|
174898
|
-
const popperScope = usePopperScope(__scopePopover);
|
|
174981
|
+
const context = usePopoverContext(ANCHOR_NAME$1, __scopePopover);
|
|
174982
|
+
const popperScope = usePopperScope$1(__scopePopover);
|
|
174899
174983
|
const { onCustomAnchorAdd, onCustomAnchorRemove } = context;
|
|
174900
174984
|
React.useEffect(() => {
|
|
174901
174985
|
onCustomAnchorAdd();
|
|
174902
174986
|
return () => onCustomAnchorRemove();
|
|
174903
174987
|
}, [onCustomAnchorAdd, onCustomAnchorRemove]);
|
|
174904
|
-
return /* @__PURE__ */ jsx(Anchor$
|
|
174988
|
+
return /* @__PURE__ */ jsx(Anchor$3, { ...popperScope, ...anchorProps, ref: forwardedRef });
|
|
174905
174989
|
}
|
|
174906
174990
|
);
|
|
174907
|
-
PopoverAnchor$1.displayName = ANCHOR_NAME;
|
|
174908
|
-
var TRIGGER_NAME = "PopoverTrigger";
|
|
174991
|
+
PopoverAnchor$1.displayName = ANCHOR_NAME$1;
|
|
174992
|
+
var TRIGGER_NAME$2 = "PopoverTrigger";
|
|
174909
174993
|
var PopoverTrigger$1 = React.forwardRef(
|
|
174910
174994
|
(props, forwardedRef) => {
|
|
174911
174995
|
const { __scopePopover, ...triggerProps } = props;
|
|
174912
|
-
const context = usePopoverContext(TRIGGER_NAME, __scopePopover);
|
|
174913
|
-
const popperScope = usePopperScope(__scopePopover);
|
|
174996
|
+
const context = usePopoverContext(TRIGGER_NAME$2, __scopePopover);
|
|
174997
|
+
const popperScope = usePopperScope$1(__scopePopover);
|
|
174914
174998
|
const composedTriggerRef = useComposedRefs$1(forwardedRef, context.triggerRef);
|
|
174915
174999
|
const trigger = /* @__PURE__ */ jsx(
|
|
174916
175000
|
Primitive$4.button,
|
|
@@ -174919,40 +175003,40 @@ var PopoverTrigger$1 = React.forwardRef(
|
|
|
174919
175003
|
"aria-haspopup": "dialog",
|
|
174920
175004
|
"aria-expanded": context.open,
|
|
174921
175005
|
"aria-controls": context.contentId,
|
|
174922
|
-
"data-state": getState$
|
|
175006
|
+
"data-state": getState$2(context.open),
|
|
174923
175007
|
...triggerProps,
|
|
174924
175008
|
ref: composedTriggerRef,
|
|
174925
175009
|
onClick: composeEventHandlers$2(props.onClick, context.onOpenToggle)
|
|
174926
175010
|
}
|
|
174927
175011
|
);
|
|
174928
|
-
return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx(Anchor$
|
|
175012
|
+
return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx(Anchor$3, { asChild: true, ...popperScope, children: trigger });
|
|
174929
175013
|
}
|
|
174930
175014
|
);
|
|
174931
|
-
PopoverTrigger$1.displayName = TRIGGER_NAME;
|
|
174932
|
-
var PORTAL_NAME = "PopoverPortal";
|
|
174933
|
-
var [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME, {
|
|
175015
|
+
PopoverTrigger$1.displayName = TRIGGER_NAME$2;
|
|
175016
|
+
var PORTAL_NAME$1 = "PopoverPortal";
|
|
175017
|
+
var [PortalProvider$1, usePortalContext$1] = createPopoverContext(PORTAL_NAME$1, {
|
|
174934
175018
|
forceMount: void 0
|
|
174935
175019
|
});
|
|
174936
175020
|
var PopoverPortal = (props) => {
|
|
174937
175021
|
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$
|
|
175022
|
+
const context = usePopoverContext(PORTAL_NAME$1, __scopePopover);
|
|
175023
|
+
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
175024
|
};
|
|
174941
|
-
PopoverPortal.displayName = PORTAL_NAME;
|
|
174942
|
-
var CONTENT_NAME = "PopoverContent";
|
|
175025
|
+
PopoverPortal.displayName = PORTAL_NAME$1;
|
|
175026
|
+
var CONTENT_NAME$3 = "PopoverContent";
|
|
174943
175027
|
var PopoverContent$1 = React.forwardRef(
|
|
174944
175028
|
(props, forwardedRef) => {
|
|
174945
|
-
const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);
|
|
175029
|
+
const portalContext = usePortalContext$1(CONTENT_NAME$3, props.__scopePopover);
|
|
174946
175030
|
const { forceMount = portalContext.forceMount, ...contentProps } = props;
|
|
174947
|
-
const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);
|
|
175031
|
+
const context = usePopoverContext(CONTENT_NAME$3, props.__scopePopover);
|
|
174948
175032
|
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
175033
|
}
|
|
174950
175034
|
);
|
|
174951
|
-
PopoverContent$1.displayName = CONTENT_NAME;
|
|
175035
|
+
PopoverContent$1.displayName = CONTENT_NAME$3;
|
|
174952
175036
|
var Slot = createSlot$1("PopoverContent.RemoveScroll");
|
|
174953
175037
|
var PopoverContentModal = React.forwardRef(
|
|
174954
175038
|
(props, forwardedRef) => {
|
|
174955
|
-
const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);
|
|
175039
|
+
const context = usePopoverContext(CONTENT_NAME$3, props.__scopePopover);
|
|
174956
175040
|
const contentRef = React.useRef(null);
|
|
174957
175041
|
const composedRefs = useComposedRefs$1(forwardedRef, contentRef);
|
|
174958
175042
|
const isRightClickOutsideRef = React.useRef(false);
|
|
@@ -174992,7 +175076,7 @@ var PopoverContentModal = React.forwardRef(
|
|
|
174992
175076
|
);
|
|
174993
175077
|
var PopoverContentNonModal = React.forwardRef(
|
|
174994
175078
|
(props, forwardedRef) => {
|
|
174995
|
-
const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);
|
|
175079
|
+
const context = usePopoverContext(CONTENT_NAME$3, props.__scopePopover);
|
|
174996
175080
|
const hasInteractedOutsideRef = React.useRef(false);
|
|
174997
175081
|
const hasPointerDownOutsideRef = React.useRef(false);
|
|
174998
175082
|
return /* @__PURE__ */ jsx(
|
|
@@ -175044,8 +175128,8 @@ var PopoverContentImpl = React.forwardRef(
|
|
|
175044
175128
|
onInteractOutside,
|
|
175045
175129
|
...contentProps
|
|
175046
175130
|
} = props;
|
|
175047
|
-
const context = usePopoverContext(CONTENT_NAME, __scopePopover);
|
|
175048
|
-
const popperScope = usePopperScope(__scopePopover);
|
|
175131
|
+
const context = usePopoverContext(CONTENT_NAME$3, __scopePopover);
|
|
175132
|
+
const popperScope = usePopperScope$1(__scopePopover);
|
|
175049
175133
|
useFocusGuards();
|
|
175050
175134
|
return /* @__PURE__ */ jsx(
|
|
175051
175135
|
FocusScope,
|
|
@@ -175066,9 +175150,9 @@ var PopoverContentImpl = React.forwardRef(
|
|
|
175066
175150
|
onFocusOutside,
|
|
175067
175151
|
onDismiss: () => context.onOpenChange(false),
|
|
175068
175152
|
children: /* @__PURE__ */ jsx(
|
|
175069
|
-
Content$
|
|
175153
|
+
Content$3,
|
|
175070
175154
|
{
|
|
175071
|
-
"data-state": getState$
|
|
175155
|
+
"data-state": getState$2(context.open),
|
|
175072
175156
|
role: "dialog",
|
|
175073
175157
|
id: context.contentId,
|
|
175074
175158
|
...popperScope,
|
|
@@ -175110,38 +175194,38 @@ var PopoverClose = React.forwardRef(
|
|
|
175110
175194
|
}
|
|
175111
175195
|
);
|
|
175112
175196
|
PopoverClose.displayName = CLOSE_NAME;
|
|
175113
|
-
var ARROW_NAME = "PopoverArrow";
|
|
175197
|
+
var ARROW_NAME$2 = "PopoverArrow";
|
|
175114
175198
|
var PopoverArrow = React.forwardRef(
|
|
175115
175199
|
(props, forwardedRef) => {
|
|
175116
175200
|
const { __scopePopover, ...arrowProps } = props;
|
|
175117
|
-
const popperScope = usePopperScope(__scopePopover);
|
|
175118
|
-
return /* @__PURE__ */ jsx(Arrow$
|
|
175201
|
+
const popperScope = usePopperScope$1(__scopePopover);
|
|
175202
|
+
return /* @__PURE__ */ jsx(Arrow$4, { ...popperScope, ...arrowProps, ref: forwardedRef });
|
|
175119
175203
|
}
|
|
175120
175204
|
);
|
|
175121
|
-
PopoverArrow.displayName = ARROW_NAME;
|
|
175122
|
-
function getState$
|
|
175205
|
+
PopoverArrow.displayName = ARROW_NAME$2;
|
|
175206
|
+
function getState$2(open) {
|
|
175123
175207
|
return open ? "open" : "closed";
|
|
175124
175208
|
}
|
|
175125
|
-
var Root2$
|
|
175209
|
+
var Root2$3 = Popover$1;
|
|
175126
175210
|
var Anchor2 = PopoverAnchor$1;
|
|
175127
|
-
var Trigger = PopoverTrigger$1;
|
|
175128
|
-
var Portal = PopoverPortal;
|
|
175129
|
-
var Content2 = PopoverContent$1;
|
|
175211
|
+
var Trigger$1 = PopoverTrigger$1;
|
|
175212
|
+
var Portal$1 = PopoverPortal;
|
|
175213
|
+
var Content2$1 = PopoverContent$1;
|
|
175130
175214
|
|
|
175131
|
-
const Popover = Root2$
|
|
175132
|
-
const PopoverTrigger = Trigger;
|
|
175215
|
+
const Popover = Root2$3;
|
|
175216
|
+
const PopoverTrigger = Trigger$1;
|
|
175133
175217
|
const PopoverAnchor = Anchor2;
|
|
175134
175218
|
const PopoverContent = React.forwardRef(({ className, align = 'center', sideOffset = 4, portalled = true, container, ...props }, ref) => {
|
|
175135
175219
|
var _a;
|
|
175136
175220
|
const portalContainer = useFloatingPortalContainer();
|
|
175137
175221
|
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 }));
|
|
175222
|
+
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
175223
|
if (!portalled) {
|
|
175140
175224
|
return content;
|
|
175141
175225
|
}
|
|
175142
|
-
return jsx(Portal, { container: resolvedContainer, children: content });
|
|
175226
|
+
return jsx(Portal$1, { container: resolvedContainer, children: content });
|
|
175143
175227
|
});
|
|
175144
|
-
PopoverContent.displayName = Content2.displayName;
|
|
175228
|
+
PopoverContent.displayName = Content2$1.displayName;
|
|
175145
175229
|
|
|
175146
175230
|
function UsersTab({ tenant, onInviteClick, currentSpa, showGradebookTab = false, }) {
|
|
175147
175231
|
const t = useT();
|
|
@@ -178564,7 +178648,7 @@ function PreviousMonthButton(props) {
|
|
|
178564
178648
|
* @group Components
|
|
178565
178649
|
* @see https://daypicker.dev/guides/custom-components
|
|
178566
178650
|
*/
|
|
178567
|
-
function Root$
|
|
178651
|
+
function Root$6(props) {
|
|
178568
178652
|
const { rootRef, ...rest } = props;
|
|
178569
178653
|
return React__default.createElement("div", { ...rest, ref: rootRef });
|
|
178570
178654
|
}
|
|
@@ -178672,7 +178756,7 @@ var components$1 = /*#__PURE__*/Object.freeze({
|
|
|
178672
178756
|
NextMonthButton: NextMonthButton,
|
|
178673
178757
|
Option: Option,
|
|
178674
178758
|
PreviousMonthButton: PreviousMonthButton,
|
|
178675
|
-
Root: Root$
|
|
178759
|
+
Root: Root$6,
|
|
178676
178760
|
Select: Select,
|
|
178677
178761
|
Week: Week,
|
|
178678
178762
|
WeekNumber: WeekNumber,
|
|
@@ -210964,7 +211048,7 @@ function useUncontrolledState({
|
|
|
210964
211048
|
return uncontrolledState;
|
|
210965
211049
|
}
|
|
210966
211050
|
|
|
210967
|
-
var NAME$
|
|
211051
|
+
var NAME$3 = "Toggle";
|
|
210968
211052
|
var Toggle$1 = React.forwardRef((props, forwardedRef) => {
|
|
210969
211053
|
const { pressed: pressedProp, defaultPressed = false, onPressedChange, ...buttonProps } = props;
|
|
210970
211054
|
const [pressed = false, setPressed] = useControllableState({
|
|
@@ -210989,8 +211073,8 @@ var Toggle$1 = React.forwardRef((props, forwardedRef) => {
|
|
|
210989
211073
|
}
|
|
210990
211074
|
);
|
|
210991
211075
|
});
|
|
210992
|
-
Toggle$1.displayName = NAME$
|
|
210993
|
-
var Root$
|
|
211076
|
+
Toggle$1.displayName = NAME$3;
|
|
211077
|
+
var Root$5 = Toggle$1;
|
|
210994
211078
|
|
|
210995
211079
|
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
211080
|
variants: {
|
|
@@ -211009,11 +211093,11 @@ const toggleVariants = cva('inline-flex items-center justify-center rounded-md t
|
|
|
211009
211093
|
size: 'default',
|
|
211010
211094
|
},
|
|
211011
211095
|
});
|
|
211012
|
-
const Toggle = React.forwardRef(({ className, variant, size, ...props }, ref) => (jsx(Root$
|
|
211013
|
-
Toggle.displayName = Root$
|
|
211096
|
+
const Toggle = React.forwardRef(({ className, variant, size, ...props }, ref) => (jsx(Root$5, { ref: ref, className: cn(toggleVariants({ variant, size, className })), ...props })));
|
|
211097
|
+
Toggle.displayName = Root$5.displayName;
|
|
211014
211098
|
|
|
211015
211099
|
// src/separator.tsx
|
|
211016
|
-
var NAME$
|
|
211100
|
+
var NAME$2 = "Separator";
|
|
211017
211101
|
var DEFAULT_ORIENTATION = "horizontal";
|
|
211018
211102
|
var ORIENTATIONS = ["horizontal", "vertical"];
|
|
211019
211103
|
var Separator$1 = React.forwardRef((props, forwardedRef) => {
|
|
@@ -211031,14 +211115,14 @@ var Separator$1 = React.forwardRef((props, forwardedRef) => {
|
|
|
211031
211115
|
}
|
|
211032
211116
|
);
|
|
211033
211117
|
});
|
|
211034
|
-
Separator$1.displayName = NAME$
|
|
211118
|
+
Separator$1.displayName = NAME$2;
|
|
211035
211119
|
function isValidOrientation(orientation) {
|
|
211036
211120
|
return ORIENTATIONS.includes(orientation);
|
|
211037
211121
|
}
|
|
211038
|
-
var Root$
|
|
211122
|
+
var Root$4 = Separator$1;
|
|
211039
211123
|
|
|
211040
|
-
const Separator = React.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => (jsx(Root$
|
|
211041
|
-
Separator.displayName = Root$
|
|
211124
|
+
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 })));
|
|
211125
|
+
Separator.displayName = Root$4.displayName;
|
|
211042
211126
|
|
|
211043
211127
|
// Custom Div extension to preserve div elements with inline styles
|
|
211044
211128
|
const Div = Node3.create({
|
|
@@ -211875,7 +211959,7 @@ function focusFirst(candidates, preventScroll = false) {
|
|
|
211875
211959
|
function wrapArray(array, startIndex) {
|
|
211876
211960
|
return array.map((_, index) => array[(startIndex + index) % array.length]);
|
|
211877
211961
|
}
|
|
211878
|
-
var Root$
|
|
211962
|
+
var Root$3 = RovingFocusGroup;
|
|
211879
211963
|
var Item = RovingFocusGroupItem;
|
|
211880
211964
|
|
|
211881
211965
|
// packages/react/use-size/src/useSize.tsx
|
|
@@ -212078,7 +212162,7 @@ var Radio = React.forwardRef(
|
|
|
212078
212162
|
type: "button",
|
|
212079
212163
|
role: "radio",
|
|
212080
212164
|
"aria-checked": checked,
|
|
212081
|
-
"data-state": getState(checked),
|
|
212165
|
+
"data-state": getState$1(checked),
|
|
212082
212166
|
"data-disabled": disabled ? "" : void 0,
|
|
212083
212167
|
disabled,
|
|
212084
212168
|
value,
|
|
@@ -212119,7 +212203,7 @@ var RadioIndicator = React.forwardRef(
|
|
|
212119
212203
|
return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.checked, children: /* @__PURE__ */ jsx(
|
|
212120
212204
|
Primitive$1.span,
|
|
212121
212205
|
{
|
|
212122
|
-
"data-state": getState(context.checked),
|
|
212206
|
+
"data-state": getState$1(context.checked),
|
|
212123
212207
|
"data-disabled": context.disabled ? "" : void 0,
|
|
212124
212208
|
...indicatorProps,
|
|
212125
212209
|
ref: forwardedRef
|
|
@@ -212164,7 +212248,7 @@ var BubbleInput = (props) => {
|
|
|
212164
212248
|
}
|
|
212165
212249
|
);
|
|
212166
212250
|
};
|
|
212167
|
-
function getState(checked) {
|
|
212251
|
+
function getState$1(checked) {
|
|
212168
212252
|
return checked ? "checked" : "unchecked";
|
|
212169
212253
|
}
|
|
212170
212254
|
var ARROW_KEYS = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"];
|
|
@@ -212208,7 +212292,7 @@ var RadioGroup$1 = React.forwardRef(
|
|
|
212208
212292
|
value,
|
|
212209
212293
|
onValueChange: setValue,
|
|
212210
212294
|
children: /* @__PURE__ */ jsx(
|
|
212211
|
-
Root$
|
|
212295
|
+
Root$3,
|
|
212212
212296
|
{
|
|
212213
212297
|
asChild: true,
|
|
212214
212298
|
...rovingFocusGroupScope,
|
|
@@ -212300,12 +212384,12 @@ var RadioGroupIndicator = React.forwardRef(
|
|
|
212300
212384
|
}
|
|
212301
212385
|
);
|
|
212302
212386
|
RadioGroupIndicator.displayName = INDICATOR_NAME2;
|
|
212303
|
-
var Root2 = RadioGroup$1;
|
|
212387
|
+
var Root2$2 = RadioGroup$1;
|
|
212304
212388
|
var Item2 = RadioGroupItem$1;
|
|
212305
212389
|
var Indicator = RadioGroupIndicator;
|
|
212306
212390
|
|
|
212307
212391
|
function RadioGroup({ className, ...props }) {
|
|
212308
|
-
return (jsx(Root2, { "data-slot": "radio-group", className: cn('grid gap-3', className), ...props }));
|
|
212392
|
+
return (jsx(Root2$2, { "data-slot": "radio-group", className: cn('grid gap-3', className), ...props }));
|
|
212309
212393
|
}
|
|
212310
212394
|
function RadioGroupItem({ className, ...props }) {
|
|
212311
212395
|
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 +255599,1011 @@ function NavBar({ username, isAuthenticated = false, onNewChat, onSettings, onLo
|
|
|
255515
255599
|
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
255600
|
}
|
|
255517
255601
|
|
|
255602
|
+
var COLLAPSIBLE_NAME = "Collapsible";
|
|
255603
|
+
var [createCollapsibleContext] = createContextScope$1(COLLAPSIBLE_NAME);
|
|
255604
|
+
var [CollapsibleProvider, useCollapsibleContext] = createCollapsibleContext(COLLAPSIBLE_NAME);
|
|
255605
|
+
var Collapsible$1 = React.forwardRef(
|
|
255606
|
+
(props, forwardedRef) => {
|
|
255607
|
+
const {
|
|
255608
|
+
__scopeCollapsible,
|
|
255609
|
+
open: openProp,
|
|
255610
|
+
defaultOpen,
|
|
255611
|
+
disabled,
|
|
255612
|
+
onOpenChange,
|
|
255613
|
+
...collapsibleProps
|
|
255614
|
+
} = props;
|
|
255615
|
+
const [open, setOpen] = useControllableState$1({
|
|
255616
|
+
prop: openProp,
|
|
255617
|
+
defaultProp: defaultOpen ?? false,
|
|
255618
|
+
onChange: onOpenChange,
|
|
255619
|
+
caller: COLLAPSIBLE_NAME
|
|
255620
|
+
});
|
|
255621
|
+
return /* @__PURE__ */ jsx(
|
|
255622
|
+
CollapsibleProvider,
|
|
255623
|
+
{
|
|
255624
|
+
scope: __scopeCollapsible,
|
|
255625
|
+
disabled,
|
|
255626
|
+
contentId: useId$1(),
|
|
255627
|
+
open,
|
|
255628
|
+
onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
|
|
255629
|
+
children: /* @__PURE__ */ jsx(
|
|
255630
|
+
Primitive$2.div,
|
|
255631
|
+
{
|
|
255632
|
+
"data-state": getState(open),
|
|
255633
|
+
"data-disabled": disabled ? "" : void 0,
|
|
255634
|
+
...collapsibleProps,
|
|
255635
|
+
ref: forwardedRef
|
|
255636
|
+
}
|
|
255637
|
+
)
|
|
255638
|
+
}
|
|
255639
|
+
);
|
|
255640
|
+
}
|
|
255641
|
+
);
|
|
255642
|
+
Collapsible$1.displayName = COLLAPSIBLE_NAME;
|
|
255643
|
+
var TRIGGER_NAME$1 = "CollapsibleTrigger";
|
|
255644
|
+
var CollapsibleTrigger$1 = React.forwardRef(
|
|
255645
|
+
(props, forwardedRef) => {
|
|
255646
|
+
const { __scopeCollapsible, ...triggerProps } = props;
|
|
255647
|
+
const context = useCollapsibleContext(TRIGGER_NAME$1, __scopeCollapsible);
|
|
255648
|
+
return /* @__PURE__ */ jsx(
|
|
255649
|
+
Primitive$2.button,
|
|
255650
|
+
{
|
|
255651
|
+
type: "button",
|
|
255652
|
+
"aria-controls": context.contentId,
|
|
255653
|
+
"aria-expanded": context.open || false,
|
|
255654
|
+
"data-state": getState(context.open),
|
|
255655
|
+
"data-disabled": context.disabled ? "" : void 0,
|
|
255656
|
+
disabled: context.disabled,
|
|
255657
|
+
...triggerProps,
|
|
255658
|
+
ref: forwardedRef,
|
|
255659
|
+
onClick: composeEventHandlers$1(props.onClick, context.onOpenToggle)
|
|
255660
|
+
}
|
|
255661
|
+
);
|
|
255662
|
+
}
|
|
255663
|
+
);
|
|
255664
|
+
CollapsibleTrigger$1.displayName = TRIGGER_NAME$1;
|
|
255665
|
+
var CONTENT_NAME$2 = "CollapsibleContent";
|
|
255666
|
+
var CollapsibleContent$1 = React.forwardRef(
|
|
255667
|
+
(props, forwardedRef) => {
|
|
255668
|
+
const { forceMount, ...contentProps } = props;
|
|
255669
|
+
const context = useCollapsibleContext(CONTENT_NAME$2, props.__scopeCollapsible);
|
|
255670
|
+
return /* @__PURE__ */ jsx(Presence$2, { present: forceMount || context.open, children: ({ present }) => /* @__PURE__ */ jsx(CollapsibleContentImpl, { ...contentProps, ref: forwardedRef, present }) });
|
|
255671
|
+
}
|
|
255672
|
+
);
|
|
255673
|
+
CollapsibleContent$1.displayName = CONTENT_NAME$2;
|
|
255674
|
+
var CollapsibleContentImpl = React.forwardRef((props, forwardedRef) => {
|
|
255675
|
+
const { __scopeCollapsible, present, children, ...contentProps } = props;
|
|
255676
|
+
const context = useCollapsibleContext(CONTENT_NAME$2, __scopeCollapsible);
|
|
255677
|
+
const [isPresent, setIsPresent] = React.useState(present);
|
|
255678
|
+
const ref = React.useRef(null);
|
|
255679
|
+
const composedRefs = useComposedRefs$1(forwardedRef, ref);
|
|
255680
|
+
const heightRef = React.useRef(0);
|
|
255681
|
+
const height = heightRef.current;
|
|
255682
|
+
const widthRef = React.useRef(0);
|
|
255683
|
+
const width = widthRef.current;
|
|
255684
|
+
const isOpen = context.open || isPresent;
|
|
255685
|
+
const isMountAnimationPreventedRef = React.useRef(isOpen);
|
|
255686
|
+
const originalStylesRef = React.useRef(void 0);
|
|
255687
|
+
React.useEffect(() => {
|
|
255688
|
+
const rAF = requestAnimationFrame(() => isMountAnimationPreventedRef.current = false);
|
|
255689
|
+
return () => cancelAnimationFrame(rAF);
|
|
255690
|
+
}, []);
|
|
255691
|
+
useLayoutEffect2$1(() => {
|
|
255692
|
+
const node = ref.current;
|
|
255693
|
+
if (node) {
|
|
255694
|
+
originalStylesRef.current = originalStylesRef.current || {
|
|
255695
|
+
transitionDuration: node.style.transitionDuration,
|
|
255696
|
+
animationName: node.style.animationName
|
|
255697
|
+
};
|
|
255698
|
+
node.style.transitionDuration = "0s";
|
|
255699
|
+
node.style.animationName = "none";
|
|
255700
|
+
const rect = node.getBoundingClientRect();
|
|
255701
|
+
heightRef.current = rect.height;
|
|
255702
|
+
widthRef.current = rect.width;
|
|
255703
|
+
if (!isMountAnimationPreventedRef.current) {
|
|
255704
|
+
node.style.transitionDuration = originalStylesRef.current.transitionDuration;
|
|
255705
|
+
node.style.animationName = originalStylesRef.current.animationName;
|
|
255706
|
+
}
|
|
255707
|
+
setIsPresent(present);
|
|
255708
|
+
}
|
|
255709
|
+
}, [context.open, present]);
|
|
255710
|
+
return /* @__PURE__ */ jsx(
|
|
255711
|
+
Primitive$2.div,
|
|
255712
|
+
{
|
|
255713
|
+
"data-state": getState(context.open),
|
|
255714
|
+
"data-disabled": context.disabled ? "" : void 0,
|
|
255715
|
+
id: context.contentId,
|
|
255716
|
+
hidden: !isOpen,
|
|
255717
|
+
...contentProps,
|
|
255718
|
+
ref: composedRefs,
|
|
255719
|
+
style: {
|
|
255720
|
+
[`--radix-collapsible-content-height`]: height ? `${height}px` : void 0,
|
|
255721
|
+
[`--radix-collapsible-content-width`]: width ? `${width}px` : void 0,
|
|
255722
|
+
...props.style
|
|
255723
|
+
},
|
|
255724
|
+
children: isOpen && children
|
|
255725
|
+
}
|
|
255726
|
+
);
|
|
255727
|
+
});
|
|
255728
|
+
function getState(open) {
|
|
255729
|
+
return open ? "open" : "closed";
|
|
255730
|
+
}
|
|
255731
|
+
var Root$2 = Collapsible$1;
|
|
255732
|
+
|
|
255733
|
+
const Collapsible = Root$2;
|
|
255734
|
+
const CollapsibleTrigger = CollapsibleTrigger$1;
|
|
255735
|
+
const CollapsibleContent = CollapsibleContent$1;
|
|
255736
|
+
|
|
255737
|
+
// src/arrow.tsx
|
|
255738
|
+
var NAME$1 = "Arrow";
|
|
255739
|
+
var Arrow$1 = React.forwardRef((props, forwardedRef) => {
|
|
255740
|
+
const { children, width = 10, height = 5, ...arrowProps } = props;
|
|
255741
|
+
return /* @__PURE__ */ jsx(
|
|
255742
|
+
Primitive$2.svg,
|
|
255743
|
+
{
|
|
255744
|
+
...arrowProps,
|
|
255745
|
+
ref: forwardedRef,
|
|
255746
|
+
width,
|
|
255747
|
+
height,
|
|
255748
|
+
viewBox: "0 0 30 10",
|
|
255749
|
+
preserveAspectRatio: "none",
|
|
255750
|
+
children: props.asChild ? children : /* @__PURE__ */ jsx("polygon", { points: "0,0 30,0 15,10" })
|
|
255751
|
+
}
|
|
255752
|
+
);
|
|
255753
|
+
});
|
|
255754
|
+
Arrow$1.displayName = NAME$1;
|
|
255755
|
+
var Root$1 = Arrow$1;
|
|
255756
|
+
|
|
255757
|
+
var POPPER_NAME = "Popper";
|
|
255758
|
+
var [createPopperContext, createPopperScope] = createContextScope$1(POPPER_NAME);
|
|
255759
|
+
var [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);
|
|
255760
|
+
var Popper = (props) => {
|
|
255761
|
+
const { __scopePopper, children } = props;
|
|
255762
|
+
const [anchor, setAnchor] = React.useState(null);
|
|
255763
|
+
return /* @__PURE__ */ jsx(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });
|
|
255764
|
+
};
|
|
255765
|
+
Popper.displayName = POPPER_NAME;
|
|
255766
|
+
var ANCHOR_NAME = "PopperAnchor";
|
|
255767
|
+
var PopperAnchor = React.forwardRef(
|
|
255768
|
+
(props, forwardedRef) => {
|
|
255769
|
+
const { __scopePopper, virtualRef, ...anchorProps } = props;
|
|
255770
|
+
const context = usePopperContext(ANCHOR_NAME, __scopePopper);
|
|
255771
|
+
const ref = React.useRef(null);
|
|
255772
|
+
const composedRefs = useComposedRefs$1(forwardedRef, ref);
|
|
255773
|
+
const anchorRef = React.useRef(null);
|
|
255774
|
+
React.useEffect(() => {
|
|
255775
|
+
const previousAnchor = anchorRef.current;
|
|
255776
|
+
anchorRef.current = virtualRef?.current || ref.current;
|
|
255777
|
+
if (previousAnchor !== anchorRef.current) {
|
|
255778
|
+
context.onAnchorChange(anchorRef.current);
|
|
255779
|
+
}
|
|
255780
|
+
});
|
|
255781
|
+
return virtualRef ? null : /* @__PURE__ */ jsx(Primitive$2.div, { ...anchorProps, ref: composedRefs });
|
|
255782
|
+
}
|
|
255783
|
+
);
|
|
255784
|
+
PopperAnchor.displayName = ANCHOR_NAME;
|
|
255785
|
+
var CONTENT_NAME$1 = "PopperContent";
|
|
255786
|
+
var [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME$1);
|
|
255787
|
+
var PopperContent = React.forwardRef(
|
|
255788
|
+
(props, forwardedRef) => {
|
|
255789
|
+
const {
|
|
255790
|
+
__scopePopper,
|
|
255791
|
+
side = "bottom",
|
|
255792
|
+
sideOffset = 0,
|
|
255793
|
+
align = "center",
|
|
255794
|
+
alignOffset = 0,
|
|
255795
|
+
arrowPadding = 0,
|
|
255796
|
+
avoidCollisions = true,
|
|
255797
|
+
collisionBoundary = [],
|
|
255798
|
+
collisionPadding: collisionPaddingProp = 0,
|
|
255799
|
+
sticky = "partial",
|
|
255800
|
+
hideWhenDetached = false,
|
|
255801
|
+
updatePositionStrategy = "optimized",
|
|
255802
|
+
onPlaced,
|
|
255803
|
+
...contentProps
|
|
255804
|
+
} = props;
|
|
255805
|
+
const context = usePopperContext(CONTENT_NAME$1, __scopePopper);
|
|
255806
|
+
const [content, setContent] = React.useState(null);
|
|
255807
|
+
const composedRefs = useComposedRefs$1(forwardedRef, (node) => setContent(node));
|
|
255808
|
+
const [arrow, setArrow] = React.useState(null);
|
|
255809
|
+
const arrowSize = useSize$1(arrow);
|
|
255810
|
+
const arrowWidth = arrowSize?.width ?? 0;
|
|
255811
|
+
const arrowHeight = arrowSize?.height ?? 0;
|
|
255812
|
+
const desiredPlacement = side + (align !== "center" ? "-" + align : "");
|
|
255813
|
+
const collisionPadding = typeof collisionPaddingProp === "number" ? collisionPaddingProp : { top: 0, right: 0, bottom: 0, left: 0, ...collisionPaddingProp };
|
|
255814
|
+
const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [collisionBoundary];
|
|
255815
|
+
const hasExplicitBoundaries = boundary.length > 0;
|
|
255816
|
+
const detectOverflowOptions = {
|
|
255817
|
+
padding: collisionPadding,
|
|
255818
|
+
boundary: boundary.filter(isNotNull),
|
|
255819
|
+
// with `strategy: 'fixed'`, this is the only way to get it to respect boundaries
|
|
255820
|
+
altBoundary: hasExplicitBoundaries
|
|
255821
|
+
};
|
|
255822
|
+
const { refs, floatingStyles, placement, isPositioned, middlewareData } = useFloating({
|
|
255823
|
+
// default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues
|
|
255824
|
+
strategy: "fixed",
|
|
255825
|
+
placement: desiredPlacement,
|
|
255826
|
+
whileElementsMounted: (...args) => {
|
|
255827
|
+
const cleanup = autoUpdate(...args, {
|
|
255828
|
+
animationFrame: updatePositionStrategy === "always"
|
|
255829
|
+
});
|
|
255830
|
+
return cleanup;
|
|
255831
|
+
},
|
|
255832
|
+
elements: {
|
|
255833
|
+
reference: context.anchor
|
|
255834
|
+
},
|
|
255835
|
+
middleware: [
|
|
255836
|
+
offset({ mainAxis: sideOffset + arrowHeight, alignmentAxis: alignOffset }),
|
|
255837
|
+
avoidCollisions && shift$1({
|
|
255838
|
+
mainAxis: true,
|
|
255839
|
+
crossAxis: false,
|
|
255840
|
+
limiter: sticky === "partial" ? limitShift() : void 0,
|
|
255841
|
+
...detectOverflowOptions
|
|
255842
|
+
}),
|
|
255843
|
+
avoidCollisions && flip({ ...detectOverflowOptions }),
|
|
255844
|
+
size({
|
|
255845
|
+
...detectOverflowOptions,
|
|
255846
|
+
apply: ({ elements, rects, availableWidth, availableHeight }) => {
|
|
255847
|
+
const { width: anchorWidth, height: anchorHeight } = rects.reference;
|
|
255848
|
+
const contentStyle = elements.floating.style;
|
|
255849
|
+
contentStyle.setProperty("--radix-popper-available-width", `${availableWidth}px`);
|
|
255850
|
+
contentStyle.setProperty("--radix-popper-available-height", `${availableHeight}px`);
|
|
255851
|
+
contentStyle.setProperty("--radix-popper-anchor-width", `${anchorWidth}px`);
|
|
255852
|
+
contentStyle.setProperty("--radix-popper-anchor-height", `${anchorHeight}px`);
|
|
255853
|
+
}
|
|
255854
|
+
}),
|
|
255855
|
+
arrow && arrow$2({ element: arrow, padding: arrowPadding }),
|
|
255856
|
+
transformOrigin$1({ arrowWidth, arrowHeight }),
|
|
255857
|
+
hideWhenDetached && hide({ strategy: "referenceHidden", ...detectOverflowOptions })
|
|
255858
|
+
]
|
|
255859
|
+
});
|
|
255860
|
+
const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);
|
|
255861
|
+
const handlePlaced = useCallbackRef$2(onPlaced);
|
|
255862
|
+
useLayoutEffect2$1(() => {
|
|
255863
|
+
if (isPositioned) {
|
|
255864
|
+
handlePlaced?.();
|
|
255865
|
+
}
|
|
255866
|
+
}, [isPositioned, handlePlaced]);
|
|
255867
|
+
const arrowX = middlewareData.arrow?.x;
|
|
255868
|
+
const arrowY = middlewareData.arrow?.y;
|
|
255869
|
+
const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;
|
|
255870
|
+
const [contentZIndex, setContentZIndex] = React.useState();
|
|
255871
|
+
useLayoutEffect2$1(() => {
|
|
255872
|
+
if (content) setContentZIndex(window.getComputedStyle(content).zIndex);
|
|
255873
|
+
}, [content]);
|
|
255874
|
+
return /* @__PURE__ */ jsx(
|
|
255875
|
+
"div",
|
|
255876
|
+
{
|
|
255877
|
+
ref: refs.setFloating,
|
|
255878
|
+
"data-radix-popper-content-wrapper": "",
|
|
255879
|
+
style: {
|
|
255880
|
+
...floatingStyles,
|
|
255881
|
+
transform: isPositioned ? floatingStyles.transform : "translate(0, -200%)",
|
|
255882
|
+
// keep off the page when measuring
|
|
255883
|
+
minWidth: "max-content",
|
|
255884
|
+
zIndex: contentZIndex,
|
|
255885
|
+
["--radix-popper-transform-origin"]: [
|
|
255886
|
+
middlewareData.transformOrigin?.x,
|
|
255887
|
+
middlewareData.transformOrigin?.y
|
|
255888
|
+
].join(" "),
|
|
255889
|
+
// hide the content if using the hide middleware and should be hidden
|
|
255890
|
+
// set visibility to hidden and disable pointer events so the UI behaves
|
|
255891
|
+
// as if the PopperContent isn't there at all
|
|
255892
|
+
...middlewareData.hide?.referenceHidden && {
|
|
255893
|
+
visibility: "hidden",
|
|
255894
|
+
pointerEvents: "none"
|
|
255895
|
+
}
|
|
255896
|
+
},
|
|
255897
|
+
dir: props.dir,
|
|
255898
|
+
children: /* @__PURE__ */ jsx(
|
|
255899
|
+
PopperContentProvider,
|
|
255900
|
+
{
|
|
255901
|
+
scope: __scopePopper,
|
|
255902
|
+
placedSide,
|
|
255903
|
+
onArrowChange: setArrow,
|
|
255904
|
+
arrowX,
|
|
255905
|
+
arrowY,
|
|
255906
|
+
shouldHideArrow: cannotCenterArrow,
|
|
255907
|
+
children: /* @__PURE__ */ jsx(
|
|
255908
|
+
Primitive$2.div,
|
|
255909
|
+
{
|
|
255910
|
+
"data-side": placedSide,
|
|
255911
|
+
"data-align": placedAlign,
|
|
255912
|
+
...contentProps,
|
|
255913
|
+
ref: composedRefs,
|
|
255914
|
+
style: {
|
|
255915
|
+
...contentProps.style,
|
|
255916
|
+
// if the PopperContent hasn't been placed yet (not all measurements done)
|
|
255917
|
+
// we prevent animations so that users's animation don't kick in too early referring wrong sides
|
|
255918
|
+
animation: !isPositioned ? "none" : void 0
|
|
255919
|
+
}
|
|
255920
|
+
}
|
|
255921
|
+
)
|
|
255922
|
+
}
|
|
255923
|
+
)
|
|
255924
|
+
}
|
|
255925
|
+
);
|
|
255926
|
+
}
|
|
255927
|
+
);
|
|
255928
|
+
PopperContent.displayName = CONTENT_NAME$1;
|
|
255929
|
+
var ARROW_NAME$1 = "PopperArrow";
|
|
255930
|
+
var OPPOSITE_SIDE = {
|
|
255931
|
+
top: "bottom",
|
|
255932
|
+
right: "left",
|
|
255933
|
+
bottom: "top",
|
|
255934
|
+
left: "right"
|
|
255935
|
+
};
|
|
255936
|
+
var PopperArrow = React.forwardRef(function PopperArrow2(props, forwardedRef) {
|
|
255937
|
+
const { __scopePopper, ...arrowProps } = props;
|
|
255938
|
+
const contentContext = useContentContext(ARROW_NAME$1, __scopePopper);
|
|
255939
|
+
const baseSide = OPPOSITE_SIDE[contentContext.placedSide];
|
|
255940
|
+
return (
|
|
255941
|
+
// we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)
|
|
255942
|
+
// doesn't report size as we'd expect on SVG elements.
|
|
255943
|
+
// it reports their bounding box which is effectively the largest path inside the SVG.
|
|
255944
|
+
/* @__PURE__ */ jsx(
|
|
255945
|
+
"span",
|
|
255946
|
+
{
|
|
255947
|
+
ref: contentContext.onArrowChange,
|
|
255948
|
+
style: {
|
|
255949
|
+
position: "absolute",
|
|
255950
|
+
left: contentContext.arrowX,
|
|
255951
|
+
top: contentContext.arrowY,
|
|
255952
|
+
[baseSide]: 0,
|
|
255953
|
+
transformOrigin: {
|
|
255954
|
+
top: "",
|
|
255955
|
+
right: "0 0",
|
|
255956
|
+
bottom: "center 0",
|
|
255957
|
+
left: "100% 0"
|
|
255958
|
+
}[contentContext.placedSide],
|
|
255959
|
+
transform: {
|
|
255960
|
+
top: "translateY(100%)",
|
|
255961
|
+
right: "translateY(50%) rotate(90deg) translateX(-50%)",
|
|
255962
|
+
bottom: `rotate(180deg)`,
|
|
255963
|
+
left: "translateY(50%) rotate(-90deg) translateX(50%)"
|
|
255964
|
+
}[contentContext.placedSide],
|
|
255965
|
+
visibility: contentContext.shouldHideArrow ? "hidden" : void 0
|
|
255966
|
+
},
|
|
255967
|
+
children: /* @__PURE__ */ jsx(
|
|
255968
|
+
Root$1,
|
|
255969
|
+
{
|
|
255970
|
+
...arrowProps,
|
|
255971
|
+
ref: forwardedRef,
|
|
255972
|
+
style: {
|
|
255973
|
+
...arrowProps.style,
|
|
255974
|
+
// ensures the element can be measured correctly (mostly for if SVG)
|
|
255975
|
+
display: "block"
|
|
255976
|
+
}
|
|
255977
|
+
}
|
|
255978
|
+
)
|
|
255979
|
+
}
|
|
255980
|
+
)
|
|
255981
|
+
);
|
|
255982
|
+
});
|
|
255983
|
+
PopperArrow.displayName = ARROW_NAME$1;
|
|
255984
|
+
function isNotNull(value) {
|
|
255985
|
+
return value !== null;
|
|
255986
|
+
}
|
|
255987
|
+
var transformOrigin$1 = (options) => ({
|
|
255988
|
+
name: "transformOrigin",
|
|
255989
|
+
options,
|
|
255990
|
+
fn(data) {
|
|
255991
|
+
const { placement, rects, middlewareData } = data;
|
|
255992
|
+
const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;
|
|
255993
|
+
const isArrowHidden = cannotCenterArrow;
|
|
255994
|
+
const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;
|
|
255995
|
+
const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;
|
|
255996
|
+
const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);
|
|
255997
|
+
const noArrowAlign = { start: "0%", center: "50%", end: "100%" }[placedAlign];
|
|
255998
|
+
const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;
|
|
255999
|
+
const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;
|
|
256000
|
+
let x = "";
|
|
256001
|
+
let y = "";
|
|
256002
|
+
if (placedSide === "bottom") {
|
|
256003
|
+
x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;
|
|
256004
|
+
y = `${-arrowHeight}px`;
|
|
256005
|
+
} else if (placedSide === "top") {
|
|
256006
|
+
x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;
|
|
256007
|
+
y = `${rects.floating.height + arrowHeight}px`;
|
|
256008
|
+
} else if (placedSide === "right") {
|
|
256009
|
+
x = `${-arrowHeight}px`;
|
|
256010
|
+
y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;
|
|
256011
|
+
} else if (placedSide === "left") {
|
|
256012
|
+
x = `${rects.floating.width + arrowHeight}px`;
|
|
256013
|
+
y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;
|
|
256014
|
+
}
|
|
256015
|
+
return { data: { x, y } };
|
|
256016
|
+
}
|
|
256017
|
+
});
|
|
256018
|
+
function getSideAndAlignFromPlacement(placement) {
|
|
256019
|
+
const [side, align = "center"] = placement.split("-");
|
|
256020
|
+
return [side, align];
|
|
256021
|
+
}
|
|
256022
|
+
var Root2$1 = Popper;
|
|
256023
|
+
var Anchor$1 = PopperAnchor;
|
|
256024
|
+
var Content = PopperContent;
|
|
256025
|
+
var Arrow = PopperArrow;
|
|
256026
|
+
|
|
256027
|
+
var originalBodyUserSelect;
|
|
256028
|
+
var HOVERCARD_NAME = "HoverCard";
|
|
256029
|
+
var [createHoverCardContext] = createContextScope$1(HOVERCARD_NAME, [
|
|
256030
|
+
createPopperScope
|
|
256031
|
+
]);
|
|
256032
|
+
var usePopperScope = createPopperScope();
|
|
256033
|
+
var [HoverCardProvider, useHoverCardContext] = createHoverCardContext(HOVERCARD_NAME);
|
|
256034
|
+
var HoverCard$1 = (props) => {
|
|
256035
|
+
const {
|
|
256036
|
+
__scopeHoverCard,
|
|
256037
|
+
children,
|
|
256038
|
+
open: openProp,
|
|
256039
|
+
defaultOpen,
|
|
256040
|
+
onOpenChange,
|
|
256041
|
+
openDelay = 700,
|
|
256042
|
+
closeDelay = 300
|
|
256043
|
+
} = props;
|
|
256044
|
+
const popperScope = usePopperScope(__scopeHoverCard);
|
|
256045
|
+
const openTimerRef = React.useRef(0);
|
|
256046
|
+
const closeTimerRef = React.useRef(0);
|
|
256047
|
+
const hasSelectionRef = React.useRef(false);
|
|
256048
|
+
const isPointerDownOnContentRef = React.useRef(false);
|
|
256049
|
+
const [open, setOpen] = useControllableState$1({
|
|
256050
|
+
prop: openProp,
|
|
256051
|
+
defaultProp: defaultOpen ?? false,
|
|
256052
|
+
onChange: onOpenChange,
|
|
256053
|
+
caller: HOVERCARD_NAME
|
|
256054
|
+
});
|
|
256055
|
+
const handleOpen = React.useCallback(() => {
|
|
256056
|
+
clearTimeout(closeTimerRef.current);
|
|
256057
|
+
openTimerRef.current = window.setTimeout(() => setOpen(true), openDelay);
|
|
256058
|
+
}, [openDelay, setOpen]);
|
|
256059
|
+
const handleClose = React.useCallback(() => {
|
|
256060
|
+
clearTimeout(openTimerRef.current);
|
|
256061
|
+
if (!hasSelectionRef.current && !isPointerDownOnContentRef.current) {
|
|
256062
|
+
closeTimerRef.current = window.setTimeout(() => setOpen(false), closeDelay);
|
|
256063
|
+
}
|
|
256064
|
+
}, [closeDelay, setOpen]);
|
|
256065
|
+
const handleDismiss = React.useCallback(() => setOpen(false), [setOpen]);
|
|
256066
|
+
React.useEffect(() => {
|
|
256067
|
+
return () => {
|
|
256068
|
+
clearTimeout(openTimerRef.current);
|
|
256069
|
+
clearTimeout(closeTimerRef.current);
|
|
256070
|
+
};
|
|
256071
|
+
}, []);
|
|
256072
|
+
return /* @__PURE__ */ jsx(
|
|
256073
|
+
HoverCardProvider,
|
|
256074
|
+
{
|
|
256075
|
+
scope: __scopeHoverCard,
|
|
256076
|
+
open,
|
|
256077
|
+
onOpenChange: setOpen,
|
|
256078
|
+
onOpen: handleOpen,
|
|
256079
|
+
onClose: handleClose,
|
|
256080
|
+
onDismiss: handleDismiss,
|
|
256081
|
+
hasSelectionRef,
|
|
256082
|
+
isPointerDownOnContentRef,
|
|
256083
|
+
children: /* @__PURE__ */ jsx(Root2$1, { ...popperScope, children })
|
|
256084
|
+
}
|
|
256085
|
+
);
|
|
256086
|
+
};
|
|
256087
|
+
HoverCard$1.displayName = HOVERCARD_NAME;
|
|
256088
|
+
var TRIGGER_NAME = "HoverCardTrigger";
|
|
256089
|
+
var HoverCardTrigger$1 = React.forwardRef(
|
|
256090
|
+
(props, forwardedRef) => {
|
|
256091
|
+
const { __scopeHoverCard, ...triggerProps } = props;
|
|
256092
|
+
const context = useHoverCardContext(TRIGGER_NAME, __scopeHoverCard);
|
|
256093
|
+
const popperScope = usePopperScope(__scopeHoverCard);
|
|
256094
|
+
return /* @__PURE__ */ jsx(Anchor$1, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(
|
|
256095
|
+
Primitive$2.a,
|
|
256096
|
+
{
|
|
256097
|
+
"data-state": context.open ? "open" : "closed",
|
|
256098
|
+
...triggerProps,
|
|
256099
|
+
ref: forwardedRef,
|
|
256100
|
+
onPointerEnter: composeEventHandlers$1(props.onPointerEnter, excludeTouch(context.onOpen)),
|
|
256101
|
+
onPointerLeave: composeEventHandlers$1(props.onPointerLeave, excludeTouch(context.onClose)),
|
|
256102
|
+
onFocus: composeEventHandlers$1(props.onFocus, context.onOpen),
|
|
256103
|
+
onBlur: composeEventHandlers$1(props.onBlur, context.onClose),
|
|
256104
|
+
onTouchStart: composeEventHandlers$1(props.onTouchStart, (event) => event.preventDefault())
|
|
256105
|
+
}
|
|
256106
|
+
) });
|
|
256107
|
+
}
|
|
256108
|
+
);
|
|
256109
|
+
HoverCardTrigger$1.displayName = TRIGGER_NAME;
|
|
256110
|
+
var PORTAL_NAME = "HoverCardPortal";
|
|
256111
|
+
var [PortalProvider, usePortalContext] = createHoverCardContext(PORTAL_NAME, {
|
|
256112
|
+
forceMount: void 0
|
|
256113
|
+
});
|
|
256114
|
+
var HoverCardPortal = (props) => {
|
|
256115
|
+
const { __scopeHoverCard, forceMount, children, container } = props;
|
|
256116
|
+
const context = useHoverCardContext(PORTAL_NAME, __scopeHoverCard);
|
|
256117
|
+
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 }) }) });
|
|
256118
|
+
};
|
|
256119
|
+
HoverCardPortal.displayName = PORTAL_NAME;
|
|
256120
|
+
var CONTENT_NAME = "HoverCardContent";
|
|
256121
|
+
var HoverCardContent$1 = React.forwardRef(
|
|
256122
|
+
(props, forwardedRef) => {
|
|
256123
|
+
const portalContext = usePortalContext(CONTENT_NAME, props.__scopeHoverCard);
|
|
256124
|
+
const { forceMount = portalContext.forceMount, ...contentProps } = props;
|
|
256125
|
+
const context = useHoverCardContext(CONTENT_NAME, props.__scopeHoverCard);
|
|
256126
|
+
return /* @__PURE__ */ jsx(Presence$2, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(
|
|
256127
|
+
HoverCardContentImpl,
|
|
256128
|
+
{
|
|
256129
|
+
"data-state": context.open ? "open" : "closed",
|
|
256130
|
+
...contentProps,
|
|
256131
|
+
onPointerEnter: composeEventHandlers$1(props.onPointerEnter, excludeTouch(context.onOpen)),
|
|
256132
|
+
onPointerLeave: composeEventHandlers$1(props.onPointerLeave, excludeTouch(context.onClose)),
|
|
256133
|
+
ref: forwardedRef
|
|
256134
|
+
}
|
|
256135
|
+
) });
|
|
256136
|
+
}
|
|
256137
|
+
);
|
|
256138
|
+
HoverCardContent$1.displayName = CONTENT_NAME;
|
|
256139
|
+
var HoverCardContentImpl = React.forwardRef((props, forwardedRef) => {
|
|
256140
|
+
const {
|
|
256141
|
+
__scopeHoverCard,
|
|
256142
|
+
onEscapeKeyDown,
|
|
256143
|
+
onPointerDownOutside,
|
|
256144
|
+
onFocusOutside,
|
|
256145
|
+
onInteractOutside,
|
|
256146
|
+
...contentProps
|
|
256147
|
+
} = props;
|
|
256148
|
+
const context = useHoverCardContext(CONTENT_NAME, __scopeHoverCard);
|
|
256149
|
+
const popperScope = usePopperScope(__scopeHoverCard);
|
|
256150
|
+
const ref = React.useRef(null);
|
|
256151
|
+
const composedRefs = useComposedRefs$1(forwardedRef, ref);
|
|
256152
|
+
const [containSelection, setContainSelection] = React.useState(false);
|
|
256153
|
+
React.useEffect(() => {
|
|
256154
|
+
if (containSelection) {
|
|
256155
|
+
const body = document.body;
|
|
256156
|
+
originalBodyUserSelect = body.style.userSelect || body.style.webkitUserSelect;
|
|
256157
|
+
body.style.userSelect = "none";
|
|
256158
|
+
body.style.webkitUserSelect = "none";
|
|
256159
|
+
return () => {
|
|
256160
|
+
body.style.userSelect = originalBodyUserSelect;
|
|
256161
|
+
body.style.webkitUserSelect = originalBodyUserSelect;
|
|
256162
|
+
};
|
|
256163
|
+
}
|
|
256164
|
+
}, [containSelection]);
|
|
256165
|
+
React.useEffect(() => {
|
|
256166
|
+
if (ref.current) {
|
|
256167
|
+
const handlePointerUp = () => {
|
|
256168
|
+
setContainSelection(false);
|
|
256169
|
+
context.isPointerDownOnContentRef.current = false;
|
|
256170
|
+
setTimeout(() => {
|
|
256171
|
+
const hasSelection = document.getSelection()?.toString() !== "";
|
|
256172
|
+
if (hasSelection) context.hasSelectionRef.current = true;
|
|
256173
|
+
});
|
|
256174
|
+
};
|
|
256175
|
+
document.addEventListener("pointerup", handlePointerUp);
|
|
256176
|
+
return () => {
|
|
256177
|
+
document.removeEventListener("pointerup", handlePointerUp);
|
|
256178
|
+
context.hasSelectionRef.current = false;
|
|
256179
|
+
context.isPointerDownOnContentRef.current = false;
|
|
256180
|
+
};
|
|
256181
|
+
}
|
|
256182
|
+
}, [context.isPointerDownOnContentRef, context.hasSelectionRef]);
|
|
256183
|
+
React.useEffect(() => {
|
|
256184
|
+
if (ref.current) {
|
|
256185
|
+
const tabbables = getTabbableNodes(ref.current);
|
|
256186
|
+
tabbables.forEach((tabbable) => tabbable.setAttribute("tabindex", "-1"));
|
|
256187
|
+
}
|
|
256188
|
+
});
|
|
256189
|
+
return /* @__PURE__ */ jsx(
|
|
256190
|
+
DismissableLayer$1,
|
|
256191
|
+
{
|
|
256192
|
+
asChild: true,
|
|
256193
|
+
disableOutsidePointerEvents: false,
|
|
256194
|
+
onInteractOutside,
|
|
256195
|
+
onEscapeKeyDown,
|
|
256196
|
+
onPointerDownOutside,
|
|
256197
|
+
onFocusOutside: composeEventHandlers$1(onFocusOutside, (event) => {
|
|
256198
|
+
event.preventDefault();
|
|
256199
|
+
}),
|
|
256200
|
+
onDismiss: context.onDismiss,
|
|
256201
|
+
children: /* @__PURE__ */ jsx(
|
|
256202
|
+
Content,
|
|
256203
|
+
{
|
|
256204
|
+
...popperScope,
|
|
256205
|
+
...contentProps,
|
|
256206
|
+
onPointerDown: composeEventHandlers$1(contentProps.onPointerDown, (event) => {
|
|
256207
|
+
if (event.currentTarget.contains(event.target)) {
|
|
256208
|
+
setContainSelection(true);
|
|
256209
|
+
}
|
|
256210
|
+
context.hasSelectionRef.current = false;
|
|
256211
|
+
context.isPointerDownOnContentRef.current = true;
|
|
256212
|
+
}),
|
|
256213
|
+
ref: composedRefs,
|
|
256214
|
+
style: {
|
|
256215
|
+
...contentProps.style,
|
|
256216
|
+
userSelect: containSelection ? "text" : void 0,
|
|
256217
|
+
// Safari requires prefix
|
|
256218
|
+
WebkitUserSelect: containSelection ? "text" : void 0,
|
|
256219
|
+
// re-namespace exposed content custom properties
|
|
256220
|
+
...{
|
|
256221
|
+
"--radix-hover-card-content-transform-origin": "var(--radix-popper-transform-origin)",
|
|
256222
|
+
"--radix-hover-card-content-available-width": "var(--radix-popper-available-width)",
|
|
256223
|
+
"--radix-hover-card-content-available-height": "var(--radix-popper-available-height)",
|
|
256224
|
+
"--radix-hover-card-trigger-width": "var(--radix-popper-anchor-width)",
|
|
256225
|
+
"--radix-hover-card-trigger-height": "var(--radix-popper-anchor-height)"
|
|
256226
|
+
}
|
|
256227
|
+
}
|
|
256228
|
+
}
|
|
256229
|
+
)
|
|
256230
|
+
}
|
|
256231
|
+
);
|
|
256232
|
+
});
|
|
256233
|
+
var ARROW_NAME = "HoverCardArrow";
|
|
256234
|
+
var HoverCardArrow = React.forwardRef(
|
|
256235
|
+
(props, forwardedRef) => {
|
|
256236
|
+
const { __scopeHoverCard, ...arrowProps } = props;
|
|
256237
|
+
const popperScope = usePopperScope(__scopeHoverCard);
|
|
256238
|
+
return /* @__PURE__ */ jsx(Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });
|
|
256239
|
+
}
|
|
256240
|
+
);
|
|
256241
|
+
HoverCardArrow.displayName = ARROW_NAME;
|
|
256242
|
+
function excludeTouch(eventHandler) {
|
|
256243
|
+
return (event) => event.pointerType === "touch" ? void 0 : eventHandler();
|
|
256244
|
+
}
|
|
256245
|
+
function getTabbableNodes(container) {
|
|
256246
|
+
const nodes = [];
|
|
256247
|
+
const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {
|
|
256248
|
+
acceptNode: (node) => {
|
|
256249
|
+
return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;
|
|
256250
|
+
}
|
|
256251
|
+
});
|
|
256252
|
+
while (walker.nextNode()) nodes.push(walker.currentNode);
|
|
256253
|
+
return nodes;
|
|
256254
|
+
}
|
|
256255
|
+
var Root2 = HoverCard$1;
|
|
256256
|
+
var Trigger = HoverCardTrigger$1;
|
|
256257
|
+
var Portal = HoverCardPortal;
|
|
256258
|
+
var Content2 = HoverCardContent$1;
|
|
256259
|
+
|
|
256260
|
+
const HoverCard = Root2;
|
|
256261
|
+
const HoverCardTrigger = Trigger;
|
|
256262
|
+
const HoverCardContent = React.forwardRef(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (
|
|
256263
|
+
// Portal lifts the content out of the trigger's stacking/clipping
|
|
256264
|
+
// context. Without it, hover-cards rendered from inside `<Sidebar>`
|
|
256265
|
+
// (which has `overflow-hidden` and lives in a `z-10` container) get
|
|
256266
|
+
// clipped at the sidebar edge and hidden behind the main content.
|
|
256267
|
+
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 }) })));
|
|
256268
|
+
HoverCardContent.displayName = Content2.displayName;
|
|
256269
|
+
|
|
256270
|
+
/** Muted icon/label color shared by every nav row. Exported so host apps
|
|
256271
|
+
* can build custom sections that match the shell's palette. */
|
|
256272
|
+
const PLATFORM_SIDEBAR_NAV_MUTED = '#5f5f61';
|
|
256273
|
+
const PLATFORM_SIDEBAR_FLYOUT_TITLE_COLOR = '#646676';
|
|
256274
|
+
const PLATFORM_SIDEBAR_FLYOUT_ITEM_COLOR = '#1f1f20';
|
|
256275
|
+
const PLATFORM_SIDEBAR_NAV_ACTIVE_BG_OPEN = 'data-[state=open]:bg-[#cfe8fa]/40 data-[state=open]:hover:bg-[#cfe8fa]/50';
|
|
256276
|
+
const SidebarNavCallbackContext = React.createContext({});
|
|
256277
|
+
const PlatformSidebarNavCallbackProvider = SidebarNavCallbackContext.Provider;
|
|
256278
|
+
/** After-nav callback (closes the mobile sheet, etc.) for items rendered
|
|
256279
|
+
* anywhere inside the PlatformSidebar — including host-app custom sections. */
|
|
256280
|
+
function usePlatformSidebarNavCallback() {
|
|
256281
|
+
return React.useContext(SidebarNavCallbackContext);
|
|
256282
|
+
}
|
|
256283
|
+
function PlatformSidebarCollapsedLabelFlyout({ label, children, }) {
|
|
256284
|
+
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 }) })] }));
|
|
256285
|
+
}
|
|
256286
|
+
function PlatformSidebarNavDivider() {
|
|
256287
|
+
return jsx("div", { role: "separator", className: "my-2.5 h-px w-full shrink-0 bg-[#e9e9ea]", "aria-hidden": true });
|
|
256288
|
+
}
|
|
256289
|
+
function PlatformSidebarSubNavItem({ id, label, href, exact, emptyState, onItemSelect, }) {
|
|
256290
|
+
const { onAfterNav } = usePlatformSidebarNavCallback();
|
|
256291
|
+
const router = useRouter();
|
|
256292
|
+
const pathname = usePathname();
|
|
256293
|
+
const [isPending, startTransition] = React.useTransition();
|
|
256294
|
+
const active = React.useMemo(() => {
|
|
256295
|
+
if (!href || !pathname)
|
|
256296
|
+
return false;
|
|
256297
|
+
if (href === '/')
|
|
256298
|
+
return pathname === '/';
|
|
256299
|
+
const normalizedHref = href.endsWith('/') ? href.slice(0, -1) : href;
|
|
256300
|
+
const normalizedPath = pathname.endsWith('/') ? pathname.slice(0, -1) : pathname;
|
|
256301
|
+
if (exact)
|
|
256302
|
+
return normalizedPath === normalizedHref;
|
|
256303
|
+
return normalizedPath === normalizedHref || normalizedPath.startsWith(`${normalizedHref}/`);
|
|
256304
|
+
}, [href, pathname, exact]);
|
|
256305
|
+
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
|
|
256306
|
+
? 'cursor-default text-[#94a3b8] italic hover:bg-transparent'
|
|
256307
|
+
: active
|
|
256308
|
+
? 'bg-[#eef6fc] text-[#1e40af]'
|
|
256309
|
+
: 'text-[#4a5568] hover:bg-[#f4f4f4]', isPending && 'opacity-70'), onClick: () => {
|
|
256310
|
+
if (emptyState)
|
|
256311
|
+
return;
|
|
256312
|
+
const result = onItemSelect === null || onItemSelect === void 0 ? void 0 : onItemSelect(id);
|
|
256313
|
+
if (result === false)
|
|
256314
|
+
return;
|
|
256315
|
+
if (href) {
|
|
256316
|
+
if (/^https?:\/\//i.test(href)) {
|
|
256317
|
+
window.open(href, '_blank', 'noopener,noreferrer');
|
|
256318
|
+
}
|
|
256319
|
+
else {
|
|
256320
|
+
startTransition(() => {
|
|
256321
|
+
router.push(href);
|
|
256322
|
+
});
|
|
256323
|
+
}
|
|
256324
|
+
}
|
|
256325
|
+
onAfterNav === null || onAfterNav === void 0 ? void 0 : onAfterNav();
|
|
256326
|
+
}, 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 }))] }));
|
|
256327
|
+
}
|
|
256328
|
+
function PlatformSidebarCollapsedNavFlyout({ icon: Icon, label, items, onIconClick, onItemSelect, }) {
|
|
256329
|
+
const router = useRouter();
|
|
256330
|
+
const { onAfterNav } = usePlatformSidebarNavCallback();
|
|
256331
|
+
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: () => {
|
|
256332
|
+
if ((onItemSelect === null || onItemSelect === void 0 ? void 0 : onItemSelect(item.id)) === false)
|
|
256333
|
+
return;
|
|
256334
|
+
if (item.href)
|
|
256335
|
+
router.push(item.href);
|
|
256336
|
+
onAfterNav === null || onAfterNav === void 0 ? void 0 : onAfterNav();
|
|
256337
|
+
}, 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
|
|
256338
|
+
? 'cursor-default text-[#94a3b8] italic hover:bg-transparent'
|
|
256339
|
+
: 'hover:bg-[#f4f4f4]'), style: item.emptyState ? undefined : { color: PLATFORM_SIDEBAR_FLYOUT_ITEM_COLOR }, children: item.label }) }, item.id))) })] })] }));
|
|
256340
|
+
}
|
|
256341
|
+
function PlatformSidebarNavSection({ collapsed, menu, open, onOpenChange, onCollapsedIconClick, onItemSelect, }) {
|
|
256342
|
+
const Icon = menu.icon;
|
|
256343
|
+
if (collapsed) {
|
|
256344
|
+
return (jsx(PlatformSidebarCollapsedNavFlyout, { icon: Icon, label: menu.label, items: menu.items, onIconClick: onCollapsedIconClick, onItemSelect: onItemSelect }));
|
|
256345
|
+
}
|
|
256346
|
+
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);
|
|
256347
|
+
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))) }) }) })] }));
|
|
256348
|
+
}
|
|
256349
|
+
|
|
256350
|
+
const DEFAULT_SUPPORT_URL = 'https://ibl.ai/docs';
|
|
256351
|
+
/**
|
|
256352
|
+
* The INVARIANT footer visibility rules, shared by every SPA:
|
|
256353
|
+
*
|
|
256354
|
+
* - Notifications: gated by the host-supplied user-type signal only —
|
|
256355
|
+
* regular users have notifications too.
|
|
256356
|
+
* - Live admins get the admin cluster narrowed by their RBAC platform
|
|
256357
|
+
* permissions (Invites, Management, Monetization) plus the ungated
|
|
256358
|
+
* Integrations and Advanced rows.
|
|
256359
|
+
* - Trial-gated non-admins (main/advertising tenants) and anonymous
|
|
256360
|
+
* users get the FULL admin cluster; the host's `onAction` handler is
|
|
256361
|
+
* expected to route clicks to the upgrade dialog / login instead of
|
|
256362
|
+
* the real surface.
|
|
256363
|
+
* - A genuine non-admin in an RBAC-enabled tenant sees only the rows
|
|
256364
|
+
* whose platform permission they actually hold. Integrations and
|
|
256365
|
+
* Advanced have no dedicated RBAC permission, so they stay
|
|
256366
|
+
* admin/trial/anonymous-only.
|
|
256367
|
+
*/
|
|
256368
|
+
function usePlatformSidebarFooterActions(config) {
|
|
256369
|
+
const t = useT();
|
|
256370
|
+
const { isAdmin, isLiveAdmin, showTrialGatedAdminMenu, showAnonymousAdminMenu, enableRbac, rbacPermissions, tenantKey, currentTenant, notificationsAllowed, invitesUserTypeAllowed, } = config;
|
|
256371
|
+
return React.useMemo(() => {
|
|
256372
|
+
var _a;
|
|
256373
|
+
const actions = [];
|
|
256374
|
+
if (notificationsAllowed) {
|
|
256375
|
+
actions.push({
|
|
256376
|
+
id: 'notifications',
|
|
256377
|
+
label: t('platformSidebar.notifications'),
|
|
256378
|
+
icon: Bell,
|
|
256379
|
+
});
|
|
256380
|
+
}
|
|
256381
|
+
const tenantKeyForRbac = (_a = currentTenant === null || currentTenant === void 0 ? void 0 : currentTenant.key) !== null && _a !== void 0 ? _a : tenantKey;
|
|
256382
|
+
const hasInviteUserPermission = checkRbacPermission(rbacPermissions, `/platforms/${tenantKeyForRbac}/#can_invite`, enableRbac);
|
|
256383
|
+
// Management surfaces a row when ANY of its sub-tab permissions
|
|
256384
|
+
// resolves true — matches the Admin component's `hasManagementPermissions`.
|
|
256385
|
+
const hasManagementPermissions = checkRbacPermission(rbacPermissions, `/platforms/${tenantKeyForRbac}/#can_manage_users`, enableRbac) ||
|
|
256386
|
+
checkRbacPermission(rbacPermissions, `/groups/#list`, enableRbac) ||
|
|
256387
|
+
checkRbacPermission(rbacPermissions, `/policies/#list`, enableRbac) ||
|
|
256388
|
+
checkRbacPermission(rbacPermissions, `/roles/#list`, enableRbac) ||
|
|
256389
|
+
checkRbacPermission(rbacPermissions, `/usergroups/#list|/platforms/${tenantKeyForRbac}/#can_invite`, enableRbac) ||
|
|
256390
|
+
checkRbacPermission(rbacPermissions, `/watchedgroups/#list`, enableRbac);
|
|
256391
|
+
const hasMonetizationPermission = checkRbacPermission(rbacPermissions, `/platforms/${tenantKeyForRbac}/#can_sell_items`, enableRbac);
|
|
256392
|
+
const canMonetize = !!(currentTenant === null || currentTenant === void 0 ? void 0 : currentTenant.enable_monetization) && hasMonetizationPermission;
|
|
256393
|
+
if (isLiveAdmin) {
|
|
256394
|
+
if (hasInviteUserPermission && invitesUserTypeAllowed) {
|
|
256395
|
+
actions.push({ id: 'invites', label: t('platformSidebar.invites'), icon: Mail });
|
|
256396
|
+
}
|
|
256397
|
+
if (hasManagementPermissions) {
|
|
256398
|
+
actions.push({
|
|
256399
|
+
id: 'management',
|
|
256400
|
+
label: t('platformSidebar.management'),
|
|
256401
|
+
icon: Users,
|
|
256402
|
+
});
|
|
256403
|
+
}
|
|
256404
|
+
actions.push({
|
|
256405
|
+
id: 'integrations',
|
|
256406
|
+
label: t('platformSidebar.integrations'),
|
|
256407
|
+
icon: KeyRound,
|
|
256408
|
+
});
|
|
256409
|
+
if (canMonetize) {
|
|
256410
|
+
actions.push({
|
|
256411
|
+
id: 'monetization',
|
|
256412
|
+
label: t('platformSidebar.monetization'),
|
|
256413
|
+
icon: Coins,
|
|
256414
|
+
});
|
|
256415
|
+
}
|
|
256416
|
+
actions.push({
|
|
256417
|
+
id: 'advanced',
|
|
256418
|
+
label: t('platformSidebar.advanced'),
|
|
256419
|
+
icon: Settings$1,
|
|
256420
|
+
});
|
|
256421
|
+
}
|
|
256422
|
+
else if (showTrialGatedAdminMenu || showAnonymousAdminMenu) {
|
|
256423
|
+
// Full admin cluster; the host's onAction routes these to the
|
|
256424
|
+
// upgrade dialog (trial users) or the auth SPA login (anonymous).
|
|
256425
|
+
actions.push({ id: 'invites', label: t('platformSidebar.invites'), icon: Mail });
|
|
256426
|
+
actions.push({
|
|
256427
|
+
id: 'management',
|
|
256428
|
+
label: t('platformSidebar.management'),
|
|
256429
|
+
icon: Users,
|
|
256430
|
+
});
|
|
256431
|
+
actions.push({
|
|
256432
|
+
id: 'integrations',
|
|
256433
|
+
label: t('platformSidebar.integrations'),
|
|
256434
|
+
icon: KeyRound,
|
|
256435
|
+
});
|
|
256436
|
+
actions.push({
|
|
256437
|
+
id: 'monetization',
|
|
256438
|
+
label: t('platformSidebar.monetization'),
|
|
256439
|
+
icon: Coins,
|
|
256440
|
+
});
|
|
256441
|
+
actions.push({
|
|
256442
|
+
id: 'advanced',
|
|
256443
|
+
label: t('platformSidebar.advanced'),
|
|
256444
|
+
icon: Settings$1,
|
|
256445
|
+
});
|
|
256446
|
+
}
|
|
256447
|
+
else if (!isAdmin && enableRbac) {
|
|
256448
|
+
// A GENUINE non-admin in an RBAC-enabled tenant sees ONLY the rows
|
|
256449
|
+
// whose platform permission they actually hold. The `enableRbac`
|
|
256450
|
+
// guard is required because `checkRbacPermission` returns true when
|
|
256451
|
+
// RBAC is off, which would otherwise expose these to every non-admin.
|
|
256452
|
+
if (hasInviteUserPermission) {
|
|
256453
|
+
actions.push({ id: 'invites', label: t('platformSidebar.invites'), icon: Mail });
|
|
256454
|
+
}
|
|
256455
|
+
if (hasManagementPermissions) {
|
|
256456
|
+
actions.push({
|
|
256457
|
+
id: 'management',
|
|
256458
|
+
label: t('platformSidebar.management'),
|
|
256459
|
+
icon: Users,
|
|
256460
|
+
});
|
|
256461
|
+
}
|
|
256462
|
+
if (canMonetize) {
|
|
256463
|
+
actions.push({
|
|
256464
|
+
id: 'monetization',
|
|
256465
|
+
label: t('platformSidebar.monetization'),
|
|
256466
|
+
icon: Coins,
|
|
256467
|
+
});
|
|
256468
|
+
}
|
|
256469
|
+
}
|
|
256470
|
+
return actions;
|
|
256471
|
+
}, [
|
|
256472
|
+
t,
|
|
256473
|
+
isAdmin,
|
|
256474
|
+
isLiveAdmin,
|
|
256475
|
+
showTrialGatedAdminMenu,
|
|
256476
|
+
showAnonymousAdminMenu,
|
|
256477
|
+
enableRbac,
|
|
256478
|
+
rbacPermissions,
|
|
256479
|
+
tenantKey,
|
|
256480
|
+
currentTenant,
|
|
256481
|
+
notificationsAllowed,
|
|
256482
|
+
invitesUserTypeAllowed,
|
|
256483
|
+
]);
|
|
256484
|
+
}
|
|
256485
|
+
function PlatformSidebarFooter({ collapsed, config, }) {
|
|
256486
|
+
var _a;
|
|
256487
|
+
const t = useT();
|
|
256488
|
+
const actions = usePlatformSidebarFooterActions(config);
|
|
256489
|
+
const supportUrl = (_a = config.supportUrl) !== null && _a !== void 0 ? _a : DEFAULT_SUPPORT_URL;
|
|
256490
|
+
if (collapsed) {
|
|
256491
|
+
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) => {
|
|
256492
|
+
const Icon = action.icon;
|
|
256493
|
+
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));
|
|
256494
|
+
}), 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 }) }) })] }));
|
|
256495
|
+
}
|
|
256496
|
+
return (jsxs("div", { className: "shrink-0 space-y-0.5 border-t border-[#e2e8f0] px-2 py-2", children: [actions.map((action) => {
|
|
256497
|
+
const Icon = action.icon;
|
|
256498
|
+
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));
|
|
256499
|
+
}), 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') })] })] }));
|
|
256500
|
+
}
|
|
256501
|
+
|
|
256502
|
+
/**
|
|
256503
|
+
* Renders one of the organization-level tab components in its own
|
|
256504
|
+
* dialog — `Admin` (Users), `IntegrationsTab` (API), `BillingTab`,
|
|
256505
|
+
* `MonetizationTab`, `AdvancedTab` (Settings). Each sidebar footer
|
|
256506
|
+
* action opens this dialog with a different `tab`; the body switches
|
|
256507
|
+
* the component, so there's no shared tab rail and nothing to hide.
|
|
256508
|
+
*
|
|
256509
|
+
* `organization` doesn't have a sidebar footer entry today, but it's
|
|
256510
|
+
* defined for completeness so adding "Organization" later is a one-line
|
|
256511
|
+
* change.
|
|
256512
|
+
*/
|
|
256513
|
+
function PlatformAccountSheet({ tab, onClose, tenantKey, username, email, onInviteClick, mainPlatformKey, authUrl, currentSpa, platformBaseDomain, }) {
|
|
256514
|
+
const t = useT();
|
|
256515
|
+
const open = tab !== null;
|
|
256516
|
+
const accountTabTitles = {
|
|
256517
|
+
organization: t('platformSidebar.accountTabOrganization'),
|
|
256518
|
+
management: t('platformSidebar.management'),
|
|
256519
|
+
integrations: t('platformSidebar.integrations'),
|
|
256520
|
+
monetization: t('platformSidebar.monetization'),
|
|
256521
|
+
advanced: t('platformSidebar.advanced'),
|
|
256522
|
+
billing: t('platformSidebar.accountTabBilling'),
|
|
256523
|
+
};
|
|
256524
|
+
const accountTabDescriptions = {
|
|
256525
|
+
organization: t('platformSidebar.accountDescOrganization'),
|
|
256526
|
+
management: t('platformSidebar.accountDescManagement'),
|
|
256527
|
+
integrations: t('platformSidebar.accountDescIntegrations'),
|
|
256528
|
+
monetization: t('platformSidebar.accountDescMonetization'),
|
|
256529
|
+
advanced: t('platformSidebar.accountDescAdvanced'),
|
|
256530
|
+
billing: t('platformSidebar.accountDescBilling'),
|
|
256531
|
+
};
|
|
256532
|
+
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,
|
|
256533
|
+
// RBAC is off for this entry point — admin users see every
|
|
256534
|
+
// sub-tab. Tenant-level access is already gated by the
|
|
256535
|
+
// sidebar footer visibility rules.
|
|
256536
|
+
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 }))] })] }) }));
|
|
256537
|
+
}
|
|
256538
|
+
|
|
256539
|
+
/**
|
|
256540
|
+
* Cross-SPA sidebar shell.
|
|
256541
|
+
*
|
|
256542
|
+
* Invariant chrome (owned here): header with logo slot + collapse
|
|
256543
|
+
* toggle, the collapsed icon rail behavior, single-open accordion state
|
|
256544
|
+
* for sections, and the footer cluster (Notifications, Invites,
|
|
256545
|
+
* Management, Integrations, Monetization, Advanced, Support) with its
|
|
256546
|
+
* RBAC/admin visibility rules.
|
|
256547
|
+
*
|
|
256548
|
+
* Variable content (owned by the host SPA): the primary action button
|
|
256549
|
+
* (e.g. "New Chat") and the nav sections — declarative menus or fully
|
|
256550
|
+
* custom sections rendered through `PlatformSidebarSectionContext`.
|
|
256551
|
+
*/
|
|
256552
|
+
function PlatformSidebar({ logo, primaryAction, sections, footer, openSectionId, onOpenSectionChange, onAfterNav: onAfterNavProp, className, sidebarInnerClassName, }) {
|
|
256553
|
+
var _a;
|
|
256554
|
+
const t = useT();
|
|
256555
|
+
const { state, open, openMobile, setOpenMobile, toggleSidebar, isMobile } = useSidebar();
|
|
256556
|
+
const isExpanded = isMobile ? openMobile : open;
|
|
256557
|
+
const railCollapsed = !isMobile && !open;
|
|
256558
|
+
const onAfterNav = React.useCallback(() => {
|
|
256559
|
+
if (isMobile)
|
|
256560
|
+
setOpenMobile(false);
|
|
256561
|
+
onAfterNavProp === null || onAfterNavProp === void 0 ? void 0 : onAfterNavProp();
|
|
256562
|
+
}, [isMobile, setOpenMobile, onAfterNavProp]);
|
|
256563
|
+
// Single-open accordion for sections. Controlled when `openSectionId`
|
|
256564
|
+
// is provided, uncontrolled otherwise.
|
|
256565
|
+
const [internalOpenSection, setInternalOpenSection] = React.useState(null);
|
|
256566
|
+
const isControlled = openSectionId !== undefined;
|
|
256567
|
+
const openSection = isControlled ? openSectionId : internalOpenSection;
|
|
256568
|
+
const setOpenSection = React.useCallback((sectionId) => {
|
|
256569
|
+
if (!isControlled)
|
|
256570
|
+
setInternalOpenSection(sectionId);
|
|
256571
|
+
onOpenSectionChange === null || onOpenSectionChange === void 0 ? void 0 : onOpenSectionChange(sectionId);
|
|
256572
|
+
}, [isControlled, onOpenSectionChange]);
|
|
256573
|
+
const expandFromRail = React.useCallback((sectionId) => {
|
|
256574
|
+
toggleSidebar();
|
|
256575
|
+
setOpenSection(sectionId);
|
|
256576
|
+
}, [toggleSidebar, setOpenSection]);
|
|
256577
|
+
const sectionContext = React.useCallback((sectionId) => ({
|
|
256578
|
+
collapsed: railCollapsed,
|
|
256579
|
+
open: openSection === sectionId,
|
|
256580
|
+
onOpenChange: (o) => setOpenSection(o ? sectionId : null),
|
|
256581
|
+
expandFromRail: () => expandFromRail(sectionId),
|
|
256582
|
+
onAfterNav,
|
|
256583
|
+
}), [railCollapsed, openSection, setOpenSection, expandFromRail, onAfterNav]);
|
|
256584
|
+
const renderSection = (section) => {
|
|
256585
|
+
if (section.type === 'divider') {
|
|
256586
|
+
return jsx(PlatformSidebarNavDivider, {}, section.id);
|
|
256587
|
+
}
|
|
256588
|
+
if (section.type === 'custom') {
|
|
256589
|
+
return (jsx(React.Fragment, { children: section.render(sectionContext(section.id)) }, section.id));
|
|
256590
|
+
}
|
|
256591
|
+
if (section.menu.items.length === 0)
|
|
256592
|
+
return null;
|
|
256593
|
+
const ctx = sectionContext(section.menu.id);
|
|
256594
|
+
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));
|
|
256595
|
+
};
|
|
256596
|
+
const PrimaryActionIcon = (_a = primaryAction === null || primaryAction === void 0 ? void 0 : primaryAction.icon) !== null && _a !== void 0 ? _a : SquarePen;
|
|
256597
|
+
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
|
|
256598
|
+
? t('platformSidebar.collapseSidebar')
|
|
256599
|
+
: 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
|
|
256600
|
+
? t('platformSidebar.collapseSidebar')
|
|
256601
|
+
: 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 })] }) }) }));
|
|
256602
|
+
}
|
|
256603
|
+
|
|
255518
256604
|
function useTimeTracker(config) {
|
|
255519
256605
|
var _a;
|
|
255520
|
-
const router = useRouter();
|
|
256606
|
+
const router = useRouter$1();
|
|
255521
256607
|
const trackerRef = useRef(null);
|
|
255522
256608
|
const enabledRef = useRef((_a = config.enabled) !== null && _a !== void 0 ? _a : true);
|
|
255523
256609
|
const getCurrentUrl = useCallback(() => {
|
|
@@ -256566,8 +257652,8 @@ const CourseContentLayout = ({ courseId, isPlatformAdmin, currentTenant, tabHref
|
|
|
256566
257652
|
}, children: children }) })] })] })] }) }));
|
|
256567
257653
|
};
|
|
256568
257654
|
|
|
256569
|
-
const CustomSwitch = React.forwardRef(({ className, checked, onCheckedChange, ...props }, ref) => (jsx(Root$
|
|
256570
|
-
CustomSwitch.displayName = Root$
|
|
257655
|
+
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') }) })));
|
|
257656
|
+
CustomSwitch.displayName = Root$c.displayName;
|
|
256571
257657
|
|
|
256572
257658
|
/**
|
|
256573
257659
|
* Label contract for the Settings tab and its two sub-modals.
|
|
@@ -321530,5 +322616,5 @@ var index_es = /*#__PURE__*/Object.freeze({
|
|
|
321530
322616
|
vectorsRatio: vectorsRatio
|
|
321531
322617
|
});
|
|
321532
322618
|
|
|
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 };
|
|
322619
|
+
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
322620
|
//# sourceMappingURL=index.esm.js.map
|