@koine/next 1.2.2 → 2.0.0-alpha.1

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 (169) hide show
  1. package/AnalyticsGoogle.js +1 -0
  2. package/AnalyticsGoogle.mjs +1 -0
  3. package/DynamicNamespaces.js +1 -0
  4. package/DynamicNamespaces.mjs +1 -0
  5. package/NextProgress.js +1 -0
  6. package/NextProgress.mjs +1 -0
  7. package/T.js +1 -0
  8. package/T.mjs +1 -0
  9. package/ThemeProvider.js +1 -0
  10. package/ThemeProvider.mjs +1 -0
  11. package/TransText.js +1 -0
  12. package/TransText.mjs +1 -0
  13. package/auth/useLoginUrl.js +1 -0
  14. package/auth/useLoginUrl.mjs +1 -0
  15. package/auth/useLogout.js +1 -0
  16. package/auth/useLogout.mjs +1 -0
  17. package/getT.js +2 -1
  18. package/getT.mjs +1 -0
  19. package/index.d.ts +2 -28
  20. package/index.js +5 -31
  21. package/index.mjs +2 -30
  22. package/legacy/AnalyticsGoogle.d.ts +6 -0
  23. package/legacy/AnalyticsGoogle.js +39 -0
  24. package/legacy/AnalyticsGoogle.mjs +35 -0
  25. package/legacy/DisableErrorOverlay.d.ts +7 -0
  26. package/legacy/DisableErrorOverlay.js +18 -0
  27. package/legacy/DisableErrorOverlay.mjs +13 -0
  28. package/legacy/DynamicNamespaces.d.ts +13 -0
  29. package/legacy/DynamicNamespaces.js +13 -0
  30. package/legacy/DynamicNamespaces.mjs +9 -0
  31. package/legacy/Favicon.d.ts +4 -0
  32. package/legacy/Favicon.js +10 -0
  33. package/legacy/Favicon.mjs +6 -0
  34. package/legacy/Link.d.ts +10 -0
  35. package/legacy/Link.js +15 -0
  36. package/legacy/Link.mjs +12 -0
  37. package/legacy/NextProgress.d.ts +25 -0
  38. package/legacy/NextProgress.js +46 -0
  39. package/legacy/NextProgress.mjs +42 -0
  40. package/legacy/Seo.d.ts +41 -0
  41. package/legacy/Seo.js +34 -0
  42. package/legacy/Seo.mjs +29 -0
  43. package/legacy/SeoDefaults.d.ts +11 -0
  44. package/legacy/SeoDefaults.js +17 -0
  45. package/legacy/SeoDefaults.mjs +12 -0
  46. package/legacy/T.d.ts +15 -0
  47. package/legacy/T.js +17 -0
  48. package/legacy/T.mjs +13 -0
  49. package/legacy/ThemeContext.d.ts +17 -0
  50. package/legacy/ThemeContext.js +10 -0
  51. package/legacy/ThemeContext.mjs +7 -0
  52. package/legacy/ThemeProvider.d.ts +35 -0
  53. package/legacy/ThemeProvider.js +251 -0
  54. package/legacy/ThemeProvider.mjs +247 -0
  55. package/legacy/TransText.d.ts +3 -0
  56. package/legacy/TransText.js +8 -0
  57. package/legacy/TransText.mjs +4 -0
  58. package/legacy/app/AppHead.d.ts +3 -0
  59. package/legacy/app/AppHead.js +11 -0
  60. package/legacy/app/AppHead.mjs +6 -0
  61. package/legacy/app/AppMain.d.ts +35 -0
  62. package/legacy/app/AppMain.js +2 -0
  63. package/legacy/app/AppMain.mjs +1 -0
  64. package/legacy/app/css/AppMain.d.ts +9 -0
  65. package/legacy/app/css/AppMain.js +18 -0
  66. package/legacy/app/css/AppMain.mjs +14 -0
  67. package/legacy/app/css/AppTheme.d.ts +11 -0
  68. package/legacy/app/css/AppTheme.js +19 -0
  69. package/legacy/app/css/AppTheme.mjs +15 -0
  70. package/legacy/app/css/auth/index.d.ts +11 -0
  71. package/legacy/app/css/auth/index.js +17 -0
  72. package/legacy/app/css/auth/index.mjs +13 -0
  73. package/legacy/app/css/auth/package.json +6 -0
  74. package/legacy/app/css/index.d.ts +54 -0
  75. package/legacy/app/css/index.js +61 -0
  76. package/legacy/app/css/index.mjs +57 -0
  77. package/legacy/app/css/package.json +6 -0
  78. package/legacy/app/index.d.ts +2 -0
  79. package/legacy/app/index.js +5 -0
  80. package/legacy/app/index.mjs +2 -0
  81. package/legacy/app/package.json +6 -0
  82. package/legacy/app/sc/AppMain.d.ts +11 -0
  83. package/legacy/app/sc/AppMain.js +29 -0
  84. package/legacy/app/sc/AppMain.mjs +25 -0
  85. package/legacy/app/sc/AppTheme.d.ts +14 -0
  86. package/legacy/app/sc/AppTheme.js +16 -0
  87. package/legacy/app/sc/AppTheme.mjs +12 -0
  88. package/legacy/app/sc/auth/index.d.ts +11 -0
  89. package/legacy/app/sc/auth/index.js +17 -0
  90. package/legacy/app/sc/auth/index.mjs +13 -0
  91. package/legacy/app/sc/auth/package.json +6 -0
  92. package/legacy/app/sc/index.d.ts +56 -0
  93. package/legacy/app/sc/index.js +63 -0
  94. package/legacy/app/sc/index.mjs +59 -0
  95. package/legacy/app/sc/package.json +6 -0
  96. package/legacy/document/Document.d.ts +16 -0
  97. package/legacy/document/Document.js +31 -0
  98. package/legacy/document/Document.mjs +28 -0
  99. package/legacy/document/css/index.d.ts +18 -0
  100. package/legacy/document/css/index.js +45 -0
  101. package/legacy/document/css/index.mjs +45 -0
  102. package/legacy/document/css/package.json +6 -0
  103. package/legacy/document/index.d.ts +2 -0
  104. package/legacy/document/index.js +7 -0
  105. package/legacy/document/index.mjs +2 -0
  106. package/legacy/document/package.json +6 -0
  107. package/legacy/document/sc/index.d.ts +20 -0
  108. package/legacy/document/sc/index.js +67 -0
  109. package/legacy/document/sc/index.mjs +64 -0
  110. package/legacy/document/sc/package.json +6 -0
  111. package/legacy/getT.d.ts +9 -0
  112. package/legacy/getT.js +14 -0
  113. package/legacy/getT.mjs +10 -0
  114. package/legacy/index.d.ts +24 -0
  115. package/legacy/index.js +52 -0
  116. package/legacy/index.mjs +27 -0
  117. package/legacy/package.json +6 -0
  118. package/legacy/seoBuildTags.d.ts +23 -0
  119. package/legacy/seoBuildTags.js +121 -0
  120. package/legacy/seoBuildTags.mjs +117 -0
  121. package/legacy/to.d.ts +24 -0
  122. package/legacy/to.js +29 -0
  123. package/legacy/to.mjs +25 -0
  124. package/legacy/translationAsOptions.d.ts +3 -0
  125. package/legacy/translationAsOptions.js +13 -0
  126. package/legacy/translationAsOptions.mjs +9 -0
  127. package/legacy/types-i18n.d.ts +118 -0
  128. package/legacy/types-i18n.js +14 -0
  129. package/legacy/types-i18n.mjs +13 -0
  130. package/legacy/types-seo.d.ts +7 -0
  131. package/legacy/types-seo.js +2 -0
  132. package/legacy/types-seo.mjs +1 -0
  133. package/legacy/useBackUrl.d.ts +2 -0
  134. package/legacy/useBackUrl.js +33 -0
  135. package/legacy/useBackUrl.mjs +28 -0
  136. package/legacy/useDateFormat.d.ts +7 -0
  137. package/legacy/useDateFormat.js +43 -0
  138. package/legacy/useDateFormat.mjs +39 -0
  139. package/legacy/useForm.d.ts +27 -0
  140. package/legacy/useForm.js +39 -0
  141. package/legacy/useForm.mjs +35 -0
  142. package/legacy/useLocale.d.ts +2 -0
  143. package/legacy/useLocale.js +11 -0
  144. package/legacy/useLocale.mjs +6 -0
  145. package/legacy/useT.d.ts +17 -0
  146. package/legacy/useT.js +40 -0
  147. package/legacy/useT.mjs +19 -0
  148. package/legacy/useTheme.d.ts +7 -0
  149. package/legacy/useTheme.js +12 -0
  150. package/legacy/useTheme.mjs +8 -0
  151. package/legacy/useTo.d.ts +3 -0
  152. package/legacy/useTo.js +19 -0
  153. package/legacy/useTo.mjs +15 -0
  154. package/package.json +4 -10
  155. package/typings.d.ts +0 -87
  156. package/useBackUrl.js +1 -0
  157. package/useBackUrl.mjs +1 -0
  158. package/useDateFormat.js +1 -0
  159. package/useDateFormat.mjs +1 -0
  160. package/useForm.js +1 -0
  161. package/useForm.mjs +1 -0
  162. package/useLocale.js +1 -0
  163. package/useLocale.mjs +1 -0
  164. package/useT.js +1 -0
  165. package/useT.mjs +1 -16
  166. package/useTheme.js +1 -0
  167. package/useTheme.mjs +1 -0
  168. package/useTo.js +1 -0
  169. package/useTo.mjs +1 -0
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Document = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var jsx_runtime_1 = require("react/jsx-runtime");
6
+ var react_1 = tslib_1.__importDefault(require("react"));
7
+ /* ? eslint-disable @next/next/no-document-import-in-page */
8
+ var document_1 = tslib_1.__importStar(require("next/document"));
9
+ var styled_components_1 = require("styled-components");
10
+ var Meta_1 = tslib_1.__importDefault(require("@koine/react/Meta"));
11
+ var NoJs_1 = tslib_1.__importDefault(require("@koine/react/NoJs"));
12
+ /**
13
+ * Next Document wrapper for `styled-components` based projects
14
+ *
15
+ * For typescript safety of this component
16
+ * @see https://bit.ly/3ceuF8m
17
+ *
18
+ * @example
19
+ *
20
+ * in your `myapp/pages/_document.tsx`:
21
+ * ```tsx
22
+ * export { Document as default } from "@koine/next/document/sc";
23
+ * ```
24
+ */
25
+ var Document = /** @class */ (function (_super) {
26
+ tslib_1.__extends(Document, _super);
27
+ function Document() {
28
+ return _super !== null && _super.apply(this, arguments) || this;
29
+ }
30
+ Document.getInitialProps = function (ctx) {
31
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
32
+ var sheet, originalRenderPage, initialProps;
33
+ return tslib_1.__generator(this, function (_a) {
34
+ switch (_a.label) {
35
+ case 0:
36
+ sheet = new styled_components_1.ServerStyleSheet();
37
+ originalRenderPage = ctx.renderPage;
38
+ _a.label = 1;
39
+ case 1:
40
+ _a.trys.push([1, , 3, 4]);
41
+ ctx.renderPage = function () {
42
+ return originalRenderPage({
43
+ enhanceApp: function (App) { return function (props) {
44
+ return sheet.collectStyles((0, jsx_runtime_1.jsx)(App, tslib_1.__assign({}, props)));
45
+ }; },
46
+ });
47
+ };
48
+ return [4 /*yield*/, document_1.default.getInitialProps(ctx)];
49
+ case 2:
50
+ initialProps = _a.sent();
51
+ return [2 /*return*/, tslib_1.__assign(tslib_1.__assign({}, initialProps), { styles: ((0, jsx_runtime_1.jsxs)(react_1.default.Fragment, { children: [initialProps.styles, sheet.getStyleElement()] })) })];
52
+ case 3:
53
+ sheet.seal();
54
+ return [7 /*endfinally*/];
55
+ case 4: return [2 /*return*/];
56
+ }
57
+ });
58
+ });
59
+ };
60
+ Document.prototype.render = function () {
61
+ var _a = this.props.__NEXT_DATA__, locale = _a.locale, defaultLocale = _a.defaultLocale;
62
+ return ((0, jsx_runtime_1.jsxs)(document_1.Html, tslib_1.__assign({ lang: locale || defaultLocale, className: "no-js" }, { children: [(0, jsx_runtime_1.jsxs)(document_1.Head, { children: [(0, jsx_runtime_1.jsx)(Meta_1.default, {}), (0, jsx_runtime_1.jsx)(NoJs_1.default, {})] }), (0, jsx_runtime_1.jsxs)("body", { children: [(0, jsx_runtime_1.jsx)(document_1.Main, {}), (0, jsx_runtime_1.jsx)(document_1.NextScript, {})] })] })));
63
+ };
64
+ return Document;
65
+ }(document_1.default));
66
+ exports.Document = Document;
67
+ exports.default = Document;
@@ -0,0 +1,64 @@
1
+ import { __assign, __awaiter, __extends, __generator } from "tslib";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import React from "react";
4
+ /* ? eslint-disable @next/next/no-document-import-in-page */
5
+ import NextDocument, { Html, Head, Main, NextScript, } from "next/document";
6
+ import { ServerStyleSheet } from "styled-components";
7
+ import Meta from "@koine/react/Meta";
8
+ import NoJs from "@koine/react/NoJs";
9
+ /**
10
+ * Next Document wrapper for `styled-components` based projects
11
+ *
12
+ * For typescript safety of this component
13
+ * @see https://bit.ly/3ceuF8m
14
+ *
15
+ * @example
16
+ *
17
+ * in your `myapp/pages/_document.tsx`:
18
+ * ```tsx
19
+ * export { Document as default } from "@koine/next/document/sc";
20
+ * ```
21
+ */
22
+ var Document = /** @class */ (function (_super) {
23
+ __extends(Document, _super);
24
+ function Document() {
25
+ return _super !== null && _super.apply(this, arguments) || this;
26
+ }
27
+ Document.getInitialProps = function (ctx) {
28
+ return __awaiter(this, void 0, void 0, function () {
29
+ var sheet, originalRenderPage, initialProps;
30
+ return __generator(this, function (_a) {
31
+ switch (_a.label) {
32
+ case 0:
33
+ sheet = new ServerStyleSheet();
34
+ originalRenderPage = ctx.renderPage;
35
+ _a.label = 1;
36
+ case 1:
37
+ _a.trys.push([1, , 3, 4]);
38
+ ctx.renderPage = function () {
39
+ return originalRenderPage({
40
+ enhanceApp: function (App) { return function (props) {
41
+ return sheet.collectStyles(_jsx(App, __assign({}, props)));
42
+ }; },
43
+ });
44
+ };
45
+ return [4 /*yield*/, NextDocument.getInitialProps(ctx)];
46
+ case 2:
47
+ initialProps = _a.sent();
48
+ return [2 /*return*/, __assign(__assign({}, initialProps), { styles: (_jsxs(React.Fragment, { children: [initialProps.styles, sheet.getStyleElement()] })) })];
49
+ case 3:
50
+ sheet.seal();
51
+ return [7 /*endfinally*/];
52
+ case 4: return [2 /*return*/];
53
+ }
54
+ });
55
+ });
56
+ };
57
+ Document.prototype.render = function () {
58
+ var _a = this.props.__NEXT_DATA__, locale = _a.locale, defaultLocale = _a.defaultLocale;
59
+ return (_jsxs(Html, __assign({ lang: locale || defaultLocale, className: "no-js" }, { children: [_jsxs(Head, { children: [_jsx(Meta, {}), _jsx(NoJs, {})] }), _jsxs("body", { children: [_jsx(Main, {}), _jsx(NextScript, {})] })] })));
60
+ };
61
+ return Document;
62
+ }(NextDocument));
63
+ export { Document };
64
+ export default Document;
@@ -0,0 +1,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "module": "./index.mjs",
4
+ "main": "./index.js",
5
+ "types": "./index.d.ts"
6
+ }
@@ -0,0 +1,9 @@
1
+ import type { Translate, TranslateNamespace } from "./types-i18n";
2
+ export type GetT = <TNamespace extends TranslateNamespace | undefined = undefined>(locale?: string, namespace?: TNamespace) => Promise<Translate<TNamespace>>;
3
+ /**
4
+ * **NOTE**: To make typescript work nicely here make sure to enable
5
+ * [`resolveJsonModule`](https://www.typescriptlang.org/tsconfig#resolveJsonModule)
6
+ * in your `tsconfig.json` file.
7
+ */
8
+ export declare const getT: GetT;
9
+ export default getT;
package/legacy/getT.js ADDED
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ "use client";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.getT = void 0;
5
+ var tslib_1 = require("tslib");
6
+ /* eslint-disable @typescript-eslint/no-unnecessary-type-constraint */
7
+ var getT_1 = tslib_1.__importDefault(require("next-translate/getT"));
8
+ /**
9
+ * **NOTE**: To make typescript work nicely here make sure to enable
10
+ * [`resolveJsonModule`](https://www.typescriptlang.org/tsconfig#resolveJsonModule)
11
+ * in your `tsconfig.json` file.
12
+ */
13
+ exports.getT = getT_1.default;
14
+ exports.default = exports.getT;
@@ -0,0 +1,10 @@
1
+ "use client";
2
+ /* eslint-disable @typescript-eslint/no-unnecessary-type-constraint */
3
+ import getTranslation from "next-translate/getT";
4
+ /**
5
+ * **NOTE**: To make typescript work nicely here make sure to enable
6
+ * [`resolveJsonModule`](https://www.typescriptlang.org/tsconfig#resolveJsonModule)
7
+ * in your `tsconfig.json` file.
8
+ */
9
+ export var getT = getTranslation;
10
+ export default getT;
@@ -0,0 +1,24 @@
1
+ export { AnalyticsGoogle, type AnalyticsGoogleProps } from "./AnalyticsGoogle";
2
+ export { DisableErrorOverlay } from "./DisableErrorOverlay";
3
+ export { DynamicNamespaces, type DynamicNamespacesProps, } from "./DynamicNamespaces";
4
+ export { Favicon, type FaviconProps } from "./Favicon";
5
+ export { getT, type GetT } from "./getT";
6
+ export { Link, type LinkProps } from "./Link";
7
+ export { NextProgress, type NextProgressProps } from "./NextProgress";
8
+ export { Seo, type SeoProps } from "./Seo";
9
+ export { SeoDefaults, type SeoDefaultsProps } from "./SeoDefaults";
10
+ export { T, type TProps } from "./T";
11
+ export { ThemeContext, type ThemeContextProps } from "./ThemeContext";
12
+ export { ThemeProvider, type ThemeProviderProps } from "./ThemeProvider";
13
+ export { to, type ToArgs, type ToTranslate, type ToDynamicRoute, type ToStaticRoute, } from "./to";
14
+ export { translationAsOptions } from "./translationAsOptions";
15
+ export { TransText } from "./TransText";
16
+ export type { Translate, TranslateDefault, TranslateLoose, TranslateNamespace, TranslateNamespaced, TranslatedRoute, TranslatedRoutesChildrenOf, TranslationOptions, TranslationQuery, TranslationShortcut, TranslationsAllPaths, TranslationsDictionary, TranslationsDictionaryDefault, TranslationsPaths, } from "./types-i18n";
17
+ export type { SeoData } from "./types-seo";
18
+ export { useBackUrl } from "./useBackUrl";
19
+ export { useDateFormat } from "./useDateFormat";
20
+ export { useForm } from "./useForm";
21
+ export { useLocale } from "./useLocale";
22
+ export { useT } from "./useT";
23
+ export { useTheme, type UseThemeProps } from "./useTheme";
24
+ export { useTo } from "./useTo";
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useTo = exports.useTheme = exports.useT = exports.useLocale = exports.useForm = exports.useDateFormat = exports.useBackUrl = exports.TransText = exports.translationAsOptions = exports.to = exports.ThemeProvider = exports.ThemeContext = exports.T = exports.SeoDefaults = exports.Seo = exports.NextProgress = exports.Link = exports.getT = exports.Favicon = exports.DynamicNamespaces = exports.DisableErrorOverlay = exports.AnalyticsGoogle = void 0;
4
+ var AnalyticsGoogle_1 = require("./AnalyticsGoogle");
5
+ Object.defineProperty(exports, "AnalyticsGoogle", { enumerable: true, get: function () { return AnalyticsGoogle_1.AnalyticsGoogle; } });
6
+ var DisableErrorOverlay_1 = require("./DisableErrorOverlay");
7
+ Object.defineProperty(exports, "DisableErrorOverlay", { enumerable: true, get: function () { return DisableErrorOverlay_1.DisableErrorOverlay; } });
8
+ var DynamicNamespaces_1 = require("./DynamicNamespaces");
9
+ Object.defineProperty(exports, "DynamicNamespaces", { enumerable: true, get: function () { return DynamicNamespaces_1.DynamicNamespaces; } });
10
+ var Favicon_1 = require("./Favicon");
11
+ Object.defineProperty(exports, "Favicon", { enumerable: true, get: function () { return Favicon_1.Favicon; } });
12
+ var getT_1 = require("./getT");
13
+ Object.defineProperty(exports, "getT", { enumerable: true, get: function () { return getT_1.getT; } });
14
+ var Link_1 = require("./Link");
15
+ Object.defineProperty(exports, "Link", { enumerable: true, get: function () { return Link_1.Link; } });
16
+ var NextProgress_1 = require("./NextProgress");
17
+ Object.defineProperty(exports, "NextProgress", { enumerable: true, get: function () { return NextProgress_1.NextProgress; } });
18
+ var Seo_1 = require("./Seo");
19
+ Object.defineProperty(exports, "Seo", { enumerable: true, get: function () { return Seo_1.Seo; } });
20
+ // export {
21
+ // seoBuildTags,
22
+ // type LinkTag,
23
+ // type MetaTag
24
+ // } from "./seoBuildTags";
25
+ var SeoDefaults_1 = require("./SeoDefaults");
26
+ Object.defineProperty(exports, "SeoDefaults", { enumerable: true, get: function () { return SeoDefaults_1.SeoDefaults; } });
27
+ var T_1 = require("./T");
28
+ Object.defineProperty(exports, "T", { enumerable: true, get: function () { return T_1.T; } });
29
+ var ThemeContext_1 = require("./ThemeContext");
30
+ Object.defineProperty(exports, "ThemeContext", { enumerable: true, get: function () { return ThemeContext_1.ThemeContext; } });
31
+ var ThemeProvider_1 = require("./ThemeProvider");
32
+ Object.defineProperty(exports, "ThemeProvider", { enumerable: true, get: function () { return ThemeProvider_1.ThemeProvider; } });
33
+ var to_1 = require("./to");
34
+ Object.defineProperty(exports, "to", { enumerable: true, get: function () { return to_1.to; } });
35
+ var translationAsOptions_1 = require("./translationAsOptions");
36
+ Object.defineProperty(exports, "translationAsOptions", { enumerable: true, get: function () { return translationAsOptions_1.translationAsOptions; } });
37
+ var TransText_1 = require("./TransText");
38
+ Object.defineProperty(exports, "TransText", { enumerable: true, get: function () { return TransText_1.TransText; } });
39
+ var useBackUrl_1 = require("./useBackUrl");
40
+ Object.defineProperty(exports, "useBackUrl", { enumerable: true, get: function () { return useBackUrl_1.useBackUrl; } });
41
+ var useDateFormat_1 = require("./useDateFormat");
42
+ Object.defineProperty(exports, "useDateFormat", { enumerable: true, get: function () { return useDateFormat_1.useDateFormat; } });
43
+ var useForm_1 = require("./useForm");
44
+ Object.defineProperty(exports, "useForm", { enumerable: true, get: function () { return useForm_1.useForm; } });
45
+ var useLocale_1 = require("./useLocale");
46
+ Object.defineProperty(exports, "useLocale", { enumerable: true, get: function () { return useLocale_1.useLocale; } });
47
+ var useT_1 = require("./useT");
48
+ Object.defineProperty(exports, "useT", { enumerable: true, get: function () { return useT_1.useT; } });
49
+ var useTheme_1 = require("./useTheme");
50
+ Object.defineProperty(exports, "useTheme", { enumerable: true, get: function () { return useTheme_1.useTheme; } });
51
+ var useTo_1 = require("./useTo");
52
+ Object.defineProperty(exports, "useTo", { enumerable: true, get: function () { return useTo_1.useTo; } });
@@ -0,0 +1,27 @@
1
+ export { AnalyticsGoogle } from "./AnalyticsGoogle";
2
+ export { DisableErrorOverlay } from "./DisableErrorOverlay";
3
+ export { DynamicNamespaces, } from "./DynamicNamespaces";
4
+ export { Favicon } from "./Favicon";
5
+ export { getT } from "./getT";
6
+ export { Link } from "./Link";
7
+ export { NextProgress } from "./NextProgress";
8
+ export { Seo } from "./Seo";
9
+ // export {
10
+ // seoBuildTags,
11
+ // type LinkTag,
12
+ // type MetaTag
13
+ // } from "./seoBuildTags";
14
+ export { SeoDefaults } from "./SeoDefaults";
15
+ export { T } from "./T";
16
+ export { ThemeContext } from "./ThemeContext";
17
+ export { ThemeProvider } from "./ThemeProvider";
18
+ export { to, } from "./to";
19
+ export { translationAsOptions } from "./translationAsOptions";
20
+ export { TransText } from "./TransText";
21
+ export { useBackUrl } from "./useBackUrl";
22
+ export { useDateFormat } from "./useDateFormat";
23
+ export { useForm } from "./useForm";
24
+ export { useLocale } from "./useLocale";
25
+ export { useT } from "./useT";
26
+ export { useTheme } from "./useTheme";
27
+ export { useTo } from "./useTo";
@@ -0,0 +1,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "module": "./index.mjs",
4
+ "main": "./index.js",
5
+ "types": "./index.d.ts"
6
+ }
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ import type { SeoProps } from "./Seo";
3
+ import type { SeoDefaultsProps } from "./SeoDefaults";
4
+ export type MetaTag = React.DetailedHTMLProps<React.MetaHTMLAttributes<HTMLMetaElement>, HTMLMetaElement>;
5
+ export type LinkTag = React.DetailedHTMLProps<React.LinkHTMLAttributes<HTMLLinkElement>, HTMLLinkElement>;
6
+ type BuildTagsParams = SeoProps & SeoDefaultsProps;
7
+ /**
8
+ * Comparing to `next-seo` we do a couple of things in addition while many
9
+ * others are removed.
10
+ *
11
+ * - Add `seo` meta object coming from a CMS probably
12
+ * - Add `ogimage` and `openGraph.image` as single image source
13
+ * - Add `og` alias to define `openGraph`
14
+ * - Add check for `title` equal to `templateTitle` to avoid meta titles like
15
+ * "My site | My site" often happening in homepages
16
+ * - Remove the open graph videos and images
17
+ *
18
+ * - Shorter code
19
+ *
20
+ * @returns
21
+ */
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[];
23
+ export default seoBuildTags;
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.seoBuildTags = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var jsx_runtime_1 = require("react/jsx-runtime");
6
+ var isArray_1 = tslib_1.__importDefault(require("@koine/utils/isArray"));
7
+ var defaults = {
8
+ tplTitle: "",
9
+ };
10
+ /**
11
+ * Comparing to `next-seo` we do a couple of things in addition while many
12
+ * others are removed.
13
+ *
14
+ * - Add `seo` meta object coming from a CMS probably
15
+ * - Add `ogimage` and `openGraph.image` as single image source
16
+ * - Add `og` alias to define `openGraph`
17
+ * - Add check for `title` equal to `templateTitle` to avoid meta titles like
18
+ * "My site | My site" often happening in homepages
19
+ * - Remove the open graph videos and images
20
+ *
21
+ * - Shorter code
22
+ *
23
+ * @returns
24
+ */
25
+ var seoBuildTags = function (_a) {
26
+ var _b = _a === void 0 ? {} : _a, seo = _b.seo, hidden = _b.hidden, keywords = _b.keywords, _c = _b.title, title = _c === void 0 ? "" : _c, titleTemplate = _b.titleTemplate, defaultTitle = _b.defaultTitle, noindex = _b.noindex, nofollow = _b.nofollow, description = _b.description, _d = _b.languageAlternates, languageAlternates = _d === void 0 ? [] : _d, twitter = _b.twitter, facebook = _b.facebook, openGraph = _b.openGraph, ogAlias = _b.og, canonical = _b.canonical, metaTags = _b.metaTags, linkTags = _b.linkTags;
27
+ var id = "seo-";
28
+ var render = [];
29
+ var $names = {};
30
+ var $properties = {};
31
+ if (titleTemplate) {
32
+ defaults.tplTitle = titleTemplate;
33
+ }
34
+ title = title || (seo === null || seo === void 0 ? void 0 : seo.title) || "";
35
+ if (title) {
36
+ if (defaults.tplTitle && defaults.tplTitle !== title) {
37
+ title = defaults.tplTitle.replace(/%s/g, title);
38
+ }
39
+ }
40
+ else if (defaultTitle) {
41
+ title = defaultTitle;
42
+ }
43
+ if (title) {
44
+ render.push((0, jsx_runtime_1.jsx)("title", { children: title }, id + "title"));
45
+ $properties["og:title"] = title; // overridden later...
46
+ }
47
+ $names["robots"] = "".concat(noindex || hidden ? "noindex" : "index", ",").concat(nofollow || hidden ? "nofollow" : "follow");
48
+ description = description || (seo === null || seo === void 0 ? void 0 : seo.description);
49
+ if (description) {
50
+ $names["description"] = description;
51
+ $properties["og:description"] = description; // overridden later...
52
+ }
53
+ keywords = keywords || (seo === null || seo === void 0 ? void 0 : seo.keywords);
54
+ if (keywords) {
55
+ $names["keywords"] = (0, isArray_1.default)(keywords) ? keywords.join(", ") : keywords;
56
+ }
57
+ if ((languageAlternates === null || languageAlternates === void 0 ? void 0 : languageAlternates.length) > 0) {
58
+ languageAlternates.forEach(function (_a) {
59
+ var href = _a.href, hrefLang = _a.hrefLang;
60
+ render.push((0, jsx_runtime_1.jsx)("link", { rel: "alternate", hrefLang: hrefLang, href: href }, id + "languageAlternate-" + hrefLang));
61
+ });
62
+ }
63
+ if (canonical) {
64
+ render.push((0, jsx_runtime_1.jsx)("link", { rel: "canonical", href: canonical }, id + "canonical"));
65
+ $properties["og:url"] = canonical;
66
+ }
67
+ if (facebook === null || facebook === void 0 ? void 0 : facebook.appId)
68
+ $properties["fb:app_id"] = facebook.appId;
69
+ if (twitter) {
70
+ if (twitter.cardType)
71
+ $names["twitter:card"] = twitter.cardType;
72
+ if (twitter.site)
73
+ $names["twitter:site"] = twitter.site;
74
+ if (twitter.handle)
75
+ $names["twitter:creator"] = twitter.handle;
76
+ }
77
+ var og = ogAlias || openGraph;
78
+ if (og === null || og === void 0 ? void 0 : og.title)
79
+ $properties["og:title"] = og === null || og === void 0 ? void 0 : og.title;
80
+ if (og === null || og === void 0 ? void 0 : og.description)
81
+ $properties["og:description"] = og === null || og === void 0 ? void 0 : og.description;
82
+ if (og === null || og === void 0 ? void 0 : og.url)
83
+ $properties["og:url"] = og.url;
84
+ if (og === null || og === void 0 ? void 0 : og.type)
85
+ $properties["og:type"] = og.type.toLowerCase();
86
+ if (og === null || og === void 0 ? void 0 : og.locale)
87
+ $properties["og:locale"] = og.locale;
88
+ if (og === null || og === void 0 ? void 0 : og.siteName)
89
+ $properties["og:siteName"] = og.siteName;
90
+ var ogimage = (og === null || og === void 0 ? void 0 : og.image) || (seo === null || seo === void 0 ? void 0 : seo.ogimage);
91
+ if (ogimage)
92
+ $properties["og:image"] = ogimage;
93
+ Object.keys($names).forEach(function (key) {
94
+ render.push((0, jsx_runtime_1.jsx)("meta", { name: key, content: $names[key] }, id + "name-" + key));
95
+ });
96
+ Object.keys($properties).forEach(function (key) {
97
+ render.push((0, jsx_runtime_1.jsx)("meta", { property: key, content: $properties[key] }, id + "prop-" + +key));
98
+ });
99
+ if (metaTags && metaTags.length > 0) {
100
+ metaTags.forEach(function (tag) {
101
+ render.push((0, jsx_runtime_1.jsx)("meta", tslib_1.__assign({}, tag), id + "meta-" + (tag.name || tag.property || tag.httpEquiv)));
102
+ });
103
+ }
104
+ if (linkTags === null || linkTags === void 0 ? void 0 : linkTags.length) {
105
+ linkTags.forEach(function (tag) {
106
+ render.push((0, jsx_runtime_1.jsx)("link", tslib_1.__assign({}, tag), id + "link-" + (tag.href || tag.rel)));
107
+ });
108
+ }
109
+ // TODO: alternates and canonical
110
+ // canonical = 'https://www.domain.com/';
111
+ // languageAlternates={[{
112
+ // hrefLang: 'en',
113
+ // href: 'https://www.domain.com/en',
114
+ // }]}
115
+ // <link rel="alternate" hreflang="x-default" href="https://www.domain.com/nl/">
116
+ // <link rel="alternate" hreflang="nl" href="https://www.domain.com/nl/">
117
+ // <link rel="alternate" hreflang="en" href="https://www.domain.com/en/">
118
+ return render;
119
+ };
120
+ exports.seoBuildTags = seoBuildTags;
121
+ exports.default = exports.seoBuildTags;
@@ -0,0 +1,117 @@
1
+ import { __assign } from "tslib";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import isArray from "@koine/utils/isArray";
4
+ var defaults = {
5
+ tplTitle: "",
6
+ };
7
+ /**
8
+ * Comparing to `next-seo` we do a couple of things in addition while many
9
+ * others are removed.
10
+ *
11
+ * - Add `seo` meta object coming from a CMS probably
12
+ * - Add `ogimage` and `openGraph.image` as single image source
13
+ * - Add `og` alias to define `openGraph`
14
+ * - Add check for `title` equal to `templateTitle` to avoid meta titles like
15
+ * "My site | My site" often happening in homepages
16
+ * - Remove the open graph videos and images
17
+ *
18
+ * - Shorter code
19
+ *
20
+ * @returns
21
+ */
22
+ export var seoBuildTags = function (_a) {
23
+ var _b = _a === void 0 ? {} : _a, seo = _b.seo, hidden = _b.hidden, keywords = _b.keywords, _c = _b.title, title = _c === void 0 ? "" : _c, titleTemplate = _b.titleTemplate, defaultTitle = _b.defaultTitle, noindex = _b.noindex, nofollow = _b.nofollow, description = _b.description, _d = _b.languageAlternates, languageAlternates = _d === void 0 ? [] : _d, twitter = _b.twitter, facebook = _b.facebook, openGraph = _b.openGraph, ogAlias = _b.og, canonical = _b.canonical, metaTags = _b.metaTags, linkTags = _b.linkTags;
24
+ var id = "seo-";
25
+ var render = [];
26
+ var $names = {};
27
+ var $properties = {};
28
+ if (titleTemplate) {
29
+ defaults.tplTitle = titleTemplate;
30
+ }
31
+ title = title || (seo === null || seo === void 0 ? void 0 : seo.title) || "";
32
+ if (title) {
33
+ if (defaults.tplTitle && defaults.tplTitle !== title) {
34
+ title = defaults.tplTitle.replace(/%s/g, title);
35
+ }
36
+ }
37
+ else if (defaultTitle) {
38
+ title = defaultTitle;
39
+ }
40
+ if (title) {
41
+ render.push(_jsx("title", { children: title }, id + "title"));
42
+ $properties["og:title"] = title; // overridden later...
43
+ }
44
+ $names["robots"] = "".concat(noindex || hidden ? "noindex" : "index", ",").concat(nofollow || hidden ? "nofollow" : "follow");
45
+ description = description || (seo === null || seo === void 0 ? void 0 : seo.description);
46
+ if (description) {
47
+ $names["description"] = description;
48
+ $properties["og:description"] = description; // overridden later...
49
+ }
50
+ keywords = keywords || (seo === null || seo === void 0 ? void 0 : seo.keywords);
51
+ if (keywords) {
52
+ $names["keywords"] = isArray(keywords) ? keywords.join(", ") : keywords;
53
+ }
54
+ if ((languageAlternates === null || languageAlternates === void 0 ? void 0 : languageAlternates.length) > 0) {
55
+ languageAlternates.forEach(function (_a) {
56
+ var href = _a.href, hrefLang = _a.hrefLang;
57
+ render.push(_jsx("link", { rel: "alternate", hrefLang: hrefLang, href: href }, id + "languageAlternate-" + hrefLang));
58
+ });
59
+ }
60
+ if (canonical) {
61
+ render.push(_jsx("link", { rel: "canonical", href: canonical }, id + "canonical"));
62
+ $properties["og:url"] = canonical;
63
+ }
64
+ if (facebook === null || facebook === void 0 ? void 0 : facebook.appId)
65
+ $properties["fb:app_id"] = facebook.appId;
66
+ if (twitter) {
67
+ if (twitter.cardType)
68
+ $names["twitter:card"] = twitter.cardType;
69
+ if (twitter.site)
70
+ $names["twitter:site"] = twitter.site;
71
+ if (twitter.handle)
72
+ $names["twitter:creator"] = twitter.handle;
73
+ }
74
+ var og = ogAlias || openGraph;
75
+ if (og === null || og === void 0 ? void 0 : og.title)
76
+ $properties["og:title"] = og === null || og === void 0 ? void 0 : og.title;
77
+ if (og === null || og === void 0 ? void 0 : og.description)
78
+ $properties["og:description"] = og === null || og === void 0 ? void 0 : og.description;
79
+ if (og === null || og === void 0 ? void 0 : og.url)
80
+ $properties["og:url"] = og.url;
81
+ if (og === null || og === void 0 ? void 0 : og.type)
82
+ $properties["og:type"] = og.type.toLowerCase();
83
+ if (og === null || og === void 0 ? void 0 : og.locale)
84
+ $properties["og:locale"] = og.locale;
85
+ if (og === null || og === void 0 ? void 0 : og.siteName)
86
+ $properties["og:siteName"] = og.siteName;
87
+ var ogimage = (og === null || og === void 0 ? void 0 : og.image) || (seo === null || seo === void 0 ? void 0 : seo.ogimage);
88
+ if (ogimage)
89
+ $properties["og:image"] = ogimage;
90
+ Object.keys($names).forEach(function (key) {
91
+ render.push(_jsx("meta", { name: key, content: $names[key] }, id + "name-" + key));
92
+ });
93
+ Object.keys($properties).forEach(function (key) {
94
+ render.push(_jsx("meta", { property: key, content: $properties[key] }, id + "prop-" + +key));
95
+ });
96
+ if (metaTags && metaTags.length > 0) {
97
+ metaTags.forEach(function (tag) {
98
+ render.push(_jsx("meta", __assign({}, tag), id + "meta-" + (tag.name || tag.property || tag.httpEquiv)));
99
+ });
100
+ }
101
+ if (linkTags === null || linkTags === void 0 ? void 0 : linkTags.length) {
102
+ linkTags.forEach(function (tag) {
103
+ render.push(_jsx("link", __assign({}, tag), id + "link-" + (tag.href || tag.rel)));
104
+ });
105
+ }
106
+ // TODO: alternates and canonical
107
+ // canonical = 'https://www.domain.com/';
108
+ // languageAlternates={[{
109
+ // hrefLang: 'en',
110
+ // href: 'https://www.domain.com/en',
111
+ // }]}
112
+ // <link rel="alternate" hreflang="x-default" href="https://www.domain.com/nl/">
113
+ // <link rel="alternate" hreflang="nl" href="https://www.domain.com/nl/">
114
+ // <link rel="alternate" hreflang="en" href="https://www.domain.com/en/">
115
+ return render;
116
+ };
117
+ export default seoBuildTags;
package/legacy/to.d.ts ADDED
@@ -0,0 +1,24 @@
1
+ import type { TranslateNamespaced, TranslatedRoute } from "./types-i18n";
2
+ type OnlyStatic<T extends string> = T extends `${string}.[${string}].${string}` | `${string}.[${string}]` | `[${string}].${string}` | `[${string}]` ? never : T;
3
+ type OnlyDynamic<T extends string> = T extends `${string}.[${string}].${string}` | `${string}.[${string}]` | `[${string}].${string}` | `[${string}]` ? T : never;
4
+ /**
5
+ * @borrows [awesome-template-literal-types](https://github.com/ghoullier/awesome-template-literal-types#router-params-parsing)
6
+ */
7
+ type ExtractRouteParams<T extends string> = string extends T ? Record<string, string> : T extends `${infer _Start}[${infer Param}].${infer Rest}` ? {
8
+ [k in Param | keyof ExtractRouteParams<Rest>]: string | number;
9
+ } : T extends `${infer _Start}[${infer Param}]` ? {
10
+ [k in Param]: string | number;
11
+ } : {};
12
+ export type ToTranslate = TranslateNamespaced<"~">;
13
+ export type ToStaticRoute = OnlyStatic<TranslatedRoute>;
14
+ export type ToDynamicRoute = OnlyDynamic<TranslatedRoute>;
15
+ export type ToArgs = [ToStaticRoute] | [ToDynamicRoute, ExtractRouteParams<ToDynamicRoute>];
16
+ /**
17
+ * `To` named route utility. It accept either a single argument if that is a static
18
+ * route name or a second argument that interpolates the dynamic portions of
19
+ * the route name. The types of these portions are automatically inferred.
20
+ *
21
+ * @borrows [awesome-template-literal-types](https://github.com/ghoullier/awesome-template-literal-types)
22
+ */
23
+ export declare function to(...args: [ToTranslate, ...ToArgs]): string;
24
+ export default to;
package/legacy/to.js ADDED
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.to = void 0;
4
+ /**
5
+ * `To` named route utility. It accept either a single argument if that is a static
6
+ * route name or a second argument that interpolates the dynamic portions of
7
+ * the route name. The types of these portions are automatically inferred.
8
+ *
9
+ * @borrows [awesome-template-literal-types](https://github.com/ghoullier/awesome-template-literal-types)
10
+ */
11
+ function to() {
12
+ var args = [];
13
+ for (var _i = 0; _i < arguments.length; _i++) {
14
+ args[_i] = arguments[_i];
15
+ }
16
+ var relative = "";
17
+ var t = args[0];
18
+ if (args.length === 3) {
19
+ if (args[2]) {
20
+ relative = t(args[1], args[2]).replace("*", "");
21
+ }
22
+ }
23
+ else if (args.length === 2) {
24
+ relative = t(args[1]);
25
+ }
26
+ return relative;
27
+ }
28
+ exports.to = to;
29
+ exports.default = to;
package/legacy/to.mjs ADDED
@@ -0,0 +1,25 @@
1
+ /**
2
+ * `To` named route utility. It accept either a single argument if that is a static
3
+ * route name or a second argument that interpolates the dynamic portions of
4
+ * the route name. The types of these portions are automatically inferred.
5
+ *
6
+ * @borrows [awesome-template-literal-types](https://github.com/ghoullier/awesome-template-literal-types)
7
+ */
8
+ export function to() {
9
+ var args = [];
10
+ for (var _i = 0; _i < arguments.length; _i++) {
11
+ args[_i] = arguments[_i];
12
+ }
13
+ var relative = "";
14
+ var t = args[0];
15
+ if (args.length === 3) {
16
+ if (args[2]) {
17
+ relative = t(args[1], args[2]).replace("*", "");
18
+ }
19
+ }
20
+ else if (args.length === 2) {
21
+ relative = t(args[1]);
22
+ }
23
+ return relative;
24
+ }
25
+ export default to;
@@ -0,0 +1,3 @@
1
+ import type { Option } from "@koine/react/types";
2
+ import type { TranslateLoose } from "./types-i18n";
3
+ export declare function translationAsOptions(t: TranslateLoose, i18nKey: string): Option[];