@opexa/portal-components 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-HP26SZP3.mjs +84 -0
- package/dist/chunk-HP26SZP3.mjs.map +1 -0
- package/dist/handlers.d.mts +43 -0
- package/dist/handlers.d.ts +43 -0
- package/dist/handlers.js +319 -0
- package/dist/handlers.js.map +1 -0
- package/dist/handlers.mjs +261 -0
- package/dist/handlers.mjs.map +1 -0
- package/dist/index.d.mts +33 -0
- package/dist/index.d.ts +33 -0
- package/dist/index.js +8260 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +8187 -0
- package/dist/index.mjs.map +1 -0
- package/dist/middleware.d.mts +8 -0
- package/dist/middleware.d.ts +8 -0
- package/dist/middleware.js +109 -0
- package/dist/middleware.js.map +1 -0
- package/dist/middleware.mjs +42 -0
- package/dist/middleware.mjs.map +1 -0
- package/dist/pagcor-AFUY5PSY.png +0 -0
- package/dist/responsible-gaming-MQQBK5RV.png +0 -0
- package/dist/theme.css +237 -0
- package/package.json +95 -0
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ACCESS_TOKEN_COOKIE_NAME,
|
|
3
|
+
ENVIRONMENT,
|
|
4
|
+
PLATFORM_CODE,
|
|
5
|
+
REFRESH_TOKEN_COOKIE_NAME,
|
|
6
|
+
addMinutes,
|
|
7
|
+
constructFrom,
|
|
8
|
+
toDate
|
|
9
|
+
} from "./chunk-HP26SZP3.mjs";
|
|
10
|
+
|
|
11
|
+
// src/lib/handlers.ts
|
|
12
|
+
import {
|
|
13
|
+
authenticate,
|
|
14
|
+
createSession,
|
|
15
|
+
destroySession,
|
|
16
|
+
refreshSession
|
|
17
|
+
} from "@opexa/portal-sdk-core";
|
|
18
|
+
|
|
19
|
+
// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addDays.js
|
|
20
|
+
function addDays(date, amount, options) {
|
|
21
|
+
const _date = toDate(date, options == null ? void 0 : options.in);
|
|
22
|
+
if (isNaN(amount)) return constructFrom((options == null ? void 0 : options.in) || date, NaN);
|
|
23
|
+
if (!amount) return _date;
|
|
24
|
+
_date.setDate(_date.getDate() + amount);
|
|
25
|
+
return _date;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// ../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subMinutes.js
|
|
29
|
+
function subMinutes(date, amount, options) {
|
|
30
|
+
return addMinutes(date, -amount, options);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// src/lib/handlers.ts
|
|
34
|
+
import { NextResponse } from "next/server";
|
|
35
|
+
import { z } from "zod";
|
|
36
|
+
var CreateSessionDefinition = z.union([
|
|
37
|
+
z.object({
|
|
38
|
+
type: z.literal("NAME_AND_PASSWORD"),
|
|
39
|
+
name: z.string(),
|
|
40
|
+
password: z.string()
|
|
41
|
+
}),
|
|
42
|
+
z.object({
|
|
43
|
+
type: z.literal("MOBILE_NUMBER"),
|
|
44
|
+
mobileNumber: z.string(),
|
|
45
|
+
verificationCode: z.string()
|
|
46
|
+
}),
|
|
47
|
+
z.object({
|
|
48
|
+
type: z.literal("MAYA"),
|
|
49
|
+
session: z.string()
|
|
50
|
+
}),
|
|
51
|
+
z.object({
|
|
52
|
+
type: z.union([z.literal("SOCIALS"), z.literal("CABINET"), z.literal("SINGLE_USE_TOKEN")]),
|
|
53
|
+
token: z.string()
|
|
54
|
+
})
|
|
55
|
+
]);
|
|
56
|
+
var AuthenticateDefinition = z.object({
|
|
57
|
+
type: z.literal("SECURITY_QUESTION"),
|
|
58
|
+
token: z.string(),
|
|
59
|
+
secretAnswer: z.string()
|
|
60
|
+
});
|
|
61
|
+
var GET = async (request, { params }) => {
|
|
62
|
+
var _a, _b;
|
|
63
|
+
const { auth } = await params;
|
|
64
|
+
const path = auth[0];
|
|
65
|
+
if (path === "sessions") {
|
|
66
|
+
const accessToken = (_a = request.cookies.get(ACCESS_TOKEN_COOKIE_NAME)) == null ? void 0 : _a.value;
|
|
67
|
+
const refreshToken = (_b = request.cookies.get(REFRESH_TOKEN_COOKIE_NAME)) == null ? void 0 : _b.value;
|
|
68
|
+
if (!refreshToken) {
|
|
69
|
+
const response = NextResponse.json({
|
|
70
|
+
ok: true,
|
|
71
|
+
data: {
|
|
72
|
+
status: "unauthenticated"
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
response.cookies.delete(ACCESS_TOKEN_COOKIE_NAME);
|
|
76
|
+
response.cookies.delete(REFRESH_TOKEN_COOKIE_NAME);
|
|
77
|
+
return response;
|
|
78
|
+
}
|
|
79
|
+
if (!accessToken) {
|
|
80
|
+
try {
|
|
81
|
+
const data = await refreshSession({
|
|
82
|
+
headers: {
|
|
83
|
+
Authorization: `Bearer ${refreshToken}`
|
|
84
|
+
},
|
|
85
|
+
environment: ENVIRONMENT
|
|
86
|
+
});
|
|
87
|
+
const response = NextResponse.json({
|
|
88
|
+
ok: true,
|
|
89
|
+
data: {
|
|
90
|
+
status: "authenticated",
|
|
91
|
+
token: data.accessToken
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
response.cookies.set(ACCESS_TOKEN_COOKIE_NAME, data.accessToken, {
|
|
95
|
+
expires: addMinutes(/* @__PURE__ */ new Date(), 9),
|
|
96
|
+
httpOnly: true,
|
|
97
|
+
sameSite: "strict"
|
|
98
|
+
});
|
|
99
|
+
return response;
|
|
100
|
+
} catch {
|
|
101
|
+
const response = NextResponse.json({
|
|
102
|
+
ok: true,
|
|
103
|
+
data: {
|
|
104
|
+
status: "unauthenticated"
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
response.cookies.delete(REFRESH_TOKEN_COOKIE_NAME);
|
|
108
|
+
return response;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return NextResponse.json({
|
|
112
|
+
ok: true,
|
|
113
|
+
data: {
|
|
114
|
+
status: "authenticated",
|
|
115
|
+
token: accessToken
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
return NextResponse.json(
|
|
120
|
+
{
|
|
121
|
+
ok: false,
|
|
122
|
+
message: "Not found"
|
|
123
|
+
},
|
|
124
|
+
{ status: 404 }
|
|
125
|
+
);
|
|
126
|
+
};
|
|
127
|
+
var DELETE = async (request, { params }) => {
|
|
128
|
+
var _a;
|
|
129
|
+
const { auth } = await params;
|
|
130
|
+
const path = auth[0];
|
|
131
|
+
if (path === "sessions") {
|
|
132
|
+
const accessToken = (_a = request.cookies.get(ACCESS_TOKEN_COOKIE_NAME)) == null ? void 0 : _a.value;
|
|
133
|
+
if (accessToken) {
|
|
134
|
+
await destroySession({
|
|
135
|
+
headers: {
|
|
136
|
+
Authorization: `Bearer ${accessToken}`
|
|
137
|
+
},
|
|
138
|
+
environment: ENVIRONMENT
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
const response = NextResponse.json({
|
|
142
|
+
ok: true
|
|
143
|
+
});
|
|
144
|
+
response.cookies.delete(ACCESS_TOKEN_COOKIE_NAME);
|
|
145
|
+
response.cookies.delete(REFRESH_TOKEN_COOKIE_NAME);
|
|
146
|
+
return response;
|
|
147
|
+
}
|
|
148
|
+
return NextResponse.json(
|
|
149
|
+
{
|
|
150
|
+
ok: false,
|
|
151
|
+
message: "Not found"
|
|
152
|
+
},
|
|
153
|
+
{ status: 404 }
|
|
154
|
+
);
|
|
155
|
+
};
|
|
156
|
+
var POST = async (request, { params }) => {
|
|
157
|
+
const { auth } = await params;
|
|
158
|
+
const path = auth[0];
|
|
159
|
+
if (path === "sessions") {
|
|
160
|
+
const body = await request.json();
|
|
161
|
+
const parsed = CreateSessionDefinition.safeParse(body);
|
|
162
|
+
if (!parsed.success) {
|
|
163
|
+
return NextResponse.json(
|
|
164
|
+
{
|
|
165
|
+
ok: false,
|
|
166
|
+
message: parsed.error.issues[0].message
|
|
167
|
+
},
|
|
168
|
+
{ status: 400 }
|
|
169
|
+
);
|
|
170
|
+
}
|
|
171
|
+
try {
|
|
172
|
+
const res = await createSession(parsed.data, {
|
|
173
|
+
headers: {
|
|
174
|
+
"Platform-Code": PLATFORM_CODE
|
|
175
|
+
},
|
|
176
|
+
environment: ENVIRONMENT
|
|
177
|
+
});
|
|
178
|
+
if (res.authenticator) {
|
|
179
|
+
return NextResponse.json({
|
|
180
|
+
ok: true,
|
|
181
|
+
data: res.authenticator
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
const response = NextResponse.json(
|
|
185
|
+
{ ok: true, data: null },
|
|
186
|
+
{ status: 201 }
|
|
187
|
+
);
|
|
188
|
+
response.cookies.set(ACCESS_TOKEN_COOKIE_NAME, res.accessToken, {
|
|
189
|
+
expires: addMinutes(/* @__PURE__ */ new Date(), 9),
|
|
190
|
+
httpOnly: true,
|
|
191
|
+
sameSite: "strict"
|
|
192
|
+
});
|
|
193
|
+
response.cookies.set(REFRESH_TOKEN_COOKIE_NAME, res.refreshToken, {
|
|
194
|
+
expires: subMinutes(addDays(/* @__PURE__ */ new Date(), 30), 1),
|
|
195
|
+
httpOnly: true,
|
|
196
|
+
sameSite: "strict"
|
|
197
|
+
});
|
|
198
|
+
return response;
|
|
199
|
+
} catch {
|
|
200
|
+
return NextResponse.json(
|
|
201
|
+
{
|
|
202
|
+
ok: false,
|
|
203
|
+
message: "Unauthorized"
|
|
204
|
+
},
|
|
205
|
+
{ status: 401 }
|
|
206
|
+
);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
if (path === "authenticate") {
|
|
210
|
+
const body = await request.json();
|
|
211
|
+
const parsed = AuthenticateDefinition.safeParse(body);
|
|
212
|
+
if (!parsed.success) {
|
|
213
|
+
return NextResponse.json(
|
|
214
|
+
{
|
|
215
|
+
ok: false,
|
|
216
|
+
message: parsed.error.issues[0].message
|
|
217
|
+
},
|
|
218
|
+
{ status: 400 }
|
|
219
|
+
);
|
|
220
|
+
}
|
|
221
|
+
try {
|
|
222
|
+
const res = await authenticate(parsed.data, {
|
|
223
|
+
headers: {
|
|
224
|
+
"Platform-Code": PLATFORM_CODE
|
|
225
|
+
},
|
|
226
|
+
environment: ENVIRONMENT
|
|
227
|
+
});
|
|
228
|
+
const response = NextResponse.json({ ok: true }, { status: 201 });
|
|
229
|
+
response.cookies.set(ACCESS_TOKEN_COOKIE_NAME, res.accessToken, {
|
|
230
|
+
expires: addMinutes(/* @__PURE__ */ new Date(), 9),
|
|
231
|
+
httpOnly: true
|
|
232
|
+
});
|
|
233
|
+
response.cookies.set(REFRESH_TOKEN_COOKIE_NAME, res.refreshToken, {
|
|
234
|
+
expires: subMinutes(addDays(/* @__PURE__ */ new Date(), 30), 1),
|
|
235
|
+
httpOnly: true
|
|
236
|
+
});
|
|
237
|
+
return response;
|
|
238
|
+
} catch {
|
|
239
|
+
return NextResponse.json(
|
|
240
|
+
{
|
|
241
|
+
ok: false,
|
|
242
|
+
message: "Unauthorized"
|
|
243
|
+
},
|
|
244
|
+
{ status: 401 }
|
|
245
|
+
);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
return NextResponse.json(
|
|
249
|
+
{
|
|
250
|
+
ok: false,
|
|
251
|
+
message: "Not found"
|
|
252
|
+
},
|
|
253
|
+
{ status: 404 }
|
|
254
|
+
);
|
|
255
|
+
};
|
|
256
|
+
export {
|
|
257
|
+
DELETE,
|
|
258
|
+
GET,
|
|
259
|
+
POST
|
|
260
|
+
};
|
|
261
|
+
//# sourceMappingURL=handlers.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/handlers.ts","../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/addDays.js","../../../node_modules/.pnpm/date-fns@4.1.0/node_modules/date-fns/subMinutes.js"],"sourcesContent":["import {\r\n authenticate,\r\n createSession,\r\n destroySession,\r\n refreshSession,\r\n type Authenticator,\r\n} from '@opexa/portal-sdk-core';\r\nimport { addDays, addMinutes, subMinutes } from 'date-fns';\r\nimport { NextRequest, NextResponse } from 'next/server';\r\nimport { z } from 'zod';\r\nimport {\r\n ACCESS_TOKEN_COOKIE_NAME,\r\n ENVIRONMENT,\r\n PLATFORM_CODE,\r\n REFRESH_TOKEN_COOKIE_NAME,\r\n} from './constants';\r\nimport type { ApiResponse } from './types';\r\n\r\nconst CreateSessionDefinition = z.union([\r\n z.object({\r\n type: z.literal('NAME_AND_PASSWORD'),\r\n name: z.string(),\r\n password: z.string(),\r\n }),\r\n z.object({\r\n type: z.literal('MOBILE_NUMBER'),\r\n mobileNumber: z.string(),\r\n verificationCode: z.string(),\r\n }),\r\n z.object({\r\n type: z.literal('MAYA'),\r\n session: z.string(),\r\n }),\r\n z.object({\r\n type: z.union([z.literal('SOCIALS'), z.literal('CABINET'), z.literal('SINGLE_USE_TOKEN')]),\r\n token: z.string(),\r\n }),\r\n]);\r\n\r\nconst AuthenticateDefinition = z.object({\r\n type: z.literal('SECURITY_QUESTION'),\r\n token: z.string(),\r\n secretAnswer: z.string(),\r\n});\r\n\r\ntype GetSessionResponse =\r\n | {\r\n status: 'authenticated';\r\n token: string;\r\n }\r\n | {\r\n status: 'unauthenticated';\r\n };\r\n\r\nexport const GET = async (\r\n request: NextRequest,\r\n { params }: { params: Promise<{ auth: string[] }> },\r\n) => {\r\n const { auth } = await params;\r\n const path = auth[0];\r\n\r\n /*\r\n *\r\n * GET -> /api/sessions\r\n *\r\n */\r\n\r\n if (path === 'sessions') {\r\n const accessToken = request.cookies.get(ACCESS_TOKEN_COOKIE_NAME)?.value;\r\n const refreshToken = request.cookies.get(REFRESH_TOKEN_COOKIE_NAME)?.value;\r\n\r\n if (!refreshToken) {\r\n const response = NextResponse.json<ApiResponse<GetSessionResponse>>({\r\n ok: true,\r\n data: {\r\n status: 'unauthenticated',\r\n },\r\n });\r\n\r\n response.cookies.delete(ACCESS_TOKEN_COOKIE_NAME);\r\n response.cookies.delete(REFRESH_TOKEN_COOKIE_NAME);\r\n\r\n return response;\r\n }\r\n\r\n if (!accessToken) {\r\n try {\r\n const data = await refreshSession({\r\n headers: {\r\n Authorization: `Bearer ${refreshToken}`,\r\n },\r\n environment: ENVIRONMENT,\r\n });\r\n\r\n const response = NextResponse.json<ApiResponse<GetSessionResponse>>({\r\n ok: true,\r\n data: {\r\n status: 'authenticated',\r\n token: data.accessToken,\r\n },\r\n });\r\n\r\n response.cookies.set(ACCESS_TOKEN_COOKIE_NAME, data.accessToken, {\r\n expires: addMinutes(new Date(), 9),\r\n httpOnly: true,\r\n sameSite: 'strict',\r\n });\r\n\r\n return response;\r\n } catch {\r\n const response = NextResponse.json<ApiResponse<GetSessionResponse>>({\r\n ok: true,\r\n data: {\r\n status: 'unauthenticated',\r\n },\r\n });\r\n\r\n response.cookies.delete(REFRESH_TOKEN_COOKIE_NAME);\r\n\r\n return response;\r\n }\r\n }\r\n\r\n return NextResponse.json<ApiResponse<GetSessionResponse>>({\r\n ok: true,\r\n data: {\r\n status: 'authenticated',\r\n token: accessToken,\r\n },\r\n });\r\n }\r\n\r\n return NextResponse.json<ApiResponse>(\r\n {\r\n ok: false,\r\n message: 'Not found',\r\n },\r\n { status: 404 },\r\n );\r\n};\r\n\r\nexport const DELETE = async (\r\n request: NextRequest,\r\n { params }: { params: Promise<{ auth: string[] }> },\r\n) => {\r\n const { auth } = await params;\r\n const path = auth[0];\r\n\r\n /*\r\n *\r\n * DELETE -> /api/sessions\r\n *\r\n */\r\n\r\n if (path === 'sessions') {\r\n const accessToken = request.cookies.get(ACCESS_TOKEN_COOKIE_NAME)?.value;\r\n\r\n if (accessToken) {\r\n await destroySession({\r\n headers: {\r\n Authorization: `Bearer ${accessToken}`,\r\n },\r\n environment: ENVIRONMENT,\r\n });\r\n }\r\n\r\n const response = NextResponse.json<ApiResponse>({\r\n ok: true,\r\n });\r\n\r\n response.cookies.delete(ACCESS_TOKEN_COOKIE_NAME);\r\n response.cookies.delete(REFRESH_TOKEN_COOKIE_NAME);\r\n\r\n return response;\r\n }\r\n\r\n return NextResponse.json<ApiResponse>(\r\n {\r\n ok: false,\r\n message: 'Not found',\r\n },\r\n { status: 404 },\r\n );\r\n};\r\n\r\nexport const POST = async (\r\n request: NextRequest,\r\n { params }: { params: Promise<{ auth: string[] }> },\r\n): Promise<NextResponse> => {\r\n const { auth } = await params;\r\n const path = auth[0];\r\n\r\n /*\r\n *\r\n * POST -> /api/sessions\r\n *\r\n */\r\n\r\n if (path === 'sessions') {\r\n const body = await request.json();\r\n const parsed = CreateSessionDefinition.safeParse(body);\r\n\r\n if (!parsed.success) {\r\n return NextResponse.json<ApiResponse>(\r\n {\r\n ok: false,\r\n message: parsed.error.issues[0].message,\r\n },\r\n { status: 400 },\r\n );\r\n }\r\n\r\n try {\r\n const res = await createSession(parsed.data, {\r\n headers: {\r\n 'Platform-Code': PLATFORM_CODE,\r\n },\r\n environment: ENVIRONMENT,\r\n });\r\n\r\n if (res.authenticator) {\r\n return NextResponse.json<ApiResponse<Authenticator | null>>({\r\n ok: true,\r\n data: res.authenticator,\r\n });\r\n }\r\n\r\n const response = NextResponse.json<ApiResponse<Authenticator | null>>(\r\n { ok: true, data: null },\r\n { status: 201 },\r\n );\r\n\r\n response.cookies.set(ACCESS_TOKEN_COOKIE_NAME, res.accessToken, {\r\n expires: addMinutes(new Date(), 9),\r\n httpOnly: true,\r\n sameSite: 'strict',\r\n });\r\n\r\n response.cookies.set(REFRESH_TOKEN_COOKIE_NAME, res.refreshToken, {\r\n expires: subMinutes(addDays(new Date(), 30), 1),\r\n httpOnly: true,\r\n sameSite: 'strict',\r\n });\r\n\r\n return response;\r\n } catch {\r\n return NextResponse.json<ApiResponse>(\r\n {\r\n ok: false,\r\n message: 'Unauthorized',\r\n },\r\n { status: 401 },\r\n );\r\n }\r\n }\r\n\r\n /*\r\n *\r\n * POST -> /api/authenticate\r\n *\r\n */\r\n\r\n if (path === 'authenticate') {\r\n const body = await request.json();\r\n const parsed = AuthenticateDefinition.safeParse(body);\r\n\r\n if (!parsed.success) {\r\n return NextResponse.json<ApiResponse>(\r\n {\r\n ok: false,\r\n message: parsed.error.issues[0].message,\r\n },\r\n { status: 400 },\r\n );\r\n }\r\n\r\n try {\r\n const res = await authenticate(parsed.data, {\r\n headers: {\r\n 'Platform-Code': PLATFORM_CODE,\r\n },\r\n environment: ENVIRONMENT,\r\n });\r\n\r\n const response = NextResponse.json<ApiResponse>({ ok: true }, { status: 201 });\r\n\r\n response.cookies.set(ACCESS_TOKEN_COOKIE_NAME, res.accessToken, {\r\n expires: addMinutes(new Date(), 9),\r\n httpOnly: true,\r\n });\r\n\r\n response.cookies.set(REFRESH_TOKEN_COOKIE_NAME, res.refreshToken, {\r\n expires: subMinutes(addDays(new Date(), 30), 1),\r\n httpOnly: true,\r\n });\r\n\r\n return response;\r\n } catch {\r\n return NextResponse.json<ApiResponse>(\r\n {\r\n ok: false,\r\n message: 'Unauthorized',\r\n },\r\n { status: 401 },\r\n );\r\n }\r\n }\r\n\r\n return NextResponse.json<ApiResponse>(\r\n {\r\n ok: false,\r\n message: 'Not found',\r\n },\r\n { status: 404 },\r\n );\r\n};\r\n","import { constructFrom } from \"./constructFrom.js\";\nimport { toDate } from \"./toDate.js\";\n\n/**\n * The {@link addDays} function options.\n */\n\n/**\n * @name addDays\n * @category Day Helpers\n * @summary Add the specified number of days to the given date.\n *\n * @description\n * Add the specified number of days to the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of days to be added.\n * @param options - An object with options\n *\n * @returns The new date with the days added\n *\n * @example\n * // Add 10 days to 1 September 2014:\n * const result = addDays(new Date(2014, 8, 1), 10)\n * //=> Thu Sep 11 2014 00:00:00\n */\nexport function addDays(date, amount, options) {\n const _date = toDate(date, options?.in);\n if (isNaN(amount)) return constructFrom(options?.in || date, NaN);\n\n // If 0 days, no-op to avoid changing times in the hour before end of DST\n if (!amount) return _date;\n\n _date.setDate(_date.getDate() + amount);\n return _date;\n}\n\n// Fallback for modularized imports:\nexport default addDays;\n","import { addMinutes } from \"./addMinutes.js\";\n\n/**\n * The {@link subMinutes} function options.\n */\n\n/**\n * @name subMinutes\n * @category Minute Helpers\n * @summary Subtract the specified number of minutes from the given date.\n *\n * @description\n * Subtract the specified number of minutes from the given date.\n *\n * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc).\n * @typeParam ResultDate - The result `Date` type, it is the type returned from the context function if it is passed, or inferred from the arguments.\n *\n * @param date - The date to be changed\n * @param amount - The amount of minutes to be subtracted.\n * @param options - An object with options\n *\n * @returns The new date with the minutes subtracted\n *\n * @example\n * // Subtract 30 minutes from 10 July 2014 12:00:00:\n * const result = subMinutes(new Date(2014, 6, 10, 12, 0), 30)\n * //=> Thu Jul 10 2014 11:30:00\n */\nexport function subMinutes(date, amount, options) {\n return addMinutes(date, -amount, options);\n}\n\n// Fallback for modularized imports:\nexport default subMinutes;\n"],"mappings":"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","names":[]}
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { PropsWithChildren, ReactNode } from 'react';
|
|
3
|
+
import { ImageProps } from 'next/image';
|
|
4
|
+
|
|
5
|
+
interface DisclaimerProps {
|
|
6
|
+
logo: ImageProps['src'];
|
|
7
|
+
}
|
|
8
|
+
declare function Disclaimer(props: DisclaimerProps): react.JSX.Element;
|
|
9
|
+
|
|
10
|
+
declare function Games(): null;
|
|
11
|
+
|
|
12
|
+
declare function PortalProvider({ children }: PropsWithChildren): react.JSX.Element;
|
|
13
|
+
|
|
14
|
+
interface SignInProps {
|
|
15
|
+
logo: ImageProps['src'];
|
|
16
|
+
banner: ImageProps['src'];
|
|
17
|
+
children?: ReactNode;
|
|
18
|
+
}
|
|
19
|
+
declare function SignIn(props: SignInProps): react.JSX.Element;
|
|
20
|
+
|
|
21
|
+
interface SignUpProps {
|
|
22
|
+
logo: ImageProps['src'];
|
|
23
|
+
banner: ImageProps['src'];
|
|
24
|
+
children?: ReactNode;
|
|
25
|
+
}
|
|
26
|
+
declare function SignUp(props: SignUpProps): react.JSX.Element;
|
|
27
|
+
|
|
28
|
+
interface TopWinsProps {
|
|
29
|
+
className?: string;
|
|
30
|
+
}
|
|
31
|
+
declare function TopWins(props: TopWinsProps): react.JSX.Element | null;
|
|
32
|
+
|
|
33
|
+
export { Disclaimer, type DisclaimerProps, Games, PortalProvider, SignIn, type SignInProps, SignUp, type SignUpProps, TopWins, type TopWinsProps };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { PropsWithChildren, ReactNode } from 'react';
|
|
3
|
+
import { ImageProps } from 'next/image';
|
|
4
|
+
|
|
5
|
+
interface DisclaimerProps {
|
|
6
|
+
logo: ImageProps['src'];
|
|
7
|
+
}
|
|
8
|
+
declare function Disclaimer(props: DisclaimerProps): react.JSX.Element;
|
|
9
|
+
|
|
10
|
+
declare function Games(): null;
|
|
11
|
+
|
|
12
|
+
declare function PortalProvider({ children }: PropsWithChildren): react.JSX.Element;
|
|
13
|
+
|
|
14
|
+
interface SignInProps {
|
|
15
|
+
logo: ImageProps['src'];
|
|
16
|
+
banner: ImageProps['src'];
|
|
17
|
+
children?: ReactNode;
|
|
18
|
+
}
|
|
19
|
+
declare function SignIn(props: SignInProps): react.JSX.Element;
|
|
20
|
+
|
|
21
|
+
interface SignUpProps {
|
|
22
|
+
logo: ImageProps['src'];
|
|
23
|
+
banner: ImageProps['src'];
|
|
24
|
+
children?: ReactNode;
|
|
25
|
+
}
|
|
26
|
+
declare function SignUp(props: SignUpProps): react.JSX.Element;
|
|
27
|
+
|
|
28
|
+
interface TopWinsProps {
|
|
29
|
+
className?: string;
|
|
30
|
+
}
|
|
31
|
+
declare function TopWins(props: TopWinsProps): react.JSX.Element | null;
|
|
32
|
+
|
|
33
|
+
export { Disclaimer, type DisclaimerProps, Games, PortalProvider, SignIn, type SignInProps, SignUp, type SignUpProps, TopWins, type TopWinsProps };
|