@koine/next 2.0.0-beta.37 → 2.0.0-beta.39

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.
Files changed (92) hide show
  1. package/12/Seo.d.ts +2 -2
  2. package/12/SeoDefaults.d.ts +1 -1
  3. package/12/seoBuildTags.d.ts +2 -2
  4. package/12/types.d.ts +1 -4
  5. package/12.cjs.d.ts +1 -0
  6. package/12.cjs.default.js +1 -0
  7. package/12.cjs.js +28 -0
  8. package/12.cjs.mjs +2 -0
  9. package/12.d.ts +3 -0
  10. package/12.esm.js +18 -0
  11. package/README.md +13 -0
  12. package/config-i18n.d.ts +2 -28
  13. package/config.cjs.d.ts +1 -0
  14. package/config.cjs.default.js +1 -0
  15. package/config.cjs.js +9 -0
  16. package/config.cjs.mjs +2 -0
  17. package/config.d.ts +5 -3
  18. package/config.esm.js +5 -0
  19. package/index.cjs.d.ts +1 -0
  20. package/index.cjs.default.js +1 -0
  21. package/index.cjs.js +25 -0
  22. package/index.cjs.mjs +2 -0
  23. package/index.d.ts +4 -4
  24. package/index.esm.js +14 -0
  25. package/package.json +21 -128
  26. package/{useTheme.d.ts → theme/useTheme.d.ts} +1 -1
  27. package/{load.d.ts → utils/load.d.ts} +0 -1
  28. package/12/AnalyticsGoogle.js +0 -33
  29. package/12/DisableErrorOverlay.js +0 -8
  30. package/12/DynamicNamespaces.d.ts +0 -8
  31. package/12/DynamicNamespaces.js +0 -4
  32. package/12/Favicon.d.ts +0 -4
  33. package/12/Favicon.js +0 -6
  34. package/12/NextProgress.js +0 -40
  35. package/12/Seo.js +0 -7
  36. package/12/SeoDefaults.js +0 -7
  37. package/12/T.d.ts +0 -11
  38. package/12/T.js +0 -8
  39. package/12/TransText.d.ts +0 -3
  40. package/12/TransText.js +0 -4
  41. package/12/app/AppHead.d.ts +0 -3
  42. package/12/app/AppHead.js +0 -6
  43. package/12/app/AppMain.d.ts +0 -11
  44. package/12/app/AppMain.js +0 -1
  45. package/12/app/css/AppMain.d.ts +0 -4
  46. package/12/app/css/AppMain.js +0 -9
  47. package/12/app/css/AppTheme.d.ts +0 -8
  48. package/12/app/css/AppTheme.js +0 -7
  49. package/12/app/css/index.d.ts +0 -6
  50. package/12/app/css/index.js +0 -9
  51. package/12/app/index.d.ts +0 -2
  52. package/12/app/index.js +0 -2
  53. package/12/createUseLocale.d.ts +0 -2
  54. package/12/createUseLocale.js +0 -7
  55. package/12/createUseT.d.ts +0 -6
  56. package/12/createUseT.js +0 -18
  57. package/12/createUseTo.d.ts +0 -3
  58. package/12/createUseTo.js +0 -21
  59. package/12/document/Document.d.ts +0 -5
  60. package/12/document/Document.js +0 -18
  61. package/12/document/css/index.d.ts +0 -5
  62. package/12/document/css/index.js +0 -18
  63. package/12/document/index.d.ts +0 -2
  64. package/12/document/index.js +0 -2
  65. package/12/getT.d.ts +0 -4
  66. package/12/getT.js +0 -4
  67. package/12/index.d.ts +0 -6
  68. package/12/index.js +0 -6
  69. package/12/seoBuildTags.js +0 -93
  70. package/12/translationAsOptions.d.ts +0 -4
  71. package/12/translationAsOptions.js +0 -10
  72. package/12/types-seo.js +0 -1
  73. package/12/types.js +0 -1
  74. package/12/typings.d.ts +0 -48
  75. package/12/useBackUrl.d.ts +0 -2
  76. package/12/useBackUrl.js +0 -24
  77. package/12/useDateFormat.d.ts +0 -3
  78. package/12/useDateFormat.js +0 -35
  79. package/12/useLocale.d.ts +0 -2
  80. package/12/useLocale.js +0 -6
  81. package/12/useT.d.ts +0 -0
  82. package/12/useT.js +0 -1
  83. package/ThemeContext.js +0 -6
  84. package/ThemeProvider.js +0 -204
  85. package/config-i18n.js +0 -258
  86. package/config.js +0 -114
  87. package/index.js +0 -4
  88. package/load.js +0 -6
  89. package/typings.d.ts +0 -33
  90. package/useTheme.js +0 -5
  91. /package/{ThemeContext.d.ts → theme/ThemeContext.d.ts} +0 -0
  92. /package/{ThemeProvider.d.ts → theme/ThemeProvider.d.ts} +0 -0
package/12/Seo.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { NextSeoProps } from "next-seo/lib/types";
2
- import { type LinkTag, type MetaTag } from "./seoBuildTags.js";
3
- import type { SeoData } from "./types-seo.js";
2
+ import { type LinkTag, type MetaTag } from "./seoBuildTags";
3
+ import type { SeoData } from "./types-seo";
4
4
  type SeoPropsOpenGraph = NextSeoProps["openGraph"] & {
5
5
  image?: string;
6
6
  };
@@ -1,5 +1,5 @@
1
1
  import type { DefaultSeoProps } from "next-seo/lib/types";
