@anywayseo/tools 5.8.3 → 5.10.0

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.
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const index = require("../index-Z9_O1z1K.js");
4
- const index$1 = require("../index-CxpOLhsJ.js");
3
+ const index = require("../index-CAhVRVmv.js");
4
+ const index$1 = require("../index-DzOucsVx.js");
5
5
  const index$2 = require("../index-DDg_PkD2.js");
6
6
  const index$3 = require("../index-B4M1IKzL.js");
7
7
  exports.ActionButton = index.ActionButton;
@@ -1,5 +1,5 @@
1
- import { A, a, b, c, n, o, d, B, e, C, r, q, F, f, g, G, h, i, j, p, H, I, L, N, s, P, S, k, T, l, t, m } from "../index-KqmwM2F1.mjs";
2
- import { C as C2, a as a2, b as b2, L as L2, c as c2, R, S as S2, d as d2 } from "../index-jMVtVd4x.mjs";
1
+ import { A, a, b, c, n, o, d, B, e, C, r, q, F, f, g, G, h, i, j, p, H, I, L, N, s, P, S, k, T, l, t, m } from "../index-C2HtVL6w.mjs";
2
+ import { C as C2, a as a2, b as b2, L as L2, c as c2, R, S as S2, d as d2 } from "../index-D9i6mZaH.mjs";
3
3
  import { H as H2, a as a3, b as b3, O, P as P2, U } from "../index-BEjKnOZA.mjs";
4
4
  import { I as I2, L as L3 } from "../index-ClIPWZ3z.mjs";
