@koine/next 2.0.0-beta.14 → 2.0.0-beta.141

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 (142) 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 +10 -2
  8. package/12/SeoDefaults.d.ts +6 -1
  9. package/12/seoBuildTags.d.ts +1 -2
  10. package/12/types.d.ts +5 -0
  11. package/12.cjs.d.ts +1 -0
  12. package/12.cjs.default.js +1 -0
  13. package/12.cjs.js +9 -0
  14. package/12.cjs.mjs +2 -0
  15. package/12.d.ts +3 -0
  16. package/12.esm.d.ts +1 -0
  17. package/12.esm.js +2 -0
  18. package/README.md +0 -12
  19. package/ThemeContext.cjs.d.ts +2 -0
  20. package/ThemeContext.cjs.default.js +1 -0
  21. package/ThemeContext.cjs.js +10 -0
  22. package/ThemeContext.cjs.mjs +2 -0
  23. package/{12/ThemeContext.d.ts → ThemeContext.d.ts} +0 -1
  24. package/ThemeContext.esm.d.ts +2 -0
  25. package/ThemeContext.esm.js +5 -0
  26. package/ThemeProvider.cjs.d.ts +2 -0
  27. package/ThemeProvider.cjs.default.js +1 -0
  28. package/ThemeProvider.cjs.js +14 -0
  29. package/ThemeProvider.cjs.mjs +2 -0
  30. package/{12/ThemeProvider.d.ts → ThemeProvider.d.ts} +0 -1
  31. package/ThemeProvider.esm.d.ts +2 -0
  32. package/ThemeProvider.esm.js +9 -0
  33. package/config.cjs.d.ts +1 -0
  34. package/config.cjs.default.js +1 -0
  35. package/config.cjs.js +8 -0
  36. package/config.cjs.mjs +2 -0
  37. package/config.d.ts +38 -0
  38. package/config.esm.d.ts +1 -0
  39. package/config.esm.js +6 -0
  40. package/index.cjs.d.ts +1 -0
  41. package/index.cjs.default.js +1 -0
  42. package/index.cjs.js +13 -0
  43. package/index.cjs.mjs +2 -0
  44. package/index.d.ts +3 -1
  45. package/index.esm.d.ts +1 -0
  46. package/index.esm.js +4 -0
  47. package/load.cjs.d.ts +2 -0
  48. package/load.cjs.default.js +1 -0
  49. package/load.cjs.js +8 -0
  50. package/load.cjs.mjs +2 -0
  51. package/load.d.ts +0 -0
  52. package/load.esm.d.ts +2 -0
  53. package/load.esm.js +3 -0
  54. package/package.json +58 -89
  55. package/typings.d.ts +39 -50
  56. package/useTheme.cjs.d.ts +2 -0
  57. package/useTheme.cjs.default.js +1 -0
  58. package/useTheme.cjs.js +11 -0
  59. package/useTheme.cjs.mjs +2 -0
  60. package/{12/useTheme.d.ts → useTheme.d.ts} +1 -1
  61. package/useTheme.esm.d.ts +2 -0
  62. package/useTheme.esm.js +6 -0
  63. package/12/AnalyticsGoogle.mjs +0 -60
  64. package/12/DisableErrorOverlay.mjs +0 -16
  65. package/12/DynamicNamespaces.d.ts +0 -13
  66. package/12/DynamicNamespaces.mjs +0 -8
  67. package/12/Favicon.d.ts +0 -4
  68. package/12/Favicon.mjs +0 -10
  69. package/12/Link.d.ts +0 -10
  70. package/12/Link.mjs +0 -20
  71. package/12/NextProgress.d.ts +0 -25
  72. package/12/NextProgress.mjs +0 -51
  73. package/12/Seo.mjs +0 -30
  74. package/12/SeoDefaults.mjs +0 -14
  75. package/12/T.d.ts +0 -16
  76. package/12/T.mjs +0 -27
  77. package/12/ThemeContext.mjs +0 -7
  78. package/12/ThemeProvider.mjs +0 -245
  79. package/12/TransText.d.ts +0 -3
  80. package/12/TransText.mjs +0 -4
  81. package/12/app/AppHead.d.ts +0 -3
  82. package/12/app/AppHead.mjs +0 -12
  83. package/12/app/AppMain.d.ts +0 -35
  84. package/12/app/AppMain.mjs +0 -1
  85. package/12/app/css/AppMain.d.ts +0 -9
  86. package/12/app/css/AppMain.mjs +0 -24
  87. package/12/app/css/AppTheme.d.ts +0 -11
  88. package/12/app/css/AppTheme.mjs +0 -17
  89. package/12/app/css/auth/index.d.ts +0 -11
  90. package/12/app/css/auth/index.mjs +0 -24
  91. package/12/app/css/index.d.ts +0 -54
  92. package/12/app/css/index.mjs +0 -65
  93. package/12/app/index.d.ts +0 -2
  94. package/12/app/index.mjs +0 -2
  95. package/12/app/sc/AppMain.d.ts +0 -11
  96. package/12/app/sc/AppMain.mjs +0 -58
  97. package/12/app/sc/AppTheme.d.ts +0 -14
  98. package/12/app/sc/AppTheme.mjs +0 -16
  99. package/12/app/sc/auth/index.d.ts +0 -11
  100. package/12/app/sc/auth/index.mjs +0 -24
  101. package/12/app/sc/index.d.ts +0 -56
  102. package/12/app/sc/index.mjs +0 -67
  103. package/12/document/Document.d.ts +0 -15
  104. package/12/document/Document.mjs +0 -38
  105. package/12/document/css/index.d.ts +0 -17
  106. package/12/document/css/index.mjs +0 -53
  107. package/12/document/index.d.ts +0 -2
  108. package/12/document/index.mjs +0 -2
  109. package/12/document/sc/index.d.ts +0 -19
  110. package/12/document/sc/index.mjs +0 -65
  111. package/12/getT.d.ts +0 -9
  112. package/12/getT.mjs +0 -8
  113. package/12/index.d.ts +0 -24
  114. package/12/index.mjs +0 -27
  115. package/12/seoBuildTags.mjs +0 -121
  116. package/12/to.d.ts +0 -24
  117. package/12/to.mjs +0 -19
  118. package/12/translationAsOptions.d.ts +0 -3
  119. package/12/translationAsOptions.mjs +0 -9
  120. package/12/types-i18n.d.ts +0 -118
  121. package/12/types-i18n.mjs +0 -12
  122. package/12/types-seo.d.ts +0 -7
  123. package/12/types-seo.mjs +0 -1
  124. package/12/useBackUrl.d.ts +0 -2
  125. package/12/useBackUrl.mjs +0 -28
  126. package/12/useDateFormat.d.ts +0 -7
  127. package/12/useDateFormat.mjs +0 -26
  128. package/12/useForm.d.ts +0 -27
  129. package/12/useForm.mjs +0 -47
  130. package/12/useLocale.d.ts +0 -2
  131. package/12/useLocale.mjs +0 -6
  132. package/12/useT.d.ts +0 -4
  133. package/12/useT.mjs +0 -39
  134. package/12/useTheme.mjs +0 -7
  135. package/12/useTo.d.ts +0 -3
  136. package/12/useTo.mjs +0 -8
  137. package/config/index.d.ts +0 -160
  138. package/config/index.mjs +0 -315
  139. package/getSiteUrl.d.ts +0 -8
  140. package/getSiteUrl.mjs +0 -10
  141. package/index.mjs +0 -2
  142. package/load.mjs +0 -13
