@anywayseo/tools 5.8.2 → 5.8.3

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 (30) hide show
  1. package/dist/components/article-card/index.d.ts +2 -1
  2. package/dist/components/article-card-grid/index.d.ts +2 -1
  3. package/dist/components/base/rating/index.d.ts +2 -1
  4. package/dist/components/base/social-network/icons/index.d.ts +1 -0
  5. package/dist/components/base/social-network/icons/linked-in/index.d.ts +2 -0
  6. package/dist/components/game-card/index.d.ts +2 -2
  7. package/dist/components/game-card-grid/index.d.ts +2 -2
  8. package/dist/components/index.cjs +3 -3
  9. package/dist/components/index.mjs +3 -3
  10. package/dist/components/informer/utils.d.ts +1 -0
  11. package/dist/{index-BNkvrBOj.js → index-B4M1IKzL.js} +1 -1
  12. package/dist/{index-C3FKVt3V.mjs → index-ClIPWZ3z.mjs} +1 -1
  13. package/dist/{index-BrpyfyHr.js → index-CxpOLhsJ.js} +27 -9
  14. package/dist/{index-cY5WnaQc.mjs → index-D1gNEJUA.mjs} +1 -1
  15. package/dist/{index-DdLlwS4n.js → index-DXTC3R_J.js} +1 -1
  16. package/dist/{index-BN9vRBzY.mjs → index-KqmwM2F1.mjs} +38 -21
  17. package/dist/{index-D-WTkYJu.js → index-Z9_O1z1K.js} +38 -21
  18. package/dist/{index-CodGh8Sq.mjs → index-jMVtVd4x.mjs} +27 -9
  19. package/dist/index.cjs +4 -4
  20. package/dist/index.mjs +4 -4
  21. package/dist/layout/footer/navigation/index.d.ts +2 -1
  22. package/dist/layout/index.cjs +6 -6
  23. package/dist/layout/index.mjs +6 -6
  24. package/dist/providers/index.cjs +2 -2
  25. package/dist/providers/index.mjs +2 -2
  26. package/dist/types/components/common/index.d.ts +1 -0
  27. package/dist/types/components/game-card/index.d.ts +1 -1
  28. package/dist/types/components/social-network/index.d.ts +1 -1
  29. package/dist/types/site/index.d.ts +2 -1
  30. package/package.json +1 -1
@@ -1,7 +1,8 @@
1
1
  import { FC } from 'react';
2
- import { IArticlePreviewCard, ImageType } from '../../types';
2
+ import { IArticlePreviewCard, CardHeight, ImageType } from '../../types';
3
3
  type ArticleCardProps = IArticlePreviewCard & {
4
4
  image?: ImageType;
5
+ height?: CardHeight;
5
6
  };
6
7
  declare const ArticleCard: FC<ArticleCardProps>;
7
8
  export default ArticleCard;
@@ -1,7 +1,8 @@
1
1
  import { FC } from 'react';
2
- import { BoxPositionProps, IArticlePreviewCard, GridConfigProps } from '../../types';
2
+ import { BoxPositionProps, IArticlePreviewCard, GridConfigProps, CardHeight } from '../../types';
3
3
  type FeatureCardGridProps = {
4
4
  items: IArticlePreviewCard[];
5
+ cardHeight?: CardHeight;
5
6
  } & GridConfigProps & BoxPositionProps;
6
7
  declare const ArticleCardGrid: FC<FeatureCardGridProps>;
7
8
  export default ArticleCardGrid;
@@ -1,10 +1,11 @@
1
1
  import { FC } from 'react';
2
+ import { BoxPositionProps } from '../../../types';
2
3
  type RatingSize = 'sm' | 'md' | 'lg';
3
4
  type RatingProps = {
4
5
  value?: number;
5
6
  max?: number;
6
7
  size?: RatingSize;
7
8
  hasLabel?: boolean;
8
- };
9
+ } & BoxPositionProps;
9
10
  declare const Rating: FC<RatingProps>;
10
11
  export default Rating;
@@ -1,5 +1,6 @@
1
1
  export { FacebookIcon } from './facebook';
2
2
  export { InstagramIcon } from './instagram';
3
+ export { LinkedInIcon } from './linked-in';
3
4
  export { PinterestIcon } from './pinterest';
4
5
  export { XcomIcon } from './x';
5
6
  export { YoutubeIcon } from './youtube';
@@ -0,0 +1,2 @@
1
+ import { IconComponent } from '../../../../../types';
2
+ export declare const LinkedInIcon: IconComponent;
@@ -1,7 +1,7 @@
1
1
  import { FC } from 'react';
2
- import { GameCardHeight, IGameCard } from '../../types';
2
+ import { CardHeight, IGameCard } from '../../types';
3
3
  type GameCardProps = IGameCard & {
4
- height?: GameCardHeight;
4
+ height?: CardHeight;
5
5
  };
6
6
  declare const GameCard: FC<GameCardProps>;
7
7
  export default GameCard;
@@ -1,8 +1,8 @@
1
1
  import { FC } from 'react';
2
- import { BoxPositionProps, GameCardHeight, GridConfigProps, IGameCard } from '../../types';
2
+ import { BoxPositionProps, CardHeight, GridConfigProps, IGameCard } from '../../types';
3
3
  type GameCardGridProps = {
4
4
  items: IGameCard[];
5
- cardHeight?: GameCardHeight;
5
+ cardHeight?: CardHeight;
6
6
  order?: 'default' | 'random';
7
7
  randomSeed?: number;
8
8
  } & GridConfigProps & BoxPositionProps;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const index = require("../index-D-WTkYJu.js");
4
- const index$1 = require("../index-BrpyfyHr.js");
3
+ const index = require("../index-Z9_O1z1K.js");
4
+ const index$1 = require("../index-CxpOLhsJ.js");
5
5
  const index$2 = require("../index-DDg_PkD2.js");
6
- const index$3 = require("../index-BNkvrBOj.js");
6
+ const index$3 = require("../index-B4M1IKzL.js");
7
7
  exports.ActionButton = index.ActionButton;
8
8
  exports.ArticleCard = index.ArticleCard;
9
9
  exports.ArticleCardGrid = index.ArticleCardGrid;
@@ -1,7 +1,7 @@
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-BN9vRBzY.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-CodGh8Sq.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-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";
3
3
  import { H as H2, a as a3, b as b3, O, P as P2, U } from "../index-BEjKnOZA.mjs";