5
5
  export {
@@ -1,6 +1,6 @@
1
1
  import { FC, PropsWithChildren } from 'react';
2
- import { ILocale, ISeo } from '../../types';
3
- import { IHrefLang, SeoItemGetter } from './types';
2
+ import { IHrefLang, ILocale, ISeo } from '../../types';
3
+ import { SeoItemGetter } from './types';
4
4
  type SeoProps = PropsWithChildren<{
5
5
  title?: ISeo['title'] | SeoItemGetter;
6
6
  description?: ISeo['description'] | SeoItemGetter;
@@ -4,7 +4,3 @@ export interface ISeoItemPlaceholders {
4
4
  currentMonth: string;
5
5
  }
6
6
  export type SeoItemGetter = (placeholders: ISeoItemPlaceholders) => string;
7
- export interface IHrefLang {
8
- href: string;
9
- hrefLang: string;
10
- }
@@ -1,4 +1,7 @@
1
1
  import { DEFAULT_LANGUAGE } from "./i18n/index.mjs";
2
+ function isValidDate(date) {
3
+ return !date ? false : date instanceof Date && !isNaN(date.getTime());
4
+ }
2
5
  function getCurrentYear(locale = DEFAULT_LANGUAGE) {
3
6
  const currentDate = /* @__PURE__ */ new Date();
4
7
  const currentYear = new Intl.DateTimeFormat(locale, { year: "numeric" }).format(currentDate);
@@ -11,8 +14,8 @@ function getCurrentMonth(locale = DEFAULT_LANGUAGE) {
11
14
  }
12
15
  function formatDate({ value, locale = DEFAULT_LANGUAGE, options }) {
13
16
  const date = typeof value === "string" || typeof value === "number" ? new Date(value) : value;
14
- if (isNaN(date.getTime())) {
15
- throw new Error("Invalid date provided");
17
+ if (!isValidDate(date)) {
18
+ return null;
16
19
  }
17
20
  const formatter = new Intl.DateTimeFormat(locale, options);
18
21
  return formatter.format(date);
@@ -5,12 +5,12 @@ import { useMDXComponents } from "@mdx-js/react";
5
5
  import { u as usePageContext, I as Image, L as Link, a as useSiteContext } from "./index-ClIPWZ3z.mjs";
6
6
  import "./index-BJRvnR8Q.mjs";
7
7
  import { b as GameCharacteristic, G as GameVolatility } from "./index-RzByAgHO.mjs";
8
+ import { StarIcon, CloseIcon, ViewOffIcon, ViewIcon, EmailIcon, WarningIcon, CheckCircleIcon } from "@chakra-ui/icons";
8
9
  import "react-medium-image-zoom";
9
10
  import { useRef, useState, useLayoutEffect, Fragment as Fragment$1, useMemo } from "react";
10
- import { StarIcon, CloseIcon, ViewOffIcon, ViewIcon, EmailIcon, WarningIcon, CheckCircleIcon } from "@chakra-ui/icons";
11
+ import { d as SocialNetworks, L as LinkButton, R as Rating } from "./index-D9i6mZaH.mjs";
11
12
  import { a as Heading2, H as Heading1, P as Paragraph, U as Unordered, O as Ordered } from "./index-BEjKnOZA.mjs";
12
- import { f as formatDate, b as formatNumber, a as getCurrentMonth, g as getCurrentYear } from "./index-C7z5qqm_.mjs";
13
- import { d as SocialNetworks, L as LinkButton, R as Rating } from "./index-jMVtVd4x.mjs";
13
+ import { f as formatDate, b as formatNumber, a as getCurrentMonth, g as getCurrentYear } from "./index-BPthShL-.mjs";
14
14
  import { u as usePrimaryColors } from "./index-C1kr7Vd-.mjs";
15
15
  import { a as getSeededRandomComparator, r as randomComparator, g as getCurrencySymbol } from "./index-BeJTy4iY.mjs";
16
16
  import { t } from "i18next";
@@ -22,15 +22,16 @@ const ArticleMetaItem = ({ label, value }) => {
22
22
  value
23
23
  ] });
24
24
  };
25
- const ArticleMeta = ({ createdAt, updatedAt, minutesToRead, author, variant = "full" }) => {
25
+ const ArticleMeta = ({ createdAt, updatedAt, minutesToRead, authorName, variant = "full" }) => {
26
26
  const { currentLocale } = usePageContext();
27
27
  const { t: t2 } = useTranslation("article");
28
+ const publicationDate = formatDate({ value: updatedAt ?? createdAt, locale: currentLocale.code });
28
29
  return /* @__PURE__ */ jsxs(Flex, { columnGap: 4, rowGap: 2, wrap: "wrap", children: [
29
- /* @__PURE__ */ jsx(
30
+ !!publicationDate && /* @__PURE__ */ jsx(
30
31
  ArticleMetaItem,
31
32
  {
32
33
  label: variant === "full" ? `📅 ${t2("meta.publicationDate")}` : "📅 ",
33
- value: formatDate({ value: updatedAt ?? createdAt, locale: currentLocale.code })
34
+ value: publicationDate
34
35
  }
35
36
  ),
36
37
  !!minutesToRead && /* @__PURE__ */ jsx(
@@ -40,7 +41,7 @@ const ArticleMeta = ({ createdAt, updatedAt, minutesToRead, author, variant = "f
40
41
  value: t2("meta.readingTime.count", { count: minutesToRead })
41
42
  }
42
43
  ),
43
- !!author && /* @__PURE__ */ jsx(ArticleMetaItem, { label: variant === "full" ? `🧑🏻‍💻 ${t2("meta.author")}` : "🧑🏻‍💻 ", value: author.name })
44
+ !!authorName && /* @__PURE__ */ jsx(ArticleMetaItem, { label: variant === "full" ? `🧑🏻‍💻 ${t2("meta.author")}` : "🧑🏻‍💻 ", value: authorName })
44
45
  ] });
45
46
  };
46
47
  const ONE_LINE_HEIGHT = 24;
@@ -291,12 +292,12 @@ const GameCard = ({ name, description, image, url, rating, height = "auto" }) =>
291
292
  cursor: url ? "pointer" : "default",
292
293
  overflow: "hidden",
293
294
  height,
294
- _hover: url ? { transform: "scale(1.05)" } : {},
295
+ _hover: { transform: "scale(1.05)" },
295
296
  children: [
296
297
  /* @__PURE__ */ jsx(Image, { src: image, alt: name, mode: "thumbnail" }),
297
298
  /* @__PURE__ */ jsxs(Box, { as: "section", rounded: "md", p: 4, children: [
298
299
  /* @__PURE__ */ jsxs(Flex, { justify: "space-between", align: "flex-start", children: [
299
- /* @__PURE__ */ jsx(Text, { as: "span", fontWeight: "semibold", children: url ? /* @__PURE__ */ jsx(LinkOverlay, { as: Link, to: url, _hover: { textDecoration: "none" }, children: name }) : name }),
300
+ /* @__PURE__ */ jsx(Text, { as: "span", fontWeight: "semibold", children: url ? /* @__PURE__ */ jsx(LinkOverlay, { as: Link, to: url, children: name }) : name }),
300
301
  !!rating && /* @__PURE__ */ jsx(Rating, { value: rating, size: "sm", py: 1 })
301
302
  ] }),
302
303
  !!description && /* @__PURE__ */ jsx(Text, { fontSize: "sm", color: descriptionColor, mt: 2, children: description })
@@ -555,7 +556,7 @@ function getGameInfoItemValue(key, value, locale) {
555
556
  }
556
557
  }
557
558
  if (key === GameCharacteristic.ReleaseDate) {
558
- formattedValue = formatDate({ value, locale, options: { year: "numeric", month: "long" } });
559
+ formattedValue = formatDate({ value, locale, options: { year: "numeric", month: "long" } }) ?? "???";
559
560
  }
560
561
  if (key === GameCharacteristic.Volatility && Object.values(GameVolatility).includes(value)) {
561
562
  formattedValue = stringifyVolatility(value);
@@ -1038,6 +1039,47 @@ const StrapiComponent = ({ type, props, imageComponent }) => {
1038
1039
  switch (type) {
1039
1040
  case "STRAPI__COMPONENT_CONTENT_ACTION_BUTTON":
1040
1041
  return /* @__PURE__ */ jsx(ActionButton, { label: props.label, href: props.url, mb: 4 });
1042
+ case "STRAPI__COMPONENT_CONTENT_ARTICLE_CARDS":
1043
+ return /* @__PURE__ */ jsx(
1044
+ ArticleCardGrid,
1045
+ {
1046
+ items: props.articles.map(
1047
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1048
+ ({ title, slug, hub, author, minutesToRead, createdAt, updatedAt, previewImage }) => {
1049
+ const url = hub.slug ? `${hub.slug}/${slug}` : slug;
1050
+ const articlePreview = {
1051
+ title,
1052
+ url,
1053
+ meta: { createdAt, updatedAt, minutesToRead, authorName: (author == null ? void 0 : author.name) ?? "" },
1054
+ image: /* @__PURE__ */ jsx(
1055
+ ExternalImage,
1056
+ {
1057
+ image: previewImage,
1058
+ alt: title,
1059
+ component: imageComponent
1060
+ }
1061
+ )
1062
+ };
1063
+ return articlePreview;
1064
+ }
1065
+ ),
1066
+ mb: 4
1067
+ }
1068
+ );
1069
+ case "STRAPI__COMPONENT_CONTENT_ARTICLE_INFO":
1070
+ return /* @__PURE__ */ jsx(
1071
+ ArticleInfoCard,
1072
+ {
1073
+ title: props == null ? void 0 : props.title,
1074
+ description: (props == null ? void 0 : props.description) ?? "",
1075
+ meta: {
1076
+ createdAt: (props == null ? void 0 : props.publicationDate) ?? "",
1077
+ minutesToRead: (props == null ? void 0 : props.minutesToRead) ?? 0,
1078
+ authorName: (props == null ? void 0 : props.author) ? props.author.name : ""
1079
+ },
1080
+ mb: 4
1081
+ }
1082
+ );
1041
1083
  case "STRAPI__COMPONENT_CONTENT_FAQ":
1042
1084
  return /* @__PURE__ */ jsx(Faq, { items: props.items, mb: 4 });
1043
1085
  case "STRAPI__COMPONENT_CONTENT_FEATURES":
@@ -6,12 +6,12 @@ const react$2 = require("@mdx-js/react");
6
6
  const index = require("./index-B4M1IKzL.js");
7
7
  require("./index-C6MG_f24.js");
8
8
  const index$6 = require("./index-CBRFCYhV.js");
9
+ const icons = require("@chakra-ui/icons");
9
10
  require("react-medium-image-zoom");
10
11
  const react$1 = require("react");
11
- const icons = require("@chakra-ui/icons");
12
+ const index$2 = require("./index-DzOucsVx.js");
12
13
  const index$3 = require("./index-DDg_PkD2.js");
13
- const index$1 = require("./index-qR3kVjjs.js");
14
- const index$2 = require("./index-CxpOLhsJ.js");
14
+ const index$1 = require("./index-ov4J7p3D.js");
15
15
  const index$4 = require("./index-CVv755RW.js");
16
16
  const index$5 = require("./index-BfITsKAr.js");
17
17
  const i18next = require("i18next");
@@ -23,15 +23,16 @@ const ArticleMetaItem = ({ label, value }) => {
23
23
  value
24
24
  ] });
25
25
  };
26
- const ArticleMeta = ({ createdAt, updatedAt, minutesToRead, author, variant = "full" }) => {
26
+ const ArticleMeta = ({ createdAt, updatedAt, minutesToRead, authorName, variant = "full" }) => {
27
27
  const { currentLocale } = index.usePageContext();
28
28
  const { t } = reactI18next.useTranslation("article");
29
+ const publicationDate = index$1.formatDate({ value: updatedAt ?? createdAt, locale: currentLocale.code });
29
30
  return /* @__PURE__ */ jsxRuntime.jsxs(react.Flex, { columnGap: 4, rowGap: 2, wrap: "wrap", children: [
30
- /* @__PURE__ */ jsxRuntime.jsx(
31
+ !!publicationDate && /* @__PURE__ */ jsxRuntime.jsx(
31
32
  ArticleMetaItem,
32
33
  {
33
34
  label: variant === "full" ? `📅 ${t("meta.publicationDate")}` : "📅 ",
34
- value: index$1.formatDate({ value: updatedAt ?? createdAt, locale: currentLocale.code })
35
+ value: publicationDate
35
36
  }
36
37
  ),
37
38
  !!minutesToRead && /* @__PURE__ */ jsxRuntime.jsx(
@@ -41,7 +42,7 @@ const ArticleMeta = ({ createdAt, updatedAt, minutesToRead, author, variant = "f
41
42
  value: t("meta.readingTime.count", { count: minutesToRead })
42
43
  }
43
44
  ),
44
- !!author && /* @__PURE__ */ jsxRuntime.jsx(ArticleMetaItem, { label: variant === "full" ? `🧑🏻‍💻 ${t("meta.author")}` : "🧑🏻‍💻 ", value: author.name })
45
+ !!authorName && /* @__PURE__ */ jsxRuntime.jsx(ArticleMetaItem, { label: variant === "full" ? `🧑🏻‍💻 ${t("meta.author")}` : "🧑🏻‍💻 ", value: authorName })
45
46
  ] });
46
47
  };
47
48
  const ONE_LINE_HEIGHT = 24;
@@ -292,12 +293,12 @@ const GameCard = ({ name, description, image, url, rating, height = "auto" }) =>
292
293
  cursor: url ? "pointer" : "default",
293
294
  overflow: "hidden",
294
295
  height,
295
- _hover: url ? { transform: "scale(1.05)" } : {},
296
+ _hover: { transform: "scale(1.05)" },
296
297
  children: [
297
298
  /* @__PURE__ */ jsxRuntime.jsx(index.Image, { src: image, alt: name, mode: "thumbnail" }),
298
299
  /* @__PURE__ */ jsxRuntime.jsxs(react.Box, { as: "section", rounded: "md", p: 4, children: [
299
300
  /* @__PURE__ */ jsxRuntime.jsxs(react.Flex, { justify: "space-between", align: "flex-start", children: [
300
- /* @__PURE__ */ jsxRuntime.jsx(react.Text, { as: "span", fontWeight: "semibold", children: url ? /* @__PURE__ */ jsxRuntime.jsx(react.LinkOverlay, { as: index.Link, to: url, _hover: { textDecoration: "none" }, children: name }) : name }),
301
+ /* @__PURE__ */ jsxRuntime.jsx(react.Text, { as: "span", fontWeight: "semibold", children: url ? /* @__PURE__ */ jsxRuntime.jsx(react.LinkOverlay, { as: index.Link, to: url, children: name }) : name }),
301
302
  !!rating && /* @__PURE__ */ jsxRuntime.jsx(index$2.Rating, { value: rating, size: "sm", py: 1 })
302
303
  ] }),
303
304
  !!description && /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", color: descriptionColor, mt: 2, children: description })
@@ -556,7 +557,7 @@ function getGameInfoItemValue(key, value, locale) {
556
557
  }
557
558
  }
558
559
  if (key === index$6.GameCharacteristic.ReleaseDate) {
559
- formattedValue = index$1.formatDate({ value, locale, options: { year: "numeric", month: "long" } });
560
+ formattedValue = index$1.formatDate({ value, locale, options: { year: "numeric", month: "long" } }) ?? "???";
560
561
  }
561
562
  if (key === index$6.GameCharacteristic.Volatility && Object.values(index$6.GameVolatility).includes(value)) {
562
563
  formattedValue = stringifyVolatility(value);
@@ -1039,6 +1040,47 @@ const StrapiComponent = ({ type, props, imageComponent }) => {
1039
1040
  switch (type) {
1040
1041
  case "STRAPI__COMPONENT_CONTENT_ACTION_BUTTON":
1041
1042
  return /* @__PURE__ */ jsxRuntime.jsx(ActionButton, { label: props.label, href: props.url, mb: 4 });
1043
+ case "STRAPI__COMPONENT_CONTENT_ARTICLE_CARDS":
1044
+ return /* @__PURE__ */ jsxRuntime.jsx(
1045
+ ArticleCardGrid,
1046
+ {
1047
+ items: props.articles.map(
1048
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1049
+ ({ title, slug, hub, author, minutesToRead, createdAt, updatedAt, previewImage }) => {
1050
+ const url = hub.slug ? `${hub.slug}/${slug}` : slug;
1051
+ const articlePreview = {
1052
+ title,
1053
+ url,
1054
+ meta: { createdAt, updatedAt, minutesToRead, authorName: (author == null ? void 0 : author.name) ?? "" },
1055
+ image: /* @__PURE__ */ jsxRuntime.jsx(
1056
+ ExternalImage,
1057
+ {
1058
+ image: previewImage,
1059
+ alt: title,
1060
+ component: imageComponent
1061
+ }
1062
+ )
1063
+ };
1064
+ return articlePreview;
1065
+ }
1066
+ ),
1067
+ mb: 4
1068
+ }
1069
+ );
1070
+ case "STRAPI__COMPONENT_CONTENT_ARTICLE_INFO":
1071
+ return /* @__PURE__ */ jsxRuntime.jsx(
1072
+ ArticleInfoCard,
1073
+ {
1074
+ title: props == null ? void 0 : props.title,
1075
+ description: (props == null ? void 0 : props.description) ?? "",
1076
+ meta: {
1077
+ createdAt: (props == null ? void 0 : props.publicationDate) ?? "",
1078
+ minutesToRead: (props == null ? void 0 : props.minutesToRead) ?? 0,
1079
+ authorName: (props == null ? void 0 : props.author) ? props.author.name : ""
1080
+ },
1081
+ mb: 4
1082
+ }
1083
+ );
1042
1084
  case "STRAPI__COMPONENT_CONTENT_FAQ":
1043
1085
  return /* @__PURE__ */ jsxRuntime.jsx(Faq, { items: props.items, mb: 4 });
1044
1086
  case "STRAPI__COMPONENT_CONTENT_FEATURES":
@@ -9,7 +9,7 @@ import "react";
9
9
  import { CheckIcon, CopyIcon, StarIcon } from "@chakra-ui/icons";
10
10
  import "react-medium-image-zoom";
11
11
  import { u as usePrimaryColors } from "./index-C1kr7Vd-.mjs";
12
- import { b as formatNumber } from "./index-C7z5qqm_.mjs";
12
+ import { b as formatNumber } from "./index-BPthShL-.mjs";
13
13
  const FacebookIcon = (props) => {
14
14
  return /* @__PURE__ */ jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", "aria-label": "Facebook", ...props, children: [
15
15
  /* @__PURE__ */ jsx("rect", { x: "1", y: "1", width: "22", height: "22", rx: "5", fill: "none", stroke: "currentColor", strokeWidth: "2" }),
@@ -10,7 +10,7 @@ require("react");
10
10
  const icons = require("@chakra-ui/icons");
11
11
  require("react-medium-image-zoom");
12
12
  const index$1 = require("./index-CVv755RW.js");
13
- const index$4 = require("./index-qR3kVjjs.js");
13
+ const index$4 = require("./index-ov4J7p3D.js");
14
14
  const FacebookIcon = (props) => {
15
15
  return /* @__PURE__ */ jsxRuntime.jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", "aria-label": "Facebook", ...props, children: [
16
16
  /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "1", y: "1", width: "22", height: "22", rx: "5", fill: "none", stroke: "currentColor", strokeWidth: "2" }),
@@ -1,5 +1,8 @@
1
1
  "use strict";
2
2
  const i18n = require("./i18n/index.cjs");
3
+ function isValidDate(date) {
4
+ return !date ? false : date instanceof Date && !isNaN(date.getTime());
5
+ }
3
6
  function getCurrentYear(locale = i18n.DEFAULT_LANGUAGE) {
4
7
  const currentDate = /* @__PURE__ */ new Date();
5
8
  const currentYear = new Intl.DateTimeFormat(locale, { year: "numeric" }).format(currentDate);
@@ -12,8 +15,8 @@ function getCurrentMonth(locale = i18n.DEFAULT_LANGUAGE) {
12
15
  }
13
16
  function formatDate({ value, locale = i18n.DEFAULT_LANGUAGE, options }) {
14
17
  const date = typeof value === "string" || typeof value === "number" ? new Date(value) : value;
15
- if (isNaN(date.getTime())) {
16
- throw new Error("Invalid date provided");
18
+ if (!isValidDate(date)) {
19
+ return null;
17
20
  }
18
21
  const formatter = new Intl.DateTimeFormat(locale, options);
19
22
  return formatter.format(date);
package/dist/index.cjs CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const index = require("./index-Z9_O1z1K.js");
4
- const index$1 = require("./index-CxpOLhsJ.js");
3
+ const index = require("./index-CAhVRVmv.js");
4
+ const index$1 = require("./index-DzOucsVx.js");
5
5
  const index$2 = require("./index-DDg_PkD2.js");
6
6
  const index$3 = require("./index-B4M1IKzL.js");
7
7
  const index$4 = require("./index-ma-iV7GU.js");
@@ -13,7 +13,7 @@ const index$7 = require("./index-CBRFCYhV.js");
13
13
  const index$8 = require("./index-C6MG_f24.js");
14
14
  const index$9 = require("./index-CYr1ct1t.js");
15
15
  const index$a = require("./index-BfITsKAr.js");
16
- const index$b = require("./index-qR3kVjjs.js");
16
+ const index$b = require("./index-ov4J7p3D.js");
17
17
  const index$c = require("./index-DgrIJs-a.js");
18
18
  const index$d = require("./index-CbuiYkSg.js");
19
19
  exports.ActionButton = index.ActionButton;
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import { A, a, b, c, n, o, d, B, e, C, r, q, F, f, g, G, h, i, j, p, H, I, L, N, s, P, S, k, T, l, t, m } from "./index-KqmwM2F1.mjs";
2
- import { C as C2, a as a2, b as b2, L as L2, c as c2, R, S as S2, d as d2 } from "./index-jMVtVd4x.mjs";
1
+ import { A, a, b, c, n, o, d, B, e, C, r, q, F, f, g, G, h, i, j, p, H, I, L, N, s, P, S, k, T, l, t, m } from "./index-C2HtVL6w.mjs";
2
+ import { C as C2, a as a2, b as b2, L as L2, c as c2, R, S as S2, d as d2 } from "./index-D9i6mZaH.mjs";
3
3
  import { H as H2, a as a3, b as b3, O, P as P2, U } from "./index-BEjKnOZA.mjs";
4
4
  import { I as I2, L as L3, P as P3, S as S3, u, a as a4 } from "./index-ClIPWZ3z.mjs";
5
5
  import { u as u2 } from "./index-DHURrUMW.mjs";
@@ -11,7 +11,7 @@ import { a as a5, C as C3, b as b4, G as G2, I as I3 } from "./index-RzByAgHO.mj
11
11
  import { A as A2 } from "./index-BJRvnR8Q.mjs";
12
12
  import { b as b5, c as c3, g as g2, a as a6 } from "./index-cQqALZIW.mjs";
13
13
  import { g as g3, a as a7, r as r2 } from "./index-BeJTy4iY.mjs";
14
- import { f as f2, b as b6, a as a8, g as g4, r as r3, t as t2 } from "./index-C7z5qqm_.mjs";
14
+ import { f as f2, b as b6, a as a8, g as g4, r as r3, t as t2 } from "./index-BPthShL-.mjs";
15
15
  import { b as b7, a as a9, i as i2 } from "./index-Bph7a3PR.mjs";
16
16
  import { D, L as L4 } from "./index-BRVKhbs6.mjs";
17
17
  export {
@@ -8,11 +8,11 @@ require("../index-C6MG_f24.js");
8
8
  require("../index-CBRFCYhV.js");
9
9
  require("react-medium-image-zoom");
10
10
  const react$1 = require("react");
11
- const index = require("../index-CxpOLhsJ.js");
11
+ const index = require("../index-DzOucsVx.js");
12
12
  const icons = require("@chakra-ui/icons");
13
13
  require("i18next");
14
14
  require("react-markdown");
15
- const index$2 = require("../index-qR3kVjjs.js");
15
+ const index$2 = require("../index-ov4J7p3D.js");
16
16
  const index$3 = require("../index-DgrIJs-a.js");
17
17
  const Content = ({ children }) => {
18
18
  return /* @__PURE__ */ jsxRuntime.jsx(react.Box, { as: "section", py: 4, children: /* @__PURE__ */ jsxRuntime.jsx(index.Container, { children }) });
@@ -7,11 +7,11 @@ import "../index-BJRvnR8Q.mjs";
7
7
  import "../index-RzByAgHO.mjs";
8
8
  import "react-medium-image-zoom";
9
9
  import { useMemo, forwardRef, useState, useEffect } from "react";
10
- import { a as Container, c as Logo, d as SocialNetworks, L as LinkButton } from "../index-jMVtVd4x.mjs";
10
+ import { a as Container, c as Logo, d as SocialNetworks, L as LinkButton } from "../index-D9i6mZaH.mjs";
11
11
  import { ChevronDownIcon, ChevronRightIcon, CloseIcon, HamburgerIcon, ChevronUpIcon } from "@chakra-ui/icons";
12
12
  import "i18next";
13
13
  import "react-markdown";
14
- import { g as getCurrentYear } from "../index-C7z5qqm_.mjs";
14
+ import { g as getCurrentYear } from "../index-BPthShL-.mjs";
15
15
  import { b as buildPath } from "../index-Bph7a3PR.mjs";
16
16
  const Content = ({ children }) => {
17
17
  return /* @__PURE__ */ jsx(Box, { as: "section", py: 4, children: /* @__PURE__ */ jsx(Container, { children }) });
@@ -1,4 +1,4 @@
1
- export type StrapiComponentType = 'STRAPI__COMPONENT_CONTENT_ACTION_BUTTON' | 'STRAPI__COMPONENT_CONTENT_CONTACTS_PAGE' | 'STRAPI__COMPONENT_CONTENT_COOKIE_POLICY_PAGE' | 'STRAPI__COMPONENT_CONTENT_FAQ' | 'STRAPI__COMPONENT_CONTENT_FEATURES' | 'STRAPI__COMPONENT_CONTENT_GAME_CARDS' | 'STRAPI__COMPONENT_CONTENT_GAME_CARD_TABS' | 'STRAPI__COMPONENT_CONTENT_GAME_DEMO' | 'STRAPI__COMPONENT_CONTENT_GAME_INFO' | 'STRAPI__COMPONENT_CONTENT_HOW_TO' | 'STRAPI__COMPONENT_CONTENT_INFORMER' | 'STRAPI__COMPONENT_CONTENT_LIST' | 'STRAPI__COMPONENT_CONTENT_MEDIA' | 'STRAPI__COMPONENT_CONTENT_PRIVACY_POLICY_PAGE' | 'STRAPI__COMPONENT_CONTENT_PROS_CONS' | 'STRAPI__COMPONENT_CONTENT_RICH_TEXT' | 'STRAPI__COMPONENT_CONTENT_TABLE' | 'STRAPI__COMPONENT_CONTENT_TERMS_CONDITIONS_PAGE' | 'STRAPI__COMPONENT_CONTENT_TIP';
1
+ export type StrapiComponentType = 'STRAPI__COMPONENT_CONTENT_ACTION_BUTTON' | 'STRAPI__COMPONENT_CONTENT_ARTICLE_CARDS' | 'STRAPI__COMPONENT_CONTENT_ARTICLE_INFO' | 'STRAPI__COMPONENT_CONTENT_CONTACTS_PAGE' | 'STRAPI__COMPONENT_CONTENT_COOKIE_POLICY_PAGE' | 'STRAPI__COMPONENT_CONTENT_FAQ' | 'STRAPI__COMPONENT_CONTENT_FEATURES' | 'STRAPI__COMPONENT_CONTENT_GAME_CARDS' | 'STRAPI__COMPONENT_CONTENT_GAME_CARD_TABS' | 'STRAPI__COMPONENT_CONTENT_GAME_DEMO' | 'STRAPI__COMPONENT_CONTENT_GAME_INFO' | 'STRAPI__COMPONENT_CONTENT_HOW_TO' | 'STRAPI__COMPONENT_CONTENT_INFORMER' | 'STRAPI__COMPONENT_CONTENT_LIST' | 'STRAPI__COMPONENT_CONTENT_MEDIA' | 'STRAPI__COMPONENT_CONTENT_PRIVACY_POLICY_PAGE' | 'STRAPI__COMPONENT_CONTENT_PROS_CONS' | 'STRAPI__COMPONENT_CONTENT_RICH_TEXT' | 'STRAPI__COMPONENT_CONTENT_TABLE' | 'STRAPI__COMPONENT_CONTENT_TERMS_CONDITIONS_PAGE' | 'STRAPI__COMPONENT_CONTENT_TIP';
2
2
  export interface IStrapiComponentFragment {
3
3
  __typename: StrapiComponentType;
4
4
  [prop: string]: unknown;
@@ -3,7 +3,7 @@ export interface IArticleMeta {
3
3
  createdAt: string;
4
4
  updatedAt?: string;
5
5
  minutesToRead?: number;
6
- author?: IAuthor;
6
+ authorName?: IAuthor['name'];
7
7
  }
8
8
  export interface IArticleInfo {
9
9
  title: string;
@@ -2,5 +2,6 @@ export * from './api';
2
2
  export * from './components';
3
3
  export * from './content';
4
4
  export * from './i18n';
5
+ export * from './page';
5
6
  export * from './site';
6
7
  export * from './theme';
@@ -0,0 +1,7 @@
1
+ export interface IHrefLang {
2
+ href: string;
3
+ hrefLang: string;
4
+ }
5
+ export interface IPageContext {
6
+ hrefLangs?: IHrefLang[];
7
+ }
@@ -6,5 +6,5 @@ interface IFormatDateOptions {
6
6
  locale?: ILocale['code'];
7
7
  options?: Intl.DateTimeFormatOptions;
8
8
  }
9
- export declare function formatDate({ value, locale, options }: IFormatDateOptions): string;
9
+ export declare function formatDate({ value, locale, options }: IFormatDateOptions): string | null;
10
10
  export {};
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const index = require("../index-C6MG_f24.js");
4
4
  const index$1 = require("../index-CYr1ct1t.js");
5
5
  const index$2 = require("../index-BfITsKAr.js");
6
- const index$3 = require("../index-qR3kVjjs.js");
6
+ const index$3 = require("../index-ov4J7p3D.js");
7
7
  const index$4 = require("../index-DgrIJs-a.js");
8
8
  const index$5 = require("../index-CbuiYkSg.js");
9
9
  exports.Animation = index.Animation;
@@ -1,7 +1,7 @@
1
1
  import { A } from "../index-BJRvnR8Q.mjs";
2
2
  import { b, c, g, a } from "../index-cQqALZIW.mjs";
3
3
  import { g as g2, a as a2, r } from "../index-BeJTy4iY.mjs";
4
- import { f, b as b2, a as a3, g as g3, r as r2, t } from "../index-C7z5qqm_.mjs";
4
+ import { f, b as b2, a as a3, g as g3, r as r2, t } from "../index-BPthShL-.mjs";
5
5
  import { b as b3, a as a4, i } from "../index-Bph7a3PR.mjs";
6
6
  import { D, L } from "../index-BRVKhbs6.mjs";
7
7
  export {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@anywayseo/tools",
3
3
  "description": "Shared UI Components and Modules",
4
- "version": "5.8.3",
4
+ "version": "5.10.0",
5
5
  "keywords": [
6
6
  "react",
7
7
  "ui",