@koine/next 1.0.14 → 1.0.15
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/Forms/index.d.ts +0 -1
- package/Forms/index.js +0 -1
- package/node/Analytics/AnalyticsGoogle.js +37 -0
- package/node/Analytics/index.js +4 -0
- package/node/Auth/helpers.js +27 -0
- package/node/Auth/index.js +7 -0
- package/node/Auth/useLogin.js +53 -0
- package/node/Auth/useLoginUrl.js +15 -0
- package/node/Auth/useLogout.js +56 -0
- package/node/Favicon/Favicon.js +9 -0
- package/node/Favicon/index.js +4 -0
- package/node/Forms/index.js +4 -0
- package/node/Forms/useForm.js +39 -0
- package/node/Head/Head.js +5 -0
- package/node/Head/index.js +4 -0
- package/node/I18n/I18n.js +102 -0
- package/node/I18n/index.js +4 -0
- package/node/Img/Img.js +35 -0
- package/node/Img/index.js +4 -0
- package/node/Link/Link.js +14 -0
- package/node/Link/index.js +4 -0
- package/node/NextProgress/NextProgress.js +44 -0
- package/node/NextProgress/index.js +5 -0
- package/node/Seo/Seo.js +12 -0
- package/node/Seo/SeoDefaults.js +16 -0
- package/node/Seo/helpers.js +119 -0
- package/node/Seo/index.js +15 -0
- package/node/Theme/Theme.js +250 -0
- package/node/Theme/index.js +4 -0
- package/node/app/AppHead.js +10 -0
- package/node/app/AppMain.js +2 -0
- package/node/app/css/AppMain.js +17 -0
- package/node/app/css/AppTheme.js +18 -0
- package/node/app/css/auth/index.js +18 -0
- package/node/app/css/index.js +62 -0
- package/node/app/em/AppMain.js +28 -0
- package/node/app/em/AppTheme.js +22 -0
- package/node/app/em/auth/index.js +18 -0
- package/node/app/em/index.js +17 -0
- package/node/app/index.js +5 -0
- package/node/app/sc/AppMain.js +28 -0
- package/node/app/sc/AppTheme.js +15 -0
- package/node/app/sc/auth/index.js +18 -0
- package/node/app/sc/index.js +64 -0
- package/node/config/index.js +201 -0
- package/node/document/Document.js +29 -0
- package/node/document/css/index.js +47 -0
- package/node/document/em/index.js +62 -0
- package/node/document/index.js +7 -0
- package/node/document/sc/index.js +68 -0
- package/node/index.js +15 -0
- package/node/utils/emotion-cache.js +13 -0
- package/node/utils/index.js +31 -0
- package/package.json +4 -4
- package/utils/index.d.ts +0 -1
- package/utils/index.js +0 -1
package/Forms/index.d.ts
CHANGED
package/Forms/index.js
CHANGED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AnalyticsGoogle = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
var react_1 = require("react");
|
|
7
|
+
var router_1 = require("next/router");
|
|
8
|
+
var script_1 = tslib_1.__importDefault(require("next/script"));
|
|
9
|
+
var utils_1 = require("@koine/utils");
|
|
10
|
+
var AnalyticsGoogle = function (_a) {
|
|
11
|
+
var id = _a.id;
|
|
12
|
+
var uid = id || process.env["NEXT_PUBLIC_GTM_ID"];
|
|
13
|
+
var _b = (0, router_1.useRouter)(), events = _b.events, asPath = _b.asPath, query = _b.query;
|
|
14
|
+
var _c = (0, react_1.useState)(false), ready = _c[0], setReady = _c[1];
|
|
15
|
+
var _d = (0, react_1.useState)(false), routed = _d[0], setRouted = _d[1];
|
|
16
|
+
// const [url, setUrl] = useState("");
|
|
17
|
+
(0, react_1.useEffect)(function () {
|
|
18
|
+
var handleRouteChange = function () {
|
|
19
|
+
setRouted(true);
|
|
20
|
+
};
|
|
21
|
+
events.on("routeChangeComplete", handleRouteChange);
|
|
22
|
+
return function () {
|
|
23
|
+
events.off("routeChangeComplete", handleRouteChange);
|
|
24
|
+
};
|
|
25
|
+
}, [events]);
|
|
26
|
+
(0, react_1.useEffect)(function () {
|
|
27
|
+
if (routed && ready && asPath) {
|
|
28
|
+
// const search = query;
|
|
29
|
+
(0, utils_1.pageview)(asPath);
|
|
30
|
+
}
|
|
31
|
+
}, [asPath, query, routed, ready]);
|
|
32
|
+
if (!uid) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(script_1.default, { id: "google-tagmanager", src: "https://www.googletagmanager.com/gtag/js?id=".concat(id), strategy: "afterInteractive", onLoad: function () { return setReady(true); } }), (0, jsx_runtime_1.jsx)(script_1.default, tslib_1.__assign({ id: "google-analytics", strategy: "afterInteractive" }, { children: "\n window.dataLayer = window.dataLayer || [];\n function gtag(){window.dataLayer.push(arguments);}\n gtag('js', new Date());\n\n gtag('config', '".concat(id, "', { 'send_page_view': false });\n ") }))] }));
|
|
36
|
+
};
|
|
37
|
+
exports.AnalyticsGoogle = AnalyticsGoogle;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCallbackUrl = exports.getAuthRoutes = exports.AUTH_ROUTES = void 0;
|
|
4
|
+
var utils_1 = require("@koine/utils");
|
|
5
|
+
exports.AUTH_ROUTES = {
|
|
6
|
+
login: process.env["AUTH_ROUTE_LOGIN"],
|
|
7
|
+
profile: process.env["AUTH_ROUTE_PROFILE"],
|
|
8
|
+
register: process.env["AUTH_ROUTE_REGISTER"],
|
|
9
|
+
secured: JSON.parse(process.env["AUTH_ROUTES_SECURED"] || "[]"),
|
|
10
|
+
};
|
|
11
|
+
function getAuthRoutes(t) {
|
|
12
|
+
return Object.keys(exports.AUTH_ROUTES).reduce(function (map, name) {
|
|
13
|
+
var routePage = exports.AUTH_ROUTES[name];
|
|
14
|
+
// @ts-expect-error cannot remember
|
|
15
|
+
map[name] = (0, utils_1.isString)(routePage) ? t("~:".concat(exports.AUTH_ROUTES[name])) : routePage;
|
|
16
|
+
return map;
|
|
17
|
+
}, {});
|
|
18
|
+
}
|
|
19
|
+
exports.getAuthRoutes = getAuthRoutes;
|
|
20
|
+
/**
|
|
21
|
+
* @param url e.g. "http://localhost:3000/signin?callbackUrl=http://localhost:3000/profile"
|
|
22
|
+
*/
|
|
23
|
+
function getCallbackUrl(url) {
|
|
24
|
+
if (url === void 0) { url = window.location.href; }
|
|
25
|
+
return url.split("callbackUrl=")[1] || "";
|
|
26
|
+
}
|
|
27
|
+
exports.getCallbackUrl = getCallbackUrl;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./helpers"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./useLogin"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./useLoginUrl"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./useLogout"), exports);
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useLogin = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var react_1 = require("react");
|
|
6
|
+
var router_1 = require("next/router");
|
|
7
|
+
var react_2 = require("next-auth/react");
|
|
8
|
+
var utils_1 = require("@koine/utils");
|
|
9
|
+
var I18n_1 = require("../I18n");
|
|
10
|
+
var helpers_1 = require("./helpers");
|
|
11
|
+
function useLogin() {
|
|
12
|
+
var t = (0, I18n_1.useT)();
|
|
13
|
+
var push = (0, router_1.useRouter)().push;
|
|
14
|
+
var _a = (0, react_1.useState)(false), loading = _a[0], setLoading = _a[1];
|
|
15
|
+
var _b = (0, react_1.useState)(false), ok = _b[0], setOk = _b[1];
|
|
16
|
+
var _c = (0, react_1.useState)(false), fail = _c[0], setFail = _c[1];
|
|
17
|
+
var submit = (0, react_1.useCallback)(function (data) {
|
|
18
|
+
setLoading(true);
|
|
19
|
+
(0, react_2.signIn)("credentials", tslib_1.__assign(tslib_1.__assign({}, data), { redirect: false }))
|
|
20
|
+
// @ts-expect-error FIXME: at some point...
|
|
21
|
+
.then(function (_a) {
|
|
22
|
+
var ok = _a.ok;
|
|
23
|
+
setLoading(false);
|
|
24
|
+
setOk(ok);
|
|
25
|
+
setFail(!ok);
|
|
26
|
+
if (ok) {
|
|
27
|
+
var redirectUrl = (0, utils_1.parseURL)((0, helpers_1.getCallbackUrl)());
|
|
28
|
+
var _b = (0, helpers_1.getAuthRoutes)(t), login = _b.login, register = _b.register, profile = _b.profile;
|
|
29
|
+
if (redirectUrl) {
|
|
30
|
+
var redirectPath = redirectUrl.pathname;
|
|
31
|
+
if (profile &&
|
|
32
|
+
(redirectPath === login || redirectPath === register)) {
|
|
33
|
+
push(profile);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
push(redirectPath + redirectUrl.search);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
else if (profile) {
|
|
40
|
+
push(profile);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}, [t, push]);
|
|
45
|
+
// TODO: useMemo ?
|
|
46
|
+
return {
|
|
47
|
+
submit: submit,
|
|
48
|
+
loading: loading,
|
|
49
|
+
ok: ok,
|
|
50
|
+
fail: fail,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
exports.useLogin = useLogin;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useLoginUrl = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
var I18n_1 = require("../I18n");
|
|
6
|
+
var helpers_1 = require("./helpers");
|
|
7
|
+
function useLoginUrl() {
|
|
8
|
+
var _a = (0, react_1.useState)(""), currentUrl = _a[0], setCurrentUrl = _a[1];
|
|
9
|
+
var t = (0, I18n_1.useT)();
|
|
10
|
+
(0, react_1.useEffect)(function () {
|
|
11
|
+
setCurrentUrl("?callbackUrl=".concat(window.location.href));
|
|
12
|
+
}, []);
|
|
13
|
+
return "".concat((0, helpers_1.getAuthRoutes)(t).login).concat(currentUrl);
|
|
14
|
+
}
|
|
15
|
+
exports.useLoginUrl = useLoginUrl;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useLogout = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
var router_1 = require("next/router");
|
|
6
|
+
var react_2 = require("next-auth/react");
|
|
7
|
+
var utils_1 = require("@koine/utils");
|
|
8
|
+
var I18n_1 = require("../I18n");
|
|
9
|
+
var helpers_1 = require("./helpers");
|
|
10
|
+
function useLogout() {
|
|
11
|
+
var t = (0, I18n_1.useT)();
|
|
12
|
+
var push = (0, router_1.useRouter)().push;
|
|
13
|
+
var _a = (0, react_1.useState)(false), loading = _a[0], setLoading = _a[1];
|
|
14
|
+
var _b = (0, react_1.useState)(false), ok = _b[0], setOk = _b[1];
|
|
15
|
+
var fail = (0, react_1.useState)(false)[0];
|
|
16
|
+
var submit = (0, react_1.useCallback)(function (event) {
|
|
17
|
+
event.preventDefault();
|
|
18
|
+
event.stopPropagation();
|
|
19
|
+
setLoading(true);
|
|
20
|
+
(0, react_2.signOut)({ redirect: false }).then(function () {
|
|
21
|
+
setLoading(false);
|
|
22
|
+
setOk(true);
|
|
23
|
+
var redirectUrl = (0, utils_1.parseURL)((0, helpers_1.getCallbackUrl)());
|
|
24
|
+
var currentUrl = (0, utils_1.parseURL)(window.location.href);
|
|
25
|
+
var secured = (0, helpers_1.getAuthRoutes)(t).secured;
|
|
26
|
+
var signin = t("~:/signin");
|
|
27
|
+
var profile = t("~:/profile");
|
|
28
|
+
var targetUrl = redirectUrl || currentUrl;
|
|
29
|
+
var redirect = "";
|
|
30
|
+
if (targetUrl) {
|
|
31
|
+
if (targetUrl.pathname === profile) {
|
|
32
|
+
redirect = signin;
|
|
33
|
+
}
|
|
34
|
+
else if (secured) {
|
|
35
|
+
for (var i = 0; i < secured.length; i++) {
|
|
36
|
+
if (targetUrl.pathname.match(secured[i])) {
|
|
37
|
+
redirect = signin;
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
if (redirect) {
|
|
44
|
+
push(redirect);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}, [t, push]);
|
|
48
|
+
// TODO: useMemo ?
|
|
49
|
+
return {
|
|
50
|
+
submit: submit,
|
|
51
|
+
loading: loading,
|
|
52
|
+
ok: ok,
|
|
53
|
+
fail: fail,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
exports.useLogout = useLogout;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Favicon = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
var head_1 = tslib_1.__importDefault(require("next/head"));
|
|
7
|
+
var react_1 = require("@koine/react");
|
|
8
|
+
var Favicon = function (props) { return ((0, jsx_runtime_1.jsx)(head_1.default, { children: (0, jsx_runtime_1.jsx)(react_1.FaviconTags, tslib_1.__assign({}, props)) })); };
|
|
9
|
+
exports.Favicon = Favicon;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useForm = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var react_1 = require("react");
|
|
6
|
+
var react_hook_form_1 = require("react-hook-form");
|
|
7
|
+
var yup_1 = require("@hookform/resolvers/yup");
|
|
8
|
+
var I18n_1 = require("../I18n");
|
|
9
|
+
function useForm(
|
|
10
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
11
|
+
schema, i18nNamespace, formProps, debug) {
|
|
12
|
+
if (formProps === void 0) { formProps = {}; }
|
|
13
|
+
var t = (0, I18n_1.useT)(i18nNamespace);
|
|
14
|
+
// const form = _useForm<InferType<ObjectSchema<T, object>>>({
|
|
15
|
+
var form = (0, react_hook_form_1.useForm)(tslib_1.__assign({
|
|
16
|
+
// @ts-expect-error FIXME:
|
|
17
|
+
resolver: (0, yup_1.yupResolver)(schema) }, formProps));
|
|
18
|
+
// const { control, register, setValue } = form;
|
|
19
|
+
// const field = { control, register, setValue, t };
|
|
20
|
+
// if (process.env["NODE_ENV"] !== "production") {
|
|
21
|
+
// if (debug) {
|
|
22
|
+
// console.log(
|
|
23
|
+
// `Form ${i18nNamespace} data`,
|
|
24
|
+
// form.watch(),
|
|
25
|
+
// `errors: `,
|
|
26
|
+
// form.formState.errors
|
|
27
|
+
// );
|
|
28
|
+
// }
|
|
29
|
+
// }
|
|
30
|
+
// if (formProps.mode === "onChange") {
|
|
31
|
+
// return { field, ...form };
|
|
32
|
+
// }
|
|
33
|
+
return (0, react_1.useMemo)(function () {
|
|
34
|
+
var control = form.control, register = form.register, setValue = form.setValue;
|
|
35
|
+
var field = { control: control, register: register, setValue: setValue, t: t };
|
|
36
|
+
return tslib_1.__assign({ field: field }, form);
|
|
37
|
+
}, [t, form]);
|
|
38
|
+
}
|
|
39
|
+
exports.useForm = useForm;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/// <reference types="@koine/next/typings" />
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.useDateFormat = exports.translationAsOptions = exports.useT = exports.T = void 0;
|
|
5
|
+
var tslib_1 = require("tslib");
|
|
6
|
+
/* eslint-disable @typescript-eslint/no-unnecessary-type-constraint */
|
|
7
|
+
/**
|
|
8
|
+
* @file
|
|
9
|
+
*
|
|
10
|
+
* About the typescript support for translation strings @see:
|
|
11
|
+
* - https://github.com/vinissimus/next-translate/issues/721
|
|
12
|
+
*/
|
|
13
|
+
var react_1 = require("react");
|
|
14
|
+
var router_1 = require("next/router");
|
|
15
|
+
var format_1 = tslib_1.__importDefault(require("date-fns/format"));
|
|
16
|
+
var useTranslation_1 = tslib_1.__importDefault(require("next-translate/useTranslation"));
|
|
17
|
+
var react_2 = require("@koine/react");
|
|
18
|
+
var Trans_1 = require("next-translate/Trans");
|
|
19
|
+
Object.defineProperty(exports, "T", { enumerable: true, get: function () { return tslib_1.__importDefault(Trans_1).default; } });
|
|
20
|
+
/**
|
|
21
|
+
* FIXME: the use of `useMemo` is a hopefully-temporary solution to fix the FOUC
|
|
22
|
+
* problem of untranslated text during page transitions
|
|
23
|
+
*
|
|
24
|
+
* @see https://github.com/vinissimus/next-translate/issues/513#issuecomment-779826418
|
|
25
|
+
*/
|
|
26
|
+
function useT(namespace) {
|
|
27
|
+
var t = (0, useTranslation_1.default)().t;
|
|
28
|
+
// const typedT = <
|
|
29
|
+
// // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-constraint
|
|
30
|
+
// R extends unknown = string,
|
|
31
|
+
// // Q extends TranslationQuery = TranslationQuery
|
|
32
|
+
// // O extends TranslationOptions = TranslationOptions
|
|
33
|
+
// >(
|
|
34
|
+
// s: N extends TranslateNamespace
|
|
35
|
+
// ? Paths<Koine.NextTranslations[N]> | AllPaths
|
|
36
|
+
// : AllPaths,
|
|
37
|
+
// q?: TranslationQuery,
|
|
38
|
+
// o?: TranslationOptions
|
|
39
|
+
// ) =>
|
|
40
|
+
// // eslint-disable-next-line
|
|
41
|
+
// t.call(
|
|
42
|
+
// null,
|
|
43
|
+
// namespace ? `${namespace}:${s}` : s,
|
|
44
|
+
// q === "obj" ? null : q,
|
|
45
|
+
// q === "obj" || o === "obj" ? { returnObjects: true } : o
|
|
46
|
+
// // ) as R extends (undefined | never | unknown) ? TranslateReturn<TranslationQuery, TranslationOptions> : R;
|
|
47
|
+
// ) as R;
|
|
48
|
+
// return typedT;
|
|
49
|
+
var tMemoized = (0, react_1.useMemo)(function () {
|
|
50
|
+
return function (s, q, o) {
|
|
51
|
+
return t(namespace ? "".concat(namespace, ":").concat(s) : s, q === "obj" ? null : q, q === "obj" || o === "obj" ? { returnObjects: true } : o
|
|
52
|
+
// ) as R extends (undefined | never | unknown) ? TranslateReturn<TranslationQuery, TranslationOptions> : R;
|
|
53
|
+
);
|
|
54
|
+
};
|
|
55
|
+
}, [t, namespace]);
|
|
56
|
+
// return tMemoized as Translate<N>;
|
|
57
|
+
return tMemoized;
|
|
58
|
+
}
|
|
59
|
+
exports.useT = useT;
|
|
60
|
+
function translationAsOptions(t, i18nKey) {
|
|
61
|
+
var dictionary = t(i18nKey, undefined, {
|
|
62
|
+
returnObjects: true,
|
|
63
|
+
});
|
|
64
|
+
return Object.keys(dictionary).map(function (key) { return ({
|
|
65
|
+
value: key,
|
|
66
|
+
label: dictionary[key],
|
|
67
|
+
}); });
|
|
68
|
+
}
|
|
69
|
+
exports.translationAsOptions = translationAsOptions;
|
|
70
|
+
/**
|
|
71
|
+
* Automatically returns the `date-fns/format` function with the right locale
|
|
72
|
+
* passed as option (grabbed from next router value).
|
|
73
|
+
*/
|
|
74
|
+
var useDateFormat = function () {
|
|
75
|
+
var _a = (0, react_1.useState)(function () {
|
|
76
|
+
return function () {
|
|
77
|
+
var args = [];
|
|
78
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
79
|
+
args[_i] = arguments[_i];
|
|
80
|
+
}
|
|
81
|
+
return format_1.default.apply(void 0, args);
|
|
82
|
+
};
|
|
83
|
+
}), formatter = _a[0], setFormatter = _a[1];
|
|
84
|
+
var router = (0, router_1.useRouter)();
|
|
85
|
+
var locale = (0, react_2.useDateLocale)(router.locale);
|
|
86
|
+
(0, react_1.useEffect)(function () {
|
|
87
|
+
if (locale) {
|
|
88
|
+
var newFormatter_1 = function (date, _format, options) { return (0, format_1.default)(date, _format, tslib_1.__assign(tslib_1.__assign({}, (options || {})), { locale: locale })); };
|
|
89
|
+
setFormatter(function () {
|
|
90
|
+
return function () {
|
|
91
|
+
var args = [];
|
|
92
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
93
|
+
args[_i] = arguments[_i];
|
|
94
|
+
}
|
|
95
|
+
return newFormatter_1.apply(void 0, args);
|
|
96
|
+
};
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
}, [locale]);
|
|
100
|
+
return formatter;
|
|
101
|
+
};
|
|
102
|
+
exports.useDateFormat = useDateFormat;
|
package/node/Img/Img.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getNextImgProps = exports.NextImgSmart = exports.NextImg = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
var react_1 = require("react");
|
|
7
|
+
var image_1 = tslib_1.__importDefault(require("next/image"));
|
|
8
|
+
exports.NextImg = image_1.default;
|
|
9
|
+
var NextImgSmart = function (props) {
|
|
10
|
+
var _a = (0, react_1.useState)(false), $loaded = _a[0], setLoaded = _a[1];
|
|
11
|
+
var _b = (0, react_1.useState)(false), $error = _b[0], setError = _b[1];
|
|
12
|
+
var _c = getNextImgProps(props), nextImgProps = _c.nextImgProps, restProps = _c.restProps;
|
|
13
|
+
var Wrap = restProps.Wrap;
|
|
14
|
+
return nextImgProps.priority ? ((0, jsx_runtime_1.jsx)(image_1.default, tslib_1.__assign({}, nextImgProps))) : ((0, jsx_runtime_1.jsx)(Wrap, tslib_1.__assign({}, restProps, { "$loaded": $loaded, "$error": $error }, { children: (0, jsx_runtime_1.jsx)(image_1.default, tslib_1.__assign({}, nextImgProps, { onLoadingComplete: function () { return setLoaded(true); }, onError: function () { return setError(true); } })) })));
|
|
15
|
+
};
|
|
16
|
+
exports.NextImgSmart = NextImgSmart;
|
|
17
|
+
function getNextImgProps(_a) {
|
|
18
|
+
var src = _a.src, alt = _a.alt, layout = _a.layout, blurDataURL = _a.blurDataURL, width = _a.width, height = _a.height, priority = _a.priority, objectFit = _a.objectFit, objectPosition = _a.objectPosition, restProps = tslib_1.__rest(_a, ["src", "alt", "layout", "blurDataURL", "width", "height", "priority", "objectFit", "objectPosition"]);
|
|
19
|
+
var nextImgProps = {
|
|
20
|
+
src: src,
|
|
21
|
+
alt: alt,
|
|
22
|
+
layout: layout,
|
|
23
|
+
blurDataURL: blurDataURL,
|
|
24
|
+
width: width,
|
|
25
|
+
height: height,
|
|
26
|
+
priority: priority,
|
|
27
|
+
objectFit: objectFit,
|
|
28
|
+
objectPosition: objectPosition,
|
|
29
|
+
};
|
|
30
|
+
return {
|
|
31
|
+
nextImgProps: nextImgProps,
|
|
32
|
+
restProps: restProps,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
exports.getNextImgProps = getNextImgProps;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Link = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
var react_1 = require("react");
|
|
7
|
+
var link_1 = tslib_1.__importDefault(require("next/link"));
|
|
8
|
+
/**
|
|
9
|
+
* @see https://next.js.org/docs/api-reference/next/link
|
|
10
|
+
*/
|
|
11
|
+
exports.Link = (0, react_1.forwardRef)(function Link(_a, ref) {
|
|
12
|
+
var href = _a.href, prefetch = _a.prefetch, replace = _a.replace, scroll = _a.scroll, shallow = _a.shallow, locale = _a.locale, _b = _a.Link, Link = _b === void 0 ? "span" : _b, props = tslib_1.__rest(_a, ["href", "prefetch", "replace", "scroll", "shallow", "locale", "Link"]);
|
|
13
|
+
return ((0, jsx_runtime_1.jsx)(link_1.default, tslib_1.__assign({ href: href, replace: replace, scroll: scroll, shallow: shallow, locale: locale, passHref: true }, { children: (0, jsx_runtime_1.jsx)(Link, tslib_1.__assign({ ref: ref }, props)) })));
|
|
14
|
+
});
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NextProgress = void 0;
|
|
4
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
var react_1 = require("react");
|
|
6
|
+
var router_1 = require("next/router");
|
|
7
|
+
var NextProgress = function (_a) {
|
|
8
|
+
var _b = _a.startAt, startAt = _b === void 0 ? 0.3 : _b, _c = _a.showOnShallow, showOnShallow = _c === void 0 ? true : _c, _d = _a.stopDelayMs, stopDelayMs = _d === void 0 ? 200 : _d, _e = _a.Overlay, Overlay = _e === void 0 ? "div" : _e;
|
|
9
|
+
var events = (0, router_1.useRouter)().events;
|
|
10
|
+
// const [progress, setProgress] = useState(0);
|
|
11
|
+
var _f = (0, react_1.useState)(false), running = _f[0], setRunning = _f[1];
|
|
12
|
+
var timer = (0, react_1.useRef)(null);
|
|
13
|
+
var routeChangeStart = (0, react_1.useCallback)(function (_, _a) {
|
|
14
|
+
var shallow = _a.shallow;
|
|
15
|
+
if (!shallow || showOnShallow) {
|
|
16
|
+
// setProgress(startAt);
|
|
17
|
+
setRunning(true);
|
|
18
|
+
}
|
|
19
|
+
}, [showOnShallow]);
|
|
20
|
+
var routeChangeEnd = (0, react_1.useCallback)(function (_, _a) {
|
|
21
|
+
var shallow = _a.shallow;
|
|
22
|
+
if (!shallow || showOnShallow) {
|
|
23
|
+
if (timer.current) {
|
|
24
|
+
clearTimeout(timer.current);
|
|
25
|
+
}
|
|
26
|
+
timer.current = setTimeout(function () {
|
|
27
|
+
// setProgress(100);
|
|
28
|
+
setRunning(false);
|
|
29
|
+
}, stopDelayMs);
|
|
30
|
+
}
|
|
31
|
+
}, [showOnShallow, stopDelayMs, timer]);
|
|
32
|
+
(0, react_1.useEffect)(function () {
|
|
33
|
+
events.on("routeChangeStart", routeChangeStart);
|
|
34
|
+
events.on("routeChangeComplete", routeChangeEnd);
|
|
35
|
+
events.on("routeChangeError", routeChangeEnd);
|
|
36
|
+
return function () {
|
|
37
|
+
events.off("routeChangeStart", routeChangeStart);
|
|
38
|
+
events.off("routeChangeComplete", routeChangeEnd);
|
|
39
|
+
events.off("routeChangeError", routeChangeEnd);
|
|
40
|
+
};
|
|
41
|
+
}, [events, routeChangeStart, routeChangeEnd]);
|
|
42
|
+
return (0, jsx_runtime_1.jsx)(Overlay, { running: running });
|
|
43
|
+
};
|
|
44
|
+
exports.NextProgress = NextProgress;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NextProgress = void 0;
|
|
4
|
+
var NextProgress_1 = require("./NextProgress");
|
|
5
|
+
Object.defineProperty(exports, "NextProgress", { enumerable: true, get: function () { return NextProgress_1.NextProgress; } });
|
package/node/Seo/Seo.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Seo = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
var react_1 = require("react");
|
|
7
|
+
var head_1 = tslib_1.__importDefault(require("next/head"));
|
|
8
|
+
var helpers_1 = require("./helpers");
|
|
9
|
+
var _Seo = function (props) {
|
|
10
|
+
return (0, jsx_runtime_1.jsx)(head_1.default, { children: (0, helpers_1.buildTags)(props) });
|
|
11
|
+
};
|
|
12
|
+
exports.Seo = (0, react_1.memo)(_Seo);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SeoDefaults = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
var react_1 = require("react");
|
|
7
|
+
var head_1 = tslib_1.__importDefault(require("next/head"));
|
|
8
|
+
// import { useRouter } from "next/router";
|
|
9
|
+
// import { getSiteUrl } from "../utils";
|
|
10
|
+
var helpers_1 = require("./helpers");
|
|
11
|
+
var _SeoDefaults = function (props) {
|
|
12
|
+
// const router = useRouter();
|
|
13
|
+
// props.openGraph.url = getSiteUrl(router.asPath);
|
|
14
|
+
return (0, jsx_runtime_1.jsx)(head_1.default, { children: (0, helpers_1.buildTags)(props) });
|
|
15
|
+
};
|
|
16
|
+
exports.SeoDefaults = (0, react_1.memo)(_SeoDefaults);
|