4
- import { I as I2, L as L3 } from "../index-C3FKVt3V.mjs";
4
+ import { I as I2, L as L3 } from "../index-ClIPWZ3z.mjs";
5
5
  export {
6
6
  A as ActionButton,
7
7
  a as ArticleCard,
@@ -1,5 +1,6 @@
1
1
  import { CardProps } from '@chakra-ui/react';
2
2
  import { InformerType } from '../../types';
3
+ export declare const typesWithPrefix: Lowercase<InformerType>[];
3
4
  export declare function getQuotePseudoElement(color: string): CardProps['_before'];
4
5
  export declare const PrefixMap: Record<Lowercase<InformerType>, string>;
5
6
  export declare const BorderColorMap: Record<Lowercase<InformerType>, CardProps['borderLeftColor']>;
@@ -61,7 +61,7 @@ const Image = ({ src = "", mode = "default", hasZoom, ...plainImageProps }) => {
61
61
  }
62
62
  );
63
63
  } else if (isImageComponent(src)) {
64
- image = mode === "thumbnail" ? /* @__PURE__ */ jsxRuntime.jsx(react$1.Box, { aspectRatio: "16/9", children: src }) : src;
64
+ image = /* @__PURE__ */ jsxRuntime.jsx(react$1.Box, { ...mode === "thumbnail" && { aspectRatio: "16/9" }, ...plainImageProps, children: src });
65
65
  } else {
66
66
  return null;
67
67
  }
@@ -60,7 +60,7 @@ const Image = ({ src = "", mode = "default", hasZoom, ...plainImageProps }) => {
60
60
  }
61
61
  );
62
62
  } else if (isImageComponent(src)) {
63
- image = mode === "thumbnail" ? /* @__PURE__ */ jsx(Box, { aspectRatio: "16/9", children: src }) : src;
63
+ image = /* @__PURE__ */ jsx(Box, { ...mode === "thumbnail" && { aspectRatio: "16/9" }, ...plainImageProps, children: src });
64
64
  } else {
65
65
  return null;
66
66
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  const jsxRuntime = require("react/jsx-runtime");
3
3
  const react = require("@chakra-ui/react");
4
- const index = require("./index-BNkvrBOj.js");
4
+ const index = require("./index-B4M1IKzL.js");
5
5
  require("@mdx-js/react");
6
6
  const reactI18next = require("react-i18next");
7
7
  const index$2 = require("./index-C6MG_f24.js");
@@ -41,6 +41,18 @@ const InstagramIcon = (props) => {
41
41
  }
42
42
  );
43
43
  };
