@koine/next 2.0.0-beta.2 → 2.0.0-beta.200

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 (184) hide show
  1. package/12/AnalyticsGoogle.cjs.js +20 -0
  2. package/12/AnalyticsGoogle.d.ts +1 -1
  3. package/12/AnalyticsGoogle.esm.js +15 -0
  4. package/12/DisableErrorOverlay.cjs.js +11 -0
  5. package/12/DisableErrorOverlay.d.ts +1 -1
  6. package/12/DisableErrorOverlay.esm.js +6 -0
  7. package/12/Seo.d.ts +11 -3
  8. package/12/SeoDefaults.d.ts +7 -2
  9. package/12/seoBuildTags.d.ts +1 -2
  10. package/12/types.d.ts +5 -0
  11. package/12.cjs.default.js +1 -0
  12. package/12.cjs.js +9 -0
  13. package/12.cjs.mjs +2 -0
  14. package/12.d.ts +3 -0
  15. package/12.esm.js +2 -0
  16. package/README.md +0 -12
  17. package/ThemeContext.cjs.default.js +1 -0
  18. package/ThemeContext.cjs.js +10 -0
  19. package/ThemeContext.cjs.mjs +2 -0
  20. package/{12/ThemeContext.d.ts → ThemeContext.d.ts} +0 -1
  21. package/ThemeContext.esm.js +5 -0
  22. package/ThemeProvider.cjs.default.js +1 -0
  23. package/ThemeProvider.cjs.js +14 -0
  24. package/ThemeProvider.cjs.mjs +2 -0
  25. package/{12/ThemeProvider.d.ts → ThemeProvider.d.ts} +0 -1
  26. package/ThemeProvider.esm.js +9 -0
  27. package/config.cjs.default.js +1 -0
  28. package/config.cjs.js +8 -0
  29. package/config.cjs.mjs +2 -0
  30. package/config.d.ts +33 -0
  31. package/config.esm.js +6 -0
  32. package/index.cjs.default.js +1 -0
  33. package/index.cjs.js +13 -0
  34. package/index.cjs.mjs +2 -0
  35. package/index.d.ts +3 -1
  36. package/index.esm.js +4 -0
  37. package/load.cjs.default.js +1 -0
  38. package/load.cjs.js +8 -0
  39. package/load.cjs.mjs +2 -0
  40. package/load.d.ts +0 -0
  41. package/load.esm.js +3 -0
  42. package/package.json +61 -91
  43. package/typings.d.ts +39 -50
  44. package/useTheme.cjs.default.js +1 -0
  45. package/useTheme.cjs.js +11 -0
  46. package/useTheme.cjs.mjs +2 -0
  47. package/{12/useTheme.d.ts → useTheme.d.ts} +1 -1
  48. package/useTheme.esm.js +6 -0
  49. package/vite.config.d.ts +2 -0
  50. package/12/AnalyticsGoogle.js +0 -39
  51. package/12/AnalyticsGoogle.mjs +0 -34
  52. package/12/DisableErrorOverlay.js +0 -18
  53. package/12/DisableErrorOverlay.mjs +0 -13
  54. package/12/DynamicNamespaces.d.ts +0 -13
  55. package/12/DynamicNamespaces.js +0 -13
  56. package/12/DynamicNamespaces.mjs +0 -9
  57. package/12/Favicon.d.ts +0 -4
  58. package/12/Favicon.js +0 -10
  59. package/12/Favicon.mjs +0 -6
  60. package/12/Link.d.ts +0 -10
  61. package/12/Link.js +0 -15
  62. package/12/Link.mjs +0 -12
  63. package/12/NextProgress.d.ts +0 -25
  64. package/12/NextProgress.js +0 -46
  65. package/12/NextProgress.mjs +0 -42
  66. package/12/Seo.js +0 -34
  67. package/12/Seo.mjs +0 -29
  68. package/12/SeoDefaults.js +0 -17
  69. package/12/SeoDefaults.mjs +0 -12
  70. package/12/T.d.ts +0 -16
  71. package/12/T.js +0 -17
  72. package/12/T.mjs +0 -13
  73. package/12/ThemeContext.js +0 -10
  74. package/12/ThemeContext.mjs +0 -7
  75. package/12/ThemeProvider.js +0 -239
  76. package/12/ThemeProvider.mjs +0 -235
  77. package/12/TransText.d.ts +0 -3
  78. package/12/TransText.js +0 -8
  79. package/12/TransText.mjs +0 -4
  80. package/12/app/AppHead.d.ts +0 -3
  81. package/12/app/AppHead.js +0 -11
  82. package/12/app/AppHead.mjs +0 -6
  83. package/12/app/AppMain.d.ts +0 -35
  84. package/12/app/AppMain.js +0 -2
  85. package/12/app/AppMain.mjs +0 -1
  86. package/12/app/css/AppMain.d.ts +0 -9
  87. package/12/app/css/AppMain.js +0 -18
  88. package/12/app/css/AppMain.mjs +0 -14
  89. package/12/app/css/AppTheme.d.ts +0 -11
  90. package/12/app/css/AppTheme.js +0 -18
  91. package/12/app/css/AppTheme.mjs +0 -14
  92. package/12/app/css/auth/index.d.ts +0 -11
  93. package/12/app/css/auth/index.js +0 -17
  94. package/12/app/css/auth/index.mjs +0 -13
  95. package/12/app/css/auth/package.json +0 -6
  96. package/12/app/css/index.d.ts +0 -54
  97. package/12/app/css/index.js +0 -61
  98. package/12/app/css/index.mjs +0 -57
  99. package/12/app/css/package.json +0 -6
  100. package/12/app/index.d.ts +0 -2
  101. package/12/app/index.js +0 -5
  102. package/12/app/index.mjs +0 -2
  103. package/12/app/package.json +0 -6
  104. package/12/app/sc/AppMain.d.ts +0 -11
  105. package/12/app/sc/AppMain.js +0 -29
  106. package/12/app/sc/AppMain.mjs +0 -25
  107. package/12/app/sc/AppTheme.d.ts +0 -14
  108. package/12/app/sc/AppTheme.js +0 -15
  109. package/12/app/sc/AppTheme.mjs +0 -11
  110. package/12/app/sc/auth/index.d.ts +0 -11
  111. package/12/app/sc/auth/index.js +0 -17
  112. package/12/app/sc/auth/index.mjs +0 -13
  113. package/12/app/sc/auth/package.json +0 -6
  114. package/12/app/sc/index.d.ts +0 -56
  115. package/12/app/sc/index.js +0 -63
  116. package/12/app/sc/index.mjs +0 -59
  117. package/12/app/sc/package.json +0 -6
  118. package/12/document/Document.d.ts +0 -15
  119. package/12/document/Document.js +0 -31
  120. package/12/document/Document.mjs +0 -28
  121. package/12/document/css/index.d.ts +0 -17
  122. package/12/document/css/index.js +0 -45
  123. package/12/document/css/index.mjs +0 -45
  124. package/12/document/css/package.json +0 -6
  125. package/12/document/index.d.ts +0 -2
  126. package/12/document/index.js +0 -7
  127. package/12/document/index.mjs +0 -2
  128. package/12/document/package.json +0 -6
  129. package/12/document/sc/index.d.ts +0 -19
  130. package/12/document/sc/index.js +0 -67
  131. package/12/document/sc/index.mjs +0 -64
  132. package/12/document/sc/package.json +0 -6
  133. package/12/getT.d.ts +0 -9
  134. package/12/getT.js +0 -14
  135. package/12/getT.mjs +0 -10
  136. package/12/index.d.ts +0 -24
  137. package/12/index.js +0 -52
  138. package/12/index.mjs +0 -27
  139. package/12/package.json +0 -6
  140. package/12/seoBuildTags.js +0 -121
  141. package/12/seoBuildTags.mjs +0 -117
  142. package/12/to.d.ts +0 -24
  143. package/12/to.js +0 -29
  144. package/12/to.mjs +0 -25
  145. package/12/translationAsOptions.d.ts +0 -3
  146. package/12/translationAsOptions.js +0 -13
  147. package/12/translationAsOptions.mjs +0 -9
  148. package/12/types-i18n.d.ts +0 -118
  149. package/12/types-i18n.js +0 -14
  150. package/12/types-i18n.mjs +0 -13
  151. package/12/types-seo.d.ts +0 -7
  152. package/12/types-seo.js +0 -2
  153. package/12/types-seo.mjs +0 -1
  154. package/12/useBackUrl.d.ts +0 -2
  155. package/12/useBackUrl.js +0 -33
  156. package/12/useBackUrl.mjs +0 -28
  157. package/12/useDateFormat.d.ts +0 -7
  158. package/12/useDateFormat.js +0 -43
  159. package/12/useDateFormat.mjs +0 -39
  160. package/12/useForm.d.ts +0 -27
  161. package/12/useForm.js +0 -39
  162. package/12/useForm.mjs +0 -35
  163. package/12/useLocale.d.ts +0 -2
  164. package/12/useLocale.js +0 -11
  165. package/12/useLocale.mjs +0 -6
  166. package/12/useT.d.ts +0 -4
  167. package/12/useT.js +0 -44
  168. package/12/useT.mjs +0 -21
  169. package/12/useTheme.js +0 -12
  170. package/12/useTheme.mjs +0 -8
  171. package/12/useTo.d.ts +0 -3
  172. package/12/useTo.js +0 -19
  173. package/12/useTo.mjs +0 -15
  174. package/config/index.d.ts +0 -160
  175. package/config/index.js +0 -343
  176. package/config/index.mjs +0 -332
  177. package/config/package.json +0 -6
  178. package/getSiteUrl.d.ts +0 -8
  179. package/getSiteUrl.js +0 -17
  180. package/getSiteUrl.mjs +0 -12
  181. package/index.js +0 -7
  182. package/index.mjs +0 -2
  183. package/load.js +0 -18
  184. package/load.mjs +0 -14
