@iblai/web-utils 1.4.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +2 -1
- package/dist/index.esm.js +355 -25
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +481 -151
- package/dist/index.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/web-utils/src/providers/tenant-provider.d.ts +2 -1
- package/package.json +1 -1
package/dist/index.esm.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import React__default, { useState, useRef, useEffect, createContext, useContext, useCallback, useDebugValue, useMemo, useLayoutEffect } from 'react';
|
|
3
3
|
import { useRenewSubscriptionMutation, useLazyGetUserAppsQuery, useCreateStripeCustomerPortalMutation, useLazyGetFreeUsageCountQuery, useGetTenantMetadataQuery, useLazyGetStripeContextQuery, useUpdateUserTrialStatusMutation, useLazyGetAccountBillingInfoQuery, useLazyRefreshJwtTokenQuery, useLazyGetUserTenantsQuery, useJoinTenantMutation, useLazyGetTenantMetadataQuery, useGetAppTokensMutation, useGetCustomDomainsQuery, useGetRbacPermissionsMutation, useLazyGetMentorsQuery, useLazySeedMentorsQuery, useLazyGetMentorPublicSettingsQuery, useLazyGetRecentlyAccessedMentorsQuery, useCreateSessionIdMutation, useLazyGetSessionIdQuery, useLazyGetSharedSessionIdQuery, useEditSessionMutation, useGetToolsQuery, useGetPromptsSearchQuery, useUpdateUserAccountMutation, useGetUserMetadataQuery, useUploadProfileImageMutation, useRemoveProfileImageMutation, useLazyGetStripePricingPageSessionQuery } from '@iblai/data-layer';
|
|
4
4
|
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
5
5
|
import { OpenAPI, CoreService, ReportsService, AiAnalyticsService, AiMentorService, SearchService, AiPromptService, AiIndexService, CatalogService, SkillsService, AiAccountService, CredentialsService, FeaturesService, CommerceService, NotificationsService, MentorVisibilityEnum } from '@iblai/iblai-api';
|
|
6
|
-
import
|
|
6
|
+
import 'react-dom';
|
|
7
7
|
import axios from 'axios';
|
|
8
8
|
|
|
9
9
|
const SUBSCRIPTION_TRIGGERS = {
|
|
@@ -533,6 +533,13 @@ const MENTOR_AI_CONFIG = {
|
|
|
533
533
|
description: "Display the accessibility menu in the mentor platform.",
|
|
534
534
|
type: "boolean",
|
|
535
535
|
},
|
|
536
|
+
{
|
|
537
|
+
slug: "persistent_chat_input_label",
|
|
538
|
+
label: "Persistent Chat Input Label",
|
|
539
|
+
defaultValue: false,
|
|
540
|
+
description: "Show a visible, persistent label above the chat input. When off, the label is available to screen readers only.",
|
|
541
|
+
type: "boolean",
|
|
542
|
+
},
|
|
536
543
|
{
|
|
537
544
|
slug: "mentor_include_community_mentors",
|
|
538
545
|
label: "Community Mentors",
|
|
@@ -1986,7 +1993,7 @@ var hasRequiredUseSyncExternalStoreWithSelector_production;
|
|
|
1986
1993
|
function requireUseSyncExternalStoreWithSelector_production () {
|
|
1987
1994
|
if (hasRequiredUseSyncExternalStoreWithSelector_production) return useSyncExternalStoreWithSelector_production;
|
|
1988
1995
|
hasRequiredUseSyncExternalStoreWithSelector_production = 1;
|
|
1989
|
-
var React =
|
|
1996
|
+
var React = React__default;
|
|
1990
1997
|
function is(x, y) {
|
|
1991
1998
|
return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);
|
|
1992
1999
|
}
|
|
@@ -2088,7 +2095,7 @@ function requireUseSyncExternalStoreWithSelector_development () {
|
|
|
2088
2095
|
"function" ===
|
|
2089
2096
|
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&
|
|
2090
2097
|
__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
|
|
2091
|
-
var React =
|
|
2098
|
+
var React = React__default,
|
|
2092
2099
|
objectIs = "function" === typeof Object.is ? Object.is : is,
|
|
2093
2100
|
useSyncExternalStore = React.useSyncExternalStore,
|
|
2094
2101
|
useRef = React.useRef,
|
|
@@ -2221,17 +2228,17 @@ var gT = typeof globalThis !== "undefined" ? globalThis : (
|
|
|
2221
2228
|
{}
|
|
2222
2229
|
);
|
|
2223
2230
|
function getContext() {
|
|
2224
|
-
if (!
|
|
2231
|
+
if (!React.createContext) return {};
|
|
2225
2232
|
const contextMap = gT[ContextKey] ??= /* @__PURE__ */ new Map();
|
|
2226
|
-
let realContext = contextMap.get(
|
|
2233
|
+
let realContext = contextMap.get(React.createContext);
|
|
2227
2234
|
if (!realContext) {
|
|
2228
|
-
realContext =
|
|
2235
|
+
realContext = React.createContext(
|
|
2229
2236
|
null
|
|
2230
2237
|
);
|
|
2231
2238
|
if (process.env.NODE_ENV !== "production") {
|
|
2232
2239
|
realContext.displayName = "ReactRedux";
|
|
2233
2240
|
}
|
|
2234
|
-
contextMap.set(
|
|
2241
|
+
contextMap.set(React.createContext, realContext);
|
|
2235
2242
|
}
|
|
2236
2243
|
return realContext;
|
|
2237
2244
|
}
|
|
@@ -2240,7 +2247,7 @@ var ReactReduxContext = /* @__PURE__ */ getContext();
|
|
|
2240
2247
|
// src/hooks/useReduxContext.ts
|
|
2241
2248
|
function createReduxContextHook(context = ReactReduxContext) {
|
|
2242
2249
|
return function useReduxContext2() {
|
|
2243
|
-
const contextValue =
|
|
2250
|
+
const contextValue = React.useContext(context);
|
|
2244
2251
|
if (process.env.NODE_ENV !== "production" && !contextValue) {
|
|
2245
2252
|
throw new Error(
|
|
2246
2253
|
"could not find react-redux context value; please ensure the component is wrapped in a <Provider>"
|
|
@@ -2301,8 +2308,8 @@ function createSelectorHook(context = ReactReduxContext) {
|
|
|
2301
2308
|
}
|
|
2302
2309
|
const reduxContext = useReduxContext2();
|
|
2303
2310
|
const { store, subscription, getServerState } = reduxContext;
|
|
2304
|
-
const firstRun =
|
|
2305
|
-
const wrappedSelector =
|
|
2311
|
+
const firstRun = React.useRef(true);
|
|
2312
|
+
const wrappedSelector = React.useCallback(
|
|
2306
2313
|
{
|
|
2307
2314
|
[selector.name](state) {
|
|
2308
2315
|
const selected = selector(state);
|
|
@@ -2365,7 +2372,7 @@ function createSelectorHook(context = ReactReduxContext) {
|
|
|
2365
2372
|
wrappedSelector,
|
|
2366
2373
|
equalityFn
|
|
2367
2374
|
);
|
|
2368
|
-
|
|
2375
|
+
React.useDebugValue(selectedState);
|
|
2369
2376
|
return selectedState;
|
|
2370
2377
|
};
|
|
2371
2378
|
Object.assign(useSelector2, {
|
|
@@ -2825,6 +2832,11 @@ function useAuthProvider({ middleware = new Map(), onAuthSuccess, onAuthFailure,
|
|
|
2825
2832
|
console.log("[AuthProvider] Redirect already in progress, skipping");
|
|
2826
2833
|
return;
|
|
2827
2834
|
}
|
|
2835
|
+
// Skip if a tenant switch is already in progress
|
|
2836
|
+
if (isWeb$1() && document.cookie.includes("ibl_tenant_switching")) {
|
|
2837
|
+
console.log("[AuthProvider] Tenant switch in progress, skipping redirect");
|
|
2838
|
+
return;
|
|
2839
|
+
}
|
|
2828
2840
|
isRedirectingRef.current = true;
|
|
2829
2841
|
// NOTE: we intentionally do NOT clear the interval here.
|
|
2830
2842
|
// The isRedirectingRef guard prevents redundant redirects while navigation
|
|
@@ -2920,6 +2932,8 @@ function useAuthProvider({ middleware = new Map(), onAuthSuccess, onAuthFailure,
|
|
|
2920
2932
|
needsRefresh,
|
|
2921
2933
|
userDataOutOfSync,
|
|
2922
2934
|
pathname,
|
|
2935
|
+
currentLogoutTimestamp,
|
|
2936
|
+
lastLogoutTimestampRef: lastLogoutTimestampRef.current,
|
|
2923
2937
|
});
|
|
2924
2938
|
if (needsRefresh) {
|
|
2925
2939
|
console.log("[auth-redirect] Cookie sync detected changes from another SPA, refreshing page");
|
|
@@ -3196,14 +3210,14 @@ const useTenantContext = () => useContext(TenantContext);
|
|
|
3196
3210
|
* 4. Handles tenant-specific domain redirects
|
|
3197
3211
|
* 5. Maintains tenant access state
|
|
3198
3212
|
*/
|
|
3199
|
-
function TenantProvider({ children, fallback, onAuthSuccess, onAuthFailure, currentTenant, requestedTenant, saveCurrentTenant, saveUserTenants, handleTenantSwitch, saveVisitingTenant, removeVisitingTenant, saveUserTokens, saveTenant, onAutoJoinUserToTenant, redirectToAuthSpa, username, isIframed = false, setUseMentorProvider, skip = false, onLoadPlatformPermissions, skipCustomDomainCheck = false, }) {
|
|
3213
|
+
function TenantProvider({ children, fallback, onAuthSuccess, onAuthFailure, currentTenant, requestedTenant, saveCurrentTenant, saveUserTenants, handleTenantSwitch, saveVisitingTenant, removeVisitingTenant, saveUserTokens, saveTenant, onAutoJoinUserToTenant, redirectToAuthSpa, username, isIframed = false, setUseMentorProvider, skip = false, onLoadPlatformPermissions, skipCustomDomainCheck = false, onTenantMismatch = () => { }, }) {
|
|
3200
3214
|
// If skip is true, just return children without any provider logic
|
|
3201
3215
|
if (skip) {
|
|
3202
3216
|
return jsx(Fragment, { children: children });
|
|
3203
3217
|
}
|
|
3204
3218
|
const { userIsAccessingPublicRoute, setUserIsAccessingPublicRoute } = useAuthContext();
|
|
3205
3219
|
const [determineUserPath, setDetermineUserPath] = useState(false);
|
|
3206
|
-
const [isLoading, setIsLoading] =
|
|
3220
|
+
const [isLoading, setIsLoading] = React__default.useState(true);
|
|
3207
3221
|
const [fetchUserTenants] = useLazyGetUserTenantsQuery();
|
|
3208
3222
|
const [getUserApps] = useLazyGetUserAppsQuery();
|
|
3209
3223
|
const [joinTenant] = useJoinTenantMutation();
|
|
@@ -3215,7 +3229,7 @@ function TenantProvider({ children, fallback, onAuthSuccess, onAuthFailure, curr
|
|
|
3215
3229
|
const currentDomain = typeof window !== "undefined" ? window.location.hostname : "";
|
|
3216
3230
|
const { data: customDomainData, isLoading: isLoadingCustomDomain, isError: isCustomDomainError, } = useGetCustomDomainsQuery({ params: { domain: currentDomain } }, { skip: !isWeb() || !currentDomain || skipCustomDomainCheck });
|
|
3217
3231
|
// Extract platform_key from custom domain response to use as requestedTenant
|
|
3218
|
-
const { customDomainPlatformKey, isAdvertisingTenant } =
|
|
3232
|
+
const { customDomainPlatformKey, isAdvertisingTenant } = React__default.useMemo(() => {
|
|
3219
3233
|
let platformKey;
|
|
3220
3234
|
let isAdvertising = false;
|
|
3221
3235
|
if (customDomainData &&
|
|
@@ -3586,7 +3600,7 @@ function TenantProvider({ children, fallback, onAuthSuccess, onAuthFailure, curr
|
|
|
3586
3600
|
}
|
|
3587
3601
|
}
|
|
3588
3602
|
// Effect to handle tenant determination when auth state changes
|
|
3589
|
-
|
|
3603
|
+
React__default.useEffect(() => {
|
|
3590
3604
|
// Wait for custom domain query to complete (unless skipped or error)
|
|
3591
3605
|
const customDomainQuerySkipped = !isWeb() || !currentDomain;
|
|
3592
3606
|
if (!customDomainQuerySkipped && isLoadingCustomDomain) {
|
|
@@ -3627,6 +3641,30 @@ function TenantProvider({ children, fallback, onAuthSuccess, onAuthFailure, curr
|
|
|
3627
3641
|
isLoadingCustomDomain,
|
|
3628
3642
|
isCustomDomainError,
|
|
3629
3643
|
]);
|
|
3644
|
+
// Poll every 2s: if requestedTenant exists, differs from currentTenant,
|
|
3645
|
+
// and user is not on a public route, invoke the onTenantMismatch callback.
|
|
3646
|
+
React__default.useEffect(() => {
|
|
3647
|
+
if (!onTenantMismatch)
|
|
3648
|
+
return;
|
|
3649
|
+
const interval = setInterval(() => {
|
|
3650
|
+
if (requestedTenant &&
|
|
3651
|
+
currentTenant &&
|
|
3652
|
+
requestedTenant !== currentTenant &&
|
|
3653
|
+
!userIsAccessingPublicRoute) {
|
|
3654
|
+
console.log("[TenantProvider] Tenant mismatch detected", {
|
|
3655
|
+
requestedTenant,
|
|
3656
|
+
currentTenant,
|
|
3657
|
+
});
|
|
3658
|
+
onTenantMismatch();
|
|
3659
|
+
}
|
|
3660
|
+
}, 2000);
|
|
3661
|
+
return () => clearInterval(interval);
|
|
3662
|
+
}, [
|
|
3663
|
+
requestedTenant,
|
|
3664
|
+
currentTenant,
|
|
3665
|
+
userIsAccessingPublicRoute,
|
|
3666
|
+
onTenantMismatch,
|
|
3667
|
+
]);
|
|
3630
3668
|
// Show fallback component during tenant determination
|
|
3631
3669
|
if (isLoading) {
|
|
3632
3670
|
return fallback;
|
|
@@ -4002,7 +4040,7 @@ function MentorProvider({ children, fallback, onAuthSuccess, onAuthFailure, redi
|
|
|
4002
4040
|
}
|
|
4003
4041
|
}
|
|
4004
4042
|
// Effect to handle mentor determination when tenant path is determined
|
|
4005
|
-
|
|
4043
|
+
React__default.useEffect(() => {
|
|
4006
4044
|
async function checkMentor() {
|
|
4007
4045
|
console.log("starting mentor check process", determineUserPath, requestedMentorId, tenantKey, userIsAccessingPublicRoute, window.location.href);
|
|
4008
4046
|
if (userIsAccessingPublicRoute && !requestedMentorId) {
|
|
@@ -18462,7 +18500,7 @@ function useAdvancedChat({ tenantKey, mentorId, username = ANONYMOUS_USERNAME, t
|
|
|
18462
18500
|
const [isLoadingChats, setIsLoadingChats] = useState(true);
|
|
18463
18501
|
const [getSessionChats] = useLazyGetSessionIdQuery();
|
|
18464
18502
|
const [getSharedSessionChats] = useLazyGetSharedSessionIdQuery();
|
|
18465
|
-
const getChats =
|
|
18503
|
+
const getChats = React__default.useCallback(async () => {
|
|
18466
18504
|
var _a, _b, _c, _d;
|
|
18467
18505
|
let data;
|
|
18468
18506
|
try {
|
|
@@ -18574,7 +18612,7 @@ function useAdvancedChat({ tenantKey, mentorId, username = ANONYMOUS_USERNAME, t
|
|
|
18574
18612
|
setIsLoadingChats(false);
|
|
18575
18613
|
}
|
|
18576
18614
|
}, [cachedSessionId, isOffline]);
|
|
18577
|
-
const startNewChat =
|
|
18615
|
+
const startNewChat = React__default.useCallback(async () => {
|
|
18578
18616
|
// Reset all chat state
|
|
18579
18617
|
if (!showingSharedChat) {
|
|
18580
18618
|
dispatch(chatActions.resetChats(undefined));
|
|
@@ -18635,7 +18673,7 @@ function useAdvancedChat({ tenantKey, mentorId, username = ANONYMOUS_USERNAME, t
|
|
|
18635
18673
|
dispatch,
|
|
18636
18674
|
errorHandler,
|
|
18637
18675
|
]);
|
|
18638
|
-
|
|
18676
|
+
React__default.useEffect(() => {
|
|
18639
18677
|
if (!showingSharedChat || mentorSettings.allowAnonymous) {
|
|
18640
18678
|
if (mentorSettings.allowAnonymous !== undefined &&
|
|
18641
18679
|
!(cachedSessionId === null || cachedSessionId === void 0 ? void 0 : cachedSessionId[mentorId])) {
|
|
@@ -18643,7 +18681,7 @@ function useAdvancedChat({ tenantKey, mentorId, username = ANONYMOUS_USERNAME, t
|
|
|
18643
18681
|
}
|
|
18644
18682
|
}
|
|
18645
18683
|
}, [shouldStartNewChat, showingSharedChat, mentorSettings.allowAnonymous]);
|
|
18646
|
-
|
|
18684
|
+
React__default.useEffect(() => {
|
|
18647
18685
|
if (sessionIds[activeTab] && sessionIds[activeTab] !== sessionId) {
|
|
18648
18686
|
dispatch(chatActions.setSessionId(sessionIds[activeTab]));
|
|
18649
18687
|
// Reset WebSocket connection when session ID changes
|
|
@@ -18964,8 +19002,300 @@ function useProfileImageUpload(options = {}) {
|
|
|
18964
19002
|
// This will be deprecated in favor of the new configuration system
|
|
18965
19003
|
const METADATAS = loadMetadataConfig();
|
|
18966
19004
|
|
|
18967
|
-
var jt=n=>{switch(n){case "success":return ee;case "info":return ae;case "warning":return oe;case "error":return se;default:return null}},te=Array(12).fill(0),Yt=({visible:n,className:e})=>o__default.createElement("div",{className:["sonner-loading-wrapper",e].filter(Boolean).join(" "),"data-visible":n},o__default.createElement("div",{className:"sonner-spinner"},te.map((t,a)=>o__default.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${a}`})))),ee=o__default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},o__default.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),oe=o__default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},o__default.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),ae=o__default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},o__default.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),se=o__default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},o__default.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),Ot=o__default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},o__default.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),o__default.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"}));var Ft=()=>{let[n,e]=o__default.useState(document.hidden);return o__default.useEffect(()=>{let t=()=>{e(document.hidden);};return document.addEventListener("visibilitychange",t),()=>window.removeEventListener("visibilitychange",t)},[]),n};var bt=1,yt=class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1);});this.publish=e=>{this.subscribers.forEach(t=>t(e));};this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e];};this.create=e=>{var S;let{message:t,...a}=e,u=typeof(e==null?void 0:e.id)=="number"||((S=e.id)==null?void 0:S.length)>0?e.id:bt++,f=this.toasts.find(g=>g.id===u),w=e.dismissible===void 0?true:e.dismissible;return this.dismissedToasts.has(u)&&this.dismissedToasts.delete(u),f?this.toasts=this.toasts.map(g=>g.id===u?(this.publish({...g,...e,id:u,title:t}),{...g,...e,id:u,dismissible:w,title:t}):g):this.addToast({title:t,...a,dismissible:w,id:u}),u};this.dismiss=e=>(this.dismissedToasts.add(e),e||this.toasts.forEach(t=>{this.subscribers.forEach(a=>a({id:t.id,dismiss:true}));}),this.subscribers.forEach(t=>t({id:e,dismiss:true})),e);this.message=(e,t)=>this.create({...t,message:e});this.error=(e,t)=>this.create({...t,message:e,type:"error"});this.success=(e,t)=>this.create({...t,type:"success",message:e});this.info=(e,t)=>this.create({...t,type:"info",message:e});this.warning=(e,t)=>this.create({...t,type:"warning",message:e});this.loading=(e,t)=>this.create({...t,type:"loading",message:e});this.promise=(e,t)=>{if(!t)return;let a;t.loading!==void 0&&(a=this.create({...t,promise:e,type:"loading",message:t.loading,description:typeof t.description!="function"?t.description:void 0}));let u=e instanceof Promise?e:e(),f=a!==void 0,w,S=u.then(async i=>{if(w=["resolve",i],o__default.isValidElement(i))f=false,this.create({id:a,type:"default",message:i});else if(ie(i)&&!i.ok){f=false;let T=typeof t.error=="function"?await t.error(`HTTP error! status: ${i.status}`):t.error,F=typeof t.description=="function"?await t.description(`HTTP error! status: ${i.status}`):t.description;this.create({id:a,type:"error",message:T,description:F});}else if(t.success!==void 0){f=false;let T=typeof t.success=="function"?await t.success(i):t.success,F=typeof t.description=="function"?await t.description(i):t.description;this.create({id:a,type:"success",message:T,description:F});}}).catch(async i=>{if(w=["reject",i],t.error!==void 0){f=false;let D=typeof t.error=="function"?await t.error(i):t.error,T=typeof t.description=="function"?await t.description(i):t.description;this.create({id:a,type:"error",message:D,description:T});}}).finally(()=>{var i;f&&(this.dismiss(a),a=void 0),(i=t.finally)==null||i.call(t);}),g=()=>new Promise((i,D)=>S.then(()=>w[0]==="reject"?D(w[1]):i(w[1])).catch(D));return typeof a!="string"&&typeof a!="number"?{unwrap:g}:Object.assign(a,{unwrap:g})};this.custom=(e,t)=>{let a=(t==null?void 0:t.id)||bt++;return this.create({jsx:e(a),id:a,...t}),a};this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id));this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set;}},v=new yt,ne=(n,e)=>{let t=(e==null?void 0:e.id)||bt++;return v.addToast({title:n,...e,id:t}),t},ie=n=>n&&typeof n=="object"&&"ok"in n&&typeof n.ok=="boolean"&&"status"in n&&typeof n.status=="number",le=ne,ce=()=>v.toasts,de=()=>v.getActiveToasts(),ue=Object.assign(le,{success:v.success,info:v.info,warning:v.warning,error:v.error,custom:v.custom,message:v.message,promise:v.promise,dismiss:v.dismiss,loading:v.loading},{getHistory:ce,getToasts:de});function wt(n,{insertAt:e}={}){if(typeof document=="undefined")return;let t=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css",e==="top"&&t.firstChild?t.insertBefore(a,t.firstChild):t.appendChild(a),a.styleSheet?a.styleSheet.cssText=n:a.appendChild(document.createTextNode(n));}wt(`:where(html[dir="ltr"]),:where([data-sonner-toaster][dir="ltr"]){--toast-icon-margin-start: -3px;--toast-icon-margin-end: 4px;--toast-svg-margin-start: -1px;--toast-svg-margin-end: 0px;--toast-button-margin-start: auto;--toast-button-margin-end: 0;--toast-close-button-start: 0;--toast-close-button-end: unset;--toast-close-button-transform: translate(-35%, -35%)}:where(html[dir="rtl"]),:where([data-sonner-toaster][dir="rtl"]){--toast-icon-margin-start: 4px;--toast-icon-margin-end: -3px;--toast-svg-margin-start: 0px;--toast-svg-margin-end: -1px;--toast-button-margin-start: 0;--toast-button-margin-end: auto;--toast-close-button-start: unset;--toast-close-button-end: 0;--toast-close-button-transform: translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1: hsl(0, 0%, 99%);--gray2: hsl(0, 0%, 97.3%);--gray3: hsl(0, 0%, 95.1%);--gray4: hsl(0, 0%, 93%);--gray5: hsl(0, 0%, 90.9%);--gray6: hsl(0, 0%, 88.7%);--gray7: hsl(0, 0%, 85.8%);--gray8: hsl(0, 0%, 78%);--gray9: hsl(0, 0%, 56.1%);--gray10: hsl(0, 0%, 52.3%);--gray11: hsl(0, 0%, 43.5%);--gray12: hsl(0, 0%, 9%);--border-radius: 8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:none;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted="true"]){transform:translateY(-10px)}@media (hover: none) and (pointer: coarse){:where([data-sonner-toaster][data-lifted="true"]){transform:none}}:where([data-sonner-toaster][data-x-position="right"]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position="left"]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position="center"]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position="top"]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position="bottom"]){bottom:var(--offset-bottom)}:where([data-sonner-toast]){--y: translateY(100%);--lift-amount: calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:none;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled="true"]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position="top"]){top:0;--y: translateY(-100%);--lift: 1;--lift-amount: calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position="bottom"]){bottom:0;--y: translateY(100%);--lift: -1;--lift-amount: calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise="true"]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:none;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme="dark"]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled="true"]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping="true"]):before{content:"";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position="top"][data-swiping="true"]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position="bottom"][data-swiping="true"]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping="false"][data-removed="true"]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted="true"]){--y: translateY(0);opacity:1}:where([data-sonner-toast][data-expanded="false"][data-front="false"]){--scale: var(--toasts-before) * .05 + 1;--y: translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded="false"][data-front="false"][data-styled="true"])>*{opacity:0}:where([data-sonner-toast][data-visible="false"]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted="true"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed="true"][data-front="true"][data-swipe-out="false"]){--y: translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="true"]){--y: translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed="true"][data-front="false"][data-swipe-out="false"][data-expanded="false"]){--y: translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed="true"][data-front="false"]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y, 0px)) translate(var(--swipe-amount-x, 0px));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width: 600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg: #fff;--normal-border: var(--gray4);--normal-text: var(--gray12);--success-bg: hsl(143, 85%, 96%);--success-border: hsl(145, 92%, 91%);--success-text: hsl(140, 100%, 27%);--info-bg: hsl(208, 100%, 97%);--info-border: hsl(221, 91%, 91%);--info-text: hsl(210, 92%, 45%);--warning-bg: hsl(49, 100%, 97%);--warning-border: hsl(49, 91%, 91%);--warning-text: hsl(31, 92%, 45%);--error-bg: hsl(359, 100%, 97%);--error-border: hsl(359, 100%, 94%);--error-text: hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg: #000;--normal-border: hsl(0, 0%, 20%);--normal-text: var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg: #fff;--normal-border: var(--gray3);--normal-text: var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg: #000;--normal-bg-hover: hsl(0, 0%, 12%);--normal-border: hsl(0, 0%, 20%);--normal-border-hover: hsl(0, 0%, 25%);--normal-text: var(--gray1);--success-bg: hsl(150, 100%, 6%);--success-border: hsl(147, 100%, 12%);--success-text: hsl(150, 86%, 65%);--info-bg: hsl(215, 100%, 6%);--info-border: hsl(223, 100%, 12%);--info-text: hsl(216, 87%, 65%);--warning-bg: hsl(64, 100%, 6%);--warning-border: hsl(60, 100%, 12%);--warning-text: hsl(46, 87%, 65%);--error-bg: hsl(358, 76%, 10%);--error-border: hsl(357, 89%, 16%);--error-text: hsl(358, 100%, 81%)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size: 16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){[data-sonner-toast],[data-sonner-toast]>*,.sonner-loading-bar{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}
|
|
18968
|
-
`);function tt(n){return n.label!==void 0}var pe=3,me="32px",ge="16px",Wt=4e3,he=356,be=14,ye=20,we=200;function M(...n){return n.filter(Boolean).join(" ")}function xe(n){let[e,t]=n.split("-"),a=[];return e&&a.push(e),t&&a.push(t),a}var ve=n=>{var Dt,Pt,Nt,Bt,Ct,kt,It,Mt,Ht,At,Lt;let{invert:e,toast:t,unstyled:a,interacting:u,setHeights:f,visibleToasts:w,heights:S,index:g,toasts:i,expanded:D,removeToast:T,defaultRichColors:F,closeButton:et,style:ut,cancelButtonStyle:ft,actionButtonStyle:l,className:ot="",descriptionClassName:at="",duration:X,position:st,gap:pt,loadingIcon:rt,expandByDefault:B,classNames:s,icons:P,closeButtonAriaLabel:nt="Close toast",pauseWhenPageIsHidden:it}=n,[Y,C]=o__default.useState(null),[lt,J]=o__default.useState(null),[W,H]=o__default.useState(false),[A,mt]=o__default.useState(false),[L,z]=o__default.useState(false),[ct,d]=o__default.useState(false),[h,y]=o__default.useState(false),[R,j]=o__default.useState(0),[p,_]=o__default.useState(0),O=o__default.useRef(t.duration||X||Wt),G=o__default.useRef(null),k=o__default.useRef(null),Vt=g===0,Ut=g+1<=w,N=t.type,V=t.dismissible!==false,Kt=t.className||"",Xt=t.descriptionClassName||"",dt=o__default.useMemo(()=>S.findIndex(r=>r.toastId===t.id)||0,[S,t.id]),Jt=o__default.useMemo(()=>{var r;return (r=t.closeButton)!=null?r:et},[t.closeButton,et]),Tt=o__default.useMemo(()=>t.duration||X||Wt,[t.duration,X]),gt=o__default.useRef(0),U=o__default.useRef(0),St=o__default.useRef(0),K=o__default.useRef(null),[Gt,Qt]=st.split("-"),Rt=o__default.useMemo(()=>S.reduce((r,m,c)=>c>=dt?r:r+m.height,0),[S,dt]),Et=Ft(),qt=t.invert||e,ht=N==="loading";U.current=o__default.useMemo(()=>dt*pt+Rt,[dt,Rt]),o__default.useEffect(()=>{O.current=Tt;},[Tt]),o__default.useEffect(()=>{H(true);},[]),o__default.useEffect(()=>{let r=k.current;if(r){let m=r.getBoundingClientRect().height;return _(m),f(c=>[{toastId:t.id,height:m,position:t.position},...c]),()=>f(c=>c.filter(b=>b.toastId!==t.id))}},[f,t.id]),o__default.useLayoutEffect(()=>{if(!W)return;let r=k.current,m=r.style.height;r.style.height="auto";let c=r.getBoundingClientRect().height;r.style.height=m,_(c),f(b=>b.find(x=>x.toastId===t.id)?b.map(x=>x.toastId===t.id?{...x,height:c}:x):[{toastId:t.id,height:c,position:t.position},...b]);},[W,t.title,t.description,f,t.id]);let $=o__default.useCallback(()=>{mt(true),j(U.current),f(r=>r.filter(m=>m.toastId!==t.id)),setTimeout(()=>{T(t);},we);},[t,T,f,U]);o__default.useEffect(()=>{if(t.promise&&N==="loading"||t.duration===1/0||t.type==="loading")return;let r;return D||u||it&&Et?(()=>{if(St.current<gt.current){let b=new Date().getTime()-gt.current;O.current=O.current-b;}St.current=new Date().getTime();})():(()=>{O.current!==1/0&&(gt.current=new Date().getTime(),r=setTimeout(()=>{var b;(b=t.onAutoClose)==null||b.call(t,t),$();},O.current));})(),()=>clearTimeout(r)},[D,u,t,N,it,Et,$]),o__default.useEffect(()=>{t.delete&&$();},[$,t.delete]);function Zt(){var r,m,c;return P!=null&&P.loading?o__default.createElement("div",{className:M(s==null?void 0:s.loader,(r=t==null?void 0:t.classNames)==null?void 0:r.loader,"sonner-loader"),"data-visible":N==="loading"},P.loading):rt?o__default.createElement("div",{className:M(s==null?void 0:s.loader,(m=t==null?void 0:t.classNames)==null?void 0:m.loader,"sonner-loader"),"data-visible":N==="loading"},rt):o__default.createElement(Yt,{className:M(s==null?void 0:s.loader,(c=t==null?void 0:t.classNames)==null?void 0:c.loader),visible:N==="loading"})}return o__default.createElement("li",{tabIndex:0,ref:k,className:M(ot,Kt,s==null?void 0:s.toast,(Dt=t==null?void 0:t.classNames)==null?void 0:Dt.toast,s==null?void 0:s.default,s==null?void 0:s[N],(Pt=t==null?void 0:t.classNames)==null?void 0:Pt[N]),"data-sonner-toast":"","data-rich-colors":(Nt=t.richColors)!=null?Nt:F,"data-styled":!(t.jsx||t.unstyled||a),"data-mounted":W,"data-promise":!!t.promise,"data-swiped":h,"data-removed":A,"data-visible":Ut,"data-y-position":Gt,"data-x-position":Qt,"data-index":g,"data-front":Vt,"data-swiping":L,"data-dismissible":V,"data-type":N,"data-invert":qt,"data-swipe-out":ct,"data-swipe-direction":lt,"data-expanded":!!(D||B&&W),style:{"--index":g,"--toasts-before":g,"--z-index":i.length-g,"--offset":`${A?R:U.current}px`,"--initial-height":B?"auto":`${p}px`,...ut,...t.style},onDragEnd:()=>{z(false),C(null),K.current=null;},onPointerDown:r=>{ht||!V||(G.current=new Date,j(U.current),r.target.setPointerCapture(r.pointerId),r.target.tagName!=="BUTTON"&&(z(true),K.current={x:r.clientX,y:r.clientY}));},onPointerUp:()=>{var x,Q,q,Z;if(ct||!V)return;K.current=null;let r=Number(((x=k.current)==null?void 0:x.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),m=Number(((Q=k.current)==null?void 0:Q.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),c=new Date().getTime()-((q=G.current)==null?void 0:q.getTime()),b=Y==="x"?r:m,I=Math.abs(b)/c;if(Math.abs(b)>=ye||I>.11){j(U.current),(Z=t.onDismiss)==null||Z.call(t,t),J(Y==="x"?r>0?"right":"left":m>0?"down":"up"),$(),d(true),y(false);return}z(false),C(null);},onPointerMove:r=>{var Q,q,Z,zt;if(!K.current||!V||((Q=window.getSelection())==null?void 0:Q.toString().length)>0)return;let c=r.clientY-K.current.y,b=r.clientX-K.current.x,I=(q=n.swipeDirections)!=null?q:xe(st);!Y&&(Math.abs(b)>1||Math.abs(c)>1)&&C(Math.abs(b)>Math.abs(c)?"x":"y");let x={x:0,y:0};Y==="y"?(I.includes("top")||I.includes("bottom"))&&(I.includes("top")&&c<0||I.includes("bottom")&&c>0)&&(x.y=c):Y==="x"&&(I.includes("left")||I.includes("right"))&&(I.includes("left")&&b<0||I.includes("right")&&b>0)&&(x.x=b),(Math.abs(x.x)>0||Math.abs(x.y)>0)&&y(true),(Z=k.current)==null||Z.style.setProperty("--swipe-amount-x",`${x.x}px`),(zt=k.current)==null||zt.style.setProperty("--swipe-amount-y",`${x.y}px`);}},Jt&&!t.jsx?o__default.createElement("button",{"aria-label":nt,"data-disabled":ht,"data-close-button":true,onClick:ht||!V?()=>{}:()=>{var r;$(),(r=t.onDismiss)==null||r.call(t,t);},className:M(s==null?void 0:s.closeButton,(Bt=t==null?void 0:t.classNames)==null?void 0:Bt.closeButton)},(Ct=P==null?void 0:P.close)!=null?Ct:Ot):null,t.jsx||isValidElement(t.title)?t.jsx?t.jsx:typeof t.title=="function"?t.title():t.title:o__default.createElement(o__default.Fragment,null,N||t.icon||t.promise?o__default.createElement("div",{"data-icon":"",className:M(s==null?void 0:s.icon,(kt=t==null?void 0:t.classNames)==null?void 0:kt.icon)},t.promise||t.type==="loading"&&!t.icon?t.icon||Zt():null,t.type!=="loading"?t.icon||(P==null?void 0:P[N])||jt(N):null):null,o__default.createElement("div",{"data-content":"",className:M(s==null?void 0:s.content,(It=t==null?void 0:t.classNames)==null?void 0:It.content)},o__default.createElement("div",{"data-title":"",className:M(s==null?void 0:s.title,(Mt=t==null?void 0:t.classNames)==null?void 0:Mt.title)},typeof t.title=="function"?t.title():t.title),t.description?o__default.createElement("div",{"data-description":"",className:M(at,Xt,s==null?void 0:s.description,(Ht=t==null?void 0:t.classNames)==null?void 0:Ht.description)},typeof t.description=="function"?t.description():t.description):null),isValidElement(t.cancel)?t.cancel:t.cancel&&tt(t.cancel)?o__default.createElement("button",{"data-button":true,"data-cancel":true,style:t.cancelButtonStyle||ft,onClick:r=>{var m,c;tt(t.cancel)&&V&&((c=(m=t.cancel).onClick)==null||c.call(m,r),$());},className:M(s==null?void 0:s.cancelButton,(At=t==null?void 0:t.classNames)==null?void 0:At.cancelButton)},t.cancel.label):null,isValidElement(t.action)?t.action:t.action&&tt(t.action)?o__default.createElement("button",{"data-button":true,"data-action":true,style:t.actionButtonStyle||l,onClick:r=>{var m,c;tt(t.action)&&((c=(m=t.action).onClick)==null||c.call(m,r),!r.defaultPrevented&&$());},className:M(s==null?void 0:s.actionButton,(Lt=t==null?void 0:t.classNames)==null?void 0:Lt.actionButton)},t.action.label):null))};function _t(){if(typeof window=="undefined"||typeof document=="undefined")return "ltr";let n=document.documentElement.getAttribute("dir");return n==="auto"||!n?window.getComputedStyle(document.documentElement).direction:n}function Te(n,e){let t={};return [n,e].forEach((a,u)=>{let f=u===1,w=f?"--mobile-offset":"--offset",S=f?ge:me;function g(i){["top","right","bottom","left"].forEach(D=>{t[`${w}-${D}`]=typeof i=="number"?`${i}px`:i;});}typeof a=="number"||typeof a=="string"?g(a):typeof a=="object"?["top","right","bottom","left"].forEach(i=>{a[i]===void 0?t[`${w}-${i}`]=S:t[`${w}-${i}`]=typeof a[i]=="number"?`${a[i]}px`:a[i];}):g(S);}),t}forwardRef(function(e,t){let{invert:a,position:u="bottom-right",hotkey:f=["altKey","KeyT"],expand:w,closeButton:S,className:g,offset:i,mobileOffset:D,theme:T="light",richColors:F,duration:et,style:ut,visibleToasts:ft=pe,toastOptions:l,dir:ot=_t(),gap:at=be,loadingIcon:X,icons:st,containerAriaLabel:pt="Notifications",pauseWhenPageIsHidden:rt}=e,[B,s]=o__default.useState([]),P=o__default.useMemo(()=>Array.from(new Set([u].concat(B.filter(d=>d.position).map(d=>d.position)))),[B,u]),[nt,it]=o__default.useState([]),[Y,C]=o__default.useState(false),[lt,J]=o__default.useState(false),[W,H]=o__default.useState(T!=="system"?T:typeof window!="undefined"&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),A=o__default.useRef(null),mt=f.join("+").replace(/Key/g,"").replace(/Digit/g,""),L=o__default.useRef(null),z=o__default.useRef(false),ct=o__default.useCallback(d=>{s(h=>{var y;return (y=h.find(R=>R.id===d.id))!=null&&y.delete||v.dismiss(d.id),h.filter(({id:R})=>R!==d.id)});},[]);return o__default.useEffect(()=>v.subscribe(d=>{if(d.dismiss){s(h=>h.map(y=>y.id===d.id?{...y,delete:true}:y));return}setTimeout(()=>{vt.flushSync(()=>{s(h=>{let y=h.findIndex(R=>R.id===d.id);return y!==-1?[...h.slice(0,y),{...h[y],...d},...h.slice(y+1)]:[d,...h]});});});}),[]),o__default.useEffect(()=>{if(T!=="system"){H(T);return}if(T==="system"&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?H("dark"):H("light")),typeof window=="undefined")return;let d=window.matchMedia("(prefers-color-scheme: dark)");try{d.addEventListener("change",({matches:h})=>{H(h?"dark":"light");});}catch(h){d.addListener(({matches:y})=>{try{H(y?"dark":"light");}catch(R){console.error(R);}});}},[T]),o__default.useEffect(()=>{B.length<=1&&C(false);},[B]),o__default.useEffect(()=>{let d=h=>{var R,j;f.every(p=>h[p]||h.code===p)&&(C(true),(R=A.current)==null||R.focus()),h.code==="Escape"&&(document.activeElement===A.current||(j=A.current)!=null&&j.contains(document.activeElement))&&C(false);};return document.addEventListener("keydown",d),()=>document.removeEventListener("keydown",d)},[f]),o__default.useEffect(()=>{if(A.current)return ()=>{L.current&&(L.current.focus({preventScroll:true}),L.current=null,z.current=false);}},[A.current]),o__default.createElement("section",{ref:t,"aria-label":`${pt} ${mt}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:true},P.map((d,h)=>{var j;let[y,R]=d.split("-");return B.length?o__default.createElement("ol",{key:d,dir:ot==="auto"?_t():ot,tabIndex:-1,ref:A,className:g,"data-sonner-toaster":true,"data-theme":W,"data-y-position":y,"data-lifted":Y&&B.length>1&&!w,"data-x-position":R,style:{"--front-toast-height":`${((j=nt[0])==null?void 0:j.height)||0}px`,"--width":`${he}px`,"--gap":`${at}px`,...ut,...Te(i,D)},onBlur:p=>{z.current&&!p.currentTarget.contains(p.relatedTarget)&&(z.current=false,L.current&&(L.current.focus({preventScroll:true}),L.current=null));},onFocus:p=>{p.target instanceof HTMLElement&&p.target.dataset.dismissible==="false"||z.current||(z.current=true,L.current=p.relatedTarget);},onMouseEnter:()=>C(true),onMouseMove:()=>C(true),onMouseLeave:()=>{lt||C(false);},onDragEnd:()=>C(false),onPointerDown:p=>{p.target instanceof HTMLElement&&p.target.dataset.dismissible==="false"||J(true);},onPointerUp:()=>J(false)},B.filter(p=>!p.position&&h===0||p.position===d).map((p,_)=>{var O,G;return o__default.createElement(ve,{key:p.id,icons:st,index:_,toast:p,defaultRichColors:F,duration:(O=l==null?void 0:l.duration)!=null?O:et,className:l==null?void 0:l.className,descriptionClassName:l==null?void 0:l.descriptionClassName,invert:a,visibleToasts:ft,closeButton:(G=l==null?void 0:l.closeButton)!=null?G:S,interacting:lt,position:d,style:l==null?void 0:l.style,unstyled:l==null?void 0:l.unstyled,classNames:l==null?void 0:l.classNames,cancelButtonStyle:l==null?void 0:l.cancelButtonStyle,actionButtonStyle:l==null?void 0:l.actionButtonStyle,removeToast:ct,toasts:B.filter(k=>k.position==p.position),heights:nt.filter(k=>k.position==p.position),setHeights:it,expandByDefault:w,gap:at,loadingIcon:X,expanded:Y,pauseWhenPageIsHidden:rt,swipeDirections:e.swipeDirections})})):null}))});
|
|
19005
|
+
function __insertCSS(code) {
|
|
19006
|
+
if (typeof document == 'undefined') return
|
|
19007
|
+
let head = document.head || document.getElementsByTagName('head')[0];
|
|
19008
|
+
let style = document.createElement('style');
|
|
19009
|
+
style.type = 'text/css';
|
|
19010
|
+
head.appendChild(style)
|
|
19011
|
+
;style.styleSheet ? (style.styleSheet.cssText = code) : style.appendChild(document.createTextNode(code));
|
|
19012
|
+
}
|
|
19013
|
+
Array(12).fill(0);
|
|
19014
|
+
|
|
19015
|
+
let toastsCounter = 1;
|
|
19016
|
+
class Observer {
|
|
19017
|
+
constructor(){
|
|
19018
|
+
// We use arrow functions to maintain the correct `this` reference
|
|
19019
|
+
this.subscribe = (subscriber)=>{
|
|
19020
|
+
this.subscribers.push(subscriber);
|
|
19021
|
+
return ()=>{
|
|
19022
|
+
const index = this.subscribers.indexOf(subscriber);
|
|
19023
|
+
this.subscribers.splice(index, 1);
|
|
19024
|
+
};
|
|
19025
|
+
};
|
|
19026
|
+
this.publish = (data)=>{
|
|
19027
|
+
this.subscribers.forEach((subscriber)=>subscriber(data));
|
|
19028
|
+
};
|
|
19029
|
+
this.addToast = (data)=>{
|
|
19030
|
+
this.publish(data);
|
|
19031
|
+
this.toasts = [
|
|
19032
|
+
...this.toasts,
|
|
19033
|
+
data
|
|
19034
|
+
];
|
|
19035
|
+
};
|
|
19036
|
+
this.create = (data)=>{
|
|
19037
|
+
var _data_id;
|
|
19038
|
+
const { message, ...rest } = data;
|
|
19039
|
+
const id = typeof (data == null ? void 0 : data.id) === 'number' || ((_data_id = data.id) == null ? void 0 : _data_id.length) > 0 ? data.id : toastsCounter++;
|
|
19040
|
+
const alreadyExists = this.toasts.find((toast)=>{
|
|
19041
|
+
return toast.id === id;
|
|
19042
|
+
});
|
|
19043
|
+
const dismissible = data.dismissible === undefined ? true : data.dismissible;
|
|
19044
|
+
if (this.dismissedToasts.has(id)) {
|
|
19045
|
+
this.dismissedToasts.delete(id);
|
|
19046
|
+
}
|
|
19047
|
+
if (alreadyExists) {
|
|
19048
|
+
this.toasts = this.toasts.map((toast)=>{
|
|
19049
|
+
if (toast.id === id) {
|
|
19050
|
+
this.publish({
|
|
19051
|
+
...toast,
|
|
19052
|
+
...data,
|
|
19053
|
+
id,
|
|
19054
|
+
title: message
|
|
19055
|
+
});
|
|
19056
|
+
return {
|
|
19057
|
+
...toast,
|
|
19058
|
+
...data,
|
|
19059
|
+
id,
|
|
19060
|
+
dismissible,
|
|
19061
|
+
title: message
|
|
19062
|
+
};
|
|
19063
|
+
}
|
|
19064
|
+
return toast;
|
|
19065
|
+
});
|
|
19066
|
+
} else {
|
|
19067
|
+
this.addToast({
|
|
19068
|
+
title: message,
|
|
19069
|
+
...rest,
|
|
19070
|
+
dismissible,
|
|
19071
|
+
id
|
|
19072
|
+
});
|
|
19073
|
+
}
|
|
19074
|
+
return id;
|
|
19075
|
+
};
|
|
19076
|
+
this.dismiss = (id)=>{
|
|
19077
|
+
if (id) {
|
|
19078
|
+
this.dismissedToasts.add(id);
|
|
19079
|
+
requestAnimationFrame(()=>this.subscribers.forEach((subscriber)=>subscriber({
|
|
19080
|
+
id,
|
|
19081
|
+
dismiss: true
|
|
19082
|
+
})));
|
|
19083
|
+
} else {
|
|
19084
|
+
this.toasts.forEach((toast)=>{
|
|
19085
|
+
this.subscribers.forEach((subscriber)=>subscriber({
|
|
19086
|
+
id: toast.id,
|
|
19087
|
+
dismiss: true
|
|
19088
|
+
}));
|
|
19089
|
+
});
|
|
19090
|
+
}
|
|
19091
|
+
return id;
|
|
19092
|
+
};
|
|
19093
|
+
this.message = (message, data)=>{
|
|
19094
|
+
return this.create({
|
|
19095
|
+
...data,
|
|
19096
|
+
message
|
|
19097
|
+
});
|
|
19098
|
+
};
|
|
19099
|
+
this.error = (message, data)=>{
|
|
19100
|
+
return this.create({
|
|
19101
|
+
...data,
|
|
19102
|
+
message,
|
|
19103
|
+
type: 'error'
|
|
19104
|
+
});
|
|
19105
|
+
};
|
|
19106
|
+
this.success = (message, data)=>{
|
|
19107
|
+
return this.create({
|
|
19108
|
+
...data,
|
|
19109
|
+
type: 'success',
|
|
19110
|
+
message
|
|
19111
|
+
});
|
|
19112
|
+
};
|
|
19113
|
+
this.info = (message, data)=>{
|
|
19114
|
+
return this.create({
|
|
19115
|
+
...data,
|
|
19116
|
+
type: 'info',
|
|
19117
|
+
message
|
|
19118
|
+
});
|
|
19119
|
+
};
|
|
19120
|
+
this.warning = (message, data)=>{
|
|
19121
|
+
return this.create({
|
|
19122
|
+
...data,
|
|
19123
|
+
type: 'warning',
|
|
19124
|
+
message
|
|
19125
|
+
});
|
|
19126
|
+
};
|
|
19127
|
+
this.loading = (message, data)=>{
|
|
19128
|
+
return this.create({
|
|
19129
|
+
...data,
|
|
19130
|
+
type: 'loading',
|
|
19131
|
+
message
|
|
19132
|
+
});
|
|
19133
|
+
};
|
|
19134
|
+
this.promise = (promise, data)=>{
|
|
19135
|
+
if (!data) {
|
|
19136
|
+
// Nothing to show
|
|
19137
|
+
return;
|
|
19138
|
+
}
|
|
19139
|
+
let id = undefined;
|
|
19140
|
+
if (data.loading !== undefined) {
|
|
19141
|
+
id = this.create({
|
|
19142
|
+
...data,
|
|
19143
|
+
promise,
|
|
19144
|
+
type: 'loading',
|
|
19145
|
+
message: data.loading,
|
|
19146
|
+
description: typeof data.description !== 'function' ? data.description : undefined
|
|
19147
|
+
});
|
|
19148
|
+
}
|
|
19149
|
+
const p = Promise.resolve(promise instanceof Function ? promise() : promise);
|
|
19150
|
+
let shouldDismiss = id !== undefined;
|
|
19151
|
+
let result;
|
|
19152
|
+
const originalPromise = p.then(async (response)=>{
|
|
19153
|
+
result = [
|
|
19154
|
+
'resolve',
|
|
19155
|
+
response
|
|
19156
|
+
];
|
|
19157
|
+
const isReactElementResponse = React__default.isValidElement(response);
|
|
19158
|
+
if (isReactElementResponse) {
|
|
19159
|
+
shouldDismiss = false;
|
|
19160
|
+
this.create({
|
|
19161
|
+
id,
|
|
19162
|
+
type: 'default',
|
|
19163
|
+
message: response
|
|
19164
|
+
});
|
|
19165
|
+
} else if (isHttpResponse(response) && !response.ok) {
|
|
19166
|
+
shouldDismiss = false;
|
|
19167
|
+
const promiseData = typeof data.error === 'function' ? await data.error(`HTTP error! status: ${response.status}`) : data.error;
|
|
19168
|
+
const description = typeof data.description === 'function' ? await data.description(`HTTP error! status: ${response.status}`) : data.description;
|
|
19169
|
+
const isExtendedResult = typeof promiseData === 'object' && !React__default.isValidElement(promiseData);
|
|
19170
|
+
const toastSettings = isExtendedResult ? promiseData : {
|
|
19171
|
+
message: promiseData
|
|
19172
|
+
};
|
|
19173
|
+
this.create({
|
|
19174
|
+
id,
|
|
19175
|
+
type: 'error',
|
|
19176
|
+
description,
|
|
19177
|
+
...toastSettings
|
|
19178
|
+
});
|
|
19179
|
+
} else if (response instanceof Error) {
|
|
19180
|
+
shouldDismiss = false;
|
|
19181
|
+
const promiseData = typeof data.error === 'function' ? await data.error(response) : data.error;
|
|
19182
|
+
const description = typeof data.description === 'function' ? await data.description(response) : data.description;
|
|
19183
|
+
const isExtendedResult = typeof promiseData === 'object' && !React__default.isValidElement(promiseData);
|
|
19184
|
+
const toastSettings = isExtendedResult ? promiseData : {
|
|
19185
|
+
message: promiseData
|
|
19186
|
+
};
|
|
19187
|
+
this.create({
|
|
19188
|
+
id,
|
|
19189
|
+
type: 'error',
|
|
19190
|
+
description,
|
|
19191
|
+
...toastSettings
|
|
19192
|
+
});
|
|
19193
|
+
} else if (data.success !== undefined) {
|
|
19194
|
+
shouldDismiss = false;
|
|
19195
|
+
const promiseData = typeof data.success === 'function' ? await data.success(response) : data.success;
|
|
19196
|
+
const description = typeof data.description === 'function' ? await data.description(response) : data.description;
|
|
19197
|
+
const isExtendedResult = typeof promiseData === 'object' && !React__default.isValidElement(promiseData);
|
|
19198
|
+
const toastSettings = isExtendedResult ? promiseData : {
|
|
19199
|
+
message: promiseData
|
|
19200
|
+
};
|
|
19201
|
+
this.create({
|
|
19202
|
+
id,
|
|
19203
|
+
type: 'success',
|
|
19204
|
+
description,
|
|
19205
|
+
...toastSettings
|
|
19206
|
+
});
|
|
19207
|
+
}
|
|
19208
|
+
}).catch(async (error)=>{
|
|
19209
|
+
result = [
|
|
19210
|
+
'reject',
|
|
19211
|
+
error
|
|
19212
|
+
];
|
|
19213
|
+
if (data.error !== undefined) {
|
|
19214
|
+
shouldDismiss = false;
|
|
19215
|
+
const promiseData = typeof data.error === 'function' ? await data.error(error) : data.error;
|
|
19216
|
+
const description = typeof data.description === 'function' ? await data.description(error) : data.description;
|
|
19217
|
+
const isExtendedResult = typeof promiseData === 'object' && !React__default.isValidElement(promiseData);
|
|
19218
|
+
const toastSettings = isExtendedResult ? promiseData : {
|
|
19219
|
+
message: promiseData
|
|
19220
|
+
};
|
|
19221
|
+
this.create({
|
|
19222
|
+
id,
|
|
19223
|
+
type: 'error',
|
|
19224
|
+
description,
|
|
19225
|
+
...toastSettings
|
|
19226
|
+
});
|
|
19227
|
+
}
|
|
19228
|
+
}).finally(()=>{
|
|
19229
|
+
if (shouldDismiss) {
|
|
19230
|
+
// Toast is still in load state (and will be indefinitely — dismiss it)
|
|
19231
|
+
this.dismiss(id);
|
|
19232
|
+
id = undefined;
|
|
19233
|
+
}
|
|
19234
|
+
data.finally == null ? void 0 : data.finally.call(data);
|
|
19235
|
+
});
|
|
19236
|
+
const unwrap = ()=>new Promise((resolve, reject)=>originalPromise.then(()=>result[0] === 'reject' ? reject(result[1]) : resolve(result[1])).catch(reject));
|
|
19237
|
+
if (typeof id !== 'string' && typeof id !== 'number') {
|
|
19238
|
+
// cannot Object.assign on undefined
|
|
19239
|
+
return {
|
|
19240
|
+
unwrap
|
|
19241
|
+
};
|
|
19242
|
+
} else {
|
|
19243
|
+
return Object.assign(id, {
|
|
19244
|
+
unwrap
|
|
19245
|
+
});
|
|
19246
|
+
}
|
|
19247
|
+
};
|
|
19248
|
+
this.custom = (jsx, data)=>{
|
|
19249
|
+
const id = (data == null ? void 0 : data.id) || toastsCounter++;
|
|
19250
|
+
this.create({
|
|
19251
|
+
jsx: jsx(id),
|
|
19252
|
+
id,
|
|
19253
|
+
...data
|
|
19254
|
+
});
|
|
19255
|
+
return id;
|
|
19256
|
+
};
|
|
19257
|
+
this.getActiveToasts = ()=>{
|
|
19258
|
+
return this.toasts.filter((toast)=>!this.dismissedToasts.has(toast.id));
|
|
19259
|
+
};
|
|
19260
|
+
this.subscribers = [];
|
|
19261
|
+
this.toasts = [];
|
|
19262
|
+
this.dismissedToasts = new Set();
|
|
19263
|
+
}
|
|
19264
|
+
}
|
|
19265
|
+
const ToastState = new Observer();
|
|
19266
|
+
// bind this to the toast function
|
|
19267
|
+
const toastFunction = (message, data)=>{
|
|
19268
|
+
const id = (data == null ? void 0 : data.id) || toastsCounter++;
|
|
19269
|
+
ToastState.addToast({
|
|
19270
|
+
title: message,
|
|
19271
|
+
...data,
|
|
19272
|
+
id
|
|
19273
|
+
});
|
|
19274
|
+
return id;
|
|
19275
|
+
};
|
|
19276
|
+
const isHttpResponse = (data)=>{
|
|
19277
|
+
return data && typeof data === 'object' && 'ok' in data && typeof data.ok === 'boolean' && 'status' in data && typeof data.status === 'number';
|
|
19278
|
+
};
|
|
19279
|
+
const basicToast = toastFunction;
|
|
19280
|
+
const getHistory = ()=>ToastState.toasts;
|
|
19281
|
+
const getToasts = ()=>ToastState.getActiveToasts();
|
|
19282
|
+
// We use `Object.assign` to maintain the correct types as we would lose them otherwise
|
|
19283
|
+
const toast = Object.assign(basicToast, {
|
|
19284
|
+
success: ToastState.success,
|
|
19285
|
+
info: ToastState.info,
|
|
19286
|
+
warning: ToastState.warning,
|
|
19287
|
+
error: ToastState.error,
|
|
19288
|
+
custom: ToastState.custom,
|
|
19289
|
+
message: ToastState.message,
|
|
19290
|
+
promise: ToastState.promise,
|
|
19291
|
+
dismiss: ToastState.dismiss,
|
|
19292
|
+
loading: ToastState.loading
|
|
19293
|
+
}, {
|
|
19294
|
+
getHistory,
|
|
19295
|
+
getToasts
|
|
19296
|
+
});
|
|
19297
|
+
|
|
19298
|
+
__insertCSS("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");
|
|
18969
19299
|
|
|
18970
19300
|
function buildCheckoutUrl(baseUrl, email, clientReferenceId) {
|
|
18971
19301
|
const separator = baseUrl.includes("?") ? "&" : "?";
|
|
@@ -19008,7 +19338,7 @@ const useStripeUpgrade = ({ redirectUrl, sourcePlatformKey, mainPlatformKey, cur
|
|
|
19008
19338
|
}
|
|
19009
19339
|
}
|
|
19010
19340
|
catch (_a) {
|
|
19011
|
-
|
|
19341
|
+
toast.error("Failed to load upgrade options. Please try again.");
|
|
19012
19342
|
}
|
|
19013
19343
|
finally {
|
|
19014
19344
|
setIsLoading(false);
|