44
+ const LinkedInIcon = (props) => {
45
+ return /* @__PURE__ */ jsxRuntime.jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", "aria-label": "LinkedIn", ...props, children: [
46
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "1", y: "1", width: "22", height: "22", rx: "5", fill: "none", stroke: "currentColor", strokeWidth: "2" }),
47
+ /* @__PURE__ */ jsxRuntime.jsx(
48
+ "path",
49
+ {
50
+ d: "M7.2 10H9v7H7.2v-7ZM8.1 7.5c.6 0 1-.4 1-.9s-.4-.9-1-.9-1 .4-1 .9.4.9 1 .9ZM10.5 10h1.7v1h.1c.3-.6 1-.9 1.8-.9 1.6 0 2.4.9 2.4 2.7V17H15v-3.9c0-.9-.3-1.4-1.1-1.4-.7 0-1.1.5-1.1 1.4V17h-1.7v-7Z",
51
+ fill: "currentColor"
52
+ }
53
+ )
54
+ ] });
55
+ };
44
56
  const PinterestIcon = (props) => {
45
57
  return /* @__PURE__ */ jsxRuntime.jsx(
46
58
  "svg",
@@ -82,6 +94,7 @@ const YoutubeIcon = (props) => {
82
94
  const SocialNetworkMap = {
83
95
  facebook: FacebookIcon,
84
96
  instagram: InstagramIcon,
97
+ linkedin: LinkedInIcon,
85
98
  pinterest: PinterestIcon,
86
99
  x: XcomIcon,
87
100
  youtube: YoutubeIcon
@@ -162,21 +175,23 @@ const LinkButton = ({
162
175
  const Logo = () => {
163
176
  const { metadata } = index.useSiteContext();
164
177
  const { logo } = metadata;
165
- return /* @__PURE__ */ jsxRuntime.jsx(react.Box, { display: "flex", h: { base: 10, md: 14 }, overflow: "hidden", children: /* @__PURE__ */ jsxRuntime.jsx(index.Image, { src: logo, alt: "Logo", objectFit: "contain" }) });
178
+ return /* @__PURE__ */ jsxRuntime.jsx(react.Box, { display: "flex", h: { base: 10, md: 14 }, alignSelf: "center", overflow: "hidden", children: /* @__PURE__ */ jsxRuntime.jsx(index.Image, { src: logo, alt: "Logo", objectFit: "contain" }) });
166
179
  };
167
180
  const StarSizeMap = {
168
- sm: 12,
169
- md: 16,
170
- lg: 20
181
+ sm: "1rem",
182
+ md: "1.5rem",
183
+ lg: "2rem"
171
184
  };
172
185
  const FontSizeMap = {
173
186
  sm: "xs",
174
187
  md: "sm",
175
188
  lg: "md"
176
189
  };
177
- const Rating = ({ value = 0, max = 5, size = "md", hasLabel }) => {
178
- const current = Math.round(Math.min(value, max));
179
- const stars = /* @__PURE__ */ jsxRuntime.jsx(react.Flex, { gap: 1, children: Array.from({ length: max }, (_, i) => {
190
+ const Rating = ({ value = 0, max = 5, size = "md", hasLabel, ...boxProps }) => {
191
+ const positiveValue = Math.max(value, 0);
192
+ const normalizedValue = positiveValue === max ? positiveValue : positiveValue % max;
193
+ const current = Math.round(Math.min(normalizedValue, max));
194
+ const stars = /* @__PURE__ */ jsxRuntime.jsx(react.Flex, { gap: 1, title: `${current}/${max}`, ...boxProps, children: Array.from({ length: max }, (_, i) => {
180
195
  const index2 = i + 1;
181
196
  const isActive = index2 <= current;
182
197
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -385,10 +400,13 @@ const CasinoTable = ({ casinos, showHeader = false }) => {
385
400
  {
386
401
  position: { base: "absolute", md: showHeader ? "static" : "absolute" },
387
402
  opacity: { base: 0, md: showHeader ? "initial" : 0 },
403
+ w: { base: 0, md: showHeader ? "auto" : 0 },
404
+ h: { base: 0, md: showHeader ? "auto" : 0 },
405
+ overflow: "hidden",
388
406
  children: /* @__PURE__ */ jsxRuntime.jsx(react.Tr, { children: columns.map((column) => /* @__PURE__ */ jsxRuntime.jsx(react.Th, { textAlign: "center", p: 2, children: t(`column.${column}`) }, column)) })
389
407
  }
390
408
  ),
391
- /* @__PURE__ */ jsxRuntime.jsx(react.Tbody, { children: casinos.map(({ id, ...casino }, index2) => /* @__PURE__ */ jsxRuntime.jsx(CasinoTableRow, { casino: { id: String(index2 + 1), ...casino } }, id)) })
409
+ /* @__PURE__ */ jsxRuntime.jsx(react.Tbody, { display: { base: "grid", md: "table-row-group" }, children: casinos.map(({ id, ...casino }, index2) => /* @__PURE__ */ jsxRuntime.jsx(CasinoTableRow, { casino: { id: String(index2 + 1), ...casino } }, id)) })
392
410
  ] });
393
411
  };
394
412
  exports.CasinoTable = CasinoTable;
@@ -2,7 +2,7 @@ import { jsx } from "react/jsx-runtime";
2
2
  import { MDXProvider } from "@mdx-js/react";
3
3
  import "react-i18next";
4
4
  import "@chakra-ui/react";
5
- import { I as Image, L as Link } from "./index-C3FKVt3V.mjs";
5
+ import { I as Image, L as Link } from "./index-ClIPWZ3z.mjs";
6
6
  import "./index-BJRvnR8Q.mjs";
7
7
  import "./index-RzByAgHO.mjs";
8
8
  import "react";
@@ -3,7 +3,7 @@ const jsxRuntime = require("react/jsx-runtime");
3
3
  const react = require("@mdx-js/react");
4
4
  require("react-i18next");
5
5
  require("@chakra-ui/react");
6
- const index$1 = require("./index-BNkvrBOj.js");
6
+ const index$1 = require("./index-B4M1IKzL.js");
7
7
  require("./index-C6MG_f24.js");
8
8
  require("./index-CBRFCYhV.js");
9
9
  require("react");
@@ -2,7 +2,7 @@ import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
2
  import { useColorModeValue, Box, Text, Flex, Collapse, Button, Stack, Center as Center$1, SimpleGrid, Card, CardBody, CardFooter, CardHeader, Heading, Popover, PopoverTrigger, Portal, PopoverContent, PopoverBody, Accordion, AccordionItem, AccordionButton, AccordionIcon, AccordionPanel, LinkBox, LinkOverlay, IconButton, AbsoluteCenter, Spinner, Alert, AlertIcon, AlertTitle, AlertDescription, useDisclosure, Divider, Circle, List as List$1, ListItem, useToast, VStack, FormControl, FormLabel, InputGroup, InputLeftElement, Input, Textarea, ListIcon, TableContainer, Table as Table$1, Thead, Tr, Th, Tbody, Td, TableCaption, Tabs as Tabs$1, TabList, Tab, TabPanels, TabPanel } from "@chakra-ui/react";
3
3
  import { useTranslation } from "react-i18next";
4
4
  import { useMDXComponents } from "@mdx-js/react";
5
- import { u as usePageContext, I as Image, L as Link, a as useSiteContext } from "./index-C3FKVt3V.mjs";
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
8
  import "react-medium-image-zoom";
@@ -10,7 +10,7 @@ import { useRef, useState, useLayoutEffect, Fragment as Fragment$1, useMemo } fr
10
10
  import { StarIcon, CloseIcon, ViewOffIcon, ViewIcon, EmailIcon, WarningIcon, CheckCircleIcon } from "@chakra-ui/icons";
11
11
  import { a as Heading2, H as Heading1, P as Paragraph, U as Unordered, O as Ordered } from "./index-BEjKnOZA.mjs";
12
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 } from "./index-CodGh8Sq.mjs";
13
+ import { d as SocialNetworks, L as LinkButton, R as Rating } from "./index-jMVtVd4x.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";
@@ -100,19 +100,31 @@ const Grid = ({ items, columns = defaultColumns, gap, render, getKey, ...boxProp
100
100
  const ActionButton = ({ label, href, ...boxProps }) => {
101
101
  return /* @__PURE__ */ jsx(Flex, { justifyContent: "center", ...boxProps, children: /* @__PURE__ */ jsx(LinkButton, { label, href, textDecoration: "none" }) });
102
102
  };
103
- const ArticleCard = ({ title, image, meta, url }) => {
104
- return /* @__PURE__ */ jsxs(Card, { as: Link, to: url, overflow: "hidden", _hover: { transform: "scale(1.02)", textDecoration: "none" }, children: [
105
- /* @__PURE__ */ jsxs(CardBody, { as: "section", p: 0, children: [
106
- !!image && /* @__PURE__ */ jsx(Image, { src: image, alt: title, mode: "thumbnail" }),
107
- /* @__PURE__ */ jsx(Heading2, { size: "md", px: 4, children: title })
108
- ] }),
109
- !!meta && /* @__PURE__ */ jsx(CardFooter, { as: "footer", fontSize: "sm", pt: 0, px: 4, children: /* @__PURE__ */ jsx(ArticleMeta, { ...meta, variant: "short" }) })
110
- ] });
103
+ const ArticleCard = ({ title, image, meta, url, height }) => {
104
+ return /* @__PURE__ */ jsxs(
105
+ Card,
106
+ {
107
+ as: Link,
108
+ to: url,
109
+ overflow: "hidden",
110
+ height,
111
+ pb: 4,
112
+ _hover: { transform: "scale(1.02)", textDecoration: "none" },
113
+ children: [
114
+ /* @__PURE__ */ jsxs(CardBody, { as: "section", p: 0, children: [
115
+ !!image && /* @__PURE__ */ jsx(Image, { src: image, alt: title, mode: "thumbnail" }),
116
+ /* @__PURE__ */ jsx(Heading2, { size: "md", mt: 4, mb: 0, px: 4, children: title })
117
+ ] }),
118
+ !!meta && /* @__PURE__ */ jsx(CardFooter, { as: "footer", fontSize: "sm", mt: 2, py: 0, px: 4, children: /* @__PURE__ */ jsx(ArticleMeta, { ...meta, variant: "short" }) })
119
+ ]
120
+ }
121
+ );
111
122
  };
112
123
  const ArticleCardGrid = ({
113
124
  items,
114
125
  columns = { base: 1, md: 2, lg: 3 },
115
126
  gap = 4,
127
+ cardHeight = "full",
116
128
  ...boxProps
117
129
  }) => {
118
130
  return /* @__PURE__ */ jsx(
@@ -122,16 +134,16 @@ const ArticleCardGrid = ({
122
134
  columns,
123
135
  gap,
124
136
  getKey: (_, index) => index,
125
- render: (item) => /* @__PURE__ */ jsx(ArticleCard, { ...item }),
137
+ render: (item) => /* @__PURE__ */ jsx(ArticleCard, { ...item, height: cardHeight }),
126
138
  ...boxProps
127
139
  }
128
140
  );
129
141
  };
130
142
  const ArticleInfoCard = ({ title, description, meta, ...boxProps }) => {
131
- return /* @__PURE__ */ jsxs(Card, { as: "article", variant: "filled", ...boxProps, children: [
132
- /* @__PURE__ */ jsx(CardHeader, { as: "header", pb: 0, children: /* @__PURE__ */ jsx(Heading1, { children: title }) }),
133
- /* @__PURE__ */ jsx(CardBody, { as: "section", py: 0, children: description }),
134
- !!meta && /* @__PURE__ */ jsx(CardFooter, { as: "footer", children: /* @__PURE__ */ jsx(ArticleMeta, { ...meta }) })
143
+ return /* @__PURE__ */ jsxs(Card, { as: "article", variant: "filled", p: 5, pb: 2, ...boxProps, children: [
144
+ /* @__PURE__ */ jsx(CardHeader, { as: "header", p: 0, children: /* @__PURE__ */ jsx(Heading1, { children: title }) }),
145
+ !!description && /* @__PURE__ */ jsx(CardBody, { as: "section", p: 0, mb: 3, children: description }),
146
+ !!meta && /* @__PURE__ */ jsx(CardFooter, { as: "footer", p: 0, mb: 3, children: /* @__PURE__ */ jsx(ArticleMeta, { ...meta }) })
135
147
  ] });
136
148
  };
137
149
  const AuthorCard = ({ author, ...boxProps }) => {
@@ -267,7 +279,8 @@ const FeatureCardGrid = ({
267
279
  }
268
280
  );
269
281
  };
270
- const GameCard = ({ name, description, image, url, height = "auto" }) => {
282
+ const GameCard = ({ name, description, image, url, rating, height = "auto" }) => {
283
+ const descriptionColor = useColorModeValue("gray.600", "gray.400");
271
284
  return /* @__PURE__ */ jsxs(
272
285
  LinkBox,
273
286
  {
@@ -277,14 +290,16 @@ const GameCard = ({ name, description, image, url, height = "auto" }) => {
277
290
  transition: "transform 0.2s ease",
278
291
  cursor: url ? "pointer" : "default",
279
292
  overflow: "hidden",
280
- bg: "blackAlpha.200",
281
293
  height,
282
- _hover: { transform: "scale(1.05)" },
294
+ _hover: url ? { transform: "scale(1.05)" } : {},
283
295
  children: [
284
296
  /* @__PURE__ */ jsx(Image, { src: image, alt: name, mode: "thumbnail" }),
285
297
  /* @__PURE__ */ jsxs(Box, { as: "section", rounded: "md", p: 4, children: [
286
- /* @__PURE__ */ jsx(Text, { as: "span", children: url ? /* @__PURE__ */ jsx(LinkOverlay, { as: Link, to: url, children: name }) : name }),
287
- !!description && /* @__PURE__ */ jsx(Text, { fontSize: "sm", color: "gray.600", children: description })
298
+ /* @__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
+ !!rating && /* @__PURE__ */ jsx(Rating, { value: rating, size: "sm", py: 1 })
301
+ ] }),
302
+ !!description && /* @__PURE__ */ jsx(Text, { fontSize: "sm", color: descriptionColor, mt: 2, children: description })
288
303
  ] })
289
304
  ]
290
305
  }
@@ -437,6 +452,7 @@ const GameDemoPreview = ({ image, alt, src, refLink, imageFit = "cover", onPlayD
437
452
  !src && /* @__PURE__ */ jsx(GameDemoAlert, {}),
438
453
  /* @__PURE__ */ jsxs(Box, { position: "relative", flex: 1, children: [
439
454
  /* @__PURE__ */ jsx(Image, { src: image, alt, objectFit: imageFit, w: "100%", h: "100%" }),
455
+ /* @__PURE__ */ jsx(Box, { w: "full", h: "full", position: "absolute", inset: 0, background: "blackAlpha.500" }),
440
456
  /* @__PURE__ */ jsx(AbsoluteCenter, { children: /* @__PURE__ */ jsxs(Stack, { spacing: 4, children: [
441
457
  getPrimaryButton(),
442
458
  getSecondaryButton()
@@ -595,6 +611,7 @@ const HowTo = ({ steps, ...boxProps }) => {
595
611
  ] })
596
612
  ] }, index)) });
597
613
  };
614
+ const typesWithPrefix = ["advice", "fact"];
598
615
  function getQuotePseudoElement(color) {
599
616
  return {
600
617
  content: '"❛❛"',
@@ -631,7 +648,7 @@ const Informer = ({ type, text, author = null, ...boxProps }) => {
631
648
  ...boxProps,
632
649
  children: [
633
650
  /* @__PURE__ */ jsxs(CardBody, { as: "blockquote", p: 0, fontStyle: "italic", children: [
634
- type !== "quote" && /* @__PURE__ */ jsxs(Text, { as: "span", fontStyle: "normal", fontWeight: "semibold", mr: 2, children: [
651
+ typesWithPrefix.includes(type) && /* @__PURE__ */ jsxs(Text, { as: "span", fontStyle: "normal", fontWeight: "semibold", mr: 2, children: [
635
652
  PrefixMap[type],
636
653
  t2(type),
637
654
  ":"
@@ -3,7 +3,7 @@ const jsxRuntime = require("react/jsx-runtime");
3
3
  const react = require("@chakra-ui/react");
4
4
  const reactI18next = require("react-i18next");
5
5
  const react$2 = require("@mdx-js/react");
6
- const index = require("./index-BNkvrBOj.js");
6
+ const index = require("./index-B4M1IKzL.js");
7
7
  require("./index-C6MG_f24.js");
8
8
  const index$6 = require("./index-CBRFCYhV.js");
9
9
  require("react-medium-image-zoom");
@@ -11,7 +11,7 @@ const react$1 = require("react");
11
11
  const icons = require("@chakra-ui/icons");
12
12
  const index$3 = require("./index-DDg_PkD2.js");
13
13
  const index$1 = require("./index-qR3kVjjs.js");
14
- const index$2 = require("./index-BrpyfyHr.js");
14
+ const index$2 = require("./index-CxpOLhsJ.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");
@@ -101,19 +101,31 @@ const Grid = ({ items, columns = defaultColumns, gap, render, getKey, ...boxProp
101
101
  const ActionButton = ({ label, href, ...boxProps }) => {
102
102
  return /* @__PURE__ */ jsxRuntime.jsx(react.Flex, { justifyContent: "center", ...boxProps, children: /* @__PURE__ */ jsxRuntime.jsx(index$2.LinkButton, { label, href, textDecoration: "none" }) });
103
103
  };
104
- const ArticleCard = ({ title, image, meta, url }) => {
105
- return /* @__PURE__ */ jsxRuntime.jsxs(react.Card, { as: index.Link, to: url, overflow: "hidden", _hover: { transform: "scale(1.02)", textDecoration: "none" }, children: [
106
- /* @__PURE__ */ jsxRuntime.jsxs(react.CardBody, { as: "section", p: 0, children: [
107
- !!image && /* @__PURE__ */ jsxRuntime.jsx(index.Image, { src: image, alt: title, mode: "thumbnail" }),
108
- /* @__PURE__ */ jsxRuntime.jsx(index$3.Heading2, { size: "md", px: 4, children: title })
109
- ] }),
110
- !!meta && /* @__PURE__ */ jsxRuntime.jsx(react.CardFooter, { as: "footer", fontSize: "sm", pt: 0, px: 4, children: /* @__PURE__ */ jsxRuntime.jsx(ArticleMeta, { ...meta, variant: "short" }) })
111
- ] });
104
+ const ArticleCard = ({ title, image, meta, url, height }) => {
105
+ return /* @__PURE__ */ jsxRuntime.jsxs(
106
+ react.Card,
107
+ {
108
+ as: index.Link,
109
+ to: url,
110
+ overflow: "hidden",
111
+ height,
112
+ pb: 4,
113
+ _hover: { transform: "scale(1.02)", textDecoration: "none" },
114
+ children: [
115
+ /* @__PURE__ */ jsxRuntime.jsxs(react.CardBody, { as: "section", p: 0, children: [
116
+ !!image && /* @__PURE__ */ jsxRuntime.jsx(index.Image, { src: image, alt: title, mode: "thumbnail" }),
117
+ /* @__PURE__ */ jsxRuntime.jsx(index$3.Heading2, { size: "md", mt: 4, mb: 0, px: 4, children: title })
118
+ ] }),
119
+ !!meta && /* @__PURE__ */ jsxRuntime.jsx(react.CardFooter, { as: "footer", fontSize: "sm", mt: 2, py: 0, px: 4, children: /* @__PURE__ */ jsxRuntime.jsx(ArticleMeta, { ...meta, variant: "short" }) })
120
+ ]
121
+ }
122
+ );
112
123
  };
113
124
  const ArticleCardGrid = ({
114
125
  items,
115
126
  columns = { base: 1, md: 2, lg: 3 },
116
127
  gap = 4,
128
+ cardHeight = "full",
117
129
  ...boxProps
118
130
  }) => {
119
131
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -123,16 +135,16 @@ const ArticleCardGrid = ({
123
135
  columns,
124
136
  gap,
125
137
  getKey: (_, index2) => index2,
126
- render: (item) => /* @__PURE__ */ jsxRuntime.jsx(ArticleCard, { ...item }),
138
+ render: (item) => /* @__PURE__ */ jsxRuntime.jsx(ArticleCard, { ...item, height: cardHeight }),
127
139
  ...boxProps
128
140
  }
129
141
  );
130
142
  };
131
143
  const ArticleInfoCard = ({ title, description, meta, ...boxProps }) => {
132
- return /* @__PURE__ */ jsxRuntime.jsxs(react.Card, { as: "article", variant: "filled", ...boxProps, children: [
133
- /* @__PURE__ */ jsxRuntime.jsx(react.CardHeader, { as: "header", pb: 0, children: /* @__PURE__ */ jsxRuntime.jsx(index$3.Heading1, { children: title }) }),
134
- /* @__PURE__ */ jsxRuntime.jsx(react.CardBody, { as: "section", py: 0, children: description }),
135
- !!meta && /* @__PURE__ */ jsxRuntime.jsx(react.CardFooter, { as: "footer", children: /* @__PURE__ */ jsxRuntime.jsx(ArticleMeta, { ...meta }) })
144
+ return /* @__PURE__ */ jsxRuntime.jsxs(react.Card, { as: "article", variant: "filled", p: 5, pb: 2, ...boxProps, children: [
145
+ /* @__PURE__ */ jsxRuntime.jsx(react.CardHeader, { as: "header", p: 0, children: /* @__PURE__ */ jsxRuntime.jsx(index$3.Heading1, { children: title }) }),
146
+ !!description && /* @__PURE__ */ jsxRuntime.jsx(react.CardBody, { as: "section", p: 0, mb: 3, children: description }),
147
+ !!meta && /* @__PURE__ */ jsxRuntime.jsx(react.CardFooter, { as: "footer", p: 0, mb: 3, children: /* @__PURE__ */ jsxRuntime.jsx(ArticleMeta, { ...meta }) })
136
148
  ] });
137
149
  };
138
150
  const AuthorCard = ({ author, ...boxProps }) => {
@@ -268,7 +280,8 @@ const FeatureCardGrid = ({
268
280
  }
269
281
  );
270
282
  };
271
- const GameCard = ({ name, description, image, url, height = "auto" }) => {
283
+ const GameCard = ({ name, description, image, url, rating, height = "auto" }) => {
284
+ const descriptionColor = react.useColorModeValue("gray.600", "gray.400");
272
285
  return /* @__PURE__ */ jsxRuntime.jsxs(
273
286
  react.LinkBox,
274
287
  {
@@ -278,14 +291,16 @@ const GameCard = ({ name, description, image, url, height = "auto" }) => {
278
291
  transition: "transform 0.2s ease",
279
292
  cursor: url ? "pointer" : "default",
280
293
  overflow: "hidden",
281
- bg: "blackAlpha.200",
282
294
  height,
283
- _hover: { transform: "scale(1.05)" },
295
+ _hover: url ? { transform: "scale(1.05)" } : {},
284
296
  children: [
285
297
  /* @__PURE__ */ jsxRuntime.jsx(index.Image, { src: image, alt: name, mode: "thumbnail" }),
286
298
  /* @__PURE__ */ jsxRuntime.jsxs(react.Box, { as: "section", rounded: "md", p: 4, children: [
287
- /* @__PURE__ */ jsxRuntime.jsx(react.Text, { as: "span", children: url ? /* @__PURE__ */ jsxRuntime.jsx(react.LinkOverlay, { as: index.Link, to: url, children: name }) : name }),
288
- !!description && /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", color: "gray.600", children: description })
299
+ /* @__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
+ !!rating && /* @__PURE__ */ jsxRuntime.jsx(index$2.Rating, { value: rating, size: "sm", py: 1 })
302
+ ] }),
303
+ !!description && /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "sm", color: descriptionColor, mt: 2, children: description })
289
304
  ] })
290
305
  ]
291
306
  }
@@ -438,6 +453,7 @@ const GameDemoPreview = ({ image, alt, src, refLink, imageFit = "cover", onPlayD
438
453
  !src && /* @__PURE__ */ jsxRuntime.jsx(GameDemoAlert, {}),
439
454
  /* @__PURE__ */ jsxRuntime.jsxs(react.Box, { position: "relative", flex: 1, children: [
440
455
  /* @__PURE__ */ jsxRuntime.jsx(index.Image, { src: image, alt, objectFit: imageFit, w: "100%", h: "100%" }),
456
+ /* @__PURE__ */ jsxRuntime.jsx(react.Box, { w: "full", h: "full", position: "absolute", inset: 0, background: "blackAlpha.500" }),
441
457
  /* @__PURE__ */ jsxRuntime.jsx(react.AbsoluteCenter, { children: /* @__PURE__ */ jsxRuntime.jsxs(react.Stack, { spacing: 4, children: [
442
458
  getPrimaryButton(),
443
459
  getSecondaryButton()
@@ -596,6 +612,7 @@ const HowTo = ({ steps, ...boxProps }) => {
596
612
  ] })
597
613
  ] }, index$12)) });
598
614
  };
615
+ const typesWithPrefix = ["advice", "fact"];
599
616
  function getQuotePseudoElement(color) {
600
617
  return {
601
618
  content: '"❛❛"',
@@ -632,7 +649,7 @@ const Informer = ({ type, text, author = null, ...boxProps }) => {
632
649
  ...boxProps,
633
650
  children: [
634
651
  /* @__PURE__ */ jsxRuntime.jsxs(react.CardBody, { as: "blockquote", p: 0, fontStyle: "italic", children: [
635
- type !== "quote" && /* @__PURE__ */ jsxRuntime.jsxs(react.Text, { as: "span", fontStyle: "normal", fontWeight: "semibold", mr: 2, children: [
652
+ typesWithPrefix.includes(type) && /* @__PURE__ */ jsxRuntime.jsxs(react.Text, { as: "span", fontStyle: "normal", fontWeight: "semibold", mr: 2, children: [
636
653
  PrefixMap[type],
637
654
  t(type),
638
655
  ":"
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import { Flex, Container as Container$1, useColorModeValue, useToast, useClipboard, Text, IconButton, Button, Box, Stack, Card, Badge, Td, Tr, Table, Thead, Th, Tbody } from "@chakra-ui/react";
3
- import { L as Link, a as useSiteContext, I as Image, u as usePageContext } from "./index-C3FKVt3V.mjs";
3
+ import { L as Link, a as useSiteContext, I as Image, u as usePageContext } from "./index-ClIPWZ3z.mjs";
4
4
  import "@mdx-js/react";
5
5
  import { useTranslation } from "react-i18next";
6
6
  import { A as Animation } from "./index-BJRvnR8Q.mjs";
@@ -40,6 +40,18 @@ const InstagramIcon = (props) => {
40
40
  }
41
41
  );
42
42
  };
43
+ const LinkedInIcon = (props) => {
44
+ return /* @__PURE__ */ jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", "aria-label": "LinkedIn", ...props, children: [
45
+ /* @__PURE__ */ jsx("rect", { x: "1", y: "1", width: "22", height: "22", rx: "5", fill: "none", stroke: "currentColor", strokeWidth: "2" }),
46
+ /* @__PURE__ */ jsx(
47
+ "path",
48
+ {
49
+ d: "M7.2 10H9v7H7.2v-7ZM8.1 7.5c.6 0 1-.4 1-.9s-.4-.9-1-.9-1 .4-1 .9.4.9 1 .9ZM10.5 10h1.7v1h.1c.3-.6 1-.9 1.8-.9 1.6 0 2.4.9 2.4 2.7V17H15v-3.9c0-.9-.3-1.4-1.1-1.4-.7 0-1.1.5-1.1 1.4V17h-1.7v-7Z",
50
+ fill: "currentColor"
51
+ }
52
+ )
53
+ ] });
54
+ };
43
55
  const PinterestIcon = (props) => {
44
56
  return /* @__PURE__ */ jsx(
45
57
  "svg",
@@ -81,6 +93,7 @@ const YoutubeIcon = (props) => {
81
93
  const SocialNetworkMap = {
82
94
  facebook: FacebookIcon,
83
95
  instagram: InstagramIcon,
96
+ linkedin: LinkedInIcon,
84
97
  pinterest: PinterestIcon,
85
98
  x: XcomIcon,
86
99
  youtube: YoutubeIcon
@@ -161,21 +174,23 @@ const LinkButton = ({
161
174
  const Logo = () => {
162
175
  const { metadata } = useSiteContext();
163
176
  const { logo } = metadata;
164
- return /* @__PURE__ */ jsx(Box, { display: "flex", h: { base: 10, md: 14 }, overflow: "hidden", children: /* @__PURE__ */ jsx(Image, { src: logo, alt: "Logo", objectFit: "contain" }) });
177
+ return /* @__PURE__ */ jsx(Box, { display: "flex", h: { base: 10, md: 14 }, alignSelf: "center", overflow: "hidden", children: /* @__PURE__ */ jsx(Image, { src: logo, alt: "Logo", objectFit: "contain" }) });
165
178
  };
166
179
  const StarSizeMap = {
167
- sm: 12,
168
- md: 16,
169
- lg: 20
180
+ sm: "1rem",
181
+ md: "1.5rem",
182
+ lg: "2rem"
170
183
  };
171
184
  const FontSizeMap = {
172
185
  sm: "xs",
173
186
  md: "sm",
174
187
  lg: "md"
175
188
  };
176
- const Rating = ({ value = 0, max = 5, size = "md", hasLabel }) => {
177
- const current = Math.round(Math.min(value, max));
178
- const stars = /* @__PURE__ */ jsx(Flex, { gap: 1, children: Array.from({ length: max }, (_, i) => {
189
+ const Rating = ({ value = 0, max = 5, size = "md", hasLabel, ...boxProps }) => {
190
+ const positiveValue = Math.max(value, 0);
191
+ const normalizedValue = positiveValue === max ? positiveValue : positiveValue % max;
192
+ const current = Math.round(Math.min(normalizedValue, max));
193
+ const stars = /* @__PURE__ */ jsx(Flex, { gap: 1, title: `${current}/${max}`, ...boxProps, children: Array.from({ length: max }, (_, i) => {
179
194
  const index = i + 1;
180
195
  const isActive = index <= current;
181
196
  return /* @__PURE__ */ jsx(
@@ -384,10 +399,13 @@ const CasinoTable = ({ casinos, showHeader = false }) => {
384
399
  {
385
400
  position: { base: "absolute", md: showHeader ? "static" : "absolute" },
386
401
  opacity: { base: 0, md: showHeader ? "initial" : 0 },
402
+ w: { base: 0, md: showHeader ? "auto" : 0 },
403
+ h: { base: 0, md: showHeader ? "auto" : 0 },
404
+ overflow: "hidden",
387
405
  children: /* @__PURE__ */ jsx(Tr, { children: columns.map((column) => /* @__PURE__ */ jsx(Th, { textAlign: "center", p: 2, children: t(`column.${column}`) }, column)) })
388
406
  }
389
407
  ),
390
- /* @__PURE__ */ jsx(Tbody, { children: casinos.map(({ id, ...casino }, index) => /* @__PURE__ */ jsx(CasinoTableRow, { casino: { id: String(index + 1), ...casino } }, id)) })
408
+ /* @__PURE__ */ jsx(Tbody, { display: { base: "grid", md: "table-row-group" }, children: casinos.map(({ id, ...casino }, index) => /* @__PURE__ */ jsx(CasinoTableRow, { casino: { id: String(index + 1), ...casino } }, id)) })
391
409
  ] });
392
410
  };
393
411
  export {
package/dist/index.cjs CHANGED
@@ -1,14 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const index = require("./index-D-WTkYJu.js");
4
- const index$1 = require("./index-BrpyfyHr.js");
3
+ const index = require("./index-Z9_O1z1K.js");
4
+ const index$1 = require("./index-CxpOLhsJ.js");
5
5
  const index$2 = require("./index-DDg_PkD2.js");
6
- const index$3 = require("./index-BNkvrBOj.js");
6
+ const index$3 = require("./index-B4M1IKzL.js");
7
7
  const index$4 = require("./index-ma-iV7GU.js");
8
8
  const index$5 = require("./index-CVv755RW.js");
9
9
  const i18n = require("./i18n/index.cjs");
10
10
  const layout = require("./layout/index.cjs");
11
- const index$6 = require("./index-DdLlwS4n.js");
11
+ const index$6 = require("./index-DXTC3R_J.js");
12
12
  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");
package/dist/index.mjs CHANGED
@@ -1,12 +1,12 @@
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-BN9vRBzY.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-CodGh8Sq.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-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";
3
3
  import { H as H2, a as a3, b as b3, O, P as P2, U } from "./index-BEjKnOZA.mjs";
4
- import { I as I2, L as L3, P as P3, S as S3, u, a as a4 } from "./index-C3FKVt3V.mjs";
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";
6
6
  import { u as u3 } from "./index-C1kr7Vd-.mjs";
7
7
  import { DEFAULT_LANGUAGE, resources } from "./i18n/index.mjs";
8
8
  import { default as default2 } from "./layout/index.mjs";
9
- import { M } from "./index-cY5WnaQc.mjs";
9
+ import { M } from "./index-D1gNEJUA.mjs";
10
10
  import { a as a5, C as C3, b as b4, G as G2, I as I3 } from "./index-RzByAgHO.mjs";
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";
@@ -1,7 +1,8 @@
1
1
  import { FC } from 'react';
2
- import { INavItem } from '../../../types';
2
+ import { GridColumns, INavItem } from '../../../types';
3
3
  type NavigationProps = {
4
4
  menu: INavItem[];
5
+ columns?: GridColumns;
5
6
  };
6
7
  declare const Navigation: FC<NavigationProps>;
7
8
  export default Navigation;
@@ -3,12 +3,12 @@ const jsxRuntime = require("react/jsx-runtime");
3
3
  const react = require("@chakra-ui/react");
4
4
  const reactI18next = require("react-i18next");
5
5
  require("@mdx-js/react");
6
- const index$1 = require("../index-BNkvrBOj.js");
6
+ const index$1 = require("../index-B4M1IKzL.js");
7
7
  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-BrpyfyHr.js");
11
+ const index = require("../index-CxpOLhsJ.js");
12
12
  const icons = require("@chakra-ui/icons");
13
13
  require("i18next");
14
14
  require("react-markdown");
@@ -42,12 +42,12 @@ const Disclaimer = () => {
42
42
  const Extra = ({ children }) => {
43
43
  return /* @__PURE__ */ jsxRuntime.jsx(react.Box, { as: "section", my: 2, children });
44
44
  };
45
- const Navigation$1 = ({ menu }) => {
45
+ const Navigation$1 = ({ menu, columns = { base: 1, sm: 2, md: 4 } }) => {
46
46
  return /* @__PURE__ */ jsxRuntime.jsx(
47
47
  react.SimpleGrid,
48
48
  {
49
49
  as: "ul",
50
- columns: { base: 1, sm: 2, md: 4 },
50
+ columns,
51
51
  mt: 4,
52
52
  mb: 6,
53
53
  p: 0,
@@ -74,7 +74,7 @@ const Footer = () => {
74
74
  const { currentLocale } = index$1.usePageContext();
75
75
  const menu = navigation.footer[currentLocale.code] ?? [];
76
76
  const socialNetworks = metadata.socialNetworks ?? [];
77
- const { extra, showDisclaimer = true } = (config == null ? void 0 : config.footer) ?? {};
77
+ const { extra, showDisclaimer = true, navigationColumns } = (config == null ? void 0 : config.footer) ?? {};
78
78
  const hasNavigation = !!menu.length;
79
79
  const hasSocialNetworks = !!socialNetworks.length;
80
80
  const hasExtra = !!extra;
@@ -86,7 +86,7 @@ const Footer = () => {
86
86
  color: react.useColorModeValue("gray.700", "gray.200"),
87
87
  py: 4,
88
88
  children: /* @__PURE__ */ jsxRuntime.jsxs(index.Container, { children: [
89
- hasNavigation && /* @__PURE__ */ jsxRuntime.jsx(Navigation$1, { menu }),
89
+ hasNavigation && /* @__PURE__ */ jsxRuntime.jsx(Navigation$1, { menu, columns: navigationColumns }),
90
90
  hasExtra && /* @__PURE__ */ jsxRuntime.jsx(Extra, { children: extra }),
91
91
  showDisclaimer && /* @__PURE__ */ jsxRuntime.jsx(Disclaimer, {}),
92
92
  /* @__PURE__ */ jsxRuntime.jsx(Brand$1, { brand: /* @__PURE__ */ jsxRuntime.jsx(index.Logo, {}) }),
@@ -2,12 +2,12 @@ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
2
  import { Box, Divider, AbsoluteCenter, useColorModeValue, Text, SimpleGrid, Flex, Menu, MenuButton, Button, HStack, Icon, MenuList, MenuItem, Popover, PopoverTrigger, PopoverContent, List, ListItem, Stack, Collapse, useDisclosure, IconButton, Heading } from "@chakra-ui/react";
3
3
  import { useTranslation } from "react-i18next";
4
4
  import "@mdx-js/react";
5
- import { L as Link, a as useSiteContext, u as usePageContext } from "../index-C3FKVt3V.mjs";
5
+ import { L as Link, a as useSiteContext, u as usePageContext } from "../index-ClIPWZ3z.mjs";
6
6
  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-CodGh8Sq.mjs";
10
+ import { a as Container, c as Logo, d as SocialNetworks, L as LinkButton } from "../index-jMVtVd4x.mjs";
11
11
  import { ChevronDownIcon, ChevronRightIcon, CloseIcon, HamburgerIcon, ChevronUpIcon } from "@chakra-ui/icons";
12
12
  import "i18next";
13
13
  import "react-markdown";
@@ -41,12 +41,12 @@ const Disclaimer = () => {
41
41
  const Extra = ({ children }) => {
42
42
  return /* @__PURE__ */ jsx(Box, { as: "section", my: 2, children });
43
43
  };
44
- const Navigation$1 = ({ menu }) => {
44
+ const Navigation$1 = ({ menu, columns = { base: 1, sm: 2, md: 4 } }) => {
45
45
  return /* @__PURE__ */ jsx(
46
46
  SimpleGrid,
47
47
  {
48
48
  as: "ul",
49
- columns: { base: 1, sm: 2, md: 4 },
49
+ columns,
50
50
  mt: 4,
51
51
  mb: 6,
52
52
  p: 0,
@@ -73,7 +73,7 @@ const Footer = () => {
73
73
  const { currentLocale } = usePageContext();
74
74
  const menu = navigation.footer[currentLocale.code] ?? [];
75
75
  const socialNetworks = metadata.socialNetworks ?? [];
76
- const { extra, showDisclaimer = true } = (config == null ? void 0 : config.footer) ?? {};
76
+ const { extra, showDisclaimer = true, navigationColumns } = (config == null ? void 0 : config.footer) ?? {};
77
77
  const hasNavigation = !!menu.length;
78
78
  const hasSocialNetworks = !!socialNetworks.length;
79
79
  const hasExtra = !!extra;
@@ -85,7 +85,7 @@ const Footer = () => {
85
85
  color: useColorModeValue("gray.700", "gray.200"),
86
86
  py: 4,
87
87
  children: /* @__PURE__ */ jsxs(Container, { children: [
88
- hasNavigation && /* @__PURE__ */ jsx(Navigation$1, { menu }),
88
+ hasNavigation && /* @__PURE__ */ jsx(Navigation$1, { menu, columns: navigationColumns }),
89
89
  hasExtra && /* @__PURE__ */ jsx(Extra, { children: extra }),
90
90
  showDisclaimer && /* @__PURE__ */ jsx(Disclaimer, {}),
91
91
  /* @__PURE__ */ jsx(Brand$1, { brand: /* @__PURE__ */ jsx(Logo, {}) }),
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const index = require("../index-DdLlwS4n.js");
4
- const index$1 = require("../index-BNkvrBOj.js");
3
+ const index = require("../index-DXTC3R_J.js");
4
+ const index$1 = require("../index-B4M1IKzL.js");
5
5
  exports.MdxProvider = index.MdxProvider;
6
6
  exports.PageProvider = index$1.PageProvider;
7
7
  exports.SiteProvider = index$1.SiteProvider;
@@ -1,5 +1,5 @@
1
- import { M } from "../index-cY5WnaQc.mjs";
2
- import { P, S, u, a } from "../index-C3FKVt3V.mjs";
1
+ import { M } from "../index-D1gNEJUA.mjs";
2
+ import { P, S, u, a } from "../index-ClIPWZ3z.mjs";
3
3
  export {
4
4
  M as MdxProvider,
5
5
  P as PageProvider,
@@ -18,4 +18,5 @@ export interface IAnimation {
18
18
  params?: IAnimationParams;
19
19
  }
20
20
  export type AnimationGetter = (params?: IAnimationParams) => string;
21
+ export type CardHeight = 'full' | 'auto';
21
22
  export {};
@@ -4,5 +4,5 @@ import { ImageType } from '../image';
4
4
  export interface IGameCard extends IGame {
5
5
  url?: ILink['href'];
6
6
  image?: ImageType;
7
+ rating?: number;
7
8
  }
8
- export type GameCardHeight = 'full' | 'auto';
@@ -1,4 +1,4 @@
1
- type SocialNetwork = 'facebook' | 'x' | 'pinterest' | 'youtube' | 'instagram';
1
+ type SocialNetwork = 'facebook' | 'x' | 'pinterest' | 'youtube' | 'instagram' | 'linkedin';
2
2
  export interface ISocialNetwork {
3
3
  kind: SocialNetwork;
4
4
  url: string;
@@ -1,5 +1,5 @@
1
1
  import { ReactNode } from 'react';
2
- import { ImageType, INavigation, ISocialNetwork } from '../components';
2
+ import { GridColumns, ImageType, INavigation, ISocialNetwork } from '../components';
3
3
  import { ISeo } from '../content';
4
4
  import { Currency, ILocale } from '../i18n';
5
5
  interface ISiteHeaderConfig {
@@ -8,6 +8,7 @@ interface ISiteHeaderConfig {
8
8
  interface ISiteFooterConfig {
9
9
  extra?: ReactNode;
10
10
  showDisclaimer?: boolean;
11
+ navigationColumns?: GridColumns;
11
12
  }
12
13
  interface ISiteThemeConfig {
13
14
  isInvertedColor?: boolean;
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.2",
4
+ "version": "5.8.3",
5
5
  "keywords": [
6
6
  "react",
7
7
  "ui",