@digigov/nextjs 1.1.5-rc.17 → 1.1.5-rc.30
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/App/index.js +13 -4
- package/App.d.ts +4 -7
- package/App.js.map +2 -2
- package/Document.d.ts +2 -2
- package/Image/index.js +2 -2
- package/Image.js.map +2 -2
- package/Link/index.js +11 -16
- package/Link.d.ts +1 -1
- package/Link.js.map +2 -2
- package/cjs/App/index.js +13 -4
- package/cjs/App.js.map +2 -2
- package/cjs/Image/index.js +2 -2
- package/cjs/Image.js.map +2 -2
- package/cjs/Link/index.js +10 -15
- package/cjs/Link.js.map +3 -3
- package/index.js +1 -1
- package/package.json +6 -6
- package/src/App.tsx +16 -4
- package/src/Image.tsx +4 -2
- package/src/Link.tsx +17 -19
package/App/index.js
CHANGED
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import App from "next/app";
|
|
3
3
|
import Head from "next/head";
|
|
4
|
+
import { useRouter } from "next/router";
|
|
4
5
|
import { withTranslation } from "react-i18next";
|
|
5
6
|
import NextLink from "@digigov/nextjs/Link";
|
|
6
7
|
import DigiGOVApp, { StaticApp } from "@digigov/ui/app/App";
|
|
7
8
|
import { I18NProvider } from "@digigov/ui/i18n";
|
|
8
9
|
import { LinkProvider } from "@digigov/ui/navigation/Link";
|
|
9
|
-
class
|
|
10
|
+
class DigiGOVNextAppClass extends App {
|
|
10
11
|
render() {
|
|
11
|
-
const { Component, pageProps, t, i18n: i18n2, ssr = false } = this.props;
|
|
12
|
+
const { Component, pageProps, t, i18n: i18n2, ssr = false, router } = this.props;
|
|
13
|
+
const { locale } = router;
|
|
14
|
+
if (locale && i18n2.language != locale) {
|
|
15
|
+
i18n2.changeLanguage(locale);
|
|
16
|
+
}
|
|
12
17
|
return /* @__PURE__ */ React.createElement(
|
|
13
18
|
I18NProvider,
|
|
14
19
|
{
|
|
@@ -25,8 +30,12 @@ class DigiGOVNextApp extends App {
|
|
|
25
30
|
);
|
|
26
31
|
}
|
|
27
32
|
}
|
|
28
|
-
const DigiGOVNextAppWithTranslation = withTranslation()(
|
|
29
|
-
|
|
33
|
+
const DigiGOVNextAppWithTranslation = withTranslation()(DigiGOVNextAppClass);
|
|
34
|
+
const DigiGOVNextApp = (props) => {
|
|
35
|
+
const router = useRouter();
|
|
36
|
+
return /* @__PURE__ */ React.createElement(DigiGOVNextAppWithTranslation, { ...props, router });
|
|
37
|
+
};
|
|
38
|
+
var App_default = DigiGOVNextApp;
|
|
30
39
|
export {
|
|
31
40
|
App_default as default
|
|
32
41
|
};
|
package/App.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { i18n, TFunction } from 'i18next';
|
|
3
|
+
import { NextRouter } from 'next/router';
|
|
3
4
|
import { WithTranslation } from 'react-i18next';
|
|
4
5
|
import type { AppProps } from '@digigov/ui/app/App';
|
|
5
6
|
export interface DigiGOVNextAppProps extends AppProps, WithTranslation {
|
|
@@ -7,11 +8,7 @@ export interface DigiGOVNextAppProps extends AppProps, WithTranslation {
|
|
|
7
8
|
t: TFunction;
|
|
8
9
|
i18n: i18n;
|
|
9
10
|
ssr: boolean;
|
|
11
|
+
router: NextRouter;
|
|
10
12
|
}
|
|
11
|
-
declare const
|
|
12
|
-
|
|
13
|
-
router: import("next/router").Router;
|
|
14
|
-
__N_SSG?: boolean | undefined;
|
|
15
|
-
__N_SSP?: boolean | undefined;
|
|
16
|
-
}, keyof WithTranslation> & import("react-i18next").WithTranslationProps>;
|
|
17
|
-
export default DigiGOVNextAppWithTranslation;
|
|
13
|
+
declare const DigiGOVNextApp: (props: any) => React.JSX.Element;
|
|
14
|
+
export default DigiGOVNextApp;
|
package/App.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/App.tsx"],
|
|
4
|
-
"sourcesContent": ["import React from 'react';\nimport { i18n, TFunction } from 'i18next';\nimport App from 'next/app';\nimport Head from 'next/head';\nimport { withTranslation, WithTranslation } from 'react-i18next';\nimport NextLink from '@digigov/nextjs/Link';\nimport DigiGOVApp, { StaticApp } from '@digigov/ui/app/App';\nimport type { AppProps } from '@digigov/ui/app/App';\nimport { I18NProvider } from '@digigov/ui/i18n';\nimport { LinkProvider } from '@digigov/ui/navigation/Link';\n\nexport interface DigiGOVNextAppProps extends AppProps, WithTranslation {\n children?: React.ReactNode;\n t: TFunction;\n i18n: i18n;\n ssr: boolean;\n}\nclass
|
|
5
|
-
"mappings": "AAAA,OAAO,WAAW;AAElB,OAAO,SAAS;AAChB,OAAO,UAAU;AACjB,SAAS,uBAAwC;AACjD,OAAO,cAAc;AACrB,OAAO,cAAc,iBAAiB;AAEtC,SAAS,oBAAoB;AAC7B,SAAS,oBAAoB;
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { i18n, TFunction } from 'i18next';\nimport App from 'next/app';\nimport Head from 'next/head';\nimport { NextRouter, useRouter } from 'next/router';\nimport { withTranslation, WithTranslation } from 'react-i18next';\nimport NextLink from '@digigov/nextjs/Link';\nimport DigiGOVApp, { StaticApp } from '@digigov/ui/app/App';\nimport type { AppProps } from '@digigov/ui/app/App';\nimport { I18NProvider } from '@digigov/ui/i18n';\nimport { LinkProvider } from '@digigov/ui/navigation/Link';\n\nexport interface DigiGOVNextAppProps extends AppProps, WithTranslation {\n children?: React.ReactNode;\n t: TFunction;\n i18n: i18n;\n ssr: boolean;\n router: NextRouter;\n}\nclass DigiGOVNextAppClass extends App<DigiGOVNextAppProps> {\n render(): React.ReactElement {\n const { Component, pageProps, t, i18n, ssr = false, router } = this.props;\n const { locale } = router;\n\n if (locale && i18n.language != locale) {\n i18n.changeLanguage(locale);\n }\n return (\n <I18NProvider\n t={(str) => (typeof str === 'string' ? t(str) : str)}\n i18n={i18n}\n >\n <LinkProvider component={NextLink}>\n <Head>\n <meta\n name=\"viewport\"\n content=\"minimum-scale=1, initial-scale=1, width=device-width\"\n />\n </Head>\n {ssr ? (\n <DigiGOVApp>\n <Component {...pageProps} />\n </DigiGOVApp>\n ) : (\n <StaticApp>\n <Component {...pageProps} />\n </StaticApp>\n )}\n </LinkProvider>\n </I18NProvider>\n );\n }\n}\n\nconst DigiGOVNextAppWithTranslation = withTranslation()(DigiGOVNextAppClass);\nconst DigiGOVNextApp = (props) => {\n const router = useRouter();\n return <DigiGOVNextAppWithTranslation {...props} router={router} />;\n};\nexport default DigiGOVNextApp;\n"],
|
|
5
|
+
"mappings": "AAAA,OAAO,WAAW;AAElB,OAAO,SAAS;AAChB,OAAO,UAAU;AACjB,SAAqB,iBAAiB;AACtC,SAAS,uBAAwC;AACjD,OAAO,cAAc;AACrB,OAAO,cAAc,iBAAiB;AAEtC,SAAS,oBAAoB;AAC7B,SAAS,oBAAoB;AAS7B,MAAM,4BAA4B,IAAyB;AAAA,EACzD,SAA6B;AAC3B,UAAM,EAAE,WAAW,WAAW,GAAG,MAAAA,OAAM,MAAM,OAAO,OAAO,IAAI,KAAK;AACpE,UAAM,EAAE,OAAO,IAAI;AAEnB,QAAI,UAAUA,MAAK,YAAY,QAAQ;AACrC,MAAAA,MAAK,eAAe,MAAM;AAAA,IAC5B;AACA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,GAAG,CAAC,QAAS,OAAO,QAAQ,WAAW,EAAE,GAAG,IAAI;AAAA,QAChD,MAAMA;AAAA;AAAA,MAEN,oCAAC,gBAAa,WAAW,YACvB,oCAAC,YACC;AAAA,QAAC;AAAA;AAAA,UACC,MAAK;AAAA,UACL,SAAQ;AAAA;AAAA,MACV,CACF,GACC,MACC,oCAAC,kBACC,oCAAC,aAAW,GAAG,WAAW,CAC5B,IAEA,oCAAC,iBACC,oCAAC,aAAW,GAAG,WAAW,CAC5B,CAEJ;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,MAAM,gCAAgC,gBAAgB,EAAE,mBAAmB;AAC3E,MAAM,iBAAiB,CAAC,UAAU;AAChC,QAAM,SAAS,UAAU;AACzB,SAAO,oCAAC,iCAA+B,GAAG,OAAO,QAAgB;AACnE;AACA,IAAO,cAAQ;",
|
|
6
6
|
"names": ["i18n"]
|
|
7
7
|
}
|
package/Document.d.ts
CHANGED
package/Image/index.js
CHANGED
|
@@ -2,8 +2,8 @@ import React from "react";
|
|
|
2
2
|
import NextImage from "next/image";
|
|
3
3
|
import { useBasePath } from "@digigov/nextjs/hooks";
|
|
4
4
|
const Image = ({ src, ...rest }) => {
|
|
5
|
-
const basePathSrc = useBasePath(src);
|
|
6
|
-
return /* @__PURE__ */ React.createElement(NextImage, { src: basePathSrc, ...rest });
|
|
5
|
+
const basePathSrc = useBasePath(typeof src === "string" ? src : "");
|
|
6
|
+
return /* @__PURE__ */ React.createElement(NextImage, { src: typeof src === "string" ? basePathSrc : src, ...rest });
|
|
7
7
|
};
|
|
8
8
|
var Image_default = Image;
|
|
9
9
|
export {
|
package/Image.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/Image.tsx"],
|
|
4
|
-
"sourcesContent": ["import React from 'react';\nimport NextImage, { ImageProps } from 'next/image';\nimport { useBasePath } from '@digigov/nextjs/hooks';\n\nconst Image: React.FC<ImageProps> = ({ src, ...rest }) => {\n const basePathSrc = useBasePath(src);\n return <NextImage src={basePathSrc} {...rest}
|
|
5
|
-
"mappings": "AAAA,OAAO,WAAW;AAClB,OAAO,eAA+B;AACtC,SAAS,mBAAmB;AAE5B,MAAM,QAA8B,CAAC,EAAE,KAAK,GAAG,KAAK,MAAM;AACxD,QAAM,cAAc,YAAY,
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport NextImage, { ImageProps } from 'next/image';\nimport { useBasePath } from '@digigov/nextjs/hooks';\n\nconst Image: React.FC<ImageProps> = ({ src, ...rest }) => {\n const basePathSrc = useBasePath(typeof src === 'string' ? src : '');\n return (\n <NextImage src={typeof src === 'string' ? basePathSrc : src} {...rest} />\n );\n};\n\nexport default Image;\n"],
|
|
5
|
+
"mappings": "AAAA,OAAO,WAAW;AAClB,OAAO,eAA+B;AACtC,SAAS,mBAAmB;AAE5B,MAAM,QAA8B,CAAC,EAAE,KAAK,GAAG,KAAK,MAAM;AACxD,QAAM,cAAc,YAAY,OAAO,QAAQ,WAAW,MAAM,EAAE;AAClE,SACE,oCAAC,aAAU,KAAK,OAAO,QAAQ,WAAW,cAAc,KAAM,GAAG,MAAM;AAE3E;AAEA,IAAO,gBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/Link/index.js
CHANGED
|
@@ -1,25 +1,20 @@
|
|
|
1
1
|
import React, { useEffect } from "react";
|
|
2
|
-
import
|
|
2
|
+
import NextRouterLink from "next/link";
|
|
3
3
|
import { useRouter } from "next/router";
|
|
4
|
-
import
|
|
4
|
+
import { Link } from "@digigov/ui/navigation/Link";
|
|
5
5
|
const NextLink = (props, ref) => {
|
|
6
|
-
const { href, ...other } = props;
|
|
7
|
-
const isExternalLink = (
|
|
8
|
-
//check if url has a file extension
|
|
9
|
-
/^(?:[a-z]+:)?\/\/|.pdf|.docx?|.xlsx?/i.test(href || "") || // or if props has a target or rel
|
|
10
|
-
other.target === "_blank"
|
|
11
|
-
);
|
|
6
|
+
const { href, as, ...other } = props;
|
|
7
|
+
const isExternalLink = /^(?:[a-z]+:)?\/\/|\.pdf|\.docx?|\.xlsx?|^mailto:/i.test(href || "") || other.target === "_blank";
|
|
12
8
|
const router = useRouter();
|
|
13
9
|
useEffect(() => {
|
|
14
10
|
const path = router.asPath;
|
|
15
|
-
if (path
|
|
11
|
+
if (path.includes("#")) {
|
|
16
12
|
setTimeout(() => {
|
|
17
13
|
const id = path.replace("#", "");
|
|
18
|
-
const el =
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
top: scrollY + r.top,
|
|
14
|
+
const el = document.getElementById(id);
|
|
15
|
+
if (el) {
|
|
16
|
+
window.scroll({
|
|
17
|
+
top: scrollY + el.getBoundingClientRect().top,
|
|
23
18
|
behavior: "smooth"
|
|
24
19
|
});
|
|
25
20
|
}
|
|
@@ -27,9 +22,9 @@ const NextLink = (props, ref) => {
|
|
|
27
22
|
}
|
|
28
23
|
}, [router.asPath]);
|
|
29
24
|
if (isExternalLink) {
|
|
30
|
-
return /* @__PURE__ */ React.createElement(
|
|
25
|
+
return /* @__PURE__ */ React.createElement(Link, { ref, href: href || "#", ...other }, props.children);
|
|
31
26
|
}
|
|
32
|
-
return /* @__PURE__ */ React.createElement(
|
|
27
|
+
return /* @__PURE__ */ React.createElement(NextRouterLink, { href: href || "#", as: void 0, ...other }, /* @__PURE__ */ React.createElement(Link, { ref, ...other, as }, props.children));
|
|
33
28
|
};
|
|
34
29
|
var Link_default = React.forwardRef(NextLink);
|
|
35
30
|
export {
|
package/Link.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { LinkProps } from '@digigov/ui/navigation/Link';
|
|
3
|
-
declare const _default: React.ForwardRefExoticComponent<
|
|
3
|
+
declare const _default: React.ForwardRefExoticComponent<Omit<LinkProps, "ref"> & React.RefAttributes<HTMLAnchorElement>>;
|
|
4
4
|
export default _default;
|
package/Link.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/Link.tsx"],
|
|
4
|
-
"sourcesContent": ["import React, { useEffect } from 'react';\nimport
|
|
5
|
-
"mappings": "AAAA,OAAO,SAAS,iBAAiB;AACjC,OAAO,
|
|
4
|
+
"sourcesContent": ["import React, { useEffect } from 'react';\nimport NextRouterLink from 'next/link';\nimport { useRouter } from 'next/router';\nimport { Link, LinkProps } from '@digigov/ui/navigation/Link';\n\nconst NextLink: React.ForwardRefRenderFunction<HTMLAnchorElement, LinkProps> = (\n props,\n ref\n) => {\n const { href, as, ...other } = props;\n const isExternalLink =\n /^(?:[a-z]+:)?\\/\\/|\\.pdf|\\.docx?|\\.xlsx?|^mailto:/i.test(href || '') ||\n other.target === '_blank';\n\n const router = useRouter();\n\n useEffect(() => {\n const path = router.asPath;\n if (path.includes('#')) {\n setTimeout(() => {\n const id = path.replace('#', '');\n const el = document.getElementById(id);\n if (el) {\n window.scroll({\n top: scrollY + el.getBoundingClientRect().top,\n behavior: 'smooth',\n });\n }\n }, 600);\n }\n }, [router.asPath]);\n\n if (isExternalLink) {\n return (\n <Link ref={ref} href={href || '#'} {...other}>\n {props.children}\n </Link>\n );\n }\n\n return (\n <NextRouterLink href={href || '#'} as={undefined} {...other}>\n <Link ref={ref} {...other} as={as}>\n {props.children}\n </Link>\n </NextRouterLink>\n );\n};\n\nexport default React.forwardRef(NextLink);\n"],
|
|
5
|
+
"mappings": "AAAA,OAAO,SAAS,iBAAiB;AACjC,OAAO,oBAAoB;AAC3B,SAAS,iBAAiB;AAC1B,SAAS,YAAuB;AAEhC,MAAM,WAAyE,CAC7E,OACA,QACG;AACH,QAAM,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;AAC/B,QAAM,iBACJ,oDAAoD,KAAK,QAAQ,EAAE,KACnE,MAAM,WAAW;AAEnB,QAAM,SAAS,UAAU;AAEzB,YAAU,MAAM;AACd,UAAM,OAAO,OAAO;AACpB,QAAI,KAAK,SAAS,GAAG,GAAG;AACtB,iBAAW,MAAM;AACf,cAAM,KAAK,KAAK,QAAQ,KAAK,EAAE;AAC/B,cAAM,KAAK,SAAS,eAAe,EAAE;AACrC,YAAI,IAAI;AACN,iBAAO,OAAO;AAAA,YACZ,KAAK,UAAU,GAAG,sBAAsB,EAAE;AAAA,YAC1C,UAAU;AAAA,UACZ,CAAC;AAAA,QACH;AAAA,MACF,GAAG,GAAG;AAAA,IACR;AAAA,EACF,GAAG,CAAC,OAAO,MAAM,CAAC;AAElB,MAAI,gBAAgB;AAClB,WACE,oCAAC,QAAK,KAAU,MAAM,QAAQ,KAAM,GAAG,SACpC,MAAM,QACT;AAAA,EAEJ;AAEA,SACE,oCAAC,kBAAe,MAAM,QAAQ,KAAK,IAAI,QAAY,GAAG,SACpD,oCAAC,QAAK,KAAW,GAAG,OAAO,MACxB,MAAM,QACT,CACF;AAEJ;AAEA,IAAO,eAAQ,MAAM,WAAW,QAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/cjs/App/index.js
CHANGED
|
@@ -33,14 +33,19 @@ module.exports = __toCommonJS(App_exports);
|
|
|
33
33
|
var import_react = __toESM(require("react"));
|
|
34
34
|
var import_app = __toESM(require("next/app"));
|
|
35
35
|
var import_head = __toESM(require("next/head"));
|
|
36
|
+
var import_router = require("next/router");
|
|
36
37
|
var import_react_i18next = require("react-i18next");
|
|
37
38
|
var import_Link = __toESM(require("@digigov/nextjs/Link"));
|
|
38
39
|
var import_App = __toESM(require("@digigov/ui/app/App"));
|
|
39
40
|
var import_i18n = require("@digigov/ui/i18n");
|
|
40
41
|
var import_Link2 = require("@digigov/ui/navigation/Link");
|
|
41
|
-
class
|
|
42
|
+
class DigiGOVNextAppClass extends import_app.default {
|
|
42
43
|
render() {
|
|
43
|
-
const { Component, pageProps, t, i18n: i18n2, ssr = false } = this.props;
|
|
44
|
+
const { Component, pageProps, t, i18n: i18n2, ssr = false, router } = this.props;
|
|
45
|
+
const { locale } = router;
|
|
46
|
+
if (locale && i18n2.language != locale) {
|
|
47
|
+
i18n2.changeLanguage(locale);
|
|
48
|
+
}
|
|
44
49
|
return /* @__PURE__ */ import_react.default.createElement(
|
|
45
50
|
import_i18n.I18NProvider,
|
|
46
51
|
{
|
|
@@ -57,6 +62,10 @@ class DigiGOVNextApp extends import_app.default {
|
|
|
57
62
|
);
|
|
58
63
|
}
|
|
59
64
|
}
|
|
60
|
-
const DigiGOVNextAppWithTranslation = (0, import_react_i18next.withTranslation)()(
|
|
61
|
-
|
|
65
|
+
const DigiGOVNextAppWithTranslation = (0, import_react_i18next.withTranslation)()(DigiGOVNextAppClass);
|
|
66
|
+
const DigiGOVNextApp = (props) => {
|
|
67
|
+
const router = (0, import_router.useRouter)();
|
|
68
|
+
return /* @__PURE__ */ import_react.default.createElement(DigiGOVNextAppWithTranslation, { ...props, router });
|
|
69
|
+
};
|
|
70
|
+
var App_default = DigiGOVNextApp;
|
|
62
71
|
//# sourceMappingURL=App.js.map
|
package/cjs/App.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/App.tsx"],
|
|
4
|
-
"sourcesContent": ["import React from 'react';\nimport { i18n, TFunction } from 'i18next';\nimport App from 'next/app';\nimport Head from 'next/head';\nimport { withTranslation, WithTranslation } from 'react-i18next';\nimport NextLink from '@digigov/nextjs/Link';\nimport DigiGOVApp, { StaticApp } from '@digigov/ui/app/App';\nimport type { AppProps } from '@digigov/ui/app/App';\nimport { I18NProvider } from '@digigov/ui/i18n';\nimport { LinkProvider } from '@digigov/ui/navigation/Link';\n\nexport interface DigiGOVNextAppProps extends AppProps, WithTranslation {\n children?: React.ReactNode;\n t: TFunction;\n i18n: i18n;\n ssr: boolean;\n}\nclass
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAElB,iBAAgB;AAChB,kBAAiB;AACjB,2BAAiD;AACjD,kBAAqB;AACrB,iBAAsC;AAEtC,kBAA6B;AAC7B,IAAAA,eAA6B;
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport { i18n, TFunction } from 'i18next';\nimport App from 'next/app';\nimport Head from 'next/head';\nimport { NextRouter, useRouter } from 'next/router';\nimport { withTranslation, WithTranslation } from 'react-i18next';\nimport NextLink from '@digigov/nextjs/Link';\nimport DigiGOVApp, { StaticApp } from '@digigov/ui/app/App';\nimport type { AppProps } from '@digigov/ui/app/App';\nimport { I18NProvider } from '@digigov/ui/i18n';\nimport { LinkProvider } from '@digigov/ui/navigation/Link';\n\nexport interface DigiGOVNextAppProps extends AppProps, WithTranslation {\n children?: React.ReactNode;\n t: TFunction;\n i18n: i18n;\n ssr: boolean;\n router: NextRouter;\n}\nclass DigiGOVNextAppClass extends App<DigiGOVNextAppProps> {\n render(): React.ReactElement {\n const { Component, pageProps, t, i18n, ssr = false, router } = this.props;\n const { locale } = router;\n\n if (locale && i18n.language != locale) {\n i18n.changeLanguage(locale);\n }\n return (\n <I18NProvider\n t={(str) => (typeof str === 'string' ? t(str) : str)}\n i18n={i18n}\n >\n <LinkProvider component={NextLink}>\n <Head>\n <meta\n name=\"viewport\"\n content=\"minimum-scale=1, initial-scale=1, width=device-width\"\n />\n </Head>\n {ssr ? (\n <DigiGOVApp>\n <Component {...pageProps} />\n </DigiGOVApp>\n ) : (\n <StaticApp>\n <Component {...pageProps} />\n </StaticApp>\n )}\n </LinkProvider>\n </I18NProvider>\n );\n }\n}\n\nconst DigiGOVNextAppWithTranslation = withTranslation()(DigiGOVNextAppClass);\nconst DigiGOVNextApp = (props) => {\n const router = useRouter();\n return <DigiGOVNextAppWithTranslation {...props} router={router} />;\n};\nexport default DigiGOVNextApp;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAElB,iBAAgB;AAChB,kBAAiB;AACjB,oBAAsC;AACtC,2BAAiD;AACjD,kBAAqB;AACrB,iBAAsC;AAEtC,kBAA6B;AAC7B,IAAAA,eAA6B;AAS7B,MAAM,4BAA4B,WAAAC,QAAyB;AAAA,EACzD,SAA6B;AAC3B,UAAM,EAAE,WAAW,WAAW,GAAG,MAAAC,OAAM,MAAM,OAAO,OAAO,IAAI,KAAK;AACpE,UAAM,EAAE,OAAO,IAAI;AAEnB,QAAI,UAAUA,MAAK,YAAY,QAAQ;AACrC,MAAAA,MAAK,eAAe,MAAM;AAAA,IAC5B;AACA,WACE,6BAAAC,QAAA;AAAA,MAAC;AAAA;AAAA,QACC,GAAG,CAAC,QAAS,OAAO,QAAQ,WAAW,EAAE,GAAG,IAAI;AAAA,QAChD,MAAMD;AAAA;AAAA,MAEN,6BAAAC,QAAA,cAAC,6BAAa,WAAW,YAAAC,WACvB,6BAAAD,QAAA,cAAC,YAAAE,SAAA,MACC,6BAAAF,QAAA;AAAA,QAAC;AAAA;AAAA,UACC,MAAK;AAAA,UACL,SAAQ;AAAA;AAAA,MACV,CACF,GACC,MACC,6BAAAA,QAAA,cAAC,WAAAG,SAAA,MACC,6BAAAH,QAAA,cAAC,aAAW,GAAG,WAAW,CAC5B,IAEA,6BAAAA,QAAA,cAAC,4BACC,6BAAAA,QAAA,cAAC,aAAW,GAAG,WAAW,CAC5B,CAEJ;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,MAAM,oCAAgC,sCAAgB,EAAE,mBAAmB;AAC3E,MAAM,iBAAiB,CAAC,UAAU;AAChC,QAAM,aAAS,yBAAU;AACzB,SAAO,6BAAAA,QAAA,cAAC,iCAA+B,GAAG,OAAO,QAAgB;AACnE;AACA,IAAO,cAAQ;",
|
|
6
6
|
"names": ["import_Link", "App", "i18n", "React", "NextLink", "Head", "DigiGOVApp"]
|
|
7
7
|
}
|
package/cjs/Image/index.js
CHANGED
|
@@ -34,8 +34,8 @@ var import_react = __toESM(require("react"));
|
|
|
34
34
|
var import_image = __toESM(require("next/image"));
|
|
35
35
|
var import_hooks = require("@digigov/nextjs/hooks");
|
|
36
36
|
const Image = ({ src, ...rest }) => {
|
|
37
|
-
const basePathSrc = (0, import_hooks.useBasePath)(src);
|
|
38
|
-
return /* @__PURE__ */ import_react.default.createElement(import_image.default, { src: basePathSrc, ...rest });
|
|
37
|
+
const basePathSrc = (0, import_hooks.useBasePath)(typeof src === "string" ? src : "");
|
|
38
|
+
return /* @__PURE__ */ import_react.default.createElement(import_image.default, { src: typeof src === "string" ? basePathSrc : src, ...rest });
|
|
39
39
|
};
|
|
40
40
|
var Image_default = Image;
|
|
41
41
|
//# sourceMappingURL=Image.js.map
|
package/cjs/Image.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Image.tsx"],
|
|
4
|
-
"sourcesContent": ["import React from 'react';\nimport NextImage, { ImageProps } from 'next/image';\nimport { useBasePath } from '@digigov/nextjs/hooks';\n\nconst Image: React.FC<ImageProps> = ({ src, ...rest }) => {\n const basePathSrc = useBasePath(src);\n return <NextImage src={basePathSrc} {...rest}
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAClB,mBAAsC;AACtC,mBAA4B;AAE5B,MAAM,QAA8B,CAAC,EAAE,KAAK,GAAG,KAAK,MAAM;AACxD,QAAM,kBAAc,0BAAY,
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport NextImage, { ImageProps } from 'next/image';\nimport { useBasePath } from '@digigov/nextjs/hooks';\n\nconst Image: React.FC<ImageProps> = ({ src, ...rest }) => {\n const basePathSrc = useBasePath(typeof src === 'string' ? src : '');\n return (\n <NextImage src={typeof src === 'string' ? basePathSrc : src} {...rest} />\n );\n};\n\nexport default Image;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAClB,mBAAsC;AACtC,mBAA4B;AAE5B,MAAM,QAA8B,CAAC,EAAE,KAAK,GAAG,KAAK,MAAM;AACxD,QAAM,kBAAc,0BAAY,OAAO,QAAQ,WAAW,MAAM,EAAE;AAClE,SACE,6BAAAA,QAAA,cAAC,aAAAC,SAAA,EAAU,KAAK,OAAO,QAAQ,WAAW,cAAc,KAAM,GAAG,MAAM;AAE3E;AAEA,IAAO,gBAAQ;",
|
|
6
6
|
"names": ["React", "NextImage"]
|
|
7
7
|
}
|
package/cjs/Link/index.js
CHANGED
|
@@ -33,25 +33,20 @@ module.exports = __toCommonJS(Link_exports);
|
|
|
33
33
|
var import_react = __toESM(require("react"));
|
|
34
34
|
var import_link = __toESM(require("next/link"));
|
|
35
35
|
var import_router = require("next/router");
|
|
36
|
-
var
|
|
36
|
+
var import_Link = require("@digigov/ui/navigation/Link");
|
|
37
37
|
const NextLink = (props, ref) => {
|
|
38
|
-
const { href, ...other } = props;
|
|
39
|
-
const isExternalLink = (
|
|
40
|
-
//check if url has a file extension
|
|
41
|
-
/^(?:[a-z]+:)?\/\/|.pdf|.docx?|.xlsx?/i.test(href || "") || // or if props has a target or rel
|
|
42
|
-
other.target === "_blank"
|
|
43
|
-
);
|
|
38
|
+
const { href, as, ...other } = props;
|
|
39
|
+
const isExternalLink = /^(?:[a-z]+:)?\/\/|\.pdf|\.docx?|\.xlsx?|^mailto:/i.test(href || "") || other.target === "_blank";
|
|
44
40
|
const router = (0, import_router.useRouter)();
|
|
45
41
|
(0, import_react.useEffect)(() => {
|
|
46
42
|
const path = router.asPath;
|
|
47
|
-
if (path
|
|
43
|
+
if (path.includes("#")) {
|
|
48
44
|
setTimeout(() => {
|
|
49
45
|
const id = path.replace("#", "");
|
|
50
|
-
const el =
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
top: scrollY + r.top,
|
|
46
|
+
const el = document.getElementById(id);
|
|
47
|
+
if (el) {
|
|
48
|
+
window.scroll({
|
|
49
|
+
top: scrollY + el.getBoundingClientRect().top,
|
|
55
50
|
behavior: "smooth"
|
|
56
51
|
});
|
|
57
52
|
}
|
|
@@ -59,9 +54,9 @@ const NextLink = (props, ref) => {
|
|
|
59
54
|
}
|
|
60
55
|
}, [router.asPath]);
|
|
61
56
|
if (isExternalLink) {
|
|
62
|
-
return /* @__PURE__ */ import_react.default.createElement(
|
|
57
|
+
return /* @__PURE__ */ import_react.default.createElement(import_Link.Link, { ref, href: href || "#", ...other }, props.children);
|
|
63
58
|
}
|
|
64
|
-
return /* @__PURE__ */ import_react.default.createElement(import_link.default, { href: href || "#", ...other }, /* @__PURE__ */ import_react.default.createElement(
|
|
59
|
+
return /* @__PURE__ */ import_react.default.createElement(import_link.default, { href: href || "#", as: void 0, ...other }, /* @__PURE__ */ import_react.default.createElement(import_Link.Link, { ref, ...other, as }, props.children));
|
|
65
60
|
};
|
|
66
61
|
var Link_default = import_react.default.forwardRef(NextLink);
|
|
67
62
|
//# sourceMappingURL=Link.js.map
|
package/cjs/Link.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Link.tsx"],
|
|
4
|
-
"sourcesContent": ["import React, { useEffect } from 'react';\nimport
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAiC;AACjC,
|
|
6
|
-
"names": ["React", "
|
|
4
|
+
"sourcesContent": ["import React, { useEffect } from 'react';\nimport NextRouterLink from 'next/link';\nimport { useRouter } from 'next/router';\nimport { Link, LinkProps } from '@digigov/ui/navigation/Link';\n\nconst NextLink: React.ForwardRefRenderFunction<HTMLAnchorElement, LinkProps> = (\n props,\n ref\n) => {\n const { href, as, ...other } = props;\n const isExternalLink =\n /^(?:[a-z]+:)?\\/\\/|\\.pdf|\\.docx?|\\.xlsx?|^mailto:/i.test(href || '') ||\n other.target === '_blank';\n\n const router = useRouter();\n\n useEffect(() => {\n const path = router.asPath;\n if (path.includes('#')) {\n setTimeout(() => {\n const id = path.replace('#', '');\n const el = document.getElementById(id);\n if (el) {\n window.scroll({\n top: scrollY + el.getBoundingClientRect().top,\n behavior: 'smooth',\n });\n }\n }, 600);\n }\n }, [router.asPath]);\n\n if (isExternalLink) {\n return (\n <Link ref={ref} href={href || '#'} {...other}>\n {props.children}\n </Link>\n );\n }\n\n return (\n <NextRouterLink href={href || '#'} as={undefined} {...other}>\n <Link ref={ref} {...other} as={as}>\n {props.children}\n </Link>\n </NextRouterLink>\n );\n};\n\nexport default React.forwardRef(NextLink);\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAiC;AACjC,kBAA2B;AAC3B,oBAA0B;AAC1B,kBAAgC;AAEhC,MAAM,WAAyE,CAC7E,OACA,QACG;AACH,QAAM,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;AAC/B,QAAM,iBACJ,oDAAoD,KAAK,QAAQ,EAAE,KACnE,MAAM,WAAW;AAEnB,QAAM,aAAS,yBAAU;AAEzB,8BAAU,MAAM;AACd,UAAM,OAAO,OAAO;AACpB,QAAI,KAAK,SAAS,GAAG,GAAG;AACtB,iBAAW,MAAM;AACf,cAAM,KAAK,KAAK,QAAQ,KAAK,EAAE;AAC/B,cAAM,KAAK,SAAS,eAAe,EAAE;AACrC,YAAI,IAAI;AACN,iBAAO,OAAO;AAAA,YACZ,KAAK,UAAU,GAAG,sBAAsB,EAAE;AAAA,YAC1C,UAAU;AAAA,UACZ,CAAC;AAAA,QACH;AAAA,MACF,GAAG,GAAG;AAAA,IACR;AAAA,EACF,GAAG,CAAC,OAAO,MAAM,CAAC;AAElB,MAAI,gBAAgB;AAClB,WACE,6BAAAA,QAAA,cAAC,oBAAK,KAAU,MAAM,QAAQ,KAAM,GAAG,SACpC,MAAM,QACT;AAAA,EAEJ;AAEA,SACE,6BAAAA,QAAA,cAAC,YAAAC,SAAA,EAAe,MAAM,QAAQ,KAAK,IAAI,QAAY,GAAG,SACpD,6BAAAD,QAAA,cAAC,oBAAK,KAAW,GAAG,OAAO,MACxB,MAAM,QACT,CACF;AAEJ;AAEA,IAAO,eAAQ,aAAAA,QAAM,WAAW,QAAQ;",
|
|
6
|
+
"names": ["React", "NextRouterLink"]
|
|
7
7
|
}
|
package/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@digigov/nextjs",
|
|
3
|
-
"version": "1.1.5-rc.
|
|
3
|
+
"version": "1.1.5-rc.30",
|
|
4
4
|
"description": "next specific utilities for @digigov apps",
|
|
5
5
|
"author": "GRNET Developers <devs@lists.grnet.gr>",
|
|
6
6
|
"license": "BSD-2-Clause",
|
|
7
7
|
"main": "./cjs/index.js",
|
|
8
8
|
"module": "./index.js",
|
|
9
9
|
"peerDependencies": {
|
|
10
|
-
"@digigov/ui": "2.0.0-rc.
|
|
11
|
-
"@digigov/react-core": "2.0.0-rc.
|
|
10
|
+
"@digigov/ui": "2.0.0-rc.30",
|
|
11
|
+
"@digigov/react-core": "2.0.0-rc.30",
|
|
12
12
|
"clsx": "1.1.1",
|
|
13
13
|
"i18next": "19.1.0",
|
|
14
|
-
"react": "
|
|
15
|
-
"react-dom": "
|
|
16
|
-
"next": "
|
|
14
|
+
"react": ">=16.8.0 <19.0.0",
|
|
15
|
+
"react-dom": ">=16.8.0 <19.0.0",
|
|
16
|
+
"next": "13.1.1",
|
|
17
17
|
"react-i18next": "11.3.3"
|
|
18
18
|
},
|
|
19
19
|
"gitHead": "7237a2d58c6b30979837579e51251543aff0c240",
|
package/src/App.tsx
CHANGED
|
@@ -2,6 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import { i18n, TFunction } from 'i18next';
|
|
3
3
|
import App from 'next/app';
|
|
4
4
|
import Head from 'next/head';
|
|
5
|
+
import { NextRouter, useRouter } from 'next/router';
|
|
5
6
|
import { withTranslation, WithTranslation } from 'react-i18next';
|
|
6
7
|
import NextLink from '@digigov/nextjs/Link';
|
|
7
8
|
import DigiGOVApp, { StaticApp } from '@digigov/ui/app/App';
|
|
@@ -14,10 +15,16 @@ export interface DigiGOVNextAppProps extends AppProps, WithTranslation {
|
|
|
14
15
|
t: TFunction;
|
|
15
16
|
i18n: i18n;
|
|
16
17
|
ssr: boolean;
|
|
18
|
+
router: NextRouter;
|
|
17
19
|
}
|
|
18
|
-
class
|
|
20
|
+
class DigiGOVNextAppClass extends App<DigiGOVNextAppProps> {
|
|
19
21
|
render(): React.ReactElement {
|
|
20
|
-
const { Component, pageProps, t, i18n, ssr = false } = this.props;
|
|
22
|
+
const { Component, pageProps, t, i18n, ssr = false, router } = this.props;
|
|
23
|
+
const { locale } = router;
|
|
24
|
+
|
|
25
|
+
if (locale && i18n.language != locale) {
|
|
26
|
+
i18n.changeLanguage(locale);
|
|
27
|
+
}
|
|
21
28
|
return (
|
|
22
29
|
<I18NProvider
|
|
23
30
|
t={(str) => (typeof str === 'string' ? t(str) : str)}
|
|
@@ -44,5 +51,10 @@ class DigiGOVNextApp extends App<DigiGOVNextAppProps> {
|
|
|
44
51
|
);
|
|
45
52
|
}
|
|
46
53
|
}
|
|
47
|
-
|
|
48
|
-
|
|
54
|
+
|
|
55
|
+
const DigiGOVNextAppWithTranslation = withTranslation()(DigiGOVNextAppClass);
|
|
56
|
+
const DigiGOVNextApp = (props) => {
|
|
57
|
+
const router = useRouter();
|
|
58
|
+
return <DigiGOVNextAppWithTranslation {...props} router={router} />;
|
|
59
|
+
};
|
|
60
|
+
export default DigiGOVNextApp;
|
package/src/Image.tsx
CHANGED
|
@@ -3,8 +3,10 @@ import NextImage, { ImageProps } from 'next/image';
|
|
|
3
3
|
import { useBasePath } from '@digigov/nextjs/hooks';
|
|
4
4
|
|
|
5
5
|
const Image: React.FC<ImageProps> = ({ src, ...rest }) => {
|
|
6
|
-
const basePathSrc = useBasePath(src);
|
|
7
|
-
return
|
|
6
|
+
const basePathSrc = useBasePath(typeof src === 'string' ? src : '');
|
|
7
|
+
return (
|
|
8
|
+
<NextImage src={typeof src === 'string' ? basePathSrc : src} {...rest} />
|
|
9
|
+
);
|
|
8
10
|
};
|
|
9
11
|
|
|
10
12
|
export default Image;
|
package/src/Link.tsx
CHANGED
|
@@ -1,31 +1,28 @@
|
|
|
1
1
|
import React, { useEffect } from 'react';
|
|
2
|
-
import
|
|
2
|
+
import NextRouterLink from 'next/link';
|
|
3
3
|
import { useRouter } from 'next/router';
|
|
4
|
-
import
|
|
5
|
-
import { LinkProps } from '@digigov/ui/navigation/Link';
|
|
4
|
+
import { Link, LinkProps } from '@digigov/ui/navigation/Link';
|
|
6
5
|
|
|
7
6
|
const NextLink: React.ForwardRefRenderFunction<HTMLAnchorElement, LinkProps> = (
|
|
8
7
|
props,
|
|
9
8
|
ref
|
|
10
9
|
) => {
|
|
11
|
-
const { href, ...other } = props;
|
|
10
|
+
const { href, as, ...other } = props;
|
|
12
11
|
const isExternalLink =
|
|
13
|
-
|
|
14
|
-
/^(?:[a-z]+:)?\/\/|.pdf|.docx?|.xlsx?/i.test(href || '') ||
|
|
15
|
-
// or if props has a target or rel
|
|
12
|
+
/^(?:[a-z]+:)?\/\/|\.pdf|\.docx?|\.xlsx?|^mailto:/i.test(href || '') ||
|
|
16
13
|
other.target === '_blank';
|
|
14
|
+
|
|
17
15
|
const router = useRouter();
|
|
18
16
|
|
|
19
17
|
useEffect(() => {
|
|
20
18
|
const path = router.asPath;
|
|
21
|
-
if (path
|
|
19
|
+
if (path.includes('#')) {
|
|
22
20
|
setTimeout(() => {
|
|
23
21
|
const id = path.replace('#', '');
|
|
24
|
-
const el =
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
top: scrollY + r.top,
|
|
22
|
+
const el = document.getElementById(id);
|
|
23
|
+
if (el) {
|
|
24
|
+
window.scroll({
|
|
25
|
+
top: scrollY + el.getBoundingClientRect().top,
|
|
29
26
|
behavior: 'smooth',
|
|
30
27
|
});
|
|
31
28
|
}
|
|
@@ -35,17 +32,18 @@ const NextLink: React.ForwardRefRenderFunction<HTMLAnchorElement, LinkProps> = (
|
|
|
35
32
|
|
|
36
33
|
if (isExternalLink) {
|
|
37
34
|
return (
|
|
38
|
-
<
|
|
35
|
+
<Link ref={ref} href={href || '#'} {...other}>
|
|
39
36
|
{props.children}
|
|
40
|
-
</
|
|
37
|
+
</Link>
|
|
41
38
|
);
|
|
42
39
|
}
|
|
40
|
+
|
|
43
41
|
return (
|
|
44
|
-
<
|
|
45
|
-
<
|
|
42
|
+
<NextRouterLink href={href || '#'} as={undefined} {...other}>
|
|
43
|
+
<Link ref={ref} {...other} as={as}>
|
|
46
44
|
{props.children}
|
|
47
|
-
</
|
|
48
|
-
</
|
|
45
|
+
</Link>
|
|
46
|
+
</NextRouterLink>
|
|
49
47
|
);
|
|
50
48
|
};
|
|
51
49
|
|