@koine/next 2.0.0-beta.113 → 2.0.0-beta.115
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/12.cjs.js +2 -9
- package/12.esm.d.ts +1 -0
- package/ThemeContext.cjs.js +1 -1
- package/ThemeContext.esm.d.ts +2 -0
- package/ThemeProvider.cjs.js +3 -7
- package/ThemeProvider.esm.d.ts +2 -0
- package/config.cjs.js +0 -2
- package/config.esm.d.ts +1 -0
- package/index.cjs.js +0 -2
- package/index.esm.d.ts +1 -0
- package/load.cjs.js +1 -1
- package/load.esm.d.ts +2 -0
- package/package.json +4 -4
- package/useTheme.cjs.js +1 -1
- package/useTheme.esm.d.ts +2 -0
package/12.cjs.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
3
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
4
|
var router = require('next/router');
|
|
7
5
|
var o = require('next/script');
|
|
@@ -9,14 +7,9 @@ var react = require('react');
|
|
|
9
7
|
var browser = require('@koine/browser');
|
|
10
8
|
var r = require('next/head');
|
|
11
9
|
|
|
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
10
|
/** Falls back to `.env` variable `NEXT_PUBLIC_GTM_ID` */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 (// const [url, setUrl] = useState("");
|
|
18
11
|
react.useEffect(()=>{let e=()=>{u(!0);};return m.on("routeChangeComplete",e),()=>{m.off("routeChangeComplete",e);}},[m]),react.useEffect(()=>{w&&p&&c&&// const search = query;
|
|
19
|
-
browser.gtagPageview(c);},[c,d,w,p]),l)?/*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[/*#__PURE__*/jsxRuntime.jsx(
|
|
12
|
+
browser.gtagPageview(c);},[c,d,w,p]),l)?/*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[/*#__PURE__*/jsxRuntime.jsx(o,{id:"google-tagmanager",src:`https://www.googletagmanager.com/gtag/js?id=${s}`,strategy:"afterInteractive",onLoad:()=>f(!0)}),/*#__PURE__*/jsxRuntime.jsx(o,{id:"google-analytics",strategy:"afterInteractive",children:`
|
|
20
13
|
window.dataLayer = window.dataLayer || [];
|
|
21
14
|
function gtag(){window.dataLayer.push(arguments);}
|
|
22
15
|
gtag('js', new Date());
|
|
@@ -28,7 +21,7 @@ browser.gtagPageview(c);},[c,d,w,p]),l)?/*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.
|
|
|
28
21
|
* Disable error overlay during `dev`
|
|
29
22
|
*
|
|
30
23
|
* @see https://github.com/vercel/next.js/discussions/13387#discussioncomment-101564
|
|
31
|
-
*/let DisableErrorOverlay=()=>/*#__PURE__*/jsxRuntime.jsx(
|
|
24
|
+
*/let DisableErrorOverlay=()=>/*#__PURE__*/jsxRuntime.jsx(r,{children:"development"===process.env.NODE_ENV&&/*#__PURE__*/jsxRuntime.jsx("script",{dangerouslySetInnerHTML:{__html:"window.addEventListener('error',event =>{event.stopImmediatePropagation()});window.addEventListener('unhandledrejection',event =>{event.stopImmediatePropagation()});"}})});
|
|
32
25
|
|
|
33
26
|
exports.AnalyticsGoogle = AnalyticsGoogle;
|
|
34
27
|
exports.DisableErrorOverlay = DisableErrorOverlay;
|
package/12.esm.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./12";
|
package/ThemeContext.cjs.js
CHANGED
package/ThemeProvider.cjs.js
CHANGED
|
@@ -8,10 +8,6 @@ var react = require('react');
|
|
|
8
8
|
var utils = require('@koine/utils');
|
|
9
9
|
var ThemeContext = require('./ThemeContext.cjs.js');
|
|
10
10
|
|
|
11
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
12
|
-
|
|
13
|
-
var o__default = /*#__PURE__*/_interopDefaultLegacy(o);
|
|
14
|
-
|
|
15
11
|
let l=["light","dark"],d="(prefers-color-scheme: dark)",c="theme";/** List of all available theme names *//** Forced theme name for the current page *//** Whether to switch between dark and light themes based on prefers-color-scheme *//** Disable all CSS transitions when switching themes *//** Whether to indicate to browsers which color scheme is used (dark or light) for built-in UI like inputs and buttons *//** Default theme name (for v0.0.12 and lower the default was light). If `enableSystem` is false, the default theme is light *//** HTML attribute modified based on the active theme. Accepts `class` and `data-*` (meaning any data attribute, `data-mode`, `data-color`, etc.) *//** Mapping of theme name to HTML attribute value. Object where key is the theme name and value is the attribute value *//** Nonce string to pass to the inline script for CSP headers *//**
|
|
16
12
|
* @borrows [next-themes](https://github.com/pacocoursey/next-themes)
|
|
17
13
|
*
|
|
@@ -28,11 +24,11 @@ react.useEffect(()=>{let e=window.matchMedia(d);return(// Intentionally use depr
|
|
|
28
24
|
e.addListener(M),M(e),()=>e.removeListener(M))},[M]),// localStorage event handling
|
|
29
25
|
react.useEffect(()=>{let e=e=>{e.key===c&&I(// If default theme set, use it if localstorage === null (happens on local storage manual deletion)
|
|
30
26
|
e.newValue||g);};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)},[g,I]),// Whenever theme or forcedTheme changes, apply it
|
|
31
|
-
react.useEffect(()=>{E(r??b);},[E,r,b]),/*#__PURE__*/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:[/*#__PURE__*/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=/*#__PURE__*/react.memo(({forcedTheme:t,attribute:o,enableSystem:i,enableColorScheme:n,defaultTheme:s,value:a,attrs:m,nonce:h})=>{let u="system"===s,// Code-golfing the amount of characters in the script
|
|
27
|
+
react.useEffect(()=>{E(r??b);},[E,r,b]),/*#__PURE__*/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:[/*#__PURE__*/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=/*#__PURE__*/react.memo(({forcedTheme:t,attribute:o$1,enableSystem:i,enableColorScheme:n,defaultTheme:s,value:a,attrs:m,nonce:h})=>{let u="system"===s,// Code-golfing the amount of characters in the script
|
|
32
28
|
$=(()=>{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(// MUCH faster to set colorScheme alongside HTML attribute/class
|
|
33
29
|
// as it only incurs 1 style recalculation rather than 2
|
|
34
30
|
// This can save over 250ms of work for pages with big DOM
|
|
35
|
-
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 /*#__PURE__*/jsxRuntime.jsx(
|
|
31
|
+
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 /*#__PURE__*/jsxRuntime.jsx(o,{id:"next-theme-script",strategy:"beforeInteractive",src:// We MUST use next/script's `beforeInteractive` strategy to avoid flashing on load.
|
|
36
32
|
// However, it only accepts the `src` prop, not `dangerouslySetInnerHTML` or `children`
|
|
37
33
|
// But our script cannot be external because it changes at runtime based on React props
|
|
38
34
|
// so we trick next/script by passing `src` as a base64 JS script
|
|
@@ -44,4 +40,4 @@ window.getComputedStyle(e.body),// Wait for next tick before removing
|
|
|
44
40
|
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);
|
|
45
41
|
|
|
46
42
|
exports.ThemeProvider = ThemeProvider;
|
|
47
|
-
exports
|
|
43
|
+
exports.default = ThemeProvider;
|
package/config.cjs.js
CHANGED
package/config.esm.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./config";
|
package/index.cjs.js
CHANGED
package/index.esm.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./index";
|
package/load.cjs.js
CHANGED
|
@@ -11,5 +11,5 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
11
11
|
* @see https://github.com/vercel/next.js/blob/canary/examples/with-dynamic-import/pages/index.js
|
|
12
12
|
*/function load(e,o){return new Promise(t=>{setTimeout(()=>t(e),o);})}
|
|
13
13
|
|
|
14
|
-
exports
|
|
14
|
+
exports.default = load;
|
|
15
15
|
exports.load = load;
|
package/load.esm.d.ts
ADDED
package/package.json
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"name": "@koine/next",
|
|
3
3
|
"sideEffects": false,
|
|
4
4
|
"dependencies": {
|
|
5
|
-
"@koine/browser": "2.0.0-beta.
|
|
6
|
-
"@koine/utils": "2.0.0-beta.
|
|
7
|
-
"@koine/i18n": "2.0.0-beta.
|
|
5
|
+
"@koine/browser": "2.0.0-beta.115",
|
|
6
|
+
"@koine/utils": "2.0.0-beta.115",
|
|
7
|
+
"@koine/i18n": "2.0.0-beta.115"
|
|
8
8
|
},
|
|
9
9
|
"peerDependencies": {
|
|
10
10
|
"next": "^14.0.4",
|
|
@@ -56,5 +56,5 @@
|
|
|
56
56
|
},
|
|
57
57
|
"module": "./index.esm.js",
|
|
58
58
|
"main": "./index.cjs.js",
|
|
59
|
-
"version": "2.0.0-beta.
|
|
59
|
+
"version": "2.0.0-beta.115"
|
|
60
60
|
}
|
package/useTheme.cjs.js
CHANGED
|
@@ -9,5 +9,5 @@ var ThemeContext = require('./ThemeContext.cjs.js');
|
|
|
9
9
|
* @borrows [next-themes](https://github.com/pacocoursey/next-themes)
|
|
10
10
|
*/const useTheme=()=>react.useContext(ThemeContext.ThemeContext);
|
|
11
11
|
|
|
12
|
-
exports
|
|
12
|
+
exports.default = useTheme;
|
|
13
13
|
exports.useTheme = useTheme;
|