@m5kdev/frontend 0.8.9 → 0.8.11
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/packages/backend/dist/src/modules/auth/auth.dto.d.mts +2 -2
- package/dist/packages/backend/dist/src/modules/auth/auth.dto.d.mts.map +1 -1
- package/dist/packages/backend/dist/src/modules/auth/auth.dto.d.ts +2 -2
- package/dist/packages/backend/dist/src/modules/auth/auth.dto.d.ts.map +1 -1
- package/dist/packages/backend/dist/src/types.d.mts +6 -6
- package/dist/packages/backend/dist/src/types.d.mts.map +1 -1
- package/dist/packages/backend/dist/src/types.d.ts +6 -6
- package/dist/packages/backend/dist/src/types.d.ts.map +1 -1
- package/dist/src/modules/auth/components/AuthProvider.d.mts +1 -1
- package/dist/src/modules/auth/components/AuthProvider.d.mts.map +1 -1
- package/dist/src/modules/auth/components/AuthProvider.d.ts +1 -1
- package/dist/src/modules/auth/components/AuthProvider.d.ts.map +1 -1
- package/dist/src/modules/auth/components/AuthProvider.js +1 -1
- package/dist/src/modules/auth/components/AuthProvider.mjs +1 -1
- package/dist/src/modules/billing/components/BillingProvider.d.mts +1 -1
- package/dist/src/modules/billing/components/BillingProvider.d.mts.map +1 -1
- package/dist/src/modules/billing/components/BillingProvider.d.ts +1 -1
- package/dist/src/modules/billing/components/BillingProvider.d.ts.map +1 -1
- package/dist/src/modules/billing/components/BillingProvider.js +1 -1
- package/dist/src/modules/billing/components/BillingProvider.mjs +1 -1
- package/dist/src/modules/table/hooks/useNuqsQueryParams.d.mts +1 -1
- package/dist/src/modules/table/hooks/useNuqsQueryParams.d.mts.map +1 -1
- package/dist/src/modules/table/hooks/useNuqsQueryParams.d.ts +1 -1
- package/dist/src/modules/table/hooks/useNuqsQueryParams.d.ts.map +1 -1
- package/dist/src/modules/table/hooks/useNuqsQueryParams.js +100 -9
- package/dist/src/modules/table/hooks/useNuqsQueryParams.js.map +1 -1
- package/dist/src/modules/table/hooks/useNuqsQueryParams.mjs +101 -10
- package/dist/src/modules/table/hooks/useNuqsQueryParams.mjs.map +1 -1
- package/dist/src/modules/table/hooks/useQueryWithParams.js +1 -1
- package/dist/src/modules/table/hooks/useQueryWithParams.mjs +1 -1
- package/package.json +4 -4
|
@@ -13,8 +13,8 @@ declare const waitlistSchema: z.ZodObject<{
|
|
|
13
13
|
expiresAt: z.ZodNullable<z.ZodDate>;
|
|
14
14
|
}, z.core.$strip>;
|
|
15
15
|
declare const waitlistOutputSchema: z.ZodObject<{
|
|
16
|
-
id: z.ZodString;
|
|
17
16
|
name: z.ZodNullable<z.ZodString>;
|
|
17
|
+
id: z.ZodString;
|
|
18
18
|
email: z.ZodNullable<z.ZodString>;
|
|
19
19
|
createdAt: z.ZodDate;
|
|
20
20
|
updatedAt: z.ZodNullable<z.ZodDate>;
|
|
@@ -37,8 +37,8 @@ declare const accountClaimOutputSchema: z.ZodObject<{
|
|
|
37
37
|
id: z.ZodString;
|
|
38
38
|
createdAt: z.ZodDate;
|
|
39
39
|
updatedAt: z.ZodNullable<z.ZodDate>;
|
|
40
|
-
expiresAt: z.ZodNullable<z.ZodDate>;
|
|
41
40
|
status: z.ZodString;
|
|
41
|
+
expiresAt: z.ZodNullable<z.ZodDate>;
|
|
42
42
|
claimUserId: z.ZodNullable<z.ZodString>;
|
|
43
43
|
claimedAt: z.ZodNullable<z.ZodDate>;
|
|
44
44
|
claimedEmail: z.ZodNullable<z.ZodString>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.dto.d.mts","names":["z","waitlistSchema","ZodString","ZodNullable","ZodDate","core","$strip","ZodObject","id","name","email","createdAt","updatedAt","status","code","expiresAt","waitlistOutputSchema","WaitlistOutput","infer","Waitlist","accountClaimSchema","claimUserId","claimedAt","claimedEmail","accountClaimOutputSchema","AccountClaim","AccountClaimOutput","accountClaimMagicLinkSchema","claimId","userId","token","url","accountClaimMagicLinkOutputSchema","AccountClaimMagicLink","AccountClaimMagicLinkOutput"],"sources":["../../../../../../../../backend/dist/src/modules/auth/auth.dto.d.mts"],"mappings":";;;;cAGcC,cAAAA,EAAgBD,CAAAA,CAAEO,SAAAA;EAC9BC,EAAAA,EAAIR,CAAAA,CAAEE,SAAAA;EACNO,IAAAA,EAAMT,CAAAA,CAAEG,WAAAA,CAAYH,CAAAA,CAAEE,SAAAA;EACtBQ,KAAAA,EAAOV,CAAAA,CAAEG,WAAAA,CAAYH,CAAAA,CAAEE,SAAAA;EACvBS,SAAAA,EAAWX,CAAAA,CAAEI,OAAAA;EACbQ,SAAAA,EAAWZ,CAAAA,CAAEG,WAAAA,CAAYH,CAAAA,CAAEI,OAAAA;EAC3BS,MAAAA,EAAQb,CAAAA,CAAEE,SAAAA;EACVY,IAAAA,EAAMd,CAAAA,CAAEG,WAAAA,CAAYH,CAAAA,CAAEE,SAAAA;EACtBa,SAAAA,EAAWf,CAAAA,CAAEG,WAAAA,CAAYH,CAAAA,CAAEI,OAAAA;AAAAA,GAC1BJ,CAAAA,CAAEK,IAAAA,CAAKC,MAAAA;AAAAA,cACIU,oBAAAA,EAAsBhB,CAAAA,CAAEO,SAAAA;
|
|
1
|
+
{"version":3,"file":"auth.dto.d.mts","names":["z","waitlistSchema","ZodString","ZodNullable","ZodDate","core","$strip","ZodObject","id","name","email","createdAt","updatedAt","status","code","expiresAt","waitlistOutputSchema","WaitlistOutput","infer","Waitlist","accountClaimSchema","claimUserId","claimedAt","claimedEmail","accountClaimOutputSchema","AccountClaim","AccountClaimOutput","accountClaimMagicLinkSchema","claimId","userId","token","url","accountClaimMagicLinkOutputSchema","AccountClaimMagicLink","AccountClaimMagicLinkOutput"],"sources":["../../../../../../../../backend/dist/src/modules/auth/auth.dto.d.mts"],"mappings":"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"}
|
|
@@ -13,8 +13,8 @@ declare const waitlistSchema: z.ZodObject<{
|
|
|
13
13
|
expiresAt: z.ZodNullable<z.ZodDate>;
|
|
14
14
|
}, z.core.$strip>;
|
|
15
15
|
declare const waitlistOutputSchema: z.ZodObject<{
|
|
16
|
-
id: z.ZodString;
|
|
17
16
|
name: z.ZodNullable<z.ZodString>;
|
|
17
|
+
id: z.ZodString;
|
|
18
18
|
email: z.ZodNullable<z.ZodString>;
|
|
19
19
|
createdAt: z.ZodDate;
|
|
20
20
|
updatedAt: z.ZodNullable<z.ZodDate>;
|
|
@@ -37,8 +37,8 @@ declare const accountClaimOutputSchema: z.ZodObject<{
|
|
|
37
37
|
id: z.ZodString;
|
|
38
38
|
createdAt: z.ZodDate;
|
|
39
39
|
updatedAt: z.ZodNullable<z.ZodDate>;
|
|
40
|
-
expiresAt: z.ZodNullable<z.ZodDate>;
|
|
41
40
|
status: z.ZodString;
|
|
41
|
+
expiresAt: z.ZodNullable<z.ZodDate>;
|
|
42
42
|
claimUserId: z.ZodNullable<z.ZodString>;
|
|
43
43
|
claimedAt: z.ZodNullable<z.ZodDate>;
|
|
44
44
|
claimedEmail: z.ZodNullable<z.ZodString>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.dto.d.ts","names":["z","waitlistSchema","ZodString","ZodNullable","ZodDate","core","$strip","ZodObject","id","name","email","createdAt","updatedAt","status","code","expiresAt","waitlistOutputSchema","WaitlistOutput","infer","Waitlist","accountClaimSchema","claimUserId","claimedAt","claimedEmail","accountClaimOutputSchema","AccountClaim","AccountClaimOutput","accountClaimMagicLinkSchema","claimId","userId","token","url","accountClaimMagicLinkOutputSchema","AccountClaimMagicLink","AccountClaimMagicLinkOutput"],"sources":["../../../../../../../../backend/dist/src/modules/auth/auth.dto.d.mts"],"mappings":";;;;cAGcC,cAAAA,EAAgBD,CAAAA,CAAEO,SAAAA;EAC9BC,EAAAA,EAAIR,CAAAA,CAAEE,SAAAA;EACNO,IAAAA,EAAMT,CAAAA,CAAEG,WAAAA,CAAYH,CAAAA,CAAEE,SAAAA;EACtBQ,KAAAA,EAAOV,CAAAA,CAAEG,WAAAA,CAAYH,CAAAA,CAAEE,SAAAA;EACvBS,SAAAA,EAAWX,CAAAA,CAAEI,OAAAA;EACbQ,SAAAA,EAAWZ,CAAAA,CAAEG,WAAAA,CAAYH,CAAAA,CAAEI,OAAAA;EAC3BS,MAAAA,EAAQb,CAAAA,CAAEE,SAAAA;EACVY,IAAAA,EAAMd,CAAAA,CAAEG,WAAAA,CAAYH,CAAAA,CAAEE,SAAAA;EACtBa,SAAAA,EAAWf,CAAAA,CAAEG,WAAAA,CAAYH,CAAAA,CAAEI,OAAAA;AAAAA,GAC1BJ,CAAAA,CAAEK,IAAAA,CAAKC,MAAAA;AAAAA,cACIU,oBAAAA,EAAsBhB,CAAAA,CAAEO,SAAAA;
|
|
1
|
+
{"version":3,"file":"auth.dto.d.ts","names":["z","waitlistSchema","ZodString","ZodNullable","ZodDate","core","$strip","ZodObject","id","name","email","createdAt","updatedAt","status","code","expiresAt","waitlistOutputSchema","WaitlistOutput","infer","Waitlist","accountClaimSchema","claimUserId","claimedAt","claimedEmail","accountClaimOutputSchema","AccountClaim","AccountClaimOutput","accountClaimMagicLinkSchema","claimId","userId","token","url","accountClaimMagicLinkOutputSchema","AccountClaimMagicLink","AccountClaimMagicLinkOutput"],"sources":["../../../../../../../../backend/dist/src/modules/auth/auth.dto.d.mts"],"mappings":"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"}
|
|
@@ -62,8 +62,8 @@ declare const createAuthTRPCRouter: (trpcMethods: TRPCMethods, authService: Auth
|
|
|
62
62
|
id: string;
|
|
63
63
|
createdAt: Date;
|
|
64
64
|
updatedAt: Date | null;
|
|
65
|
-
expiresAt: Date | null;
|
|
66
65
|
status: string;
|
|
66
|
+
expiresAt: Date | null;
|
|
67
67
|
claimUserId: string | null;
|
|
68
68
|
claimedAt: Date | null;
|
|
69
69
|
claimedEmail: string | null;
|
|
@@ -149,8 +149,8 @@ declare const createAuthTRPCRouter: (trpcMethods: TRPCMethods, authService: Auth
|
|
|
149
149
|
listAdminWaitlist: QueryProcedure<{
|
|
150
150
|
input: void;
|
|
151
151
|
output: {
|
|
152
|
-
id: string;
|
|
153
152
|
name: string | null;
|
|
153
|
+
id: string;
|
|
154
154
|
email: string | null;
|
|
155
155
|
createdAt: Date;
|
|
156
156
|
updatedAt: Date | null;
|
|
@@ -163,8 +163,8 @@ declare const createAuthTRPCRouter: (trpcMethods: TRPCMethods, authService: Auth
|
|
|
163
163
|
email: string;
|
|
164
164
|
};
|
|
165
165
|
output: {
|
|
166
|
-
id: string;
|
|
167
166
|
name: string | null;
|
|
167
|
+
id: string;
|
|
168
168
|
email: string | null;
|
|
169
169
|
createdAt: Date;
|
|
170
170
|
updatedAt: Date | null;
|
|
@@ -194,8 +194,8 @@ declare const createAuthTRPCRouter: (trpcMethods: TRPCMethods, authService: Auth
|
|
|
194
194
|
id: string;
|
|
195
195
|
};
|
|
196
196
|
output: {
|
|
197
|
-
id: string;
|
|
198
197
|
name: string | null;
|
|
198
|
+
id: string;
|
|
199
199
|
email: string | null;
|
|
200
200
|
createdAt: Date;
|
|
201
201
|
updatedAt: Date | null;
|
|
@@ -208,8 +208,8 @@ declare const createAuthTRPCRouter: (trpcMethods: TRPCMethods, authService: Auth
|
|
|
208
208
|
id: string;
|
|
209
209
|
};
|
|
210
210
|
output: {
|
|
211
|
-
id: string;
|
|
212
211
|
name: string | null;
|
|
212
|
+
id: string;
|
|
213
213
|
email: string | null;
|
|
214
214
|
createdAt: Date;
|
|
215
215
|
updatedAt: Date | null;
|
|
@@ -222,8 +222,8 @@ declare const createAuthTRPCRouter: (trpcMethods: TRPCMethods, authService: Auth
|
|
|
222
222
|
email: string;
|
|
223
223
|
};
|
|
224
224
|
output: {
|
|
225
|
-
id: string;
|
|
226
225
|
name: string | null;
|
|
226
|
+
id: string;
|
|
227
227
|
email: string | null;
|
|
228
228
|
createdAt: Date;
|
|
229
229
|
updatedAt: Date | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.mts","names":["Context","TRPCMethods","BillingService","AuthService","_$_trpc_server0","_$stripe","createAuthTRPCRouter","TRPCDefaultErrorShape","TRPCQueryProcedure","Date","TRPCMutationProcedure","Record","TRPCDecorateCreateRouterOptions","TRPCBuiltRouter","Stripe","Invoice","trpcMethods","authService","billingService","ctx","meta","errorShape","transformer","auth","getUserWaitlistCount","input","output","createInvitationCode","name","id","email","createdAt","updatedAt","status","code","expiresAt","createAccountClaimCode","userId","expiresInHours","claimUserId","claimedAt","claimedEmail","listAccountClaims","generateAccountClaimMagicLink","claimId","url","listAccountClaimMagicLinks","getMyAccountClaimStatus","setMyAccountClaimEmail","acceptMyAccountClaim","listWaitlist","listAdminWaitlist","addToWaitlist","inviteToWaitlist","inviteFromWaitlist","removeFromWaitlist","joinWaitlist","getOnboarding","setOnboarding","getPreferences","setPreferences","getOrganizationPreferences","setOrganizationPreferences","getMetadata","setMetadata","getFlags","getOrganizationFlags","setFlags","setOrganizationFlags","validateWaitlistCode","billing","getActiveSubscription","plan","referenceId","stripeCustomerId","stripeSubscriptionId","periodStart","periodEnd","cancelAtPeriodEnd","cancelAt","canceledAt","seats","trialStart","trialEnd","priceId","interval","unitAmount","discounts","listInvoices","BackendTRPCRouter","ReturnType"],"sources":["../../../../../../backend/dist/src/types.d.mts"],"mappings":";;;;;;;cAOcM,oBAAAA,GAAuBU,WAAAA,EAAaf,WAAAA,EAAagB,WAAAA,EAAad,WAAAA,EAAae,cAAAA,EAAgBhB,cAAAA,KAAmBE,WAAAA;EAC1He,GAAAA,EAAKnB,OAAAA;EACLoB,IAAAA;EACAC,UAAAA,EAAYjB,iBAAAA;EACZkB,WAAAA;AAAAA,GACClB,2BAAAA;EACDmB,IAAAA,EAAMnB,WAAAA;IACJe,GAAAA,EAAKnB,OAAAA;IACLoB,IAAAA;IACAC,UAAAA,EAAYjB,iBAAAA;IACZkB,WAAAA;EAAAA,GACClB,2BAAAA;IACDoB,oBAAAA,EAAsBpB,cAAAA;MACpBqB,KAAAA;MACAC,MAAAA;MACAN,IAAAA;IAAAA;IAEFO,oBAAAA,EAAsBvB,iBAAAA;MACpBqB,KAAAA;QACEG,IAAAA;MAAAA;MAEFF,MAAAA;QACEG,EAAAA;QACAD,IAAAA;QACAE,KAAAA;QACAC,SAAAA,EAAWtB,IAAAA;QACXuB,SAAAA,EAAWvB,IAAAA;QACXwB,MAAAA;QACAC,IAAAA;QACAC,SAAAA,EAAW1B,IAAAA;MAAAA;MAEbW,IAAAA;IAAAA;IAEFgB,sBAAAA,EAAwBhC,iBAAAA;MACtBqB,KAAAA;QACEY,MAAAA;QACAC,cAAAA;MAAAA;MAEFZ,MAAAA;QACEG,EAAAA;QACAU,WAAAA;QACAL,IAAAA;QACAD,MAAAA;QACAE,SAAAA,EAAW1B,IAAAA;QACX+B,SAAAA,EAAW/B,IAAAA;QACXgC,YAAAA;QACAV,SAAAA,EAAWtB,IAAAA;QACXuB,SAAAA,EAAWvB,IAAAA;MAAAA;MAEbW,IAAAA;IAAAA;IAEFsB,iBAAAA,EAAmBtC,cAAAA;MACjBqB,KAAAA;MACAC,MAAAA;QACEG,EAAAA;QACAE,SAAAA,EAAWtB,IAAAA;QACXuB,SAAAA,EAAWvB,IAAAA;
|
|
1
|
+
{"version":3,"file":"types.d.mts","names":["Context","TRPCMethods","BillingService","AuthService","_$_trpc_server0","_$stripe","createAuthTRPCRouter","TRPCDefaultErrorShape","TRPCQueryProcedure","Date","TRPCMutationProcedure","Record","TRPCDecorateCreateRouterOptions","TRPCBuiltRouter","Stripe","Invoice","trpcMethods","authService","billingService","ctx","meta","errorShape","transformer","auth","getUserWaitlistCount","input","output","createInvitationCode","name","id","email","createdAt","updatedAt","status","code","expiresAt","createAccountClaimCode","userId","expiresInHours","claimUserId","claimedAt","claimedEmail","listAccountClaims","generateAccountClaimMagicLink","claimId","url","listAccountClaimMagicLinks","getMyAccountClaimStatus","setMyAccountClaimEmail","acceptMyAccountClaim","listWaitlist","listAdminWaitlist","addToWaitlist","inviteToWaitlist","inviteFromWaitlist","removeFromWaitlist","joinWaitlist","getOnboarding","setOnboarding","getPreferences","setPreferences","getOrganizationPreferences","setOrganizationPreferences","getMetadata","setMetadata","getFlags","getOrganizationFlags","setFlags","setOrganizationFlags","validateWaitlistCode","billing","getActiveSubscription","plan","referenceId","stripeCustomerId","stripeSubscriptionId","periodStart","periodEnd","cancelAtPeriodEnd","cancelAt","canceledAt","seats","trialStart","trialEnd","priceId","interval","unitAmount","discounts","listInvoices","BackendTRPCRouter","ReturnType"],"sources":["../../../../../../backend/dist/src/types.d.mts"],"mappings":"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"}
|
|
@@ -62,8 +62,8 @@ declare const createAuthTRPCRouter: (trpcMethods: TRPCMethods, authService: Auth
|
|
|
62
62
|
id: string;
|
|
63
63
|
createdAt: Date;
|
|
64
64
|
updatedAt: Date | null;
|
|
65
|
-
expiresAt: Date | null;
|
|
66
65
|
status: string;
|
|
66
|
+
expiresAt: Date | null;
|
|
67
67
|
claimUserId: string | null;
|
|
68
68
|
claimedAt: Date | null;
|
|
69
69
|
claimedEmail: string | null;
|
|
@@ -149,8 +149,8 @@ declare const createAuthTRPCRouter: (trpcMethods: TRPCMethods, authService: Auth
|
|
|
149
149
|
listAdminWaitlist: QueryProcedure<{
|
|
150
150
|
input: void;
|
|
151
151
|
output: {
|
|
152
|
-
id: string;
|
|
153
152
|
name: string | null;
|
|
153
|
+
id: string;
|
|
154
154
|
email: string | null;
|
|
155
155
|
createdAt: Date;
|
|
156
156
|
updatedAt: Date | null;
|
|
@@ -163,8 +163,8 @@ declare const createAuthTRPCRouter: (trpcMethods: TRPCMethods, authService: Auth
|
|
|
163
163
|
email: string;
|
|
164
164
|
};
|
|
165
165
|
output: {
|
|
166
|
-
id: string;
|
|
167
166
|
name: string | null;
|
|
167
|
+
id: string;
|
|
168
168
|
email: string | null;
|
|
169
169
|
createdAt: Date;
|
|
170
170
|
updatedAt: Date | null;
|
|
@@ -194,8 +194,8 @@ declare const createAuthTRPCRouter: (trpcMethods: TRPCMethods, authService: Auth
|
|
|
194
194
|
id: string;
|
|
195
195
|
};
|
|
196
196
|
output: {
|
|
197
|
-
id: string;
|
|
198
197
|
name: string | null;
|
|
198
|
+
id: string;
|
|
199
199
|
email: string | null;
|
|
200
200
|
createdAt: Date;
|
|
201
201
|
updatedAt: Date | null;
|
|
@@ -208,8 +208,8 @@ declare const createAuthTRPCRouter: (trpcMethods: TRPCMethods, authService: Auth
|
|
|
208
208
|
id: string;
|
|
209
209
|
};
|
|
210
210
|
output: {
|
|
211
|
-
id: string;
|
|
212
211
|
name: string | null;
|
|
212
|
+
id: string;
|
|
213
213
|
email: string | null;
|
|
214
214
|
createdAt: Date;
|
|
215
215
|
updatedAt: Date | null;
|
|
@@ -222,8 +222,8 @@ declare const createAuthTRPCRouter: (trpcMethods: TRPCMethods, authService: Auth
|
|
|
222
222
|
email: string;
|
|
223
223
|
};
|
|
224
224
|
output: {
|
|
225
|
-
id: string;
|
|
226
225
|
name: string | null;
|
|
226
|
+
id: string;
|
|
227
227
|
email: string | null;
|
|
228
228
|
createdAt: Date;
|
|
229
229
|
updatedAt: Date | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","names":["Context","TRPCMethods","BillingService","AuthService","_$_trpc_server0","_$stripe","createAuthTRPCRouter","TRPCDefaultErrorShape","TRPCQueryProcedure","Date","TRPCMutationProcedure","Record","TRPCDecorateCreateRouterOptions","TRPCBuiltRouter","Stripe","Invoice","trpcMethods","authService","billingService","ctx","meta","errorShape","transformer","auth","getUserWaitlistCount","input","output","createInvitationCode","name","id","email","createdAt","updatedAt","status","code","expiresAt","createAccountClaimCode","userId","expiresInHours","claimUserId","claimedAt","claimedEmail","listAccountClaims","generateAccountClaimMagicLink","claimId","url","listAccountClaimMagicLinks","getMyAccountClaimStatus","setMyAccountClaimEmail","acceptMyAccountClaim","listWaitlist","listAdminWaitlist","addToWaitlist","inviteToWaitlist","inviteFromWaitlist","removeFromWaitlist","joinWaitlist","getOnboarding","setOnboarding","getPreferences","setPreferences","getOrganizationPreferences","setOrganizationPreferences","getMetadata","setMetadata","getFlags","getOrganizationFlags","setFlags","setOrganizationFlags","validateWaitlistCode","billing","getActiveSubscription","plan","referenceId","stripeCustomerId","stripeSubscriptionId","periodStart","periodEnd","cancelAtPeriodEnd","cancelAt","canceledAt","seats","trialStart","trialEnd","priceId","interval","unitAmount","discounts","listInvoices","BackendTRPCRouter","ReturnType"],"sources":["../../../../../../backend/dist/src/types.d.mts"],"mappings":";;;;;;;cAOcM,oBAAAA,GAAuBU,WAAAA,EAAaf,WAAAA,EAAagB,WAAAA,EAAad,WAAAA,EAAae,cAAAA,EAAgBhB,cAAAA,KAAmBE,WAAAA;EAC1He,GAAAA,EAAKnB,OAAAA;EACLoB,IAAAA;EACAC,UAAAA,EAAYjB,iBAAAA;EACZkB,WAAAA;AAAAA,GACClB,2BAAAA;EACDmB,IAAAA,EAAMnB,WAAAA;IACJe,GAAAA,EAAKnB,OAAAA;IACLoB,IAAAA;IACAC,UAAAA,EAAYjB,iBAAAA;IACZkB,WAAAA;EAAAA,GACClB,2BAAAA;IACDoB,oBAAAA,EAAsBpB,cAAAA;MACpBqB,KAAAA;MACAC,MAAAA;MACAN,IAAAA;IAAAA;IAEFO,oBAAAA,EAAsBvB,iBAAAA;MACpBqB,KAAAA;QACEG,IAAAA;MAAAA;MAEFF,MAAAA;QACEG,EAAAA;QACAD,IAAAA;QACAE,KAAAA;QACAC,SAAAA,EAAWtB,IAAAA;QACXuB,SAAAA,EAAWvB,IAAAA;QACXwB,MAAAA;QACAC,IAAAA;QACAC,SAAAA,EAAW1B,IAAAA;MAAAA;MAEbW,IAAAA;IAAAA;IAEFgB,sBAAAA,EAAwBhC,iBAAAA;MACtBqB,KAAAA;QACEY,MAAAA;QACAC,cAAAA;MAAAA;MAEFZ,MAAAA;QACEG,EAAAA;QACAU,WAAAA;QACAL,IAAAA;QACAD,MAAAA;QACAE,SAAAA,EAAW1B,IAAAA;QACX+B,SAAAA,EAAW/B,IAAAA;QACXgC,YAAAA;QACAV,SAAAA,EAAWtB,IAAAA;QACXuB,SAAAA,EAAWvB,IAAAA;MAAAA;MAEbW,IAAAA;IAAAA;IAEFsB,iBAAAA,EAAmBtC,cAAAA;MACjBqB,KAAAA;MACAC,MAAAA;QACEG,EAAAA;QACAE,SAAAA,EAAWtB,IAAAA;QACXuB,SAAAA,EAAWvB,IAAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","names":["Context","TRPCMethods","BillingService","AuthService","_$_trpc_server0","_$stripe","createAuthTRPCRouter","TRPCDefaultErrorShape","TRPCQueryProcedure","Date","TRPCMutationProcedure","Record","TRPCDecorateCreateRouterOptions","TRPCBuiltRouter","Stripe","Invoice","trpcMethods","authService","billingService","ctx","meta","errorShape","transformer","auth","getUserWaitlistCount","input","output","createInvitationCode","name","id","email","createdAt","updatedAt","status","code","expiresAt","createAccountClaimCode","userId","expiresInHours","claimUserId","claimedAt","claimedEmail","listAccountClaims","generateAccountClaimMagicLink","claimId","url","listAccountClaimMagicLinks","getMyAccountClaimStatus","setMyAccountClaimEmail","acceptMyAccountClaim","listWaitlist","listAdminWaitlist","addToWaitlist","inviteToWaitlist","inviteFromWaitlist","removeFromWaitlist","joinWaitlist","getOnboarding","setOnboarding","getPreferences","setPreferences","getOrganizationPreferences","setOrganizationPreferences","getMetadata","setMetadata","getFlags","getOrganizationFlags","setFlags","setOrganizationFlags","validateWaitlistCode","billing","getActiveSubscription","plan","referenceId","stripeCustomerId","stripeSubscriptionId","periodStart","periodEnd","cancelAtPeriodEnd","cancelAt","canceledAt","seats","trialStart","trialEnd","priceId","interval","unitAmount","discounts","listInvoices","BackendTRPCRouter","ReturnType"],"sources":["../../../../../../backend/dist/src/types.d.mts"],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@ declare function AuthProvider({
|
|
|
18
18
|
children: React.ReactNode;
|
|
19
19
|
loader?: React.ReactNode;
|
|
20
20
|
onSession?: (session: Session | null) => void;
|
|
21
|
-
}): string | number | bigint | true | Iterable<_$react.ReactNode> | Promise<string | number | bigint | boolean | _$react.ReactPortal | _$react.ReactElement<unknown, string | _$react.JSXElementConstructor<any>> | Iterable<_$react.ReactNode> | null | undefined
|
|
21
|
+
}): string | number | bigint | true | _$react_jsx_runtime0.JSX.Element | Iterable<_$react.ReactNode> | Promise<string | number | bigint | boolean | _$react.ReactPortal | _$react.ReactElement<unknown, string | _$react.JSXElementConstructor<any>> | Iterable<_$react.ReactNode> | null | undefined>;
|
|
22
22
|
//#endregion
|
|
23
23
|
export { AuthProvider, authProviderContext };
|
|
24
24
|
//# sourceMappingURL=AuthProvider.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthProvider.d.mts","names":[],"sources":["../../../../../src/modules/auth/components/AuthProvider.tsx"],"mappings":";;;;;KAIK,OAAA,GAAU,UAAA,QAAkB,UAAA,CAAW,UAAA;AAAA,cAO/B,mBAAA,EAEE,OAAA,CAFiB,OAAA;;QAExB,OAAA;;oBAEY,SAAA;AAAA;AAAA,iBAQJ,YAAA,CAAA;EACd,QAAA;EACA,MAAA;EACA;AAAA;EAEA,QAAA,EAAU,KAAA,CAAM,SAAA;EAChB,MAAA,GAAS,KAAA,CAAM,SAAA;EACf,SAAA,IAAa,OAAA,EAAS,OAAA;AAAA,sCACvB,QAAA,
|
|
1
|
+
{"version":3,"file":"AuthProvider.d.mts","names":[],"sources":["../../../../../src/modules/auth/components/AuthProvider.tsx"],"mappings":";;;;;KAIK,OAAA,GAAU,UAAA,QAAkB,UAAA,CAAW,UAAA;AAAA,cAO/B,mBAAA,EAEE,OAAA,CAFiB,OAAA;;QAExB,OAAA;;oBAEY,SAAA;AAAA;AAAA,iBAQJ,YAAA,CAAA;EACd,QAAA;EACA,MAAA;EACA;AAAA;EAEA,QAAA,EAAU,KAAA,CAAM,SAAA;EAChB,MAAA,GAAS,KAAA,CAAM,SAAA;EACf,SAAA,IAAa,OAAA,EAAS,OAAA;AAAA,sCACvB,oBAAA,CAAA,GAAA,CAAA,OAAA,GAAA,QAAA,CAAA,OAAA,CAAA,SAAA,IAAA,OAAA,sCAAA,OAAA,CAAA,WAAA,GAAA,OAAA,CAAA,YAAA,mBAAA,OAAA,CAAA,qBAAA,SAAA,QAAA,CAAA,OAAA,CAAA,SAAA"}
|
|
@@ -18,7 +18,7 @@ declare function AuthProvider({
|
|
|
18
18
|
children: React.ReactNode;
|
|
19
19
|
loader?: React.ReactNode;
|
|
20
20
|
onSession?: (session: Session | null) => void;
|
|
21
|
-
}): string | number | bigint | true | Iterable<_$react.ReactNode> | Promise<string | number | bigint | boolean | _$react.ReactPortal | _$react.ReactElement<unknown, string | _$react.JSXElementConstructor<any>> | Iterable<_$react.ReactNode> | null | undefined
|
|
21
|
+
}): string | number | bigint | true | _$react_jsx_runtime0.JSX.Element | Iterable<_$react.ReactNode> | Promise<string | number | bigint | boolean | _$react.ReactPortal | _$react.ReactElement<unknown, string | _$react.JSXElementConstructor<any>> | Iterable<_$react.ReactNode> | null | undefined>;
|
|
22
22
|
//#endregion
|
|
23
23
|
export { AuthProvider, authProviderContext };
|
|
24
24
|
//# sourceMappingURL=AuthProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthProvider.d.ts","names":[],"sources":["../../../../../src/modules/auth/components/AuthProvider.tsx"],"mappings":";;;;;KAIK,OAAA,GAAU,UAAA,QAAkB,UAAA,CAAW,UAAA;AAAA,cAO/B,mBAAA,EAEE,OAAA,CAFiB,OAAA;;QAExB,OAAA;;oBAEY,SAAA;AAAA;AAAA,iBAQJ,YAAA,CAAA;EACd,QAAA;EACA,MAAA;EACA;AAAA;EAEA,QAAA,EAAU,KAAA,CAAM,SAAA;EAChB,MAAA,GAAS,KAAA,CAAM,SAAA;EACf,SAAA,IAAa,OAAA,EAAS,OAAA;AAAA,sCACvB,QAAA,
|
|
1
|
+
{"version":3,"file":"AuthProvider.d.ts","names":[],"sources":["../../../../../src/modules/auth/components/AuthProvider.tsx"],"mappings":";;;;;KAIK,OAAA,GAAU,UAAA,QAAkB,UAAA,CAAW,UAAA;AAAA,cAO/B,mBAAA,EAEE,OAAA,CAFiB,OAAA;;QAExB,OAAA;;oBAEY,SAAA;AAAA;AAAA,iBAQJ,YAAA,CAAA;EACd,QAAA;EACA,MAAA;EACA;AAAA;EAEA,QAAA,EAAU,KAAA,CAAM,SAAA;EAChB,MAAA,GAAS,KAAA,CAAM,SAAA;EACf,SAAA,IAAa,OAAA,EAAS,OAAA;AAAA,sCACvB,oBAAA,CAAA,GAAA,CAAA,OAAA,GAAA,QAAA,CAAA,OAAA,CAAA,SAAA,IAAA,OAAA,sCAAA,OAAA,CAAA,WAAA,GAAA,OAAA,CAAA,YAAA,mBAAA,OAAA,CAAA,qBAAA,SAAA,QAAA,CAAA,OAAA,CAAA,SAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_src_modules_auth_auth_lib = require("../auth.lib.js");
|
|
3
|
-
let posthog_js_react_dist_umd_index_js = require("posthog-js/react/dist/umd/index.js");
|
|
4
3
|
let react = require("react");
|
|
4
|
+
let posthog_js_react_dist_umd_index_js = require("posthog-js/react/dist/umd/index.js");
|
|
5
5
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
6
6
|
//#region src/modules/auth/components/AuthProvider.tsx
|
|
7
7
|
function isImpersonatedSession(session) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { authClient } from "../auth.lib.mjs";
|
|
2
|
-
import { usePostHog } from "posthog-js/react/dist/esm/index.js";
|
|
3
2
|
import { createContext, useCallback, useEffect, useState } from "react";
|
|
3
|
+
import { usePostHog } from "posthog-js/react/dist/esm/index.js";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
5
5
|
//#region src/modules/auth/components/AuthProvider.tsx
|
|
6
6
|
function isImpersonatedSession(session) {
|
|
@@ -20,7 +20,7 @@ declare function BillingProvider({
|
|
|
20
20
|
loader?: React.ReactNode;
|
|
21
21
|
planPage: React.ReactNode;
|
|
22
22
|
skipPlanCheck?: boolean;
|
|
23
|
-
}): string | number | bigint | boolean | Iterable<_$react.ReactNode> | Promise<string | number | bigint | boolean | _$react.ReactPortal | _$react.ReactElement<unknown, string | _$react.JSXElementConstructor<any>> | Iterable<_$react.ReactNode> | null | undefined> |
|
|
23
|
+
}): string | number | bigint | boolean | _$react_jsx_runtime0.JSX.Element | Iterable<_$react.ReactNode> | Promise<string | number | bigint | boolean | _$react.ReactPortal | _$react.ReactElement<unknown, string | _$react.JSXElementConstructor<any>> | Iterable<_$react.ReactNode> | null | undefined> | null | undefined;
|
|
24
24
|
//#endregion
|
|
25
25
|
export { BillingProvider, billingProviderContext };
|
|
26
26
|
//# sourceMappingURL=BillingProvider.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BillingProvider.d.mts","names":[],"sources":["../../../../../src/modules/billing/components/BillingProvider.tsx"],"mappings":";;;;;;cAKa,sBAAA,EAEQ,OAAA,CAFc,OAAA;;QAE3B,aAAA;AAAA;AAAA,iBAMQ,eAAA,CAAA;EACd,OAAA;EACA,QAAA;EACA,MAAA;EACA,QAAA;EACA;AAAA;EAEA,OAAA,EAAS,cAAA;EACT,QAAA,EAAU,KAAA,CAAM,SAAA;EAChB,MAAA,GAAS,KAAA,CAAM,SAAA;EACf,QAAA,EAAU,KAAA,CAAM,SAAA;EAChB,aAAA;AAAA,yCACD,QAAA,
|
|
1
|
+
{"version":3,"file":"BillingProvider.d.mts","names":[],"sources":["../../../../../src/modules/billing/components/BillingProvider.tsx"],"mappings":";;;;;;cAKa,sBAAA,EAEQ,OAAA,CAFc,OAAA;;QAE3B,aAAA;AAAA;AAAA,iBAMQ,eAAA,CAAA;EACd,OAAA;EACA,QAAA;EACA,MAAA;EACA,QAAA;EACA;AAAA;EAEA,OAAA,EAAS,cAAA;EACT,QAAA,EAAU,KAAA,CAAM,SAAA;EAChB,MAAA,GAAS,KAAA,CAAM,SAAA;EACf,QAAA,EAAU,KAAA,CAAM,SAAA;EAChB,aAAA;AAAA,yCACD,oBAAA,CAAA,GAAA,CAAA,OAAA,GAAA,QAAA,CAAA,OAAA,CAAA,SAAA,IAAA,OAAA,sCAAA,OAAA,CAAA,WAAA,GAAA,OAAA,CAAA,YAAA,mBAAA,OAAA,CAAA,qBAAA,SAAA,QAAA,CAAA,OAAA,CAAA,SAAA"}
|
|
@@ -20,7 +20,7 @@ declare function BillingProvider({
|
|
|
20
20
|
loader?: React.ReactNode;
|
|
21
21
|
planPage: React.ReactNode;
|
|
22
22
|
skipPlanCheck?: boolean;
|
|
23
|
-
}): string | number | bigint | boolean | Iterable<_$react.ReactNode> | Promise<string | number | bigint | boolean | _$react.ReactPortal | _$react.ReactElement<unknown, string | _$react.JSXElementConstructor<any>> | Iterable<_$react.ReactNode> | null | undefined> |
|
|
23
|
+
}): string | number | bigint | boolean | _$react_jsx_runtime0.JSX.Element | Iterable<_$react.ReactNode> | Promise<string | number | bigint | boolean | _$react.ReactPortal | _$react.ReactElement<unknown, string | _$react.JSXElementConstructor<any>> | Iterable<_$react.ReactNode> | null | undefined> | null | undefined;
|
|
24
24
|
//#endregion
|
|
25
25
|
export { BillingProvider, billingProviderContext };
|
|
26
26
|
//# sourceMappingURL=BillingProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BillingProvider.d.ts","names":[],"sources":["../../../../../src/modules/billing/components/BillingProvider.tsx"],"mappings":";;;;;;cAKa,sBAAA,EAEQ,OAAA,CAFc,OAAA;;QAE3B,aAAA;AAAA;AAAA,iBAMQ,eAAA,CAAA;EACd,OAAA;EACA,QAAA;EACA,MAAA;EACA,QAAA;EACA;AAAA;EAEA,OAAA,EAAS,cAAA;EACT,QAAA,EAAU,KAAA,CAAM,SAAA;EAChB,MAAA,GAAS,KAAA,CAAM,SAAA;EACf,QAAA,EAAU,KAAA,CAAM,SAAA;EAChB,aAAA;AAAA,yCACD,QAAA,
|
|
1
|
+
{"version":3,"file":"BillingProvider.d.ts","names":[],"sources":["../../../../../src/modules/billing/components/BillingProvider.tsx"],"mappings":";;;;;;cAKa,sBAAA,EAEQ,OAAA,CAFc,OAAA;;QAE3B,aAAA;AAAA;AAAA,iBAMQ,eAAA,CAAA;EACd,OAAA;EACA,QAAA;EACA,MAAA;EACA,QAAA;EACA;AAAA;EAEA,OAAA,EAAS,cAAA;EACT,QAAA,EAAU,KAAA,CAAM,SAAA;EAChB,MAAA,GAAS,KAAA,CAAM,SAAA;EACf,QAAA,EAAU,KAAA,CAAM,SAAA;EAChB,aAAA;AAAA,yCACD,oBAAA,CAAA,GAAA,CAAA,OAAA,GAAA,QAAA,CAAA,OAAA,CAAA,SAAA,IAAA,OAAA,sCAAA,OAAA,CAAA,WAAA,GAAA,OAAA,CAAA,YAAA,mBAAA,OAAA,CAAA,qBAAA,SAAA,QAAA,CAAA,OAAA,CAAA,SAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
let _tanstack_react_query = require("@tanstack/react-query");
|
|
2
3
|
let react = require("react");
|
|
3
4
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
4
|
-
let _tanstack_react_query = require("@tanstack/react-query");
|
|
5
5
|
//#region src/modules/billing/components/BillingProvider.tsx
|
|
6
6
|
const billingProviderContext = (0, react.createContext)({
|
|
7
7
|
isLoading: true,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { useQuery } from "@tanstack/react-query";
|
|
1
2
|
import { createContext } from "react";
|
|
2
3
|
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
import { useQuery } from "@tanstack/react-query";
|
|
4
4
|
//#region src/modules/billing/components/BillingProvider.tsx
|
|
5
5
|
const billingProviderContext = createContext({
|
|
6
6
|
isLoading: true,
|
|
@@ -28,7 +28,7 @@ interface NuqsQueryParams {
|
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
30
|
* Hook to manage all query parameters via nuqs (URL query parameters)
|
|
31
|
-
* Manages: filters
|
|
31
|
+
* Manages: `f` (filters as tuple arrays), `q`, `s`/`o`, `p`/`l`, `g`, `r`
|
|
32
32
|
* Accepts an optional prefix to namespace params when multiple tables share a view.
|
|
33
33
|
*/
|
|
34
34
|
declare const useNuqsQueryParams: (prefix?: string) => NuqsQueryParams;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNuqsQueryParams.d.mts","names":[],"sources":["../../../../../src/modules/table/hooks/useNuqsQueryParams.ts"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"useNuqsQueryParams.d.mts","names":[],"sources":["../../../../../src/modules/table/hooks/useNuqsQueryParams.ts"],"mappings":";;;;;;;KAsJY,KAAA;AAAA,KAEA,WAAA;AAAA,UAEK,eAAA;;EAEf,CAAA;EACA,IAAA,GAAO,KAAA;EACP,OAAA,GAAU,YAAA;EACV,UAAA,IAAc,OAAA,EAAS,YAAA;EACvB,WAAA,GAAc,WAAA;EACd,cAAA,IAAkB,KAAA,EAAO,WAAA;EACzB,IAAA;EACA,KAAA,GAAQ,KAAA;EACR,UAAA,IAAc,OAAA,EAAS,OAAA,CAAQ,YAAA;EAC/B,OAAA,GAAU,YAAA;EACV,IAAA;EACA,KAAA;EACA,aAAA,IAAiB,OAAA,EAAS,OAAA,CAAQ,eAAA;EAClC,UAAA,GAAa,eAAA;EACb,QAAA,EAAU,aAAA;EACV,WAAA,GAAc,OAAA,EAAS,OAAA,CAAQ,aAAA;AAAA;;;;;;cAQpB,kBAAA,GAAsB,MAAA,cAAkB,eAAA"}
|
|
@@ -28,7 +28,7 @@ interface NuqsQueryParams {
|
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
30
|
* Hook to manage all query parameters via nuqs (URL query parameters)
|
|
31
|
-
* Manages: filters
|
|
31
|
+
* Manages: `f` (filters as tuple arrays), `q`, `s`/`o`, `p`/`l`, `g`, `r`
|
|
32
32
|
* Accepts an optional prefix to namespace params when multiple tables share a view.
|
|
33
33
|
*/
|
|
34
34
|
declare const useNuqsQueryParams: (prefix?: string) => NuqsQueryParams;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNuqsQueryParams.d.ts","names":[],"sources":["../../../../../src/modules/table/hooks/useNuqsQueryParams.ts"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"useNuqsQueryParams.d.ts","names":[],"sources":["../../../../../src/modules/table/hooks/useNuqsQueryParams.ts"],"mappings":";;;;;;;KAsJY,KAAA;AAAA,KAEA,WAAA;AAAA,UAEK,eAAA;;EAEf,CAAA;EACA,IAAA,GAAO,KAAA;EACP,OAAA,GAAU,YAAA;EACV,UAAA,IAAc,OAAA,EAAS,YAAA;EACvB,WAAA,GAAc,WAAA;EACd,cAAA,IAAkB,KAAA,EAAO,WAAA;EACzB,IAAA;EACA,KAAA,GAAQ,KAAA;EACR,UAAA,IAAc,OAAA,EAAS,OAAA,CAAQ,YAAA;EAC/B,OAAA,GAAU,YAAA;EACV,IAAA;EACA,KAAA;EACA,aAAA,IAAiB,OAAA,EAAS,OAAA,CAAQ,eAAA;EAClC,UAAA,GAAa,eAAA;EACb,QAAA,EAAU,aAAA;EACV,WAAA,GAAc,OAAA,EAAS,OAAA,CAAQ,aAAA;AAAA;;;;;;cAQpB,kBAAA,GAAsB,MAAA,cAAkB,eAAA"}
|
|
@@ -2,32 +2,123 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
2
2
|
let react = require("react");
|
|
3
3
|
let _m5kdev_commons_modules_schemas_query_schema = require("@m5kdev/commons/modules/schemas/query.schema");
|
|
4
4
|
let nuqs = require("nuqs");
|
|
5
|
+
let zod = require("zod");
|
|
5
6
|
//#region src/modules/table/hooks/useNuqsQueryParams.ts
|
|
6
|
-
|
|
7
|
+
/** Each row: [columnId, type, method, value, valueTo?, endColumnId?] — all strings in the URL */
|
|
8
|
+
const filtersRawSchema = zod.z.array(zod.z.array(zod.z.string()).min(4).max(6));
|
|
9
|
+
const parseAsFilterTuples = (0, nuqs.parseAsJson)((value) => filtersRawSchema.parse(value)).withDefault([]);
|
|
7
10
|
const parseAsGrouping = (0, nuqs.parseAsArrayOf)(nuqs.parseAsString).withDefault([]);
|
|
11
|
+
const NULLISH_METHODS = new Set([
|
|
12
|
+
"isEmpty",
|
|
13
|
+
"isNotEmpty",
|
|
14
|
+
"is_null",
|
|
15
|
+
"is_not_null"
|
|
16
|
+
]);
|
|
17
|
+
function encodeFilterValue(filter) {
|
|
18
|
+
if (NULLISH_METHODS.has(filter.method)) return typeof filter.value === "string" ? filter.value : "";
|
|
19
|
+
const { type, method, value } = filter;
|
|
20
|
+
switch (type) {
|
|
21
|
+
case "number": return String(value);
|
|
22
|
+
case "boolean": return value ? "true" : "false";
|
|
23
|
+
case "enum":
|
|
24
|
+
case "jsonArray":
|
|
25
|
+
if (method === "oneOf" && Array.isArray(value)) return JSON.stringify(value);
|
|
26
|
+
if (Array.isArray(value)) return JSON.stringify(value);
|
|
27
|
+
return String(value);
|
|
28
|
+
default: return String(value);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
function decodeFilterValue(type, method, valueStr) {
|
|
32
|
+
if (NULLISH_METHODS.has(method)) return valueStr;
|
|
33
|
+
switch (type) {
|
|
34
|
+
case "number": {
|
|
35
|
+
const n = Number.parseFloat(valueStr);
|
|
36
|
+
return Number.isNaN(n) ? 0 : n;
|
|
37
|
+
}
|
|
38
|
+
case "boolean": return valueStr === "true";
|
|
39
|
+
case "enum":
|
|
40
|
+
case "jsonArray":
|
|
41
|
+
if (method === "oneOf") try {
|
|
42
|
+
const parsed = JSON.parse(valueStr);
|
|
43
|
+
return Array.isArray(parsed) ? parsed.map(String) : [];
|
|
44
|
+
} catch {
|
|
45
|
+
return [];
|
|
46
|
+
}
|
|
47
|
+
if (valueStr.startsWith("[")) try {
|
|
48
|
+
const parsed = JSON.parse(valueStr);
|
|
49
|
+
if (Array.isArray(parsed)) return parsed.map(String);
|
|
50
|
+
} catch {}
|
|
51
|
+
return valueStr;
|
|
52
|
+
default: return valueStr;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
/** Builds URL tuple; omits optional tails when unused (endColumnId requires valueTo slot — may be ""). */
|
|
56
|
+
function encodeFilterToTuple(filter) {
|
|
57
|
+
const tuple = [
|
|
58
|
+
filter.columnId,
|
|
59
|
+
filter.type,
|
|
60
|
+
filter.method,
|
|
61
|
+
encodeFilterValue(filter)
|
|
62
|
+
];
|
|
63
|
+
const hasValueTo = filter.valueTo != null && filter.valueTo !== "";
|
|
64
|
+
const hasEndColumnId = filter.endColumnId != null && filter.endColumnId !== "";
|
|
65
|
+
if (hasValueTo && filter.valueTo != null) tuple.push(filter.valueTo);
|
|
66
|
+
if (hasEndColumnId && filter.endColumnId != null) {
|
|
67
|
+
if (!hasValueTo) tuple.push("");
|
|
68
|
+
tuple.push(filter.endColumnId);
|
|
69
|
+
}
|
|
70
|
+
return tuple;
|
|
71
|
+
}
|
|
72
|
+
function decodeTupleToFilter(parts) {
|
|
73
|
+
if (parts.length < 4 || parts.length > 6) return null;
|
|
74
|
+
const [columnId, typeStr, methodStr, valueStr, valueToStr, endColumnIdStr] = parts;
|
|
75
|
+
const typeParsed = _m5kdev_commons_modules_schemas_query_schema.filterSchema.shape.type.safeParse(typeStr);
|
|
76
|
+
const methodParsed = _m5kdev_commons_modules_schemas_query_schema.filterSchema.shape.method.safeParse(methodStr);
|
|
77
|
+
if (!typeParsed.success || !methodParsed.success) return null;
|
|
78
|
+
const type = typeParsed.data;
|
|
79
|
+
const method = methodParsed.data;
|
|
80
|
+
const candidate = {
|
|
81
|
+
columnId,
|
|
82
|
+
type,
|
|
83
|
+
method,
|
|
84
|
+
value: decodeFilterValue(type, method, valueStr)
|
|
85
|
+
};
|
|
86
|
+
if (valueToStr !== void 0) candidate.valueTo = valueToStr;
|
|
87
|
+
if (endColumnIdStr !== void 0) candidate.endColumnId = endColumnIdStr;
|
|
88
|
+
const parsed = _m5kdev_commons_modules_schemas_query_schema.filterSchema.safeParse(candidate);
|
|
89
|
+
return parsed.success ? parsed.data : null;
|
|
90
|
+
}
|
|
8
91
|
/**
|
|
9
92
|
* Hook to manage all query parameters via nuqs (URL query parameters)
|
|
10
|
-
* Manages: filters
|
|
93
|
+
* Manages: `f` (filters as tuple arrays), `q`, `s`/`o`, `p`/`l`, `g`, `r`
|
|
11
94
|
* Accepts an optional prefix to namespace params when multiple tables share a view.
|
|
12
95
|
*/
|
|
13
96
|
const useNuqsQueryParams = (prefix) => {
|
|
14
97
|
const k = (name) => prefix ? `${prefix}_${name}` : name;
|
|
15
|
-
const [sort, setSort] = (0, nuqs.useQueryState)(k("
|
|
16
|
-
const [order, setOrder] = (0, nuqs.useQueryState)(k("
|
|
17
|
-
const [page, setPage] = (0, nuqs.useQueryState)(k("
|
|
18
|
-
const [limit, setLimit] = (0, nuqs.useQueryState)(k("
|
|
98
|
+
const [sort, setSort] = (0, nuqs.useQueryState)(k("s"), nuqs.parseAsString.withDefault(""));
|
|
99
|
+
const [order, setOrder] = (0, nuqs.useQueryState)(k("o"), (0, nuqs.parseAsStringLiteral)(["asc", "desc"]));
|
|
100
|
+
const [page, setPage] = (0, nuqs.useQueryState)(k("p"), nuqs.parseAsInteger.withDefault(1));
|
|
101
|
+
const [limit, setLimit] = (0, nuqs.useQueryState)(k("l"), nuqs.parseAsInteger.withDefault(10));
|
|
19
102
|
const [qRaw, setQRaw] = (0, nuqs.useQueryState)(k("q"), nuqs.parseAsString);
|
|
20
|
-
const [
|
|
103
|
+
const [filtersRaw, setFiltersRaw] = (0, nuqs.useQueryState)(k("f"), parseAsFilterTuples);
|
|
104
|
+
const filters = (0, react.useMemo)(() => {
|
|
105
|
+
const decoded = filtersRaw.map((row) => decodeTupleToFilter(row)).filter((f) => f != null);
|
|
106
|
+
const parsed = _m5kdev_commons_modules_schemas_query_schema.filtersSchema.safeParse(decoded);
|
|
107
|
+
return parsed.success ? parsed.data : [];
|
|
108
|
+
}, [filtersRaw]);
|
|
109
|
+
const setFilters = (0, react.useCallback)((next) => {
|
|
110
|
+
setFiltersRaw(next.length === 0 ? null : next.map(encodeFilterToTuple));
|
|
111
|
+
}, [setFiltersRaw]);
|
|
21
112
|
const setQ = (0, react.useCallback)((value) => {
|
|
22
113
|
setQRaw(value === "" || value == null ? null : value);
|
|
23
114
|
}, [setQRaw]);
|
|
24
|
-
const [granularity, setGranularity] = (0, nuqs.useQueryState)(k("
|
|
115
|
+
const [granularity, setGranularity] = (0, nuqs.useQueryState)(k("r"), (0, nuqs.parseAsStringLiteral)([
|
|
25
116
|
"daily",
|
|
26
117
|
"weekly",
|
|
27
118
|
"monthly",
|
|
28
119
|
"yearly"
|
|
29
120
|
]).withDefault("daily"));
|
|
30
|
-
const [groupingRaw, setGroupingRaw] = (0, nuqs.useQueryState)(k("
|
|
121
|
+
const [groupingRaw, setGroupingRaw] = (0, nuqs.useQueryState)(k("g"), parseAsGrouping);
|
|
31
122
|
const grouping = groupingRaw;
|
|
32
123
|
const setGrouping = (0, react.useCallback)((updater) => {
|
|
33
124
|
const next = typeof updater === "function" ? updater(groupingRaw) : updater;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNuqsQueryParams.js","names":["filtersSchema","parseAsString","parseAsInteger"],"sources":["../../../../../src/modules/table/hooks/useNuqsQueryParams.ts"],"sourcesContent":["import type { QueryFilters } from \"@m5kdev/commons/modules/schemas/query.schema\";\r\nimport { filtersSchema } from \"@m5kdev/commons/modules/schemas/query.schema\";\r\nimport type { GroupingState, PaginationState, SortingState, Updater } from \"@tanstack/react-table\";\r\nimport {\r\n parseAsArrayOf,\r\n parseAsInteger,\r\n parseAsJson,\r\n parseAsString,\r\n parseAsStringLiteral,\r\n useQueryState,\r\n} from \"nuqs\";\r\nimport { useCallback, useEffect, useMemo } from \"react\";\r\n\r\nconst parseAsFilters = parseAsJson<QueryFilters>((value) => filtersSchema.parse(value)).withDefault(\r\n []\r\n);\r\n\r\nconst parseAsGrouping = parseAsArrayOf(parseAsString).withDefault([]);\r\n\r\nexport type Order = \"asc\" | \"desc\";\r\n\r\nexport type Granularity = \"daily\" | \"weekly\" | \"monthly\" | \"yearly\";\r\n\r\nexport interface NuqsQueryParams {\r\n /** Global search string from URL (`q`); absent when not in URL. */\r\n q: string | null;\r\n setQ: (value: string | null) => void;\r\n filters?: QueryFilters;\r\n setFilters?: (filters: QueryFilters) => void;\r\n granularity?: Granularity;\r\n setGranularity?: (value: Granularity) => void;\r\n sort?: string;\r\n order?: Order | null;\r\n setSorting?: (updater: Updater<SortingState>) => void;\r\n sorting?: SortingState;\r\n page?: number;\r\n limit?: number;\r\n setPagination?: (updater: Updater<PaginationState>) => void;\r\n pagination?: PaginationState;\r\n grouping: GroupingState;\r\n setGrouping: (updater: Updater<GroupingState>) => void;\r\n}\r\n\r\n/**\r\n * Hook to manage all query parameters via nuqs (URL query parameters)\r\n * Manages: filters, q, sort, order, page, limit, groupBy, granularity\r\n * Accepts an optional prefix to namespace params when multiple tables share a view.\r\n */\r\nexport const useNuqsQueryParams = (prefix?: string): NuqsQueryParams => {\r\n const k = (name: string) => (prefix ? `${prefix}_${name}` : name);\r\n\r\n const [sort, setSort] = useQueryState<string>(k(\"sort\"), parseAsString.withDefault(\"\"));\r\n const [order, setOrder] = useQueryState<Order>(k(\"order\"), parseAsStringLiteral([\"asc\", \"desc\"]));\r\n const [page, setPage] = useQueryState<number>(k(\"page\"), parseAsInteger.withDefault(1));\r\n const [limit, setLimit] = useQueryState<number>(k(\"limit\"), parseAsInteger.withDefault(10));\r\n const [qRaw, setQRaw] = useQueryState(k(\"q\"), parseAsString);\r\n const [filters, setFilters] = useQueryState<QueryFilters>(k(\"filters\"), parseAsFilters);\r\n\r\n const setQ = useCallback(\r\n (value: string | null) => {\r\n void setQRaw(value === \"\" || value == null ? null : value);\r\n },\r\n [setQRaw]\r\n );\r\n const [granularity, setGranularity] = useQueryState<Granularity>(\r\n k(\"granularity\"),\r\n parseAsStringLiteral([\"daily\", \"weekly\", \"monthly\", \"yearly\"]).withDefault(\"daily\")\r\n );\r\n const [groupingRaw, setGroupingRaw] = useQueryState<string[]>(k(\"groupBy\"), parseAsGrouping);\r\n const grouping: GroupingState = groupingRaw;\r\n\r\n const setGrouping = useCallback(\r\n (updater: Updater<GroupingState>) => {\r\n const next = typeof updater === \"function\" ? updater(groupingRaw) : updater;\r\n setGroupingRaw(next.length > 0 ? next : null);\r\n },\r\n [groupingRaw, setGroupingRaw]\r\n );\r\n\r\n const sorting = useMemo(() => {\r\n if (!sort) {\r\n return [];\r\n }\r\n const effectiveOrder = order ?? \"asc\";\r\n return [{ id: sort, desc: effectiveOrder === \"desc\" }];\r\n }, [sort, order]);\r\n\r\n const pagination = useMemo(() => ({ pageIndex: page - 1, pageSize: limit }), [page, limit]);\r\n\r\n const setSorting = useCallback(\r\n (updater: Updater<SortingState>) => {\r\n // Build current sorting state from current values\r\n const currentSorting: SortingState = sort\r\n ? [{ id: sort, desc: (order ?? \"asc\") === \"desc\" }]\r\n : [];\r\n\r\n const next = typeof updater === \"function\" ? updater(currentSorting) : updater;\r\n const first = next[0];\r\n\r\n if (!first || !first.id) {\r\n setSort(\"\");\r\n setOrder(null);\r\n return;\r\n }\r\n\r\n setSort(first.id);\r\n setOrder(first.desc ? \"desc\" : \"asc\");\r\n },\r\n [sort, order, setSort, setOrder]\r\n );\r\n\r\n // Sync order to \"asc\" if sort is set but order is null (handles URL state inconsistencies)\r\n useEffect(() => {\r\n if (sort && !order) {\r\n setOrder(\"asc\");\r\n }\r\n }, [sort, order, setOrder]);\r\n\r\n // biome-ignore lint/correctness/useExhaustiveDependencies: dependent on page and limit only\r\n const setPagination = useCallback(\r\n (updater: Updater<PaginationState>) => {\r\n // TanStack Table uses 0-based indexing, but URL uses 1-based\r\n const currentState = { pageIndex: page - 1, pageSize: limit };\r\n const next = typeof updater === \"function\" ? updater(currentState) : updater;\r\n // Convert back to 1-based for URL\r\n setPage((next.pageIndex ?? 0) + 1);\r\n setLimit(next.pageSize ?? 10);\r\n },\r\n [page, limit]\r\n );\r\n\r\n return useMemo(\r\n () => ({\r\n q: qRaw,\r\n setQ,\r\n filters,\r\n setFilters,\r\n granularity,\r\n setGranularity,\r\n sort,\r\n order,\r\n setSorting,\r\n sorting,\r\n page,\r\n limit,\r\n setPagination,\r\n pagination,\r\n grouping,\r\n setGrouping,\r\n }),\r\n [\r\n qRaw,\r\n setQ,\r\n filters,\r\n setFilters,\r\n granularity,\r\n setGranularity,\r\n sort,\r\n order,\r\n setSorting,\r\n sorting,\r\n page,\r\n limit,\r\n setPagination,\r\n pagination,\r\n grouping,\r\n setGrouping,\r\n ]\r\n );\r\n};\r\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useNuqsQueryParams.js","names":["z","parseAsString","filterSchema","parseAsInteger","filtersSchema"],"sources":["../../../../../src/modules/table/hooks/useNuqsQueryParams.ts"],"sourcesContent":["import type { QueryFilter, QueryFilters } from \"@m5kdev/commons/modules/schemas/query.schema\";\r\nimport { filterSchema, filtersSchema } from \"@m5kdev/commons/modules/schemas/query.schema\";\r\nimport type { GroupingState, PaginationState, SortingState, Updater } from \"@tanstack/react-table\";\r\nimport {\r\n parseAsArrayOf,\r\n parseAsInteger,\r\n parseAsJson,\r\n parseAsString,\r\n parseAsStringLiteral,\r\n useQueryState,\r\n} from \"nuqs\";\r\nimport { useCallback, useEffect, useMemo } from \"react\";\r\nimport { z } from \"zod\";\r\n\r\n/** Each row: [columnId, type, method, value, valueTo?, endColumnId?] — all strings in the URL */\r\nconst filtersRawSchema = z.array(z.array(z.string()).min(4).max(6));\r\n\r\nconst parseAsFilterTuples = parseAsJson<string[][]>((value) =>\r\n filtersRawSchema.parse(value)\r\n).withDefault([]);\r\n\r\nconst parseAsGrouping = parseAsArrayOf(parseAsString).withDefault([]);\r\n\r\nconst NULLISH_METHODS: ReadonlySet<QueryFilter[\"method\"]> = new Set([\r\n \"isEmpty\",\r\n \"isNotEmpty\",\r\n \"is_null\",\r\n \"is_not_null\",\r\n]);\r\n\r\nfunction encodeFilterValue(filter: QueryFilter): string {\r\n if (NULLISH_METHODS.has(filter.method)) {\r\n return typeof filter.value === \"string\" ? filter.value : \"\";\r\n }\r\n const { type, method, value } = filter;\r\n switch (type) {\r\n case \"number\":\r\n return String(value as number);\r\n case \"boolean\":\r\n return (value as boolean) ? \"true\" : \"false\";\r\n case \"enum\":\r\n case \"jsonArray\":\r\n if (method === \"oneOf\" && Array.isArray(value)) {\r\n return JSON.stringify(value);\r\n }\r\n if (Array.isArray(value)) {\r\n return JSON.stringify(value);\r\n }\r\n return String(value);\r\n default:\r\n return String(value);\r\n }\r\n}\r\n\r\nfunction decodeFilterValue(\r\n type: QueryFilter[\"type\"],\r\n method: QueryFilter[\"method\"],\r\n valueStr: string\r\n): QueryFilter[\"value\"] {\r\n if (NULLISH_METHODS.has(method)) {\r\n return valueStr;\r\n }\r\n switch (type) {\r\n case \"number\": {\r\n const n = Number.parseFloat(valueStr);\r\n return Number.isNaN(n) ? 0 : n;\r\n }\r\n case \"boolean\":\r\n return valueStr === \"true\";\r\n case \"enum\":\r\n case \"jsonArray\":\r\n if (method === \"oneOf\") {\r\n try {\r\n const parsed = JSON.parse(valueStr) as unknown;\r\n return Array.isArray(parsed) ? parsed.map(String) : [];\r\n } catch {\r\n return [];\r\n }\r\n }\r\n if (valueStr.startsWith(\"[\")) {\r\n try {\r\n const parsed = JSON.parse(valueStr) as unknown;\r\n if (Array.isArray(parsed)) {\r\n return parsed.map(String);\r\n }\r\n } catch {\r\n /* use raw string */\r\n }\r\n }\r\n return valueStr;\r\n default:\r\n return valueStr;\r\n }\r\n}\r\n\r\n/** Builds URL tuple; omits optional tails when unused (endColumnId requires valueTo slot — may be \"\"). */\r\nfunction encodeFilterToTuple(filter: QueryFilter): string[] {\r\n const tuple: string[] = [filter.columnId, filter.type, filter.method, encodeFilterValue(filter)];\r\n const hasValueTo = filter.valueTo != null && filter.valueTo !== \"\";\r\n const hasEndColumnId = filter.endColumnId != null && filter.endColumnId !== \"\";\r\n\r\n if (hasValueTo && filter.valueTo != null) {\r\n tuple.push(filter.valueTo);\r\n }\r\n\r\n if (hasEndColumnId && filter.endColumnId != null) {\r\n if (!hasValueTo) {\r\n tuple.push(\"\");\r\n }\r\n tuple.push(filter.endColumnId);\r\n }\r\n\r\n return tuple;\r\n}\r\n\r\nfunction decodeTupleToFilter(parts: readonly string[]): QueryFilter | null {\r\n if (parts.length < 4 || parts.length > 6) {\r\n return null;\r\n }\r\n\r\n const [columnId, typeStr, methodStr, valueStr, valueToStr, endColumnIdStr] = parts;\r\n\r\n const typeParsed = filterSchema.shape.type.safeParse(typeStr);\r\n const methodParsed = filterSchema.shape.method.safeParse(methodStr);\r\n if (!typeParsed.success || !methodParsed.success) {\r\n return null;\r\n }\r\n\r\n const type = typeParsed.data;\r\n const method = methodParsed.data;\r\n const value = decodeFilterValue(type, method, valueStr);\r\n\r\n const candidate: QueryFilter = {\r\n columnId,\r\n type,\r\n method,\r\n value,\r\n };\r\n\r\n if (valueToStr !== undefined) {\r\n candidate.valueTo = valueToStr;\r\n }\r\n if (endColumnIdStr !== undefined) {\r\n candidate.endColumnId = endColumnIdStr;\r\n }\r\n\r\n const parsed = filterSchema.safeParse(candidate);\r\n return parsed.success ? parsed.data : null;\r\n}\r\n\r\nexport type Order = \"asc\" | \"desc\";\r\n\r\nexport type Granularity = \"daily\" | \"weekly\" | \"monthly\" | \"yearly\";\r\n\r\nexport interface NuqsQueryParams {\r\n /** Global search string from URL (`q`); absent when not in URL. */\r\n q: string | null;\r\n setQ: (value: string | null) => void;\r\n filters?: QueryFilters;\r\n setFilters?: (filters: QueryFilters) => void;\r\n granularity?: Granularity;\r\n setGranularity?: (value: Granularity) => void;\r\n sort?: string;\r\n order?: Order | null;\r\n setSorting?: (updater: Updater<SortingState>) => void;\r\n sorting?: SortingState;\r\n page?: number;\r\n limit?: number;\r\n setPagination?: (updater: Updater<PaginationState>) => void;\r\n pagination?: PaginationState;\r\n grouping: GroupingState;\r\n setGrouping: (updater: Updater<GroupingState>) => void;\r\n}\r\n\r\n/**\r\n * Hook to manage all query parameters via nuqs (URL query parameters)\r\n * Manages: `f` (filters as tuple arrays), `q`, `s`/`o`, `p`/`l`, `g`, `r`\r\n * Accepts an optional prefix to namespace params when multiple tables share a view.\r\n */\r\nexport const useNuqsQueryParams = (prefix?: string): NuqsQueryParams => {\r\n const k = (name: string) => (prefix ? `${prefix}_${name}` : name);\r\n\r\n const [sort, setSort] = useQueryState<string>(k(\"s\"), parseAsString.withDefault(\"\"));\r\n const [order, setOrder] = useQueryState<Order>(k(\"o\"), parseAsStringLiteral([\"asc\", \"desc\"]));\r\n const [page, setPage] = useQueryState<number>(k(\"p\"), parseAsInteger.withDefault(1));\r\n const [limit, setLimit] = useQueryState<number>(k(\"l\"), parseAsInteger.withDefault(10));\r\n const [qRaw, setQRaw] = useQueryState(k(\"q\"), parseAsString);\r\n const [filtersRaw, setFiltersRaw] = useQueryState<string[][]>(k(\"f\"), parseAsFilterTuples);\r\n\r\n const filters = useMemo((): QueryFilters => {\r\n const decoded = filtersRaw\r\n .map((row) => decodeTupleToFilter(row))\r\n .filter((f): f is QueryFilter => f != null);\r\n const parsed = filtersSchema.safeParse(decoded);\r\n return parsed.success ? parsed.data : [];\r\n }, [filtersRaw]);\r\n\r\n const setFilters = useCallback(\r\n (next: QueryFilters) => {\r\n void setFiltersRaw(next.length === 0 ? null : next.map(encodeFilterToTuple));\r\n },\r\n [setFiltersRaw]\r\n );\r\n\r\n const setQ = useCallback(\r\n (value: string | null) => {\r\n void setQRaw(value === \"\" || value == null ? null : value);\r\n },\r\n [setQRaw]\r\n );\r\n const [granularity, setGranularity] = useQueryState<Granularity>(\r\n k(\"r\"),\r\n parseAsStringLiteral([\"daily\", \"weekly\", \"monthly\", \"yearly\"]).withDefault(\"daily\")\r\n );\r\n const [groupingRaw, setGroupingRaw] = useQueryState<string[]>(k(\"g\"), parseAsGrouping);\r\n const grouping: GroupingState = groupingRaw;\r\n\r\n const setGrouping = useCallback(\r\n (updater: Updater<GroupingState>) => {\r\n const next = typeof updater === \"function\" ? updater(groupingRaw) : updater;\r\n setGroupingRaw(next.length > 0 ? next : null);\r\n },\r\n [groupingRaw, setGroupingRaw]\r\n );\r\n\r\n const sorting = useMemo(() => {\r\n if (!sort) {\r\n return [];\r\n }\r\n const effectiveOrder = order ?? \"asc\";\r\n return [{ id: sort, desc: effectiveOrder === \"desc\" }];\r\n }, [sort, order]);\r\n\r\n const pagination = useMemo(() => ({ pageIndex: page - 1, pageSize: limit }), [page, limit]);\r\n\r\n const setSorting = useCallback(\r\n (updater: Updater<SortingState>) => {\r\n const currentSorting: SortingState = sort\r\n ? [{ id: sort, desc: (order ?? \"asc\") === \"desc\" }]\r\n : [];\r\n\r\n const next = typeof updater === \"function\" ? updater(currentSorting) : updater;\r\n const first = next[0];\r\n\r\n if (!first || !first.id) {\r\n setSort(\"\");\r\n setOrder(null);\r\n return;\r\n }\r\n\r\n setSort(first.id);\r\n setOrder(first.desc ? \"desc\" : \"asc\");\r\n },\r\n [sort, order, setSort, setOrder]\r\n );\r\n\r\n useEffect(() => {\r\n if (sort && !order) {\r\n setOrder(\"asc\");\r\n }\r\n }, [sort, order, setOrder]);\r\n\r\n // biome-ignore lint/correctness/useExhaustiveDependencies: dependent on page and limit only\r\n const setPagination = useCallback(\r\n (updater: Updater<PaginationState>) => {\r\n const currentState = { pageIndex: page - 1, pageSize: limit };\r\n const next = typeof updater === \"function\" ? updater(currentState) : updater;\r\n setPage((next.pageIndex ?? 0) + 1);\r\n setLimit(next.pageSize ?? 10);\r\n },\r\n [page, limit]\r\n );\r\n\r\n return useMemo(\r\n () => ({\r\n q: qRaw,\r\n setQ,\r\n filters,\r\n setFilters,\r\n granularity,\r\n setGranularity,\r\n sort,\r\n order,\r\n setSorting,\r\n sorting,\r\n page,\r\n limit,\r\n setPagination,\r\n pagination,\r\n grouping,\r\n setGrouping,\r\n }),\r\n [\r\n qRaw,\r\n setQ,\r\n filters,\r\n setFilters,\r\n granularity,\r\n setGranularity,\r\n sort,\r\n order,\r\n setSorting,\r\n sorting,\r\n page,\r\n limit,\r\n setPagination,\r\n pagination,\r\n grouping,\r\n setGrouping,\r\n ]\r\n );\r\n};\r\n"],"mappings":"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"}
|
|
@@ -1,32 +1,123 @@
|
|
|
1
1
|
import { useCallback, useEffect, useMemo } from "react";
|
|
2
|
-
import { filtersSchema } from "@m5kdev/commons/modules/schemas/query.schema";
|
|
2
|
+
import { filterSchema, filtersSchema } from "@m5kdev/commons/modules/schemas/query.schema";
|
|
3
3
|
import { parseAsArrayOf, parseAsInteger, parseAsJson, parseAsString, parseAsStringLiteral, useQueryState } from "nuqs";
|
|
4
|
+
import { z } from "zod";
|
|
4
5
|
//#region src/modules/table/hooks/useNuqsQueryParams.ts
|
|
5
|
-
|
|
6
|
+
/** Each row: [columnId, type, method, value, valueTo?, endColumnId?] — all strings in the URL */
|
|
7
|
+
const filtersRawSchema = z.array(z.array(z.string()).min(4).max(6));
|
|
8
|
+
const parseAsFilterTuples = parseAsJson((value) => filtersRawSchema.parse(value)).withDefault([]);
|
|
6
9
|
const parseAsGrouping = parseAsArrayOf(parseAsString).withDefault([]);
|
|
10
|
+
const NULLISH_METHODS = new Set([
|
|
11
|
+
"isEmpty",
|
|
12
|
+
"isNotEmpty",
|
|
13
|
+
"is_null",
|
|
14
|
+
"is_not_null"
|
|
15
|
+
]);
|
|
16
|
+
function encodeFilterValue(filter) {
|
|
17
|
+
if (NULLISH_METHODS.has(filter.method)) return typeof filter.value === "string" ? filter.value : "";
|
|
18
|
+
const { type, method, value } = filter;
|
|
19
|
+
switch (type) {
|
|
20
|
+
case "number": return String(value);
|
|
21
|
+
case "boolean": return value ? "true" : "false";
|
|
22
|
+
case "enum":
|
|
23
|
+
case "jsonArray":
|
|
24
|
+
if (method === "oneOf" && Array.isArray(value)) return JSON.stringify(value);
|
|
25
|
+
if (Array.isArray(value)) return JSON.stringify(value);
|
|
26
|
+
return String(value);
|
|
27
|
+
default: return String(value);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function decodeFilterValue(type, method, valueStr) {
|
|
31
|
+
if (NULLISH_METHODS.has(method)) return valueStr;
|
|
32
|
+
switch (type) {
|
|
33
|
+
case "number": {
|
|
34
|
+
const n = Number.parseFloat(valueStr);
|
|
35
|
+
return Number.isNaN(n) ? 0 : n;
|
|
36
|
+
}
|
|
37
|
+
case "boolean": return valueStr === "true";
|
|
38
|
+
case "enum":
|
|
39
|
+
case "jsonArray":
|
|
40
|
+
if (method === "oneOf") try {
|
|
41
|
+
const parsed = JSON.parse(valueStr);
|
|
42
|
+
return Array.isArray(parsed) ? parsed.map(String) : [];
|
|
43
|
+
} catch {
|
|
44
|
+
return [];
|
|
45
|
+
}
|
|
46
|
+
if (valueStr.startsWith("[")) try {
|
|
47
|
+
const parsed = JSON.parse(valueStr);
|
|
48
|
+
if (Array.isArray(parsed)) return parsed.map(String);
|
|
49
|
+
} catch {}
|
|
50
|
+
return valueStr;
|
|
51
|
+
default: return valueStr;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/** Builds URL tuple; omits optional tails when unused (endColumnId requires valueTo slot — may be ""). */
|
|
55
|
+
function encodeFilterToTuple(filter) {
|
|
56
|
+
const tuple = [
|
|
57
|
+
filter.columnId,
|
|
58
|
+
filter.type,
|
|
59
|
+
filter.method,
|
|
60
|
+
encodeFilterValue(filter)
|
|
61
|
+
];
|
|
62
|
+
const hasValueTo = filter.valueTo != null && filter.valueTo !== "";
|
|
63
|
+
const hasEndColumnId = filter.endColumnId != null && filter.endColumnId !== "";
|
|
64
|
+
if (hasValueTo && filter.valueTo != null) tuple.push(filter.valueTo);
|
|
65
|
+
if (hasEndColumnId && filter.endColumnId != null) {
|
|
66
|
+
if (!hasValueTo) tuple.push("");
|
|
67
|
+
tuple.push(filter.endColumnId);
|
|
68
|
+
}
|
|
69
|
+
return tuple;
|
|
70
|
+
}
|
|
71
|
+
function decodeTupleToFilter(parts) {
|
|
72
|
+
if (parts.length < 4 || parts.length > 6) return null;
|
|
73
|
+
const [columnId, typeStr, methodStr, valueStr, valueToStr, endColumnIdStr] = parts;
|
|
74
|
+
const typeParsed = filterSchema.shape.type.safeParse(typeStr);
|
|
75
|
+
const methodParsed = filterSchema.shape.method.safeParse(methodStr);
|
|
76
|
+
if (!typeParsed.success || !methodParsed.success) return null;
|
|
77
|
+
const type = typeParsed.data;
|
|
78
|
+
const method = methodParsed.data;
|
|
79
|
+
const candidate = {
|
|
80
|
+
columnId,
|
|
81
|
+
type,
|
|
82
|
+
method,
|
|
83
|
+
value: decodeFilterValue(type, method, valueStr)
|
|
84
|
+
};
|
|
85
|
+
if (valueToStr !== void 0) candidate.valueTo = valueToStr;
|
|
86
|
+
if (endColumnIdStr !== void 0) candidate.endColumnId = endColumnIdStr;
|
|
87
|
+
const parsed = filterSchema.safeParse(candidate);
|
|
88
|
+
return parsed.success ? parsed.data : null;
|
|
89
|
+
}
|
|
7
90
|
/**
|
|
8
91
|
* Hook to manage all query parameters via nuqs (URL query parameters)
|
|
9
|
-
* Manages: filters
|
|
92
|
+
* Manages: `f` (filters as tuple arrays), `q`, `s`/`o`, `p`/`l`, `g`, `r`
|
|
10
93
|
* Accepts an optional prefix to namespace params when multiple tables share a view.
|
|
11
94
|
*/
|
|
12
95
|
const useNuqsQueryParams = (prefix) => {
|
|
13
96
|
const k = (name) => prefix ? `${prefix}_${name}` : name;
|
|
14
|
-
const [sort, setSort] = useQueryState(k("
|
|
15
|
-
const [order, setOrder] = useQueryState(k("
|
|
16
|
-
const [page, setPage] = useQueryState(k("
|
|
17
|
-
const [limit, setLimit] = useQueryState(k("
|
|
97
|
+
const [sort, setSort] = useQueryState(k("s"), parseAsString.withDefault(""));
|
|
98
|
+
const [order, setOrder] = useQueryState(k("o"), parseAsStringLiteral(["asc", "desc"]));
|
|
99
|
+
const [page, setPage] = useQueryState(k("p"), parseAsInteger.withDefault(1));
|
|
100
|
+
const [limit, setLimit] = useQueryState(k("l"), parseAsInteger.withDefault(10));
|
|
18
101
|
const [qRaw, setQRaw] = useQueryState(k("q"), parseAsString);
|
|
19
|
-
const [
|
|
102
|
+
const [filtersRaw, setFiltersRaw] = useQueryState(k("f"), parseAsFilterTuples);
|
|
103
|
+
const filters = useMemo(() => {
|
|
104
|
+
const decoded = filtersRaw.map((row) => decodeTupleToFilter(row)).filter((f) => f != null);
|
|
105
|
+
const parsed = filtersSchema.safeParse(decoded);
|
|
106
|
+
return parsed.success ? parsed.data : [];
|
|
107
|
+
}, [filtersRaw]);
|
|
108
|
+
const setFilters = useCallback((next) => {
|
|
109
|
+
setFiltersRaw(next.length === 0 ? null : next.map(encodeFilterToTuple));
|
|
110
|
+
}, [setFiltersRaw]);
|
|
20
111
|
const setQ = useCallback((value) => {
|
|
21
112
|
setQRaw(value === "" || value == null ? null : value);
|
|
22
113
|
}, [setQRaw]);
|
|
23
|
-
const [granularity, setGranularity] = useQueryState(k("
|
|
114
|
+
const [granularity, setGranularity] = useQueryState(k("r"), parseAsStringLiteral([
|
|
24
115
|
"daily",
|
|
25
116
|
"weekly",
|
|
26
117
|
"monthly",
|
|
27
118
|
"yearly"
|
|
28
119
|
]).withDefault("daily"));
|
|
29
|
-
const [groupingRaw, setGroupingRaw] = useQueryState(k("
|
|
120
|
+
const [groupingRaw, setGroupingRaw] = useQueryState(k("g"), parseAsGrouping);
|
|
30
121
|
const grouping = groupingRaw;
|
|
31
122
|
const setGrouping = useCallback((updater) => {
|
|
32
123
|
const next = typeof updater === "function" ? updater(groupingRaw) : updater;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNuqsQueryParams.mjs","names":[],"sources":["../../../../../src/modules/table/hooks/useNuqsQueryParams.ts"],"sourcesContent":["import type { QueryFilters } from \"@m5kdev/commons/modules/schemas/query.schema\";\r\nimport { filtersSchema } from \"@m5kdev/commons/modules/schemas/query.schema\";\r\nimport type { GroupingState, PaginationState, SortingState, Updater } from \"@tanstack/react-table\";\r\nimport {\r\n parseAsArrayOf,\r\n parseAsInteger,\r\n parseAsJson,\r\n parseAsString,\r\n parseAsStringLiteral,\r\n useQueryState,\r\n} from \"nuqs\";\r\nimport { useCallback, useEffect, useMemo } from \"react\";\r\n\r\nconst parseAsFilters = parseAsJson<QueryFilters>((value) => filtersSchema.parse(value)).withDefault(\r\n []\r\n);\r\n\r\nconst parseAsGrouping = parseAsArrayOf(parseAsString).withDefault([]);\r\n\r\nexport type Order = \"asc\" | \"desc\";\r\n\r\nexport type Granularity = \"daily\" | \"weekly\" | \"monthly\" | \"yearly\";\r\n\r\nexport interface NuqsQueryParams {\r\n /** Global search string from URL (`q`); absent when not in URL. */\r\n q: string | null;\r\n setQ: (value: string | null) => void;\r\n filters?: QueryFilters;\r\n setFilters?: (filters: QueryFilters) => void;\r\n granularity?: Granularity;\r\n setGranularity?: (value: Granularity) => void;\r\n sort?: string;\r\n order?: Order | null;\r\n setSorting?: (updater: Updater<SortingState>) => void;\r\n sorting?: SortingState;\r\n page?: number;\r\n limit?: number;\r\n setPagination?: (updater: Updater<PaginationState>) => void;\r\n pagination?: PaginationState;\r\n grouping: GroupingState;\r\n setGrouping: (updater: Updater<GroupingState>) => void;\r\n}\r\n\r\n/**\r\n * Hook to manage all query parameters via nuqs (URL query parameters)\r\n * Manages: filters, q, sort, order, page, limit, groupBy, granularity\r\n * Accepts an optional prefix to namespace params when multiple tables share a view.\r\n */\r\nexport const useNuqsQueryParams = (prefix?: string): NuqsQueryParams => {\r\n const k = (name: string) => (prefix ? `${prefix}_${name}` : name);\r\n\r\n const [sort, setSort] = useQueryState<string>(k(\"sort\"), parseAsString.withDefault(\"\"));\r\n const [order, setOrder] = useQueryState<Order>(k(\"order\"), parseAsStringLiteral([\"asc\", \"desc\"]));\r\n const [page, setPage] = useQueryState<number>(k(\"page\"), parseAsInteger.withDefault(1));\r\n const [limit, setLimit] = useQueryState<number>(k(\"limit\"), parseAsInteger.withDefault(10));\r\n const [qRaw, setQRaw] = useQueryState(k(\"q\"), parseAsString);\r\n const [filters, setFilters] = useQueryState<QueryFilters>(k(\"filters\"), parseAsFilters);\r\n\r\n const setQ = useCallback(\r\n (value: string | null) => {\r\n void setQRaw(value === \"\" || value == null ? null : value);\r\n },\r\n [setQRaw]\r\n );\r\n const [granularity, setGranularity] = useQueryState<Granularity>(\r\n k(\"granularity\"),\r\n parseAsStringLiteral([\"daily\", \"weekly\", \"monthly\", \"yearly\"]).withDefault(\"daily\")\r\n );\r\n const [groupingRaw, setGroupingRaw] = useQueryState<string[]>(k(\"groupBy\"), parseAsGrouping);\r\n const grouping: GroupingState = groupingRaw;\r\n\r\n const setGrouping = useCallback(\r\n (updater: Updater<GroupingState>) => {\r\n const next = typeof updater === \"function\" ? updater(groupingRaw) : updater;\r\n setGroupingRaw(next.length > 0 ? next : null);\r\n },\r\n [groupingRaw, setGroupingRaw]\r\n );\r\n\r\n const sorting = useMemo(() => {\r\n if (!sort) {\r\n return [];\r\n }\r\n const effectiveOrder = order ?? \"asc\";\r\n return [{ id: sort, desc: effectiveOrder === \"desc\" }];\r\n }, [sort, order]);\r\n\r\n const pagination = useMemo(() => ({ pageIndex: page - 1, pageSize: limit }), [page, limit]);\r\n\r\n const setSorting = useCallback(\r\n (updater: Updater<SortingState>) => {\r\n // Build current sorting state from current values\r\n const currentSorting: SortingState = sort\r\n ? [{ id: sort, desc: (order ?? \"asc\") === \"desc\" }]\r\n : [];\r\n\r\n const next = typeof updater === \"function\" ? updater(currentSorting) : updater;\r\n const first = next[0];\r\n\r\n if (!first || !first.id) {\r\n setSort(\"\");\r\n setOrder(null);\r\n return;\r\n }\r\n\r\n setSort(first.id);\r\n setOrder(first.desc ? \"desc\" : \"asc\");\r\n },\r\n [sort, order, setSort, setOrder]\r\n );\r\n\r\n // Sync order to \"asc\" if sort is set but order is null (handles URL state inconsistencies)\r\n useEffect(() => {\r\n if (sort && !order) {\r\n setOrder(\"asc\");\r\n }\r\n }, [sort, order, setOrder]);\r\n\r\n // biome-ignore lint/correctness/useExhaustiveDependencies: dependent on page and limit only\r\n const setPagination = useCallback(\r\n (updater: Updater<PaginationState>) => {\r\n // TanStack Table uses 0-based indexing, but URL uses 1-based\r\n const currentState = { pageIndex: page - 1, pageSize: limit };\r\n const next = typeof updater === \"function\" ? updater(currentState) : updater;\r\n // Convert back to 1-based for URL\r\n setPage((next.pageIndex ?? 0) + 1);\r\n setLimit(next.pageSize ?? 10);\r\n },\r\n [page, limit]\r\n );\r\n\r\n return useMemo(\r\n () => ({\r\n q: qRaw,\r\n setQ,\r\n filters,\r\n setFilters,\r\n granularity,\r\n setGranularity,\r\n sort,\r\n order,\r\n setSorting,\r\n sorting,\r\n page,\r\n limit,\r\n setPagination,\r\n pagination,\r\n grouping,\r\n setGrouping,\r\n }),\r\n [\r\n qRaw,\r\n setQ,\r\n filters,\r\n setFilters,\r\n granularity,\r\n setGranularity,\r\n sort,\r\n order,\r\n setSorting,\r\n sorting,\r\n page,\r\n limit,\r\n setPagination,\r\n pagination,\r\n grouping,\r\n setGrouping,\r\n ]\r\n );\r\n};\r\n"],"mappings":";;;;AAaA,MAAM,iBAAiB,aAA2B,UAAU,cAAc,MAAM,MAAM,CAAC,CAAC,YACtF,EAAE,CACH;AAED,MAAM,kBAAkB,eAAe,cAAc,CAAC,YAAY,EAAE,CAAC;;;;;;AA+BrE,MAAa,sBAAsB,WAAqC;CACtE,MAAM,KAAK,SAAkB,SAAS,GAAG,OAAO,GAAG,SAAS;CAE5D,MAAM,CAAC,MAAM,WAAW,cAAsB,EAAE,OAAO,EAAE,cAAc,YAAY,GAAG,CAAC;CACvF,MAAM,CAAC,OAAO,YAAY,cAAqB,EAAE,QAAQ,EAAE,qBAAqB,CAAC,OAAO,OAAO,CAAC,CAAC;CACjG,MAAM,CAAC,MAAM,WAAW,cAAsB,EAAE,OAAO,EAAE,eAAe,YAAY,EAAE,CAAC;CACvF,MAAM,CAAC,OAAO,YAAY,cAAsB,EAAE,QAAQ,EAAE,eAAe,YAAY,GAAG,CAAC;CAC3F,MAAM,CAAC,MAAM,WAAW,cAAc,EAAE,IAAI,EAAE,cAAc;CAC5D,MAAM,CAAC,SAAS,cAAc,cAA4B,EAAE,UAAU,EAAE,eAAe;CAEvF,MAAM,OAAO,aACV,UAAyB;AACnB,UAAQ,UAAU,MAAM,SAAS,OAAO,OAAO,MAAM;IAE5D,CAAC,QAAQ,CACV;CACD,MAAM,CAAC,aAAa,kBAAkB,cACpC,EAAE,cAAc,EAChB,qBAAqB;EAAC;EAAS;EAAU;EAAW;EAAS,CAAC,CAAC,YAAY,QAAQ,CACpF;CACD,MAAM,CAAC,aAAa,kBAAkB,cAAwB,EAAE,UAAU,EAAE,gBAAgB;CAC5F,MAAM,WAA0B;CAEhC,MAAM,cAAc,aACjB,YAAoC;EACnC,MAAM,OAAO,OAAO,YAAY,aAAa,QAAQ,YAAY,GAAG;AACpE,iBAAe,KAAK,SAAS,IAAI,OAAO,KAAK;IAE/C,CAAC,aAAa,eAAe,CAC9B;CAED,MAAM,UAAU,cAAc;AAC5B,MAAI,CAAC,KACH,QAAO,EAAE;AAGX,SAAO,CAAC;GAAE,IAAI;GAAM,OADG,SAAS,WACa;GAAQ,CAAC;IACrD,CAAC,MAAM,MAAM,CAAC;CAEjB,MAAM,aAAa,eAAe;EAAE,WAAW,OAAO;EAAG,UAAU;EAAO,GAAG,CAAC,MAAM,MAAM,CAAC;CAE3F,MAAM,aAAa,aAChB,YAAmC;EAOlC,MAAM,SADO,OAAO,YAAY,aAAa,QAJR,OACjC,CAAC;GAAE,IAAI;GAAM,OAAO,SAAS,WAAW;GAAQ,CAAC,GACjD,EAAE,CAE8D,GAAG,SACpD;AAEnB,MAAI,CAAC,SAAS,CAAC,MAAM,IAAI;AACvB,WAAQ,GAAG;AACX,YAAS,KAAK;AACd;;AAGF,UAAQ,MAAM,GAAG;AACjB,WAAS,MAAM,OAAO,SAAS,MAAM;IAEvC;EAAC;EAAM;EAAO;EAAS;EAAS,CACjC;AAGD,iBAAgB;AACd,MAAI,QAAQ,CAAC,MACX,UAAS,MAAM;IAEhB;EAAC;EAAM;EAAO;EAAS,CAAC;CAG3B,MAAM,gBAAgB,aACnB,YAAsC;EAErC,MAAM,eAAe;GAAE,WAAW,OAAO;GAAG,UAAU;GAAO;EAC7D,MAAM,OAAO,OAAO,YAAY,aAAa,QAAQ,aAAa,GAAG;AAErE,WAAS,KAAK,aAAa,KAAK,EAAE;AAClC,WAAS,KAAK,YAAY,GAAG;IAE/B,CAAC,MAAM,MAAM,CACd;AAED,QAAO,eACE;EACL,GAAG;EACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,GACD;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF"}
|
|
1
|
+
{"version":3,"file":"useNuqsQueryParams.mjs","names":[],"sources":["../../../../../src/modules/table/hooks/useNuqsQueryParams.ts"],"sourcesContent":["import type { QueryFilter, QueryFilters } from \"@m5kdev/commons/modules/schemas/query.schema\";\r\nimport { filterSchema, filtersSchema } from \"@m5kdev/commons/modules/schemas/query.schema\";\r\nimport type { GroupingState, PaginationState, SortingState, Updater } from \"@tanstack/react-table\";\r\nimport {\r\n parseAsArrayOf,\r\n parseAsInteger,\r\n parseAsJson,\r\n parseAsString,\r\n parseAsStringLiteral,\r\n useQueryState,\r\n} from \"nuqs\";\r\nimport { useCallback, useEffect, useMemo } from \"react\";\r\nimport { z } from \"zod\";\r\n\r\n/** Each row: [columnId, type, method, value, valueTo?, endColumnId?] — all strings in the URL */\r\nconst filtersRawSchema = z.array(z.array(z.string()).min(4).max(6));\r\n\r\nconst parseAsFilterTuples = parseAsJson<string[][]>((value) =>\r\n filtersRawSchema.parse(value)\r\n).withDefault([]);\r\n\r\nconst parseAsGrouping = parseAsArrayOf(parseAsString).withDefault([]);\r\n\r\nconst NULLISH_METHODS: ReadonlySet<QueryFilter[\"method\"]> = new Set([\r\n \"isEmpty\",\r\n \"isNotEmpty\",\r\n \"is_null\",\r\n \"is_not_null\",\r\n]);\r\n\r\nfunction encodeFilterValue(filter: QueryFilter): string {\r\n if (NULLISH_METHODS.has(filter.method)) {\r\n return typeof filter.value === \"string\" ? filter.value : \"\";\r\n }\r\n const { type, method, value } = filter;\r\n switch (type) {\r\n case \"number\":\r\n return String(value as number);\r\n case \"boolean\":\r\n return (value as boolean) ? \"true\" : \"false\";\r\n case \"enum\":\r\n case \"jsonArray\":\r\n if (method === \"oneOf\" && Array.isArray(value)) {\r\n return JSON.stringify(value);\r\n }\r\n if (Array.isArray(value)) {\r\n return JSON.stringify(value);\r\n }\r\n return String(value);\r\n default:\r\n return String(value);\r\n }\r\n}\r\n\r\nfunction decodeFilterValue(\r\n type: QueryFilter[\"type\"],\r\n method: QueryFilter[\"method\"],\r\n valueStr: string\r\n): QueryFilter[\"value\"] {\r\n if (NULLISH_METHODS.has(method)) {\r\n return valueStr;\r\n }\r\n switch (type) {\r\n case \"number\": {\r\n const n = Number.parseFloat(valueStr);\r\n return Number.isNaN(n) ? 0 : n;\r\n }\r\n case \"boolean\":\r\n return valueStr === \"true\";\r\n case \"enum\":\r\n case \"jsonArray\":\r\n if (method === \"oneOf\") {\r\n try {\r\n const parsed = JSON.parse(valueStr) as unknown;\r\n return Array.isArray(parsed) ? parsed.map(String) : [];\r\n } catch {\r\n return [];\r\n }\r\n }\r\n if (valueStr.startsWith(\"[\")) {\r\n try {\r\n const parsed = JSON.parse(valueStr) as unknown;\r\n if (Array.isArray(parsed)) {\r\n return parsed.map(String);\r\n }\r\n } catch {\r\n /* use raw string */\r\n }\r\n }\r\n return valueStr;\r\n default:\r\n return valueStr;\r\n }\r\n}\r\n\r\n/** Builds URL tuple; omits optional tails when unused (endColumnId requires valueTo slot — may be \"\"). */\r\nfunction encodeFilterToTuple(filter: QueryFilter): string[] {\r\n const tuple: string[] = [filter.columnId, filter.type, filter.method, encodeFilterValue(filter)];\r\n const hasValueTo = filter.valueTo != null && filter.valueTo !== \"\";\r\n const hasEndColumnId = filter.endColumnId != null && filter.endColumnId !== \"\";\r\n\r\n if (hasValueTo && filter.valueTo != null) {\r\n tuple.push(filter.valueTo);\r\n }\r\n\r\n if (hasEndColumnId && filter.endColumnId != null) {\r\n if (!hasValueTo) {\r\n tuple.push(\"\");\r\n }\r\n tuple.push(filter.endColumnId);\r\n }\r\n\r\n return tuple;\r\n}\r\n\r\nfunction decodeTupleToFilter(parts: readonly string[]): QueryFilter | null {\r\n if (parts.length < 4 || parts.length > 6) {\r\n return null;\r\n }\r\n\r\n const [columnId, typeStr, methodStr, valueStr, valueToStr, endColumnIdStr] = parts;\r\n\r\n const typeParsed = filterSchema.shape.type.safeParse(typeStr);\r\n const methodParsed = filterSchema.shape.method.safeParse(methodStr);\r\n if (!typeParsed.success || !methodParsed.success) {\r\n return null;\r\n }\r\n\r\n const type = typeParsed.data;\r\n const method = methodParsed.data;\r\n const value = decodeFilterValue(type, method, valueStr);\r\n\r\n const candidate: QueryFilter = {\r\n columnId,\r\n type,\r\n method,\r\n value,\r\n };\r\n\r\n if (valueToStr !== undefined) {\r\n candidate.valueTo = valueToStr;\r\n }\r\n if (endColumnIdStr !== undefined) {\r\n candidate.endColumnId = endColumnIdStr;\r\n }\r\n\r\n const parsed = filterSchema.safeParse(candidate);\r\n return parsed.success ? parsed.data : null;\r\n}\r\n\r\nexport type Order = \"asc\" | \"desc\";\r\n\r\nexport type Granularity = \"daily\" | \"weekly\" | \"monthly\" | \"yearly\";\r\n\r\nexport interface NuqsQueryParams {\r\n /** Global search string from URL (`q`); absent when not in URL. */\r\n q: string | null;\r\n setQ: (value: string | null) => void;\r\n filters?: QueryFilters;\r\n setFilters?: (filters: QueryFilters) => void;\r\n granularity?: Granularity;\r\n setGranularity?: (value: Granularity) => void;\r\n sort?: string;\r\n order?: Order | null;\r\n setSorting?: (updater: Updater<SortingState>) => void;\r\n sorting?: SortingState;\r\n page?: number;\r\n limit?: number;\r\n setPagination?: (updater: Updater<PaginationState>) => void;\r\n pagination?: PaginationState;\r\n grouping: GroupingState;\r\n setGrouping: (updater: Updater<GroupingState>) => void;\r\n}\r\n\r\n/**\r\n * Hook to manage all query parameters via nuqs (URL query parameters)\r\n * Manages: `f` (filters as tuple arrays), `q`, `s`/`o`, `p`/`l`, `g`, `r`\r\n * Accepts an optional prefix to namespace params when multiple tables share a view.\r\n */\r\nexport const useNuqsQueryParams = (prefix?: string): NuqsQueryParams => {\r\n const k = (name: string) => (prefix ? `${prefix}_${name}` : name);\r\n\r\n const [sort, setSort] = useQueryState<string>(k(\"s\"), parseAsString.withDefault(\"\"));\r\n const [order, setOrder] = useQueryState<Order>(k(\"o\"), parseAsStringLiteral([\"asc\", \"desc\"]));\r\n const [page, setPage] = useQueryState<number>(k(\"p\"), parseAsInteger.withDefault(1));\r\n const [limit, setLimit] = useQueryState<number>(k(\"l\"), parseAsInteger.withDefault(10));\r\n const [qRaw, setQRaw] = useQueryState(k(\"q\"), parseAsString);\r\n const [filtersRaw, setFiltersRaw] = useQueryState<string[][]>(k(\"f\"), parseAsFilterTuples);\r\n\r\n const filters = useMemo((): QueryFilters => {\r\n const decoded = filtersRaw\r\n .map((row) => decodeTupleToFilter(row))\r\n .filter((f): f is QueryFilter => f != null);\r\n const parsed = filtersSchema.safeParse(decoded);\r\n return parsed.success ? parsed.data : [];\r\n }, [filtersRaw]);\r\n\r\n const setFilters = useCallback(\r\n (next: QueryFilters) => {\r\n void setFiltersRaw(next.length === 0 ? null : next.map(encodeFilterToTuple));\r\n },\r\n [setFiltersRaw]\r\n );\r\n\r\n const setQ = useCallback(\r\n (value: string | null) => {\r\n void setQRaw(value === \"\" || value == null ? null : value);\r\n },\r\n [setQRaw]\r\n );\r\n const [granularity, setGranularity] = useQueryState<Granularity>(\r\n k(\"r\"),\r\n parseAsStringLiteral([\"daily\", \"weekly\", \"monthly\", \"yearly\"]).withDefault(\"daily\")\r\n );\r\n const [groupingRaw, setGroupingRaw] = useQueryState<string[]>(k(\"g\"), parseAsGrouping);\r\n const grouping: GroupingState = groupingRaw;\r\n\r\n const setGrouping = useCallback(\r\n (updater: Updater<GroupingState>) => {\r\n const next = typeof updater === \"function\" ? updater(groupingRaw) : updater;\r\n setGroupingRaw(next.length > 0 ? next : null);\r\n },\r\n [groupingRaw, setGroupingRaw]\r\n );\r\n\r\n const sorting = useMemo(() => {\r\n if (!sort) {\r\n return [];\r\n }\r\n const effectiveOrder = order ?? \"asc\";\r\n return [{ id: sort, desc: effectiveOrder === \"desc\" }];\r\n }, [sort, order]);\r\n\r\n const pagination = useMemo(() => ({ pageIndex: page - 1, pageSize: limit }), [page, limit]);\r\n\r\n const setSorting = useCallback(\r\n (updater: Updater<SortingState>) => {\r\n const currentSorting: SortingState = sort\r\n ? [{ id: sort, desc: (order ?? \"asc\") === \"desc\" }]\r\n : [];\r\n\r\n const next = typeof updater === \"function\" ? updater(currentSorting) : updater;\r\n const first = next[0];\r\n\r\n if (!first || !first.id) {\r\n setSort(\"\");\r\n setOrder(null);\r\n return;\r\n }\r\n\r\n setSort(first.id);\r\n setOrder(first.desc ? \"desc\" : \"asc\");\r\n },\r\n [sort, order, setSort, setOrder]\r\n );\r\n\r\n useEffect(() => {\r\n if (sort && !order) {\r\n setOrder(\"asc\");\r\n }\r\n }, [sort, order, setOrder]);\r\n\r\n // biome-ignore lint/correctness/useExhaustiveDependencies: dependent on page and limit only\r\n const setPagination = useCallback(\r\n (updater: Updater<PaginationState>) => {\r\n const currentState = { pageIndex: page - 1, pageSize: limit };\r\n const next = typeof updater === \"function\" ? updater(currentState) : updater;\r\n setPage((next.pageIndex ?? 0) + 1);\r\n setLimit(next.pageSize ?? 10);\r\n },\r\n [page, limit]\r\n );\r\n\r\n return useMemo(\r\n () => ({\r\n q: qRaw,\r\n setQ,\r\n filters,\r\n setFilters,\r\n granularity,\r\n setGranularity,\r\n sort,\r\n order,\r\n setSorting,\r\n sorting,\r\n page,\r\n limit,\r\n setPagination,\r\n pagination,\r\n grouping,\r\n setGrouping,\r\n }),\r\n [\r\n qRaw,\r\n setQ,\r\n filters,\r\n setFilters,\r\n granularity,\r\n setGranularity,\r\n sort,\r\n order,\r\n setSorting,\r\n sorting,\r\n page,\r\n limit,\r\n setPagination,\r\n pagination,\r\n grouping,\r\n setGrouping,\r\n ]\r\n );\r\n};\r\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
let react = require("react");
|
|
3
2
|
let _tanstack_react_query = require("@tanstack/react-query");
|
|
3
|
+
let react = require("react");
|
|
4
4
|
//#region src/modules/table/hooks/useQueryWithParams.ts
|
|
5
5
|
const FETCH_ALL_LIMIT = 99999;
|
|
6
6
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@m5kdev/frontend",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.11",
|
|
4
4
|
"license": "GPL-3.0-only",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"react": "19.2.1",
|
|
25
25
|
"react-dom": "19.2.1",
|
|
26
26
|
"zod": "4.2.1",
|
|
27
|
-
"@m5kdev/commons": "0.8.
|
|
27
|
+
"@m5kdev/commons": "0.8.11"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@heroui/react": "2.8.10",
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
"tsdown": "0.21.7",
|
|
37
37
|
"typescript": "5.9.2",
|
|
38
38
|
"vite": "7.0.4",
|
|
39
|
-
"@m5kdev/config": "0.8.
|
|
40
|
-
"@m5kdev/backend": "0.8.
|
|
39
|
+
"@m5kdev/config": "0.8.11",
|
|
40
|
+
"@m5kdev/backend": "0.8.11"
|
|
41
41
|
},
|
|
42
42
|
"exports": {
|
|
43
43
|
"./modules/auth/components/*": {
|