@@ -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(!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,{id:"google-tagmanager",src:`https://www.googletagmanager.com/gtag/js?id=${s}`,strategy:"afterInteractive",onLoad:()=>f(!0)}),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(!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=${s}`,strategy:"afterInteractive",onLoad:()=>f(!0)}),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
2
  import { type LinkTag, type MetaTag } from "./seoBuildTags";
3
- import type { SeoData } from "./types-seo";
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,4 +1,5 @@
1
1
  import type { DefaultSeoProps } from "next-seo/lib/types";
2
+ import type { JsonObject } from "@koine/utils";
2
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
@@ -6,6 +7,10 @@ import { type LinkTag, type MetaTag } from "./seoBuildTags";
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";
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,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.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "./12";
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,2 @@
1
+ export * from "./ThemeContext";
2
+ export { default } from "./ThemeContext";
@@ -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,2 @@
1
+ export * from "./ThemeContext";
2
+ export { default } from "./ThemeContext";
@@ -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,2 @@
1
+ export * from "./ThemeProvider";
2
+ export { default } from "./ThemeProvider";
@@ -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=!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.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=!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 jsxRuntime.jsx(o,{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);
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,2 @@
1
+ export * from "./ThemeProvider";
2
+ export { default } from "./ThemeProvider";
@@ -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=!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);
8
+
9
+ export { ThemeProvider, ThemeProvider as default };
@@ -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,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:n,svg:p,i18nRoutes:l,i18nCompiler:a,modularize:u,...m}=s,c={eslint:{ignoreDuringBuilds:!0},typescript:{ignoreBuildErrors:!0},poweredByHeader:!1,experimental:{scrollRestoration:!0,...m.experimental||{}},modularizeImports:{...u?Array.isArray(u)?u.reduce((r,o)=>({...r,...swc.swcCreateTransforms(o.libs,o.scope)}),{}):swc.swcCreateTransforms(u.libs,u.scope):{},...m.modularizeImports||{},...swc.swcTransformsKoine},...m};return (p&&(n?c.nx={svgr:!0}:(delete c.nx,c.webpack=(e,r)=>{let o="function"==typeof m.webpack?m.webpack(e,r):e;return o.module.rules.push({test:/\.svg$/,use:[{loader:"@svgr/webpack",options:{svgoConfig:{plugins:[{name:"removeViewBox",active:!1}]}}}]}),o})),l)?next.withI18nLegacy({...c,i18nRoutes:l}):a?n?next.withI18nAsync({...c,i18nCompiler:a}):next.withI18n({...c,i18nCompiler:a}):c};
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,38 @@
1
+ import type { NextConfig } from "next";
2
+ import { type WithI18nAsyncOptions, type WithI18nLegacyOptions } from "@koine/i18n/next";
3
+ /**
4
+ * @legacy
5
+ */
6
+ export type Routes = NonNullable<WithI18nLegacyOptions["i18nRoutes"]>["routes"];
7
+ type ModularizeShortcut = {
8
+ /**
9
+ * A list of the packages to modularize, if a `scope` is given that will be
10
+ * automatically prepended before a slash e.g. `{scope}/@{lib}`.
11
+ * @example ["components", "utils"]
12
+ */
13
+ libs: string[];
14
+ /**
15
+ * The scope of the packages to modularize, if given a slash is automatically
16
+ * appended between the scope and the lib name
17
+ * @example "@"
18
+ */
19
+ scope?: string;
20
+ };
21
+ export type WithKoineOptions = NextConfig & {
22
+ nx?: boolean;
23
+ svg?: boolean;
24
+ /**
25
+ * Shortcut option to automatically create swc transforms to feed into
26
+ * _Next.js_' `modularizeImports`
27
+ */
28
+ modularize?: ModularizeShortcut[] | ModularizeShortcut;
29
+ } & WithI18nLegacyOptions & WithI18nAsyncOptions;
30
+ /**
31
+ * Get Next.js config with some basic opinionated defaults
32
+ *
33
+ * @param {object} options
34
+ * @property {boolean} [options.nx=false] Nx monorepo setup
35
+ * @property {boolean} [options.svg=false] SVG to react components
36
+ */
37
+ export declare let withKoine: (options?: WithKoineOptions) => NextConfig;
38
+ export {};
@@ -0,0 +1 @@
1
+ export * from "./config";
package/config.esm.js ADDED
@@ -0,0 +1,6 @@
1
+ import { swcCreateTransforms, swcTransformsKoine } from '@koine/node/swc';
2
+ import { withI18nLegacy, withI18nAsync, withI18n } from '@koine/i18n/next';
3
+
4
+ let withKoine=(s={})=>{let{nx:n,svg:p,i18nRoutes:l,i18nCompiler:a,modularize:u,...m}=s,c={eslint:{ignoreDuringBuilds:!0},typescript:{ignoreBuildErrors:!0},poweredByHeader:!1,experimental:{scrollRestoration:!0,...m.experimental||{}},modularizeImports:{...u?Array.isArray(u)?u.reduce((r,o)=>({...r,...swcCreateTransforms(o.libs,o.scope)}),{}):swcCreateTransforms(u.libs,u.scope):{},...m.modularizeImports||{},...swcTransformsKoine},...m};return (p&&(n?c.nx={svgr:!0}:(delete c.nx,c.webpack=(e,r)=>{let o="function"==typeof m.webpack?m.webpack(e,r):e;return o.module.rules.push({test:/\.svg$/,use:[{loader:"@svgr/webpack",options:{svgoConfig:{plugins:[{name:"removeViewBox",active:!1}]}}}]}),o})),l)?withI18nLegacy({...c,i18nRoutes:l}):a?n?withI18nAsync({...c,i18nCompiler:a}):withI18n({...c,i18nCompiler:a}):c};
5
+
6
+ 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,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.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from "./index";
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';
package/load.cjs.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from "./load";
2
+ export { default } from "./load";
@@ -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.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ export * from "./load";
2
+ export { default } from "./load";
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
@@ -2,99 +2,68 @@
2
2
  "name": "@koine/next",
3
3
  "sideEffects": false,
4
4
  "dependencies": {
5
- "@koine/browser": "2.0.0-beta.14",
6
- "@koine/react": "2.0.0-beta.14",
7
- "@koine/utils": "2.0.0-beta.14"
5
+ "@koine/browser": "2.0.0-beta.141",
6
+ "@koine/i18n": "2.0.0-beta.141",
7
+ "@koine/node": "2.0.0-beta.141",
8
+ "@koine/utils": "2.0.0-beta.141"
9
+ },
10
+ "peerDependencies": {
11
+ "next": "^14.0.4",
12
+ "next-seo": "^6.4.0",
13
+ "react": "^18.2.0"
8
14
  },
9
15
  "peerDependenciesMeta": {
10
- "@emotion/react": {
11
- "optional": true
12
- },
13
- "@emotion/server": {
14
- "optional": true
15
- },
16
- "@emotion/styled": {
17
- "optional": true
18
- },
19
- "@hookform/resolvers": {
20
- "optional": true
21
- },
22
- "@kuus/yup": {
23
- "optional": true
24
- },
25
- "@mui/base": {
26
- "optional": true
27
- },
28
- "@mui/material": {
29
- "optional": true
30
- },
31
- "@tiptap/react": {
32
- "optional": true
33
- },
34
- "@tiptap/starter-kit": {
35
- "optional": true
36
- },
37
- "date-fns": {
38
- "optional": true
39
- },
40
- "framer-motion": {
41
- "optional": true
42
- },
43
- "next-auth": {
44
- "optional": true
45
- },
46
16
  "next-seo": {
47
17
  "optional": true
48
- },
49
- "next-translate": {
50
- "optional": true
51
- },
52
- "react-hook-form": {
53
- "optional": true
54
- },
55
- "react-icons": {
56
- "optional": true
57
- },
58
- "react-is": {
59
- "optional": true
60
- },
61
- "react-popper": {
62
- "optional": true
63
- },
64
- "react-swipeable": {
65
- "optional": true
66
- },
67
- "styled-components": {
68
- "optional": true
69
- },
70
- "tailwindcss": {
71
- "optional": true
72
18
  }
73
19
  },
74
- "peerDependencies": {
75
- "@hookform/resolvers": "^3.1.1",
76
- "@kuus/yup": "1.0.0-beta.7",
77
- "@mui/base": "5.0.0-beta.9",
78
- "@mui/utils": "^5.14.3",
79
- "@tiptap/react": "^2.0.4",
80
- "@tiptap/starter-kit": "^2.0.4",
81
- "date-fns": "^2.30.0",
82
- "date-fns-tz": "^2.0.0",
83
- "framer-motion": "^10.15.0",
84
- "next": "^13.4.12",
85
- "next-auth": "^4.22.3",
86
- "next-seo": "^6.1.0",
87
- "next-translate": "^2.5.2",
88
- "react": "^18.2.0",
89
- "react-hook-form": "^7.45.2",
90
- "react-icons": "^4.10.1",
91
- "react-swipeable": "^7.0.1",
92
- "styled-components": "^5.3.11",
93
- "tslib": "^2.6.1",
94
- "type-fest": "^4.1.0"
20
+ "exports": {
21
+ "./package.json": "./package.json",
22
+ ".": {
23
+ "module": "./index.esm.js",
24
+ "types": "./index.esm.d.ts",
25
+ "import": "./index.cjs.mjs",
26
+ "default": "./index.cjs.js"
27
+ },
28
+ "./12": {
29
+ "module": "./12.esm.js",
30
+ "types": "./12.esm.d.ts",
31
+ "import": "./12.cjs.mjs",
32
+ "default": "./12.cjs.js"
33
+ },
34
+ "./config": {
35
+ "module": "./config.esm.js",
36
+ "types": "./config.esm.d.ts",
37
+ "import": "./config.cjs.mjs",
38
+ "default": "./config.cjs.js"
39
+ },
40
+ "./load": {
41
+ "module": "./load.esm.js",
42
+ "types": "./load.esm.d.ts",
43
+ "import": "./load.cjs.mjs",
44
+ "default": "./load.cjs.js"
45
+ },
46
+ "./ThemeContext": {
47
+ "module": "./ThemeContext.esm.js",
48
+ "types": "./ThemeContext.esm.d.ts",
49
+ "import": "./ThemeContext.cjs.mjs",
50
+ "default": "./ThemeContext.cjs.js"
51
+ },
52
+ "./ThemeProvider": {
53
+ "module": "./ThemeProvider.esm.js",
54
+ "types": "./ThemeProvider.esm.d.ts",
55
+ "import": "./ThemeProvider.cjs.mjs",
56
+ "default": "./ThemeProvider.cjs.js"
57
+ },
58
+ "./useTheme": {
59
+ "module": "./useTheme.esm.js",
60
+ "types": "./useTheme.esm.d.ts",
61
+ "import": "./useTheme.cjs.mjs",
62
+ "default": "./useTheme.cjs.js"
63
+ }
95
64
  },
96
- "module": "./index.mjs",
97
- "main": "./index.js",
98
- "types": "./index.d.ts",
99
- "version": "2.0.0-beta.14"
100
- }
65
+ "module": "./index.esm.js",
66
+ "main": "./index.cjs.js",
67
+ "types": "./index.esm.d.ts",
68
+ "version": "2.0.0-beta.141"
69
+ }