@carlonicora/nextjs-jsonapi 1.40.0 → 1.41.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/README.md +3 -3
- package/dist/AuthComponent-BuWc2C4g.d.ts +28 -0
- package/dist/AuthComponent-fLVGdvSr.d.mts +28 -0
- package/dist/{BlockNoteEditor-EKY4AHVK.mjs → BlockNoteEditor-B3RQ4VQ7.mjs} +5 -5
- package/dist/{BlockNoteEditor-4G3L3LSF.js → BlockNoteEditor-VUAWVZF4.js} +15 -15
- package/dist/{BlockNoteEditor-4G3L3LSF.js.map → BlockNoteEditor-VUAWVZF4.js.map} +1 -1
- package/dist/JsonApiRequest-MUPAO7DI.js +24 -0
- package/dist/{JsonApiRequest-GR3L56A5.js.map → JsonApiRequest-MUPAO7DI.js.map} +1 -1
- package/dist/{JsonApiRequest-K5BRU7RE.mjs → JsonApiRequest-XCQHVVYD.mjs} +2 -2
- package/dist/auth.interface-8XglqHir.d.mts +33 -0
- package/dist/auth.interface-BJGKQ0zr.d.ts +33 -0
- package/dist/billing/index.js +409 -415
- package/dist/billing/index.js.map +1 -1
- package/dist/billing/index.mjs +4 -10
- package/dist/billing/index.mjs.map +1 -1
- package/dist/{chunk-BAOP6PTD.mjs → chunk-BJNQZGMN.mjs} +1618 -666
- package/dist/chunk-BJNQZGMN.mjs.map +1 -0
- package/dist/{chunk-U4MTVHOC.mjs → chunk-GCQUTWZ2.mjs} +11 -4
- package/dist/{chunk-U4MTVHOC.mjs.map → chunk-GCQUTWZ2.mjs.map} +1 -1
- package/dist/{chunk-ZNGEVB5M.js → chunk-L5F5ZN5F.js} +960 -140
- package/dist/chunk-L5F5ZN5F.js.map +1 -0
- package/dist/{chunk-RRIYLEY6.mjs → chunk-LBIC4GJK.mjs} +2 -2
- package/dist/{chunk-T5YYOT4Z.js → chunk-OODZEX6P.js} +3 -3
- package/dist/{chunk-T5YYOT4Z.js.map → chunk-OODZEX6P.js.map} +1 -1
- package/dist/{chunk-GVN7XC3U.mjs → chunk-PHNL4QUF.mjs} +835 -15
- package/dist/chunk-PHNL4QUF.mjs.map +1 -0
- package/dist/{chunk-GKY5DAIH.js → chunk-QPWHMXE2.js} +1505 -553
- package/dist/chunk-QPWHMXE2.js.map +1 -0
- package/dist/{chunk-FM6WRAN5.js → chunk-WLS4D6VG.js} +12 -5
- package/dist/chunk-WLS4D6VG.js.map +1 -0
- package/dist/client/index.d.mts +4 -4
- package/dist/client/index.d.ts +4 -4
- package/dist/client/index.js +5 -5
- package/dist/client/index.mjs +4 -4
- package/dist/components/index.d.mts +69 -8
- package/dist/components/index.d.ts +69 -8
- package/dist/components/index.js +27 -5
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +26 -4
- package/dist/{config-BxwhHdCD.d.mts → config-BW5u1e9P.d.mts} +1 -1
- package/dist/{config-BbaBV_yk.d.ts → config-BozK5PY0.d.ts} +1 -1
- package/dist/{content.interface-CgUu4771.d.ts → content.interface-CpCDB1Uk.d.ts} +1 -1
- package/dist/{content.interface-CWV0q4lZ.d.mts → content.interface-b-mzkL_q.d.mts} +1 -1
- package/dist/contexts/index.d.mts +2 -2
- package/dist/contexts/index.d.ts +2 -2
- package/dist/contexts/index.js +5 -5
- package/dist/contexts/index.mjs +4 -4
- package/dist/core/index.d.mts +407 -7
- package/dist/core/index.d.ts +407 -7
- package/dist/core/index.js +61 -3
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.mjs +60 -2
- package/dist/index.d.mts +8 -6
- package/dist/index.d.ts +8 -6
- package/dist/index.js +62 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +61 -3
- package/dist/{notification.interface-XARGKJAq.d.ts → notification.interface-CR2PuV6Y.d.ts} +1 -0
- package/dist/{notification.interface-DIln2r7X.d.mts → notification.interface-D241WNUx.d.mts} +1 -0
- package/dist/{s3.service-BoOF5-ln.d.mts → s3.service-D0rbmLFp.d.mts} +10 -31
- package/dist/{s3.service-Mxo-7wQ6.d.ts → s3.service-DOwqcUDT.d.ts} +10 -31
- package/dist/scripts/generate-web-module/generator.js +26 -26
- package/dist/scripts/generate-web-module/generator.js.map +1 -1
- package/dist/scripts/generate-web-module/utils/file-writer.js +9 -9
- package/dist/scripts/generate-web-module/utils/file-writer.js.map +1 -1
- package/dist/server/index.d.mts +4 -3
- package/dist/server/index.d.ts +4 -3
- package/dist/server/index.js +12 -12
- package/dist/server/index.mjs +2 -2
- package/dist/{useSocket-awibcC9B.d.ts → useSocket-CC8SkXdm.d.ts} +1 -1
- package/dist/{useSocket-BILAdmZ0.d.mts → useSocket-CttIHn2P.d.mts} +1 -1
- package/package.json +4 -1
- package/scripts/generate-web-module/generator.ts +26 -26
- package/scripts/generate-web-module/utils/file-writer.ts +9 -9
- package/src/components/pages/PageContentContainer.tsx +22 -9
- package/src/core/abstracts/AbstractService.ts +2 -0
- package/src/core/factories/JsonApiDataFactory.ts +2 -1
- package/src/core/index.ts +14 -0
- package/src/core/registry/DataClassRegistry.ts +7 -1
- package/src/core/registry/ModuleRegistry.ts +15 -0
- package/src/features/auth/backup-code-verify.module.ts +9 -0
- package/src/features/auth/components/containers/SecurityContainer.tsx +11 -0
- package/src/features/auth/components/containers/index.ts +1 -0
- package/src/features/auth/components/forms/Login.tsx +15 -3
- package/src/features/auth/components/forms/Register.tsx +1 -9
- package/src/features/auth/components/forms/TwoFactorChallenge.tsx +202 -0
- package/src/features/auth/components/forms/index.ts +1 -0
- package/src/features/auth/components/index.ts +1 -0
- package/src/features/auth/components/two-factor/BackupCodesDialog.tsx +148 -0
- package/src/features/auth/components/two-factor/DisableTwoFactorDialog.tsx +74 -0
- package/src/features/auth/components/two-factor/PasskeyButton.tsx +59 -0
- package/src/features/auth/components/two-factor/PasskeyList.tsx +172 -0
- package/src/features/auth/components/two-factor/PasskeySetupDialog.tsx +105 -0
- package/src/features/auth/components/two-factor/TotpAuthenticatorList.tsx +104 -0
- package/src/features/auth/components/two-factor/TotpInput.tsx +90 -0
- package/src/features/auth/components/two-factor/TotpSetupDialog.tsx +161 -0
- package/src/features/auth/components/two-factor/TwoFactorSettings.tsx +175 -0
- package/src/features/auth/components/two-factor/index.ts +9 -0
- package/src/features/auth/contexts/AuthContext.tsx +9 -0
- package/src/features/auth/data/auth.service.ts +18 -1
- package/src/features/auth/data/backup-code-verify.ts +20 -0
- package/src/features/auth/data/index.ts +21 -0
- package/src/features/auth/data/passkey-authentication-options.interface.ts +7 -0
- package/src/features/auth/data/passkey-authentication-options.ts +37 -0
- package/src/features/auth/data/passkey-registration-options.ts +46 -0
- package/src/features/auth/data/passkey-registration-verify.ts +62 -0
- package/src/features/auth/data/passkey-rename.ts +20 -0
- package/src/features/auth/data/passkey-verify-login.ts +23 -0
- package/src/features/auth/data/passkey.interface.ts +9 -0
- package/src/features/auth/data/passkey.ts +40 -0
- package/src/features/auth/data/totp-authenticator.interface.ts +7 -0
- package/src/features/auth/data/totp-authenticator.ts +28 -0
- package/src/features/auth/data/totp-setup.interface.ts +5 -0
- package/src/features/auth/data/totp-setup.ts +48 -0
- package/src/features/auth/data/totp-verify-login.ts +20 -0
- package/src/features/auth/data/totp-verify.ts +22 -0
- package/src/features/auth/data/two-factor-challenge.interface.ts +7 -0
- package/src/features/auth/data/two-factor-challenge.ts +45 -0
- package/src/features/auth/data/two-factor-enable.ts +20 -0
- package/src/features/auth/data/two-factor-status.interface.ts +11 -0
- package/src/features/auth/data/two-factor-status.ts +40 -0
- package/src/features/auth/data/two-factor.service.ts +331 -0
- package/src/features/auth/enums/AuthComponent.ts +1 -0
- package/src/features/auth/index.ts +13 -0
- package/src/features/auth/passkey-authentication-options.module.ts +9 -0
- package/src/features/auth/passkey-registration-options.module.ts +9 -0
- package/src/features/auth/passkey-registration-verify.module.ts +9 -0
- package/src/features/auth/passkey-rename.module.ts +9 -0
- package/src/features/auth/passkey-verify-login.module.ts +9 -0
- package/src/features/auth/passkey.module.ts +9 -0
- package/src/features/auth/totp-authenticator.module.ts +9 -0
- package/src/features/auth/totp-setup.module.ts +9 -0
- package/src/features/auth/totp-verify-login.module.ts +9 -0
- package/src/features/auth/totp-verify.module.ts +9 -0
- package/src/features/auth/two-factor-challenge.module.ts +9 -0
- package/src/features/auth/two-factor-enable.module.ts +9 -0
- package/src/features/auth/two-factor-status.module.ts +9 -0
- package/src/features/billing/modules/billing.module.ts +1 -0
- package/src/features/billing/stripe-customer/stripe-customer.module.ts +1 -0
- package/src/features/billing/stripe-customer/stripe-payment-method.module.ts +1 -0
- package/src/features/billing/stripe-invoice/stripe-invoice.module.ts +1 -0
- package/src/features/billing/stripe-price/stripe-price.module.ts +1 -0
- package/src/features/billing/stripe-product/stripe-product.module.ts +1 -0
- package/src/features/billing/stripe-promotion-code/stripe-promotion-code.module.ts +1 -0
- package/src/features/billing/stripe-subscription/data/stripe-subscription.ts +0 -5
- package/src/features/billing/stripe-subscription/hooks/useSubscriptionWizard.ts +0 -8
- package/src/features/billing/stripe-subscription/stripe-subscription.module.ts +1 -0
- package/src/features/billing/stripe-usage/stripe-usage.module.ts +1 -0
- package/src/features/user/data/user.interface.ts +1 -0
- package/src/features/user/data/user.ts +6 -0
- package/src/features/waitlist/data/WaitlistService.ts +1 -8
- package/src/features/waitlist/waitlist-stats.module.ts +1 -0
- package/src/shadcnui/ui/resizable.tsx +33 -11
- package/src/unified/JsonApiRequest.ts +2 -1
- package/dist/AuthComponent-hxOPs9o8.d.mts +0 -11
- package/dist/AuthComponent-hxOPs9o8.d.ts +0 -11
- package/dist/JsonApiRequest-GR3L56A5.js +0 -24
- package/dist/chunk-BAOP6PTD.mjs.map +0 -1
- package/dist/chunk-FM6WRAN5.js.map +0 -1
- package/dist/chunk-GKY5DAIH.js.map +0 -1
- package/dist/chunk-GVN7XC3U.mjs.map +0 -1
- package/dist/chunk-ZNGEVB5M.js.map +0 -1
- /package/dist/{BlockNoteEditor-EKY4AHVK.mjs.map → BlockNoteEditor-B3RQ4VQ7.mjs.map} +0 -0
- /package/dist/{JsonApiRequest-K5BRU7RE.mjs.map → JsonApiRequest-XCQHVVYD.mjs.map} +0 -0
- /package/dist/{chunk-RRIYLEY6.mjs.map → chunk-LBIC4GJK.mjs.map} +0 -0
|
@@ -4,6 +4,7 @@ import { StripeInvoice } from "./data/stripe-invoice";
|
|
|
4
4
|
export const StripeInvoiceModule = (factory: ModuleFactory) =>
|
|
5
5
|
factory({
|
|
6
6
|
name: "stripe-invoices",
|
|
7
|
+
pageUrl: "/stripe-invoices",
|
|
7
8
|
model: StripeInvoice,
|
|
8
9
|
moduleId: "37c73b8b-d3b1-4e5e-8fcb-a66d8ecfc05b",
|
|
9
10
|
});
|
|
@@ -4,6 +4,7 @@ import { StripePromotionCode } from "./data/stripe-promotion-code";
|
|
|
4
4
|
export const StripePromotionCodeModule = (factory: ModuleFactory) =>
|
|
5
5
|
factory({
|
|
6
6
|
name: "stripe-promotion-codes",
|
|
7
|
+
pageUrl: "/stripe-promotion-codes",
|
|
7
8
|
model: StripePromotionCode,
|
|
8
9
|
moduleId: "b8e4f6a2-9d0c-5b3f-c7e8-4g2d9f0a5c6e",
|
|
9
10
|
});
|
|
@@ -83,9 +83,6 @@ export class StripeSubscription extends AbstractApiData implements StripeSubscri
|
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
createJsonApi(data: StripeSubscriptionInput): any {
|
|
86
|
-
console.log("[StripeSubscription.createJsonApi] Input data:", JSON.stringify(data, null, 2));
|
|
87
|
-
console.log("[StripeSubscription.createJsonApi] promotionCode in input:", data.promotionCode);
|
|
88
|
-
|
|
89
86
|
const response: any = {
|
|
90
87
|
data: {
|
|
91
88
|
type: Modules.StripeSubscription.name,
|
|
@@ -136,8 +133,6 @@ export class StripeSubscription extends AbstractApiData implements StripeSubscri
|
|
|
136
133
|
if (data.promotionCode) {
|
|
137
134
|
response.data.attributes.promotionCode = data.promotionCode;
|
|
138
135
|
}
|
|
139
|
-
|
|
140
|
-
console.log("[StripeSubscription.createJsonApi] Final response:", JSON.stringify(response, null, 2));
|
|
141
136
|
return response;
|
|
142
137
|
}
|
|
143
138
|
}
|
|
@@ -173,10 +173,6 @@ export function useSubscriptionWizard({ subscription, onSuccess, onClose }: UseS
|
|
|
173
173
|
const confirmSubscription = useCallback(async () => {
|
|
174
174
|
if (!state.selectedPrice) return;
|
|
175
175
|
|
|
176
|
-
console.log("[useSubscriptionWizard] confirmSubscription called");
|
|
177
|
-
console.log("[useSubscriptionWizard] state.promotionCode:", JSON.stringify(state.promotionCode, null, 2));
|
|
178
|
-
console.log("[useSubscriptionWizard] promotionCodeId to send:", state.promotionCode?.promotionCodeId);
|
|
179
|
-
|
|
180
176
|
dispatch({ type: "SET_PROCESSING", isProcessing: true });
|
|
181
177
|
dispatch({ type: "SET_ERROR", error: null });
|
|
182
178
|
|
|
@@ -188,7 +184,6 @@ export function useSubscriptionWizard({ subscription, onSuccess, onClose }: UseS
|
|
|
188
184
|
newPriceId: state.selectedPrice.id,
|
|
189
185
|
promotionCode: state.promotionCode?.promotionCodeId,
|
|
190
186
|
};
|
|
191
|
-
console.log("[useSubscriptionWizard] changePlan params:", JSON.stringify(changePlanParams, null, 2));
|
|
192
187
|
await StripeSubscriptionService.changePlan(changePlanParams);
|
|
193
188
|
} else {
|
|
194
189
|
// Create new subscription
|
|
@@ -197,15 +192,12 @@ export function useSubscriptionWizard({ subscription, onSuccess, onClose }: UseS
|
|
|
197
192
|
priceId: state.selectedPrice.id,
|
|
198
193
|
promotionCode: state.promotionCode?.promotionCodeId,
|
|
199
194
|
};
|
|
200
|
-
console.log("[useSubscriptionWizard] createSubscription params:", JSON.stringify(createParams, null, 2));
|
|
201
195
|
await StripeSubscriptionService.createSubscription(createParams);
|
|
202
196
|
}
|
|
203
197
|
|
|
204
198
|
onSuccessRef.current();
|
|
205
199
|
onCloseRef.current();
|
|
206
200
|
} catch (error: any) {
|
|
207
|
-
console.error("[useSubscriptionWizard] Subscription error:", error);
|
|
208
|
-
|
|
209
201
|
// Handle 409 Conflict - duplicate recurring subscription
|
|
210
202
|
if (error?.status === 409 || error?.response?.status === 409) {
|
|
211
203
|
dispatch({
|
|
@@ -4,6 +4,7 @@ import { StripeSubscription } from "./data";
|
|
|
4
4
|
export const StripeSubscriptionModule = (factory: ModuleFactory) =>
|
|
5
5
|
factory({
|
|
6
6
|
name: "stripe-subscriptions",
|
|
7
|
+
pageUrl: "/stripe-subscriptions",
|
|
7
8
|
model: StripeSubscription,
|
|
8
9
|
moduleId: "5e8797ef-650b-4dd5-ac79-a2e530a6c7ba",
|
|
9
10
|
});
|
|
@@ -4,6 +4,7 @@ import { StripeUsage } from "./data/stripe-usage";
|
|
|
4
4
|
export const StripeUsageModule = (factory: ModuleFactory) =>
|
|
5
5
|
factory({
|
|
6
6
|
name: "stripe-usage-records",
|
|
7
|
+
pageUrl: "/stripe-usage-records",
|
|
7
8
|
model: StripeUsage,
|
|
8
9
|
moduleId: "c2e9f4a6-1d7b-4e3a-8f5c-9b2d6a1e7f3c",
|
|
9
10
|
});
|
|
@@ -17,6 +17,7 @@ export class User extends AbstractApiData implements UserInterface, SearchResult
|
|
|
17
17
|
|
|
18
18
|
private _isActivated?: boolean;
|
|
19
19
|
private _isDeleted?: boolean;
|
|
20
|
+
private _twoFactorEnabled: boolean = false;
|
|
20
21
|
private _lastLogin?: Date;
|
|
21
22
|
|
|
22
23
|
private _relevance?: number;
|
|
@@ -73,6 +74,10 @@ export class User extends AbstractApiData implements UserInterface, SearchResult
|
|
|
73
74
|
return this._isDeleted ?? false;
|
|
74
75
|
}
|
|
75
76
|
|
|
77
|
+
get twoFactorEnabled(): boolean {
|
|
78
|
+
return this._twoFactorEnabled;
|
|
79
|
+
}
|
|
80
|
+
|
|
76
81
|
get lastLogin(): Date | undefined {
|
|
77
82
|
return this._lastLogin;
|
|
78
83
|
}
|
|
@@ -104,6 +109,7 @@ export class User extends AbstractApiData implements UserInterface, SearchResult
|
|
|
104
109
|
|
|
105
110
|
this._isActivated = data.jsonApi.meta.isActive;
|
|
106
111
|
this._isDeleted = data.jsonApi.meta.isDeleted;
|
|
112
|
+
this._twoFactorEnabled = data.jsonApi.attributes.twoFactorEnabled ?? false;
|
|
107
113
|
this._lastLogin = data.jsonApi.meta.lastLogin ? new Date(data.jsonApi.meta.lastLogin) : undefined;
|
|
108
114
|
|
|
109
115
|
this._relevance = data.jsonApi.meta.relevance;
|
|
@@ -119,7 +119,6 @@ export class WaitlistService extends AbstractService {
|
|
|
119
119
|
* Validate invite code (public) - calls auth endpoint
|
|
120
120
|
*/
|
|
121
121
|
static async validateInvite(code: string): Promise<InviteValidation | null> {
|
|
122
|
-
console.log("[WaitlistService.validateInvite] Starting validation for code:", code);
|
|
123
122
|
try {
|
|
124
123
|
const endpoint = new EndpointCreator({
|
|
125
124
|
endpoint: Modules.Waitlist,
|
|
@@ -127,26 +126,20 @@ export class WaitlistService extends AbstractService {
|
|
|
127
126
|
childId: code,
|
|
128
127
|
});
|
|
129
128
|
|
|
130
|
-
console.log("[WaitlistService.validateInvite] Calling endpoint:", endpoint.generate());
|
|
131
|
-
|
|
132
129
|
const response = await this.callApiWithMeta<any>({
|
|
133
130
|
type: Modules.Auth,
|
|
134
131
|
method: HttpMethod.GET,
|
|
135
132
|
endpoint: endpoint.generate(),
|
|
136
133
|
});
|
|
137
134
|
|
|
138
|
-
console.log("[WaitlistService.validateInvite] Response:", JSON.stringify(response));
|
|
139
|
-
|
|
140
135
|
// Response structure: data._jsonApi.attributes contains the actual values
|
|
141
136
|
const attributes = response.data?._jsonApi?.attributes;
|
|
142
|
-
console.log("[WaitlistService.validateInvite] Parsed attributes:", JSON.stringify(attributes));
|
|
143
137
|
|
|
144
138
|
return {
|
|
145
139
|
email: attributes?.email,
|
|
146
140
|
valid: attributes?.valid ?? false,
|
|
147
141
|
};
|
|
148
|
-
} catch (
|
|
149
|
-
console.error("[WaitlistService.validateInvite] Error:", error);
|
|
142
|
+
} catch (_error) {
|
|
150
143
|
return null;
|
|
151
144
|
}
|
|
152
145
|
}
|
|
@@ -1,42 +1,64 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
3
|
import * as React from "react";
|
|
4
|
-
import {
|
|
4
|
+
import { GripVerticalIcon } from "lucide-react";
|
|
5
|
+
import * as ResizablePrimitive from "react-resizable-panels";
|
|
5
6
|
|
|
6
7
|
import { cn } from "@/lib/utils";
|
|
7
8
|
|
|
8
|
-
function ResizablePanelGroup({ className, ...props }:
|
|
9
|
+
function ResizablePanelGroup({ className, ...props }: React.ComponentProps<typeof ResizablePrimitive.Group>) {
|
|
9
10
|
return (
|
|
10
|
-
<Group
|
|
11
|
+
<ResizablePrimitive.Group
|
|
11
12
|
data-slot="resizable-panel-group"
|
|
12
|
-
className={cn(
|
|
13
|
+
className={cn(
|
|
14
|
+
"flex h-full w-full",
|
|
15
|
+
// v4 uses aria-orientation instead of data-panel-group-direction
|
|
16
|
+
"aria-[orientation=vertical]:flex-col",
|
|
17
|
+
className,
|
|
18
|
+
)}
|
|
13
19
|
{...props}
|
|
14
20
|
/>
|
|
15
21
|
);
|
|
16
22
|
}
|
|
17
23
|
|
|
18
|
-
function ResizablePanel({ ...props }:
|
|
19
|
-
return <Panel data-slot="resizable-panel" {...props} />;
|
|
24
|
+
function ResizablePanel({ ...props }: React.ComponentProps<typeof ResizablePrimitive.Panel>) {
|
|
25
|
+
return <ResizablePrimitive.Panel data-slot="resizable-panel" {...props} />;
|
|
20
26
|
}
|
|
21
27
|
|
|
22
28
|
function ResizableHandle({
|
|
23
29
|
withHandle,
|
|
24
30
|
className,
|
|
25
31
|
...props
|
|
26
|
-
}:
|
|
32
|
+
}: React.ComponentProps<typeof ResizablePrimitive.Separator> & {
|
|
27
33
|
withHandle?: boolean;
|
|
28
34
|
}) {
|
|
29
35
|
return (
|
|
30
|
-
<Separator
|
|
36
|
+
<ResizablePrimitive.Separator
|
|
31
37
|
data-slot="resizable-handle"
|
|
32
38
|
className={cn(
|
|
33
|
-
"bg-border
|
|
39
|
+
"bg-border relative flex items-center justify-center",
|
|
40
|
+
"focus-visible:ring-ring focus-visible:ring-1 focus-visible:ring-offset-1",
|
|
41
|
+
// v4: Separator aria-orientation is OPPOSITE of Group orientation
|
|
42
|
+
// Group horizontal → Separator vertical (vertical line between left/right panels)
|
|
43
|
+
// Group vertical → Separator horizontal (horizontal line between top/bottom panels)
|
|
44
|
+
"aria-[orientation=vertical]:h-full aria-[orientation=vertical]:w-px",
|
|
45
|
+
"aria-[orientation=horizontal]:h-px aria-[orientation=horizontal]:w-full",
|
|
46
|
+
// Hit area for dragging (wider than visible line)
|
|
47
|
+
"after:absolute after:inset-y-0 after:left-1/2 after:w-3 after:-translate-x-1/2",
|
|
48
|
+
"aria-[orientation=vertical]:after:inset-y-0 aria-[orientation=vertical]:after:w-3",
|
|
49
|
+
"aria-[orientation=horizontal]:after:inset-x-0 aria-[orientation=horizontal]:after:h-3 aria-[orientation=horizontal]:after:inset-y-auto",
|
|
50
|
+
// Rotate grip icon for horizontal separator
|
|
51
|
+
"[&[aria-orientation=horizontal]>div]:rotate-90",
|
|
34
52
|
className,
|
|
35
53
|
)}
|
|
36
54
|
{...props}
|
|
37
55
|
>
|
|
38
|
-
{withHandle &&
|
|
39
|
-
|
|
56
|
+
{withHandle && (
|
|
57
|
+
<div className="bg-border z-10 flex h-4 w-3 items-center justify-center rounded-sm border">
|
|
58
|
+
<GripVerticalIcon className="size-2.5" />
|
|
59
|
+
</div>
|
|
60
|
+
)}
|
|
61
|
+
</ResizablePrimitive.Separator>
|
|
40
62
|
);
|
|
41
63
|
}
|
|
42
64
|
|
|
@@ -215,9 +215,10 @@ export async function JsonApiPost(params: {
|
|
|
215
215
|
files?: { [key: string]: File | Blob } | File | Blob;
|
|
216
216
|
language: string;
|
|
217
217
|
responseType?: ApiRequestDataTypeInterface;
|
|
218
|
+
token?: string;
|
|
218
219
|
}): Promise<ApiResponseInterface> {
|
|
219
220
|
runBootstrapper();
|
|
220
|
-
const token = await getToken();
|
|
221
|
+
const token = params.token ?? (await getToken());
|
|
221
222
|
|
|
222
223
|
let body = params.body;
|
|
223
224
|
if (!body) {
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
var _chunkFM6WRAN5js = require('./chunk-FM6WRAN5.js');
|
|
12
|
-
require('./chunk-7QVYU63E.js');
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
exports.JsonApiDelete = _chunkFM6WRAN5js.JsonApiDelete; exports.JsonApiGet = _chunkFM6WRAN5js.JsonApiGet; exports.JsonApiPatch = _chunkFM6WRAN5js.JsonApiPatch; exports.JsonApiPost = _chunkFM6WRAN5js.JsonApiPost; exports.JsonApiPut = _chunkFM6WRAN5js.JsonApiPut; exports.configureJsonApi = _chunkFM6WRAN5js.configureJsonApi; exports.getApiUrl = _chunkFM6WRAN5js.getApiUrl; exports.getAppUrl = _chunkFM6WRAN5js.getAppUrl; exports.getTrackablePages = _chunkFM6WRAN5js.getTrackablePages;
|
|
24
|
-
//# sourceMappingURL=JsonApiRequest-GR3L56A5.js.map
|