2
- import { type LinkTag, type MetaTag } from "./seoBuildTags.js";
2
+ import { type LinkTag, type MetaTag } from "./seoBuildTags";
3
3
  export type SeoDefaultsProps = Omit<DefaultSeoProps, "additionalMetaTags" | "additionalLinkTags" | "dangerouslySetAllPagesToNoIndex" | "dangerouslySetAllPagesToNoFollow" | "defaultOpenGraphImageWidth" | "defaultOpenGraphImageHeight" | "defaultOpenGraphVideoWidth" | "defaultOpenGraphVideoHeight" | "mobileAlternate" | "robotsProps"> & {
4
4
  metaTags?: ReadonlyArray<MetaTag>;
5
5
  linkTags?: ReadonlyArray<LinkTag>;
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
- import type { SeoProps } from "./Seo.js";
3
- import type { SeoDefaultsProps } from "./SeoDefaults.js";
2
+ import type { SeoProps } from "./Seo";
3
+ import type { SeoDefaultsProps } from "./SeoDefaults";
4
4
  export type MetaTag = React.DetailedHTMLProps<React.MetaHTMLAttributes<HTMLMetaElement>, HTMLMetaElement>;
5
5
  export type LinkTag = React.DetailedHTMLProps<React.LinkHTMLAttributes<HTMLLinkElement>, HTMLLinkElement>;
6
6
  type BuildTagsParams = SeoProps & SeoDefaultsProps;
package/12/types.d.ts CHANGED
@@ -1,4 +1 @@
1
- export type { TProps } from "./T.js";
2
- export type { GetT } from "./getT.js";
3
- export type { DynamicNamespacesProps } from "./DynamicNamespaces.js";
4
- export type { SeoDefaultsProps } from "./SeoDefaults.js";
1
+ export type { SeoDefaultsProps } from "./SeoDefaults";
package/12.cjs.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "./12";
@@ -0,0 +1 @@
1
+ exports._default = require('./12.cjs.js').default;
package/12.cjs.js ADDED
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var router = require('next/router');
7
+ var o = require('next/script');
8
+ var react = require('react');
9
+ var browser = require('@koine/browser');
10
+ var r = require('next/head');
11
+
12
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
+
14
+ var o__default = /*#__PURE__*/_interopDefaultLegacy(o);
15
+ var r__default = /*#__PURE__*/_interopDefaultLegacy(r);
16
+
17
+ const AnalyticsGoogle=({id:i})=>{let l=i||process.env.NEXT_PUBLIC_GTM_ID,{events:m,asPath:c,query:d}=router.useRouter(),[p,f]=react.useState(!1),[w,u]=react.useState(!1);return (react.useEffect(()=>{let e=()=>{u(!0);};return m.on("routeChangeComplete",e),()=>{m.off("routeChangeComplete",e);}},[m]),react.useEffect(()=>{w&&p&&c&&browser.gtagPageview(c);},[c,d,w,p]),l)?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(o__default["default"],{id:"google-tagmanager",src:`https://www.googletagmanager.com/gtag/js?id=${i}`,strategy:"afterInteractive",onLoad:()=>f(!0)}),jsxRuntime.jsx(o__default["default"],{id:"google-analytics",strategy:"afterInteractive",children:`
18
+ window.dataLayer = window.dataLayer || [];
19
+ function gtag(){window.dataLayer.push(arguments);}
20
+ gtag('js', new Date());
21
+
22
+ gtag('config', '${i}', { 'send_page_view': false });
23
+ `})]}):null};
24
+
25
+ const DisableErrorOverlay=()=>jsxRuntime.jsx(r__default["default"],{children:"development"===process.env.NODE_ENV&&jsxRuntime.jsx("script",{dangerouslySetInnerHTML:{__html:"window.addEventListener('error',event =>{event.stopImmediatePropagation()});window.addEventListener('unhandledrejection',event =>{event.stopImmediatePropagation()});"}})});
26
+
27
+ exports.AnalyticsGoogle = AnalyticsGoogle;
28
+ exports.DisableErrorOverlay = DisableErrorOverlay;
package/12.cjs.mjs ADDED
@@ -0,0 +1,2 @@
1
+ export * from './12.cjs.js';
2
+ export { _default as default } from './12.cjs.default.js';
package/12.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ export { AnalyticsGoogle, type AnalyticsGoogleProps, } from "./12/AnalyticsGoogle";
2
+ export { DisableErrorOverlay } from "./12/DisableErrorOverlay";
3
+ export * from "./12/types";
package/12.esm.js ADDED
@@ -0,0 +1,18 @@
1
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
+ import { useRouter } from 'next/router';
3
+ import o from 'next/script';
4
+ import { useState, useEffect } from 'react';
5
+ import { gtagPageview } from '@koine/browser';
6
+ import r from 'next/head';
7
+
8
+ const AnalyticsGoogle=({id:i})=>{let l=i||process.env.NEXT_PUBLIC_GTM_ID,{events:m,asPath:c,query:d}=useRouter(),[p,f]=useState(!1),[w,u]=useState(!1);return (useEffect(()=>{let e=()=>{u(!0);};return m.on("routeChangeComplete",e),()=>{m.off("routeChangeComplete",e);}},[m]),useEffect(()=>{w&&p&&c&&gtagPageview(c);},[c,d,w,p]),l)?jsxs(Fragment,{children:[jsx(o,{id:"google-tagmanager",src:`https://www.googletagmanager.com/gtag/js?id=${i}`,strategy:"afterInteractive",onLoad:()=>f(!0)}),jsx(o,{id:"google-analytics",strategy:"afterInteractive",children:`
9
+ window.dataLayer = window.dataLayer || [];
10
+ function gtag(){window.dataLayer.push(arguments);}
11
+ gtag('js', new Date());
12
+
13
+ gtag('config', '${i}', { 'send_page_view': false });
14
+ `})]}):null};
15
+
16
+ const DisableErrorOverlay=()=>jsx(r,{children:"development"===process.env.NODE_ENV&&jsx("script",{dangerouslySetInnerHTML:{__html:"window.addEventListener('error',event =>{event.stopImmediatePropagation()});window.addEventListener('unhandledrejection',event =>{event.stopImmediatePropagation()});"}})});
17
+
18
+ export { AnalyticsGoogle, DisableErrorOverlay };
package/README.md ADDED
@@ -0,0 +1,13 @@
1
+ # @koine/next
2
+
3
+ ## i18n
4
+
5
+ To make typescript work nicely with `useT`, `getT` and `T` make sure to enable [`resolveJsonModule`](https://www.typescriptlang.org/tsconfig#resolveJsonModule) in your `tsconfig.json` file:
6
+
7
+ ```json
8
+ {
9
+ "compilerOptions": {
10
+ "resolveJsonModule": true
11
+ }
12
+ }
13
+ ```
package/config-i18n.d.ts CHANGED
@@ -11,18 +11,6 @@ type Route = string | {
11
11
  type RoutesByLocale = Record<string, Route>;
12
12
  export type Locale = string;
13
13
  export type Routes = Record<Locale, RoutesByLocale>;
14
- type RoutesMapRoute = {
15
- template: string;
16
- pathname: string;
17
- wildcard?: boolean;
18
- };
19
- export declare function orderRoutes(routes: Routes, defaultLocale: Locale): {
20
- [x: string]: RoutesByLocale;
21
- };
22
- export declare function normaliseUrlPathname(pathname?: string): string;
23
- export declare function toPath(urlOrPathname?: string): string;
24
- export declare function encodePathname(pathname?: string): string;
25
- export declare function getRoutesOfDefaultLocale(routes: Routes | RoutesByLocale, defaultLocale?: Locale): RoutesByLocale;
26
14
  export type ConfigI18nOptions = {
27
15
  locales: Locale[];
28
16
  defaultLocale: Locale;
@@ -34,22 +22,8 @@ type Options = ConfigI18nOptions & {
34
22
  debug?: boolean;
35
23
  permanent?: boolean;
36
24
  };
37
- export declare function getPathRedirect(arg: Pick<GetRedirectsOptions, "localeParam" | "permanent"> & {
38
- localeSource?: Locale;
39
- localeDestination?: Locale;
40
- route: RoutesMapRoute;
41
- usePathnameAsSource?: boolean;
42
- }): Redirect | undefined;
43
25
  type GetRedirectsOptions = Options;
44
- export declare function getRedirects(arg: GetRedirectsOptions): Promise<Redirect[]>;
45
- export declare function getPathRewrite(arg: Pick<GetRewritesOptions, "localeParam"> & {
46
- localeSource?: Locale;
47
- localeDestination?: Locale;
48
- route: RoutesMapRoute;
49
- }): {
50
- source: string;
51
- destination: string;
52
- } | undefined;
26
+ export declare function getRedirects(arg: GetRedirectsOptions): Redirect[];
53
27
  type GetRewritesOptions = Options;
54
- export declare function getRewrites(arg: GetRewritesOptions): Promise<Rewrite[]>;
28
+ export declare function getRewrites(arg: GetRewritesOptions): Rewrite[];
55
29
  export {};
@@ -0,0 +1 @@
1
+ export * from "./config";
@@ -0,0 +1 @@
1
+ exports._default = require('./config.cjs.js').default;
package/config.cjs.js ADDED
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ let e=(e,t)=>e.filter((e,n,i)=>i.findIndex(n=>t.every(t=>n[t]===e[t]))===n);function t(e,t){let{[t]:n,...i}=e;return {[t]:n,...i}}function n(e=""){return e.replace(/\/+\//g,"/").replace(/^\/*(.*?)\/*$/,"$1")}function i(e){let{pathname:t,template:n}=e,i=t.split("/").filter(e=>!!e),l=n.split("/").filter(e=>!!e),o={};return {pathname:i.map(e=>{let t=e.endsWith("*"),n=(e=e.replace("*","")).startsWith("{{")&&e.endsWith("}}"),i=n?e.match(/{{(.+)}}/)?.[1].trim()??"":e.trim(),l=encodeURIComponent(i)+(t?"*":"");return o[i]={isDynamic:n,hasWildcard:t},n?`:${l}`:l}).join("/"),template:l.map(e=>{let t=e.startsWith("[")&&e.endsWith("]"),n=t?e.match(/\[(.+)\]/)?.[1].trim()??"":e.trim(),i=o[n]?.hasWildcard,l=encodeURIComponent(n)+(i?"*":"");return t?`:${l}`:l}).join("/")}}function l(e={},t,n="",i=""){let o=Object.keys(t).includes("[spa]");for(let r in t){let a=t[r],c=`${i}/${r}`;"string"==typeof a?(!o||o&&["[spa]","index"].includes(r))&&(e[c]={template:c,pathname:a,wildcard:a.includes("*")}):o||l(e,a,n,c);}return e}function o(e){return e.replace(/\/index$/,"")}function r(e){let{localeSource:t,localeDestination:l,route:r,usePathnameAsSource:a,permanent:c}=e,{template:s,pathname:u}=i(r),p=t?`${t}/`:"",f=o(`/${n(p+(a?u:s))}`),h=l?`${l}/`:"",d=`/${n(h+u)}`;if(f!==d)return {source:f,destination:d,permanent:!!c}}function getRedirects(n){let{routes:i,defaultLocale:a,hideDefaultLocaleInUrl:c,localeParam:s,permanent:u,debug:p}=n,f=t(i,a),h=[];for(let e in f){let t=l({},i[e]);for(let n in t){let i=t[n];if(i.pathname!==o(n)){let t=e===a&&!c,n=e===a&&c;s?t?h.push(r({localeDestination:e,route:i,permanent:u})):n?h.push(r({localeSource:e,route:i,permanent:u})):e!==a?h.push(r({localeSource:e,localeDestination:e,route:i,permanent:u})):h.push(r({route:i,permanent:u})):t?h.push(r({localeDestination:e,route:i,permanent:u})):e!==a?h.push(r({localeSource:e,localeDestination:e,route:i,permanent:u})):h.push(r({route:i,permanent:u}));}}}let d=e(h.filter(Boolean),["source","destination"]).map(e=>s?e:{...e,locale:!1});return p&&console.info("[@koine/next/config:getRedirects]",d),d}function a(e){let{localeSource:t,localeDestination:l,localeParam:r,route:a}=e,{pathname:c,template:s}=i(a),u="";t?u=`${t}/`:r&&(u=`:${r}/`);let p=`/${n(u+c)}`,f="";l?f=`${l}/`:r&&(f=`:${r}/`);let h=o(`/${n(f+s)}`);if(p!==h)return {source:p,destination:h}}function getRewrites(n){let{routes:i,defaultLocale:r,hideDefaultLocaleInUrl:c,localeParam:s,debug:u}=n,p=t(i,r),f=[];for(let e in p){let t=l({},i[e]);for(let n in t){let i=t[n],l=e===r&&!c,u=e===r&&c;s?u?f.push(a({localeDestination:e,route:i})):f.push(a({localeParam:s,route:i})):i.pathname!==o(n)&&(e!==r||l?f.push(a({localeSource:e,route:i})):f.push(a({route:i})));}}let h=e(f.filter(Boolean),["source","destination"]);return u&&console.info("[@koine/next/config:getRewrites]",h),h}
6
+
7
+ let withKoine=({nx:i=!0,svg:t=!0,page:n,routes:l,permanent:o,debug:s,...a}={i18n:{locales:["en"],defaultLocale:"en",hideDefaultLocaleInUrl:!1}})=>{let c={eslint:{ignoreDuringBuilds:!0},typescript:{ignoreBuildErrors:!0},poweredByHeader:!1,modularizeImports:{"@koine/i18n":{transform:"@koine/i18n/{{member}}"},"@koine/next/?(((\\w*)?/?)*)":{transform:"@koine/next/{{ matches.[1] }}/{{member}}"},...a.modularizeImports||{}},experimental:{scrollRestoration:!0,...a.experimental||{}},...a};if(t&&(i?c.nx={svgr:!0}:(delete c.nx,c.webpack=(e,r)=>{let i="function"==typeof c.webpack?c.webpack(e,r):e;return i.module.rules.push({test:/\.svg$/,use:[{loader:"@svgr/webpack",options:{svgoConfig:{plugins:[{name:"removeViewBox",active:!1}]}}}]}),i})),a.i18n){let{locales:e,defaultLocale:r,localeParam:i}=a.i18n;i?delete c.i18n:c.i18n={locales:e,defaultLocale:r};}return l?{...c,async redirects(){let r=getRedirects({routes:l,permanent:o,debug:s,...a.i18n});return c.redirects?[...r,...await c.redirects()]:r},async rewrites(){let e=getRewrites({routes:l,debug:s,...a.i18n});if(c.rewrites){let r=await c.rewrites();return Array.isArray(r)?{beforeFiles:e,afterFiles:r,fallback:[]}:{...r,beforeFiles:[...e,...r.beforeFiles||[]]}}return {beforeFiles:e,afterFiles:[],fallback:[]}}}:c};
8
+
9
+ exports.withKoine = withKoine;
package/config.cjs.mjs ADDED
@@ -0,0 +1,2 @@
1
+ export * from './config.cjs.js';
2
+ export { _default as default } from './config.cjs.default.js';
package/config.d.ts CHANGED
@@ -12,7 +12,7 @@ interface KoineNextConfig {
12
12
  }
13
13
  interface MergedConfig extends KoineNextConfig, Omit<NextConfig, "i18n"> {
14
14
  }
15
- export declare function withKoine({ nx, svg, page, routes, permanent, debug, ...custom }?: MergedConfig): NextConfig | {
15
+ export declare let withKoine: ({ nx, svg, page, routes, permanent, debug, ...custom }?: MergedConfig) => NextConfig | {
16
16
  redirects(): Promise<import("./config-i18n.js").Redirect[]>;
17
17
  rewrites(): Promise<{
18
18
  beforeFiles: import("./config-i18n.js").Rewrite[];
@@ -33,10 +33,12 @@ export declare function withKoine({ nx, svg, page, routes, permanent, debug, ...
33
33
  excludeDefaultMomentLocales?: boolean | undefined;
34
34
  webpack?: import("next/dist/server/config-shared.js").NextJsWebpackConfig | null | undefined;
35
35
  trailingSlash?: boolean | undefined;
36
- env?: Record<string, string> | undefined;
36
+ env?: Record<string, string | undefined> | undefined;
37
37
  distDir?: string | undefined;
38
38
  cleanDistDir?: boolean | undefined;
39
39
  assetPrefix?: string | undefined;
40
+ cacheHandler?: string | undefined;
41
+ cacheMaxMemorySize?: number | undefined;
40
42
  useFileSystemPublicRoutes?: boolean | undefined;
41
43
  generateBuildId?: (() => string | Promise<string | null> | null) | undefined;
42
44
  generateEtags?: boolean | undefined;
@@ -109,4 +111,4 @@ export declare function withKoine({ nx, svg, page, routes, permanent, debug, ...
109
111
  } | undefined;
110
112
  experimental?: import("next/dist/server/config-shared.js").ExperimentalConfig | undefined;
111
113
  };
112
- export default withKoine;
114
+ export {};
package/config.esm.js ADDED
@@ -0,0 +1,5 @@
1
+ let e=(e,t)=>e.filter((e,n,i)=>i.findIndex(n=>t.every(t=>n[t]===e[t]))===n);function t(e,t){let{[t]:n,...i}=e;return {[t]:n,...i}}function n(e=""){return e.replace(/\/+\//g,"/").replace(/^\/*(.*?)\/*$/,"$1")}function i(e){let{pathname:t,template:n}=e,i=t.split("/").filter(e=>!!e),l=n.split("/").filter(e=>!!e),o={};return {pathname:i.map(e=>{let t=e.endsWith("*"),n=(e=e.replace("*","")).startsWith("{{")&&e.endsWith("}}"),i=n?e.match(/{{(.+)}}/)?.[1].trim()??"":e.trim(),l=encodeURIComponent(i)+(t?"*":"");return o[i]={isDynamic:n,hasWildcard:t},n?`:${l}`:l}).join("/"),template:l.map(e=>{let t=e.startsWith("[")&&e.endsWith("]"),n=t?e.match(/\[(.+)\]/)?.[1].trim()??"":e.trim(),i=o[n]?.hasWildcard,l=encodeURIComponent(n)+(i?"*":"");return t?`:${l}`:l}).join("/")}}function l(e={},t,n="",i=""){let o=Object.keys(t).includes("[spa]");for(let r in t){let a=t[r],c=`${i}/${r}`;"string"==typeof a?(!o||o&&["[spa]","index"].includes(r))&&(e[c]={template:c,pathname:a,wildcard:a.includes("*")}):o||l(e,a,n,c);}return e}function o(e){return e.replace(/\/index$/,"")}function r(e){let{localeSource:t,localeDestination:l,route:r,usePathnameAsSource:a,permanent:c}=e,{template:s,pathname:u}=i(r),p=t?`${t}/`:"",f=o(`/${n(p+(a?u:s))}`),h=l?`${l}/`:"",d=`/${n(h+u)}`;if(f!==d)return {source:f,destination:d,permanent:!!c}}function getRedirects(n){let{routes:i,defaultLocale:a,hideDefaultLocaleInUrl:c,localeParam:s,permanent:u,debug:p}=n,f=t(i,a),h=[];for(let e in f){let t=l({},i[e]);for(let n in t){let i=t[n];if(i.pathname!==o(n)){let t=e===a&&!c,n=e===a&&c;s?t?h.push(r({localeDestination:e,route:i,permanent:u})):n?h.push(r({localeSource:e,route:i,permanent:u})):e!==a?h.push(r({localeSource:e,localeDestination:e,route:i,permanent:u})):h.push(r({route:i,permanent:u})):t?h.push(r({localeDestination:e,route:i,permanent:u})):e!==a?h.push(r({localeSource:e,localeDestination:e,route:i,permanent:u})):h.push(r({route:i,permanent:u}));}}}let d=e(h.filter(Boolean),["source","destination"]).map(e=>s?e:{...e,locale:!1});return p&&console.info("[@koine/next/config:getRedirects]",d),d}function a(e){let{localeSource:t,localeDestination:l,localeParam:r,route:a}=e,{pathname:c,template:s}=i(a),u="";t?u=`${t}/`:r&&(u=`:${r}/`);let p=`/${n(u+c)}`,f="";l?f=`${l}/`:r&&(f=`:${r}/`);let h=o(`/${n(f+s)}`);if(p!==h)return {source:p,destination:h}}function getRewrites(n){let{routes:i,defaultLocale:r,hideDefaultLocaleInUrl:c,localeParam:s,debug:u}=n,p=t(i,r),f=[];for(let e in p){let t=l({},i[e]);for(let n in t){let i=t[n],l=e===r&&!c,u=e===r&&c;s?u?f.push(a({localeDestination:e,route:i})):f.push(a({localeParam:s,route:i})):i.pathname!==o(n)&&(e!==r||l?f.push(a({localeSource:e,route:i})):f.push(a({route:i})));}}let h=e(f.filter(Boolean),["source","destination"]);return u&&console.info("[@koine/next/config:getRewrites]",h),h}
2
+
3
+ let withKoine=({nx:i=!0,svg:t=!0,page:n,routes:l,permanent:o,debug:s,...a}={i18n:{locales:["en"],defaultLocale:"en",hideDefaultLocaleInUrl:!1}})=>{let c={eslint:{ignoreDuringBuilds:!0},typescript:{ignoreBuildErrors:!0},poweredByHeader:!1,modularizeImports:{"@koine/i18n":{transform:"@koine/i18n/{{member}}"},"@koine/next/?(((\\w*)?/?)*)":{transform:"@koine/next/{{ matches.[1] }}/{{member}}"},...a.modularizeImports||{}},experimental:{scrollRestoration:!0,...a.experimental||{}},...a};if(t&&(i?c.nx={svgr:!0}:(delete c.nx,c.webpack=(e,r)=>{let i="function"==typeof c.webpack?c.webpack(e,r):e;return i.module.rules.push({test:/\.svg$/,use:[{loader:"@svgr/webpack",options:{svgoConfig:{plugins:[{name:"removeViewBox",active:!1}]}}}]}),i})),a.i18n){let{locales:e,defaultLocale:r,localeParam:i}=a.i18n;i?delete c.i18n:c.i18n={locales:e,defaultLocale:r};}return l?{...c,async redirects(){let r=getRedirects({routes:l,permanent:o,debug:s,...a.i18n});return c.redirects?[...r,...await c.redirects()]:r},async rewrites(){let e=getRewrites({routes:l,debug:s,...a.i18n});if(c.rewrites){let r=await c.rewrites();return Array.isArray(r)?{beforeFiles:e,afterFiles:r,fallback:[]}:{...r,beforeFiles:[...e,...r.beforeFiles||[]]}}return {beforeFiles:e,afterFiles:[],fallback:[]}}}:c};
4
+
5
+ export { withKoine };
package/index.cjs.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "./index";
@@ -0,0 +1 @@
1
+ exports._default = require('./index.cjs.js').default;
package/index.cjs.js ADDED
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var react = require('react');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+ var o = require('next/script');
8
+ var utils = require('@koine/utils');
9
+
10
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
+
12
+ var o__default = /*#__PURE__*/_interopDefaultLegacy(o);
13
+
14
+ function load(e,o){return new Promise(t=>{setTimeout(()=>t(e),o);})}
15
+
16
+ const ThemeContext=react.createContext({setTheme:e=>{},themes:[]});
17
+
18
+ let l=["light","dark"],d="(prefers-color-scheme: dark)",c="theme";const ThemeProvider=({forcedTheme:r,disableTransitionOnChange:o=!1,enableSystem:v=!0,enableColorScheme:y,themes:p=["light","dark"],defaultTheme:g=v?"system":"light",attribute:w="data-theme",value:x,children:S,nonce:k})=>{let[b,L]=react.useState(()=>u(c,g)),[T,j]=react.useState(()=>u(c)),C=x?Object.values(x):p,E=react.useCallback(e=>{let t=e;if(utils.isServer||!t)return;"system"===e&&v&&(t=f());let r=x?x[t]:t,i=o?$():null,n=document.documentElement;if("class"===w?(n.classList.remove(...C),r&&n.classList.add(r)):r?n.setAttribute(w,r):n.removeAttribute(w),y){let e=l.includes(g)?g:"",r=l.includes(t)?t:e;n.style.colorScheme=r;}i?.();},[w,C,g,o,y,v,x]),I=react.useCallback(e=>{L(e);try{localStorage.setItem(c,e);}catch(e){}},[]),M=react.useCallback(e=>{j(f(e)),"system"===b&&v&&!r&&E("system");},[b,v,r,E]);return react.useEffect(()=>{let e=window.matchMedia(d);return e.addListener(M),M(e),()=>e.removeListener(M)},[M]),react.useEffect(()=>{let e=e=>{e.key===c&&I(e.newValue||g);};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[g,I]),react.useEffect(()=>{E(r??b);},[E,r,b]),jsxRuntime.jsxs(ThemeContext.Provider,{value:{theme:b,setTheme:I,forcedTheme:r,resolvedTheme:"system"===b?T:b,themes:v?[...p,"system"]:p,systemTheme:v?T:void 0},children:[jsxRuntime.jsx(h,{forcedTheme:r,disableTransitionOnChange:o,enableSystem:v,enableColorScheme:y,themes:p,defaultTheme:g,attribute:w,value:x,children:S,attrs:C,nonce:k}),S]})};let h=react.memo(({forcedTheme:t,attribute:o,enableSystem:i,enableColorScheme:n,defaultTheme:s,value:a,attrs:m,nonce:h})=>{let u="system"===s,$=(()=>{let e=`d.remove(${m.map(e=>`'${e}'`).join(",")})`;return `var d=document.documentElement.classList;${e};`})(),f=n?(l.includes(s)?s:null)?`if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'${s}'`:"if(e==='light'||e==='dark')d.style.colorScheme=e":"",y=(e,t=!1,r=!0)=>{let i=a?a[e]:e,s=t?e+"|| ''":`'${i}'`,m="";return n&&r&&!t&&l.includes(e)&&(m+=`d.style.colorScheme = '${e}';`),"class"===o?t||i?m+=`d.add(${s})`:m+="null":i&&(m+=`d[s](n, ${s})`),m},p=t?`!function(){${$}${y(t)}}()`:i?`!function(){try {${$}var e=localStorage.getItem('${c}');if("system"===e||(!e&&${u})){var t="${d}",m=window.matchMedia(t);if(m.media!==t||m.matches){${y("dark")}}else{${y("light")}}}else if(e){${a?`var x=${JSON.stringify(a)};`:""}${y(a?"x[e]":"e",!0)}}${u?"":"else{"+y(s,!1,!1)+"}"}${f}}catch(e){}}()`:`!function(){try{${$}var e=localStorage.getItem("${c}");if(e){${a?`var x=${JSON.stringify(a)};`:""}${y(a?"x[e]":"e",!0)}}else{${y(s,!1,!1)};}${f}}catch(t){}}();`;return jsxRuntime.jsx(o__default["default"],{id:"next-theme-script",strategy:"beforeInteractive",src:`data:text/javascript;base64,${v(p)}`,nonce:h})},()=>!0),u=(e,t)=>{let r;if(!utils.isServer){try{r=localStorage.getItem(e)||void 0;}catch(e){}return r||t}},$=()=>{let e=document,t=e.createElement("style");return t.appendChild(e.createTextNode("*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),e.head.appendChild(t),()=>{window.getComputedStyle(e.body),setTimeout(()=>{e.head.removeChild(t);},1);}},f=e=>(e||(e=window.matchMedia(d)),e.matches?"dark":"light"),v=e=>utils.isServer?Buffer.from(e).toString("base64"):btoa(e);
19
+
20
+ const useTheme=()=>react.useContext(ThemeContext);
21
+
22
+ exports.ThemeContext = ThemeContext;
23
+ exports.ThemeProvider = ThemeProvider;
24
+ exports.load = load;
25
+ exports.useTheme = useTheme;
package/index.cjs.mjs ADDED
@@ -0,0 +1,2 @@
1
+ export * from './index.cjs.js';
2
+ export { _default as default } from './index.cjs.default.js';
package/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { load } from "./load.js";
2
- export { ThemeContext, type ThemeContextProps } from "./ThemeContext.js";
3
- export { ThemeProvider, type ThemeProviderProps } from "./ThemeProvider.js";
4
- export { useTheme, type UseThemeProps } from "./useTheme.js";
1
+ export { load } from "./utils/load";
2
+ export { ThemeContext, type ThemeContextProps } from "./theme/ThemeContext";
3
+ export { ThemeProvider, type ThemeProviderProps } from "./theme/ThemeProvider";
4
+ export { useTheme, type UseThemeProps } from "./theme/useTheme";
package/index.esm.js ADDED
@@ -0,0 +1,14 @@
1
+ import { createContext, useState, useCallback, useEffect, memo, useContext } from 'react';
2
+ import { jsxs, jsx } from 'react/jsx-runtime';
3
+ import o from 'next/script';
4
+ import { isServer } from '@koine/utils';
5
+
6
+ function load(e,o){return new Promise(t=>{setTimeout(()=>t(e),o);})}
7
+
8
+ const ThemeContext=createContext({setTheme:e=>{},themes:[]});
9
+
10
+ let l=["light","dark"],d="(prefers-color-scheme: dark)",c="theme";const ThemeProvider=({forcedTheme:r,disableTransitionOnChange:o=!1,enableSystem:v=!0,enableColorScheme:y,themes:p=["light","dark"],defaultTheme:g=v?"system":"light",attribute:w="data-theme",value:x,children:S,nonce:k})=>{let[b,L]=useState(()=>u(c,g)),[T,j]=useState(()=>u(c)),C=x?Object.values(x):p,E=useCallback(e=>{let t=e;if(isServer||!t)return;"system"===e&&v&&(t=f());let r=x?x[t]:t,i=o?$():null,n=document.documentElement;if("class"===w?(n.classList.remove(...C),r&&n.classList.add(r)):r?n.setAttribute(w,r):n.removeAttribute(w),y){let e=l.includes(g)?g:"",r=l.includes(t)?t:e;n.style.colorScheme=r;}i?.();},[w,C,g,o,y,v,x]),I=useCallback(e=>{L(e);try{localStorage.setItem(c,e);}catch(e){}},[]),M=useCallback(e=>{j(f(e)),"system"===b&&v&&!r&&E("system");},[b,v,r,E]);return useEffect(()=>{let e=window.matchMedia(d);return e.addListener(M),M(e),()=>e.removeListener(M)},[M]),useEffect(()=>{let e=e=>{e.key===c&&I(e.newValue||g);};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[g,I]),useEffect(()=>{E(r??b);},[E,r,b]),jsxs(ThemeContext.Provider,{value:{theme:b,setTheme:I,forcedTheme:r,resolvedTheme:"system"===b?T:b,themes:v?[...p,"system"]:p,systemTheme:v?T:void 0},children:[jsx(h,{forcedTheme:r,disableTransitionOnChange:o,enableSystem:v,enableColorScheme:y,themes:p,defaultTheme:g,attribute:w,value:x,children:S,attrs:C,nonce:k}),S]})};let h=memo(({forcedTheme:t,attribute:o$1,enableSystem:i,enableColorScheme:n,defaultTheme:s,value:a,attrs:m,nonce:h})=>{let u="system"===s,$=(()=>{let e=`d.remove(${m.map(e=>`'${e}'`).join(",")})`;return `var d=document.documentElement.classList;${e};`})(),f=n?(l.includes(s)?s:null)?`if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'${s}'`:"if(e==='light'||e==='dark')d.style.colorScheme=e":"",y=(e,t=!1,r=!0)=>{let i=a?a[e]:e,s=t?e+"|| ''":`'${i}'`,m="";return n&&r&&!t&&l.includes(e)&&(m+=`d.style.colorScheme = '${e}';`),"class"===o$1?t||i?m+=`d.add(${s})`:m+="null":i&&(m+=`d[s](n, ${s})`),m},p=t?`!function(){${$}${y(t)}}()`:i?`!function(){try {${$}var e=localStorage.getItem('${c}');if("system"===e||(!e&&${u})){var t="${d}",m=window.matchMedia(t);if(m.media!==t||m.matches){${y("dark")}}else{${y("light")}}}else if(e){${a?`var x=${JSON.stringify(a)};`:""}${y(a?"x[e]":"e",!0)}}${u?"":"else{"+y(s,!1,!1)+"}"}${f}}catch(e){}}()`:`!function(){try{${$}var e=localStorage.getItem("${c}");if(e){${a?`var x=${JSON.stringify(a)};`:""}${y(a?"x[e]":"e",!0)}}else{${y(s,!1,!1)};}${f}}catch(t){}}();`;return jsx(o,{id:"next-theme-script",strategy:"beforeInteractive",src:`data:text/javascript;base64,${v(p)}`,nonce:h})},()=>!0),u=(e,t)=>{let r;if(!isServer){try{r=localStorage.getItem(e)||void 0;}catch(e){}return r||t}},$=()=>{let e=document,t=e.createElement("style");return t.appendChild(e.createTextNode("*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),e.head.appendChild(t),()=>{window.getComputedStyle(e.body),setTimeout(()=>{e.head.removeChild(t);},1);}},f=e=>(e||(e=window.matchMedia(d)),e.matches?"dark":"light"),v=e=>isServer?Buffer.from(e).toString("base64"):btoa(e);
11
+
12
+ const useTheme=()=>useContext(ThemeContext);
13
+
14
+ export { ThemeContext, ThemeProvider, load, useTheme };
package/package.json CHANGED
@@ -2,24 +2,22 @@
2
2
  "name": "@koine/next",
3
3
  "sideEffects": false,
4
4
  "dependencies": {
5
- "@koine/browser": "2.0.0-beta.37",
6
- "@koine/react": "2.0.0-beta.37",
7
- "@koine/utils": "2.0.0-beta.37",
8
- "@koine/i18n": "2.0.0-beta.37"
5
+ "@koine/browser": "2.0.0-beta.39",
6
+ "@koine/react": "2.0.0-beta.39",
7
+ "@koine/utils": "2.0.0-beta.39"
8
+ },
9
+ "peerDependencies": {
10
+ "next": "^14.0.4",
11
+ "next-seo": "^6.4.0",
12
+ "react": "^18.2.0"
9
13
  },
10
14
  "peerDependenciesMeta": {
11
15
  "@kuus/yup": {
12
16
  "optional": true
13
17
  },
14
- "date-fns": {
15
- "optional": true
16
- },
17
18
  "next-seo": {
18
19
  "optional": true
19
20
  },
20
- "next-translate": {
21
- "optional": true
22
- },
23
21
  "react-swipeable": {
24
22
  "optional": true
25
23
  },
@@ -27,130 +25,25 @@
27
25
  "optional": true
28
26
  }
29
27
  },
30
- "module": "./index.js",
31
- "type": "module",
32
28
  "exports": {
29
+ "./package.json": "./package.json",
33
30
  ".": {
34
- "import": "./index.js"
35
- },
36
- "./12/AnalyticsGoogle": {
37
- "import": "./12/AnalyticsGoogle.js"
38
- },
39
- "./12/DisableErrorOverlay": {
40
- "import": "./12/DisableErrorOverlay.js"
41
- },
42
- "./12/DynamicNamespaces": {
43
- "import": "./12/DynamicNamespaces.js"
44
- },
45
- "./12/Favicon": {
46
- "import": "./12/Favicon.js"
47
- },
48
- "./12/NextProgress": {
49
- "import": "./12/NextProgress.js"
50
- },
51
- "./12/Seo": {
52
- "import": "./12/Seo.js"
53
- },
54
- "./12/SeoDefaults": {
55
- "import": "./12/SeoDefaults.js"
56
- },
57
- "./12/T": {
58
- "import": "./12/T.js"
59
- },
60
- "./12/TransText": {
61
- "import": "./12/TransText.js"
62
- },
63
- "./12/app/AppHead": {
64
- "import": "./12/app/AppHead.js"
65
- },
66
- "./12/app/AppMain": {
67
- "import": "./12/app/AppMain.js"
68
- },
69
- "./12/app/css/AppMain": {
70
- "import": "./12/app/css/AppMain.js"
71
- },
72
- "./12/app/css/AppTheme": {
73
- "import": "./12/app/css/AppTheme.js"
74
- },
75
- "./12/app/css": {
76
- "import": "./12/app/css/index.js"
77
- },
78
- "./12/app": {
79
- "import": "./12/app/index.js"
80
- },
81
- "./12/createUseLocale": {
82
- "import": "./12/createUseLocale.js"
83
- },
84
- "./12/createUseT": {
85
- "import": "./12/createUseT.js"
86
- },
87
- "./12/createUseTo": {
88
- "import": "./12/createUseTo.js"
89
- },
90
- "./12/document/Document": {
91
- "import": "./12/document/Document.js"
92
- },
93
- "./12/document/css": {
94
- "import": "./12/document/css/index.js"
95
- },
96
- "./12/document": {
97
- "import": "./12/document/index.js"
98
- },
99
- "./12/getT": {
100
- "import": "./12/getT.js"
31
+ "module": "./index.esm.js",
32
+ "import": "./index.cjs.mjs",
33
+ "default": "./index.cjs.js"
101
34
  },
102
35
  "./12": {
103
- "import": "./12/index.js"
104
- },
105
- "./12/seoBuildTags": {
106
- "import": "./12/seoBuildTags.js"
107
- },
108
- "./12/translationAsOptions": {
109
- "import": "./12/translationAsOptions.js"
110
- },
111
- "./12/types-seo": {
112
- "import": "./12/types-seo.js"
113
- },
114
- "./12/types": {
115
- "import": "./12/types.js"
116
- },
117
- "./12/useBackUrl": {
118
- "import": "./12/useBackUrl.js"
119
- },
120
- "./12/useDateFormat": {
121
- "import": "./12/useDateFormat.js"
122
- },
123
- "./12/useLocale": {
124
- "import": "./12/useLocale.js"
125
- },
126
- "./12/useT": {
127
- "import": "./12/useT.js"
128
- },
129
- "./ThemeContext": {
130
- "import": "./ThemeContext.js"
131
- },
132
- "./ThemeProvider": {
133
- "import": "./ThemeProvider.js"
134
- },
135
- "./config-i18n": {
136
- "import": "./config-i18n.js"
36
+ "module": "./12.esm.js",
37
+ "import": "./12.cjs.mjs",
38
+ "default": "./12.cjs.js"
137
39
  },
138
40
  "./config": {
139
- "import": "./config.js"
140
- },
141
- "./load": {
142
- "import": "./load.js"
143
- },
144
- "./useTheme": {
145
- "import": "./useTheme.js"
41
+ "module": "./config.esm.js",
42
+ "import": "./config.cjs.mjs",
43
+ "default": "./config.cjs.js"
146
44
  }
147
45
  },
148
- "peerDependencies": {
149
- "next": "^14.0.4",
150
- "react": "^18.2.0",
151
- "next-translate": "^2.6.2",
152
- "next-seo": "^6.4.0",
153
- "date-fns": "^3.2.0"
154
- },
155
- "version": "2.0.0-beta.37"
46
+ "module": "./index.esm.js",
47
+ "main": "./index.cjs.js",
48
+ "version": "2.0.0-beta.39"
156
49
  }
@@ -1,4 +1,4 @@
1
- import { type ThemeContextProps } from "./ThemeContext.js";
1
+ import { type ThemeContextProps } from "./ThemeContext";
2
2
  export type UseThemeProps = ThemeContextProps;
3
3
  export declare const useTheme: () => ThemeContextProps;
4
4
  export default useTheme;
@@ -1,2 +1 @@
1
1
  export declare function load<T>(component: T, milliseconds: number): Promise<T>;
2
- export default load;
@@ -1,33 +0,0 @@
1
- "use client";
2
- import { __read } from "tslib";
3
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
4
- import { useRouter } from "next/router";
5
- import Script from "next/script";
6
- import { useEffect, useState } from "react";
7
- import { gtagPageview } from "@koine/browser";
8
- export var AnalyticsGoogle = function (_a) {
9
- var id = _a.id;
10
- var uid = id || process.env["NEXT_PUBLIC_GTM_ID"];
11
- var _b = useRouter(), events = _b.events, asPath = _b.asPath, query = _b.query;
12
- var _c = __read(useState(false), 2), ready = _c[0], setReady = _c[1];
13
- var _d = __read(useState(false), 2), routed = _d[0], setRouted = _d[1];
14
- useEffect(function () {
15
- var handleRouteChange = function () {
16
- setRouted(true);
17
- };
18
- events.on("routeChangeComplete", handleRouteChange);
19
- return function () {
20
- events.off("routeChangeComplete", handleRouteChange);
21
- };
22
- }, [events]);
23
- useEffect(function () {
24
- if (routed && ready && asPath) {
25
- gtagPageview(asPath);
26
- }
27
- }, [asPath, query, routed, ready]);
28
- if (!uid) {
29
- return null;
30
- }
31
- return (_jsxs(_Fragment, { children: [_jsx(Script, { id: "google-tagmanager", src: "https://www.googletagmanager.com/gtag/js?id=".concat(id), strategy: "afterInteractive", onLoad: function () { return setReady(true); } }), _jsx(Script, { 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 ") })] }));
32
- };
33
- export default AnalyticsGoogle;
@@ -1,8 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import Head from "next/head";
3
- export var DisableErrorOverlay = function () {
4
- return (_jsx(Head, { children: process.env["NODE_ENV"] === "development" && (_jsx("script", { dangerouslySetInnerHTML: {
5
- __html: "window.addEventListener('error',event =>{event.stopImmediatePropagation()});window.addEventListener('unhandledrejection',event =>{event.stopImmediatePropagation()});",
6
- } })) }));
7
- };
8
- export default DisableErrorOverlay;
@@ -1,8 +0,0 @@
1
- import type { DynamicNamespacesProps as BaseDynamicNamespacesProps } from "next-translate";
2
- import BaseDynamicNamespaces from "next-translate/DynamicNamespaces";
3
- import type { TranslateNamespace } from "@koine/i18n";
4
- export type DynamicNamespacesProps = Omit<BaseDynamicNamespacesProps, "namespaces"> & {
5
- namespaces: TranslateNamespace[];
6
- };
7
- export declare const DynamicNamespaces: (props: DynamicNamespacesProps) => ReturnType<typeof BaseDynamicNamespaces>;
8
- export default DynamicNamespaces;
@@ -1,4 +0,0 @@
1
- "use client";
2
- import BaseDynamicNamespaces from "next-translate/DynamicNamespaces";
3
- export var DynamicNamespaces = BaseDynamicNamespaces;
4
- export default DynamicNamespaces;
package/12/Favicon.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import { type FaviconTagsProps } from "@koine/react/FaviconTags";
2
- export type FaviconProps = FaviconTagsProps;
3
- export declare const Favicon: (props: FaviconTagsProps) => import("react/jsx-runtime").JSX.Element;
4
- export default Favicon;
package/12/Favicon.js DELETED
@@ -1,6 +0,0 @@
1
- import { __assign } from "tslib";
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import Head from "next/head";
4
- import FaviconTags from "@koine/react/FaviconTags";
5
- export var Favicon = function (props) { return (_jsx(Head, { children: _jsx(FaviconTags, __assign({}, props)) })); };
6
- export default Favicon;
@@ -1,40 +0,0 @@
1
- "use client";
2
- import { __read } from "tslib";
3
- import { jsx as _jsx } from "react/jsx-runtime";
4
- import { useRouter } from "next/router";
5
- import { useCallback, useEffect, useRef, useState } from "react";
6
- export var NextProgress = function (_a) {
7
- 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;
8
- var events = useRouter().events;
9
- var _f = __read(useState(false), 2), running = _f[0], setRunning = _f[1];
10
- var timer = useRef(null);
11
- var routeChangeStart = useCallback(function (_, _a) {
12
- var shallow = _a.shallow;
13
- if (!shallow || showOnShallow) {
14
- setRunning(true);
15
- }
16
- }, [showOnShallow]);
17
- var routeChangeEnd = useCallback(function (_, _a) {
18
- var shallow = _a.shallow;
19
- if (!shallow || showOnShallow) {
20
- if (timer.current) {
21
- clearTimeout(timer.current);
22
- }
23
- timer.current = setTimeout(function () {
24
- setRunning(false);
25
- }, stopDelayMs);
26
- }
27
- }, [showOnShallow, stopDelayMs, timer]);
28
- useEffect(function () {
29
- events.on("routeChangeStart", routeChangeStart);
30
- events.on("routeChangeComplete", routeChangeEnd);
31
- events.on("routeChangeError", routeChangeEnd);
32
- return function () {
33
- events.off("routeChangeStart", routeChangeStart);
34
- events.off("routeChangeComplete", routeChangeEnd);
35
- events.off("routeChangeError", routeChangeEnd);
36
- };
37
- }, [events, routeChangeStart, routeChangeEnd]);
38
- return _jsx(Overlay, { running: running });
39
- };
40
- export default NextProgress;
package/12/Seo.js DELETED
@@ -1,7 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import Head from "next/head";
3
- import { seoBuildTags } from "./seoBuildTags.js";
4
- export var Seo = function (props) {
5
- return _jsx(Head, { children: seoBuildTags(props) });
6
- };
7
- export default Seo;