@@ -0,0 +1,20 @@
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
+
11
+ let AnalyticsGoogle=({id:s})=>{let l=s||process.env.NEXT_PUBLIC_GTM_ID,{events:m,asPath:c,query:d}=router.useRouter(),[p,f]=react.useState(false),[w,u]=react.useState(false);return (react.useEffect(()=>{let e=()=>{u(true);};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,{id:"google-tagmanager",src:`https://www.googletagmanager.com/gtag/js?id=${s}`,strategy:"afterInteractive",onLoad:()=>f(true)}),jsxRuntime.jsx(o,{id:"google-analytics",strategy:"afterInteractive",children:`
12
+ window.dataLayer = window.dataLayer || [];
13
+ function gtag(){window.dataLayer.push(arguments);}
14
+ gtag('js', new Date());
15
+
16
+ gtag('config', '${s}', { 'send_page_view': false });
17
+ `})]}):null};
18
+
19
+ exports.AnalyticsGoogle = AnalyticsGoogle;
20
+ exports.default = AnalyticsGoogle;
@@ -2,5 +2,5 @@ export type AnalyticsGoogleProps = {
2
2
  /** Falls back to `.env` variable `NEXT_PUBLIC_GTM_ID` */
3
3
  id?: string;
4
4
  };
5
- export declare const AnalyticsGoogle: ({ id }: AnalyticsGoogleProps) => import("react/jsx-runtime").JSX.Element | null;
5
+ export declare let AnalyticsGoogle: ({ id }: AnalyticsGoogleProps) => import("react/jsx-runtime").JSX.Element | null;
6
6
  export default AnalyticsGoogle;
@@ -0,0 +1,15 @@
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
+
7
+ let AnalyticsGoogle=({id:s})=>{let l=s||process.env.NEXT_PUBLIC_GTM_ID,{events:m,asPath:c,query:d}=useRouter(),[p,f]=useState(false),[w,u]=useState(false);return (useEffect(()=>{let e=()=>{u(true);};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=${s}`,strategy:"afterInteractive",onLoad:()=>f(true)}),jsx(o,{id:"google-analytics",strategy:"afterInteractive",children:`
8
+ window.dataLayer = window.dataLayer || [];
9
+ function gtag(){window.dataLayer.push(arguments);}
10
+ gtag('js', new Date());
11
+
12
+ gtag('config', '${s}', { 'send_page_view': false });
13
+ `})]}):null};
14
+
15
+ export { AnalyticsGoogle, AnalyticsGoogle as default };
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var r = require('next/head');
7
+
8
+ let DisableErrorOverlay=()=>jsxRuntime.jsx(r,{children:"development"===process.env.NODE_ENV&&jsxRuntime.jsx("script",{dangerouslySetInnerHTML:{__html:"window.addEventListener('error',event =>{event.stopImmediatePropagation()});window.addEventListener('unhandledrejection',event =>{event.stopImmediatePropagation()});"}})});
9
+
10
+ exports.DisableErrorOverlay = DisableErrorOverlay;
11
+ exports.default = DisableErrorOverlay;
@@ -3,5 +3,5 @@
3
3
  *
4
4
  * @see https://github.com/vercel/next.js/discussions/13387#discussioncomment-101564
5
5
  */
6
- export declare const DisableErrorOverlay: () => import("react/jsx-runtime").JSX.Element;
6
+ export declare let DisableErrorOverlay: () => import("react/jsx-runtime").JSX.Element;
7
7
  export default DisableErrorOverlay;
@@ -0,0 +1,6 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import r from 'next/head';
3
+
4
+ let 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()});"}})});
5
+
6
+ export { DisableErrorOverlay, DisableErrorOverlay as default };
package/12/Seo.d.ts CHANGED
@@ -1,6 +1,12 @@
1
1
  import type { NextSeoProps } from "next-seo/lib/types";
2
- import type { SeoData } from "./types-seo";
3
- import { type MetaTag, type LinkTag } from "./seoBuildTags";
2
+ import { type LinkTag, type MetaTag } from "./seoBuildTags";
3
+ export type SeoData = {
4
+ hidden?: boolean;
5
+ title?: string;
6
+ description?: string;
7
+ keywords?: string | string[];
8
+ ogimage?: string;
9
+ };
4
10
  type SeoPropsOpenGraph = NextSeoProps["openGraph"] & {
5
11
  image?: string;
6
12
  };
@@ -36,6 +42,8 @@ export type SeoProps = Omit<NextSeoProps, "additionalMetaTags" | "additionalLink
36
42
  * ```js
37
43
  * <Seo title="MyApp | Some description" titleTemplate="%s" />
38
44
  * ```
45
+ *
46
+ * @deprecated
39
47
  */
40
- export declare const Seo: (props: SeoProps) => import("react/jsx-runtime").JSX.Element;
48
+ export declare let Seo: (props: SeoProps) => import("react/jsx-runtime").JSX.Element;
41
49
  export default Seo;
@@ -1,11 +1,16 @@
1
1
  import type { DefaultSeoProps } from "next-seo/lib/types";
2
- import { type MetaTag, type LinkTag } from "./seoBuildTags";
2
+ import type { JsonObject } from "@koine/utils";
3
+ import { type LinkTag, type MetaTag } from "./seoBuildTags";
3
4
  /**
4
5
  * @see https://github.com/garmeeh/next-seo/blob/master/src/types.ts#L413
5
6
  */
6
7
  export type SeoDefaultsProps = Omit<DefaultSeoProps, "additionalMetaTags" | "additionalLinkTags" | "dangerouslySetAllPagesToNoIndex" | "dangerouslySetAllPagesToNoFollow" | "defaultOpenGraphImageWidth" | "defaultOpenGraphImageHeight" | "defaultOpenGraphVideoWidth" | "defaultOpenGraphVideoHeight" | "mobileAlternate" | "robotsProps"> & {
7
8
  metaTags?: ReadonlyArray<MetaTag>;
8
9
  linkTags?: ReadonlyArray<LinkTag>;
10
+ schema?: JsonObject;
9
11
  };
10
- export declare const SeoDefaults: (props: SeoDefaultsProps) => import("react/jsx-runtime").JSX.Element;
12
+ /**
13
+ * @deprecated
14
+ */
15
+ export declare let SeoDefaults: (props: SeoDefaultsProps) => import("react/jsx-runtime").JSX.Element;
11
16
  export default SeoDefaults;
@@ -1,4 +1,3 @@
1
- import React from "react";
2
1
  import type { SeoProps } from "./Seo";
3
2
  import type { SeoDefaultsProps } from "./SeoDefaults";
4
3
  export type MetaTag = React.DetailedHTMLProps<React.MetaHTMLAttributes<HTMLMetaElement>, HTMLMetaElement>;
@@ -19,5 +18,5 @@ type BuildTagsParams = SeoProps & SeoDefaultsProps;
19
18
  *
20
19
  * @returns
21
20
  */
22
- export declare const seoBuildTags: ({ seo, hidden, keywords, title, titleTemplate, defaultTitle, noindex, nofollow, description, languageAlternates, twitter, facebook, openGraph, og: ogAlias, canonical, metaTags, linkTags, }?: BuildTagsParams) => React.ReactNode[];
21
+ export declare const seoBuildTags: ({ seo, hidden, keywords, title, titleTemplate, defaultTitle, noindex, nofollow, description, languageAlternates, twitter, facebook, openGraph, og: ogAlias, canonical, metaTags, linkTags, schema, }?: BuildTagsParams) => import("react").ReactNode[];
23
22
  export default seoBuildTags;
package/12/types.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @file Export all types separately to ease imports
3
+ */
4
+ export type { SeoData } from "./Seo";
5
+ export type { SeoDefaultsProps } from "./SeoDefaults";
@@ -0,0 +1 @@
1
+ exports._default = require('./12.cjs.js').default;
package/12.cjs.js ADDED
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var AnalyticsGoogle = require('./12/AnalyticsGoogle.cjs.js');
4
+ var DisableErrorOverlay = require('./12/DisableErrorOverlay.cjs.js');
5
+
6
+
7
+
8
+ exports.AnalyticsGoogle = AnalyticsGoogle.AnalyticsGoogle;
9
+ exports.DisableErrorOverlay = 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,2 @@
1
+ export { AnalyticsGoogle } from './12/AnalyticsGoogle.esm.js';
2
+ export { DisableErrorOverlay } from './12/DisableErrorOverlay.esm.js';
package/README.md CHANGED
@@ -1,13 +1 @@
1
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
- ```
@@ -0,0 +1 @@
1
+ exports._default = require('./ThemeContext.cjs.js').default;
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var react = require('react');
6
+
7
+ const ThemeContext=react.createContext({setTheme:e=>{},themes:[]});
8
+
9
+ exports.ThemeContext = ThemeContext;
10
+ exports.default = ThemeContext;
@@ -0,0 +1,2 @@
1
+ export * from './ThemeContext.cjs.js';
2
+ export { _default as default } from './ThemeContext.cjs.default.js';
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export type ThemeContextProps = {
3
2
  /** List of all available theme names */
4
3
  themes: string[];
@@ -0,0 +1,5 @@
1
+ import { createContext } from 'react';
2
+
3
+ const ThemeContext=createContext({setTheme:e=>{},themes:[]});
4
+
5
+ export { ThemeContext, ThemeContext as default };
@@ -0,0 +1 @@
1
+ exports._default = require('./ThemeProvider.cjs.js').default;
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var o = require('next/script');
7
+ var react = require('react');
8
+ var utils = require('@koine/utils');
9
+ var ThemeContext = require('./ThemeContext.cjs.js');
10
+
11
+ let l=["light","dark"],d="(prefers-color-scheme: dark)",c="theme";const ThemeProvider=({forcedTheme:r,disableTransitionOnChange:o=false,enableSystem:v=true,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.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$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=false,r=true)=>{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",true)}}${!u?"else{"+y(s,false,false)+"}":""}${f}}catch(e){}}()`:`!function(){try{${$}var e=localStorage.getItem("${c}");if(e){${a?`var x=${JSON.stringify(a)};`:""}${y(a?"x[e]":"e",true)}}else{${y(s,false,false)};}${f}}catch(t){}}();`;return jsxRuntime.jsx(o,{id:"next-theme-script",strategy:"beforeInteractive",src:`data:text/javascript;base64,${v(p)}`,nonce:h})},()=>true),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);
12
+
13
+ exports.ThemeProvider = ThemeProvider;
14
+ exports.default = ThemeProvider;
@@ -0,0 +1,2 @@
1
+ export * from './ThemeProvider.cjs.js';
2
+ export { _default as default } from './ThemeProvider.cjs.default.js';
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  type ValueObject = {
3
2
  [themeName: string]: string;
4
3
  };
@@ -0,0 +1,9 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import o from 'next/script';
3
+ import { memo, useState, useCallback, useEffect } from 'react';
4
+ import { isServer } from '@koine/utils';
5
+ import { ThemeContext } from './ThemeContext.esm.js';
6
+
7
+ let l=["light","dark"],d="(prefers-color-scheme: dark)",c="theme";const ThemeProvider=({forcedTheme:r,disableTransitionOnChange:o=false,enableSystem:v=true,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=false,r=true)=>{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",true)}}${!u?"else{"+y(s,false,false)+"}":""}${f}}catch(e){}}()`:`!function(){try{${$}var e=localStorage.getItem("${c}");if(e){${a?`var x=${JSON.stringify(a)};`:""}${y(a?"x[e]":"e",true)}}else{${y(s,false,false)};}${f}}catch(t){}}();`;return jsx(o,{id:"next-theme-script",strategy:"beforeInteractive",src:`data:text/javascript;base64,${v(p)}`,nonce:h})},()=>true),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);
8
+
9
+ export { ThemeProvider, ThemeProvider as default };
@@ -0,0 +1 @@
1
+ exports._default = require('./config.cjs.js').default;
package/config.cjs.js ADDED
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ var swc = require('@koine/node/swc');
4
+ var next = require('@koine/i18n/next');
5
+
6
+ let withKoine=(s={})=>{let{nx:p,svg:a,i18nRoutes:m,i18nCompiler:l,modularize:u,...c}=s,w={modularizeImports:{...u?Array.isArray(u)?swc.swcCreateTransforms(u):swc.swcCreateTransform(u):{},...c.modularizeImports||{},...swc.swcTransformsKoine},...c};return (a&&(p?w.nx={svgr:true}:(delete w.nx,w.webpack=(e,o)=>{let r="function"==typeof c.webpack?c.webpack(e,o):e;return r.module.rules.push({test:/\.svg$/,use:[{loader:"@svgr/webpack",options:{svgoConfig:{plugins:[{name:"removeViewBox",active:false}]}}}]}),r})),m)?next.withI18nLegacy({...w,i18nRoutes:m}):l?p?next.withI18nAsync({...w,i18nCompiler:l}):next.withI18n({...w,i18nCompiler:l}):w};
7
+
8
+ 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 ADDED
@@ -0,0 +1,33 @@
1
+ import type { NextConfig } from "next";
2
+ import { type SwcTransformingLib } from "@koine/node/swc";
3
+ import { type WithI18nAsyncOptions, type WithI18nLegacyOptions } from "@koine/i18n/next";
4
+ /**
5
+ * @legacy
6
+ */
7
+ export type Routes = NonNullable<WithI18nLegacyOptions["i18nRoutes"]>["routes"];
8
+ export type WithKoineOptions = NextConfig & {
9
+ /**
10
+ * Set it to `true` when your _Next.js_ app is built inside a Nx monorepo
11
+ */
12
+ nx?: boolean;
13
+ /**
14
+ * Set it to `true` in order to be able importing React components directly
15
+ * from `.svg` files.
16
+ *
17
+ * It automatically configure webpack taking into account the `nx` option.
18
+ */
19
+ svg?: boolean;
20
+ /**
21
+ * Shortcut option to automatically create swc transforms to feed into
22
+ * _Next.js_' `modularizeImports`.
23
+ *
24
+ * Pass _one_ or an _array_ of {@link SwcTransformingLib lib transform object}.
25
+ */
26
+ modularize?: SwcTransformingLib[] | SwcTransformingLib;
27
+ } & WithI18nLegacyOptions & WithI18nAsyncOptions;
28
+ /**
29
+ * Get _Next.js_ config with some extra {@link WithKoineOptions options}
30
+ *
31
+ * @param options
32
+ */
33
+ export declare let withKoine: (options?: WithKoineOptions) => NextConfig;
package/config.esm.js ADDED
@@ -0,0 +1,6 @@
1
+ import { swcTransformsKoine, swcCreateTransforms, swcCreateTransform } from '@koine/node/swc';
2
+ import { withI18nLegacy, withI18nAsync, withI18n } from '@koine/i18n/next';
3
+
4
+ let withKoine=(s={})=>{let{nx:p,svg:a,i18nRoutes:m,i18nCompiler:l,modularize:u,...c}=s,w={modularizeImports:{...u?Array.isArray(u)?swcCreateTransforms(u):swcCreateTransform(u):{},...c.modularizeImports||{},...swcTransformsKoine},...c};return (a&&(p?w.nx={svgr:true}:(delete w.nx,w.webpack=(e,o)=>{let r="function"==typeof c.webpack?c.webpack(e,o):e;return r.module.rules.push({test:/\.svg$/,use:[{loader:"@svgr/webpack",options:{svgoConfig:{plugins:[{name:"removeViewBox",active:false}]}}}]}),r})),m)?withI18nLegacy({...w,i18nRoutes:m}):l?p?withI18nAsync({...w,i18nCompiler:l}):withI18n({...w,i18nCompiler:l}):w};
5
+
6
+ export { withKoine };
@@ -0,0 +1 @@
1
+ exports._default = require('./index.cjs.js').default;
package/index.cjs.js ADDED
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var load = require('./load.cjs.js');
4
+ var ThemeContext = require('./ThemeContext.cjs.js');
5
+ var ThemeProvider = require('./ThemeProvider.cjs.js');
6
+ var useTheme = require('./useTheme.cjs.js');
7
+
8
+
9
+
10
+ exports.load = load.load;
11
+ exports.ThemeContext = ThemeContext.ThemeContext;
12
+ exports.ThemeProvider = ThemeProvider.ThemeProvider;
13
+ exports.useTheme = 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,2 +1,4 @@
1
- export { getSiteUrl } from "./getSiteUrl";
2
1
  export { load } from "./load";
2
+ export { ThemeContext, type ThemeContextProps } from "./ThemeContext";
3
+ export { ThemeProvider, type ThemeProviderProps } from "./ThemeProvider";
4
+ export { useTheme, type UseThemeProps } from "./useTheme";
package/index.esm.js ADDED
@@ -0,0 +1,4 @@
1
+ export { load } from './load.esm.js';
2
+ export { ThemeContext } from './ThemeContext.esm.js';
3
+ export { ThemeProvider } from './ThemeProvider.esm.js';
4
+ export { useTheme } from './useTheme.esm.js';
@@ -0,0 +1 @@
1
+ exports._default = require('./load.cjs.js').default;
package/load.cjs.js ADDED
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ function load(e,o){return new Promise(t=>{setTimeout(()=>t(e),o);})}
6
+
7
+ exports.default = load;
8
+ exports.load = load;
package/load.cjs.mjs ADDED
@@ -0,0 +1,2 @@
1
+ export * from './load.cjs.js';
2
+ export { _default as default } from './load.cjs.default.js';
package/load.d.ts CHANGED
File without changes
package/load.esm.js ADDED
@@ -0,0 +1,3 @@
1
+ function load(e,o){return new Promise(t=>{setTimeout(()=>t(e),o);})}
2
+
3
+ export { load as default, load };
package/package.json CHANGED
@@ -1,102 +1,72 @@
1
1
  {
2
2
  "name": "@koine/next",
3
3
  "sideEffects": false,
4
- "peerDependenciesMeta": {
5
- "@emotion/react": {
6
- "optional": true
7
- },
8
- "@emotion/server": {
9
- "optional": true
10
- },
11
- "@emotion/styled": {
12
- "optional": true
13
- },
14
- "@hookform/resolvers": {
15
- "optional": true
16
- },
17
- "@kuus/yup": {
18
- "optional": true
19
- },
20
- "@mui/base": {
21
- "optional": true
22
- },
23
- "@mui/material": {
24
- "optional": true
25
- },
26
- "@tiptap/react": {
27
- "optional": true
28
- },
29
- "@tiptap/starter-kit": {
30
- "optional": true
31
- },
32
- "date-fns": {
33
- "optional": true
34
- },
35
- "framer-motion": {
36
- "optional": true
37
- },
38
- "next-auth": {
39
- "optional": true
40
- },
41
- "next-seo": {
42
- "optional": true
43
- },
44
- "next-translate": {
45
- "optional": true
46
- },
47
- "react-hook-form": {
48
- "optional": true
49
- },
50
- "react-icons": {
51
- "optional": true
52
- },
53
- "react-is": {
54
- "optional": true
55
- },
56
- "react-popper": {
57
- "optional": true
58
- },
59
- "react-swipeable": {
60
- "optional": true
61
- },
62
- "styled-components": {
63
- "optional": true
64
- },
65
- "tailwindcss": {
66
- "optional": true
4
+ "exports": {
5
+ "./typings": {
6
+ "types": "./typings.d.ts"
7
+ },
8
+ "./package.json": "./package.json",
9
+ ".": {
10
+ "module": "./index.esm.js",
11
+ "types": "./index.d.ts",
12
+ "import": "./index.cjs.mjs",
13
+ "default": "./index.cjs.js"
14
+ },
15
+ "./12": {
16
+ "module": "./12.esm.js",
17
+ "types": "./12.d.ts",
18
+ "import": "./12.cjs.mjs",
19
+ "default": "./12.cjs.js"
20
+ },
21
+ "./config": {
22
+ "module": "./config.esm.js",
23
+ "types": "./config.d.ts",
24
+ "import": "./config.cjs.mjs",
25
+ "default": "./config.cjs.js"
26
+ },
27
+ "./load": {
28
+ "module": "./load.esm.js",
29
+ "types": "./load.d.ts",
30
+ "import": "./load.cjs.mjs",
31
+ "default": "./load.cjs.js"
32
+ },
33
+ "./ThemeContext": {
34
+ "module": "./ThemeContext.esm.js",
35
+ "types": "./ThemeContext.d.ts",
36
+ "import": "./ThemeContext.cjs.mjs",
37
+ "default": "./ThemeContext.cjs.js"
38
+ },
39
+ "./ThemeProvider": {
40
+ "module": "./ThemeProvider.esm.js",
41
+ "types": "./ThemeProvider.d.ts",
42
+ "import": "./ThemeProvider.cjs.mjs",
43
+ "default": "./ThemeProvider.cjs.js"
44
+ },
45
+ "./useTheme": {
46
+ "module": "./useTheme.esm.js",
47
+ "types": "./useTheme.d.ts",
48
+ "import": "./useTheme.cjs.mjs",
49
+ "default": "./useTheme.cjs.js"
67
50
  }
68
51
  },
69
52
  "dependencies": {
70
- "@hookform/resolvers": "^3.1.0",
71
- "@kuus/yup": "1.0.0-beta.7",
72
- "@mui/base": "5.0.0-beta.4",
73
- "@mui/utils": "5.13.1",
74
- "@tiptap/react": "2.0.3",
75
- "@tiptap/starter-kit": "2.0.3",
76
- "clsx": "1.2.1",
77
- "date-fns": "^2.30.0",
78
- "date-fns-tz": "^2.0.0",
79
- "framer-motion": "^10.12.16",
80
- "next": "^13.4.4",
81
- "next-auth": "^4.22.1",
82
- "next-seo": "^6.0.0",
83
- "next-translate": "^2.0.6",
84
- "react": "^18.2.0",
85
- "react-hook-form": "^7.44.3",
86
- "react-icons": "^4.9.0",
87
- "react-swipeable": "^7.0.1",
88
- "styled-components": "^5.3.11",
89
- "ts-debounce": "^4.0.0",
90
- "tslib": "^2.5.3",
91
- "type-fest": "^3.11.1"
53
+ "@koine/browser": "2.0.0-beta.200",
54
+ "@koine/i18n": "2.0.0-beta.200",
55
+ "@koine/node": "2.0.0-beta.200",
56
+ "@koine/utils": "2.0.0-beta.200"
92
57
  },
93
58
  "peerDependencies": {
94
- "@koine/browser": "2.0.0-beta.2",
95
- "@koine/dom": "2.0.0-beta.2",
96
- "@koine/utils": "2.0.0-beta.2"
59
+ "next": "^13 || ^14 || ^15",
60
+ "next-seo": "^6.4.0",
61
+ "react": "^18 || ^19"
62
+ },
63
+ "peerDependenciesMeta": {
64
+ "next-seo": {
65
+ "optional": true
66
+ }
97
67
  },
98
- "main": "./index.js",
68
+ "module": "./index.esm.js",
69
+ "main": "./index.cjs.js",
99
70
  "types": "./index.d.ts",
100
- "version": "2.0.0-beta.2",
101
- "module": "./index.mjs"
71
+ "version": "2.0.0-beta.200"
102
72
  }