@anywayseo/tools 5.6.0 → 5.7.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 (92) hide show
  1. package/dist/components/action-button/index.d.ts +5 -0
  2. package/dist/components/article-card/index.d.ts +7 -0
  3. package/dist/components/article-card-grid/index.d.ts +7 -0
  4. package/dist/components/article-info-card/index.d.ts +5 -0
  5. package/dist/components/base/article-meta/index.d.ts +7 -0
  6. package/dist/components/base/article-meta/item/index.d.ts +7 -0
  7. package/dist/components/base/copy-text/index.d.ts +6 -0
  8. package/dist/components/base/grid/index.d.ts +2 -4
  9. package/dist/components/base/index.d.ts +3 -0
  10. package/dist/components/base/rating/index.d.ts +10 -0
  11. package/dist/components/bonus-card-grid/index.d.ts +2 -4
  12. package/dist/components/casino-table/index.d.ts +8 -0
  13. package/dist/components/casino-table/row/casino-actions/index.d.ts +8 -0
  14. package/dist/components/casino-table/row/casino-bonus/index.d.ts +8 -0
  15. package/dist/components/casino-table/row/casino-info/index.d.ts +7 -0
  16. package/dist/components/casino-table/row/casino-info/item/index.d.ts +7 -0
  17. package/dist/components/casino-table/row/casino-info/utils.d.ts +2 -0
  18. package/dist/components/casino-table/row/casino-license/index.d.ts +5 -0
  19. package/dist/components/casino-table/row/casino-logo/index.d.ts +9 -0
  20. package/dist/components/casino-table/row/casino-name/index.d.ts +8 -0
  21. package/dist/components/casino-table/row/cell/index.d.ts +7 -0
  22. package/dist/components/casino-table/row/index.d.ts +7 -0
  23. package/dist/components/feature-card-grid/index.d.ts +2 -4
  24. package/dist/components/game-card-grid/index.d.ts +2 -4
  25. package/dist/components/game-demo/content/index.d.ts +1 -1
  26. package/dist/components/game-demo/index.d.ts +2 -2
  27. package/dist/components/game-demo/preview/alert/index.d.ts +3 -0
  28. package/dist/components/game-demo/preview/index.d.ts +2 -1
  29. package/dist/components/index.cjs +12 -3
  30. package/dist/components/index.d.ts +6 -0
  31. package/dist/components/index.mjs +32 -23
  32. package/dist/components/informer/index.d.ts +9 -0
  33. package/dist/components/informer/utils.d.ts +5 -0
  34. package/dist/components/tip/index.d.ts +3 -0
  35. package/dist/hooks/index.cjs +2 -2
  36. package/dist/hooks/index.mjs +2 -2
  37. package/dist/i18n/index.cjs +1 -1
  38. package/dist/i18n/index.mjs +1 -1
  39. package/dist/i18n/resources/bg/index.d.ts +51 -0
  40. package/dist/i18n/resources/da/index.d.ts +51 -0
  41. package/dist/i18n/resources/de/index.d.ts +51 -0
  42. package/dist/i18n/resources/en/index.d.ts +51 -0
  43. package/dist/i18n/resources/fi/index.d.ts +51 -0
  44. package/dist/i18n/resources/fr/index.d.ts +51 -0
  45. package/dist/i18n/resources/it/index.d.ts +51 -0
  46. package/dist/i18n/resources/ka/index.d.ts +51 -0
  47. package/dist/i18n/resources/pt/index.d.ts +51 -0
  48. package/dist/i18n/resources/ru/index.d.ts +51 -0
  49. package/dist/{index-DMR4Ptkt.js → index-B-k9oWE7.js} +606 -10
  50. package/dist/{index-D4zJ5RBA.js → index-BFkFqBM7.js} +5 -4
  51. package/dist/index-BUz6iLeg.mjs +402 -0
  52. package/dist/index-BeJTy4iY.mjs +26 -0
  53. package/dist/index-BfITsKAr.js +25 -0
  54. package/dist/{index-Drz_7u2p.mjs → index-C7z5qqm_.mjs} +21 -23
  55. package/dist/{index-DYS7zQW4.mjs → index-CB0JfZMx.mjs} +1 -1
  56. package/dist/{index-CR5rM7at.js → index-CNyyTj_C.js} +37 -36
  57. package/dist/{index-CWMHJGbL.mjs → index-CVN8I7r9.mjs} +616 -20
  58. package/dist/index-CzAt2Bs2.js +401 -0
  59. package/dist/{index-5J1CqqcW.js → index-D15SAjJc.js} +1 -1
  60. package/dist/{index-BzbpMLDD.mjs → index-DHURrUMW.mjs} +1 -1
  61. package/dist/{index-JUwyHkmj.mjs → index-N0fjwTCB.mjs} +238 -69
  62. package/dist/{index-CyuHme_p.js → index-RL_4tl8T.js} +403 -234
  63. package/dist/{index-HLGPI9-S.mjs → index-ZivV_RbX.mjs} +30 -29
  64. package/dist/{index-WFgDSB1A.js → index-ma-iV7GU.js} +1 -1
  65. package/dist/{index-CkRY_NXp.js → index-qR3kVjjs.js} +20 -22
  66. package/dist/{index-C2T70CMa.mjs → index-s2a55HsU.mjs} +5 -4
  67. package/dist/index.cjs +24 -12
  68. package/dist/index.mjs +53 -41
  69. package/dist/layout/index.cjs +24 -13
  70. package/dist/layout/index.mjs +24 -13
  71. package/dist/providers/index.cjs +2 -2
  72. package/dist/providers/index.mjs +2 -2
  73. package/dist/types/components/article-card/index.d.ts +9 -0
  74. package/dist/types/components/button/index.d.ts +1 -1
  75. package/dist/types/components/casino/index.d.ts +32 -0
  76. package/dist/types/components/casino-info/index.d.ts +12 -0
  77. package/dist/types/components/common/index.d.ts +1 -1
  78. package/dist/types/components/game-info/index.d.ts +4 -8
  79. package/dist/types/components/grid/index.d.ts +4 -0
  80. package/dist/types/components/index.d.ts +4 -0
  81. package/dist/types/components/informer/index.d.ts +5 -0
  82. package/dist/types/components/strapi-component/index.d.ts +1 -1
  83. package/dist/types/content/article/index.d.ts +12 -0
  84. package/dist/types/content/index.d.ts +1 -0
  85. package/dist/types/i18n/index.d.ts +1 -1
  86. package/dist/utils/index.cjs +5 -5
  87. package/dist/utils/index.mjs +7 -7
  88. package/package.json +1 -1
  89. package/dist/index-B1PwYYQt.mjs +0 -24
  90. package/dist/index-B6wz_B9_.js +0 -145
  91. package/dist/index-C-ri0Fgy.js +0 -23
  92. package/dist/index-COv56GyV.mjs +0 -146
@@ -0,0 +1,401 @@
1
+ "use strict";
2
+ const jsxRuntime = require("react/jsx-runtime");
3
+ const react = require("@chakra-ui/react");
4
+ const index = require("./index-CNyyTj_C.js");
5
+ require("@mdx-js/react");
6
+ const reactI18next = require("react-i18next");
7
+ const index$2 = require("./index-C6MG_f24.js");
8
+ const index$3 = require("./index-B-k9oWE7.js");
9
+ require("react");
10
+ const icons = require("@chakra-ui/icons");
11
+ require("react-medium-image-zoom");
12
+ const index$1 = require("./index-D15SAjJc.js");
13
+ const index$4 = require("./index-qR3kVjjs.js");
14
+ const FacebookIcon = (props) => {
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
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "1", y: "1", width: "22", height: "22", rx: "5", fill: "none", stroke: "currentColor", strokeWidth: "2" }),
17
+ /* @__PURE__ */ jsxRuntime.jsx(
18
+ "path",
19
+ {
20
+ d: "M13.5 8h2V6h-2c-2.2 0-3.5 1.3-3.5 3.5V11H8v2h2v5h2v-5h2l.5-2h-2v-1.3c0-.5.2-.7 1-.7Z",
21
+ fill: "currentColor"
22
+ }
23
+ )
24
+ ] });
25
+ };
26
+ const InstagramIcon = (props) => {
27
+ return /* @__PURE__ */ jsxRuntime.jsxs(
28
+ "svg",
29
+ {
30
+ xmlns: "http://www.w3.org/2000/svg",
31
+ width: "24",
32
+ height: "24",
33
+ viewBox: "0 0 24 24",
34
+ "aria-label": "Instagram",
35
+ ...props,
36
+ children: [
37
+ /* @__PURE__ */ jsxRuntime.jsx("rect", { x: "1", y: "1", width: "22", height: "22", rx: "5", fill: "none", stroke: "currentColor", strokeWidth: "2" }),
38
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "12", r: "4", fill: "none", stroke: "currentColor", strokeWidth: "2" }),
39
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "17", cy: "7", r: "1.25", fill: "currentColor" })
40
+ ]
41
+ }
42
+ );
43
+ };
44
+ const PinterestIcon = (props) => {
45
+ return /* @__PURE__ */ jsxRuntime.jsx(
46
+ "svg",
47
+ {
48
+ xmlns: "http://www.w3.org/2000/svg",
49
+ width: "24",
50
+ height: "24",
51
+ viewBox: "0 0 24 24",
52
+ "aria-label": "Pinterest",
53
+ ...props,
54
+ children: /* @__PURE__ */ jsxRuntime.jsx(
55
+ "path",
56
+ {
57
+ fill: "currentColor",
58
+ d: "M12 0C5.373 0 0 5.373 0 12c0 4.99 3.657 9.128 8.438 10.122-.117-.858-.222-2.178.047-3.116.242-.83 1.557-5.288 1.557-5.288s-.396-.792-.396-1.963c0-1.84 1.067-3.215 2.395-3.215 1.13 0 1.675.848 1.675 1.866 0 1.138-.724 2.842-1.097 4.421-.312 1.319.663 2.395 1.965 2.395 2.358 0 3.947-3.032 3.947-6.617 0-2.727-1.84-4.769-5.178-4.769-3.774 0-6.134 2.822-6.134 5.97 0 1.086.322 1.852.827 2.443.232.274.264.384.18.698-.06.23-.197.786-.256 1.007-.084.322-.34.437-.628.318-1.75-.714-2.564-2.63-2.564-4.785 0-3.555 2.998-7.817 8.946-7.817 4.782 0 7.923 3.454 7.923 7.168 0 4.924-2.74 8.6-6.781 8.6-1.356 0-2.63-.73-3.066-1.565l-.833 3.173c-.301 1.147-1.118 2.582-1.667 3.455C9.708 23.812 10.828 24 12 24c6.627 0 12-5.373 12-12S18.627 0 12 0z"
59
+ }
60
+ )
61
+ }
62
+ );
63
+ };
64
+ const XcomIcon = (props) => {
65
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", "aria-label": "X", ...props, children: /* @__PURE__ */ jsxRuntime.jsx(
66
+ "path",
67
+ {
68
+ fill: "currentColor",
69
+ d: "M18.244 2H21l-6.57 7.498L22 22h-5.657l-4.403-5.808L6.06 22H3.302l7.02-8.006L2 2h5.822l3.983 5.293L18.244 2zM16.97 20h1.9L8.153 4h-1.9L16.97 20z"
70
+ }
71
+ ) });
72
+ };
73
+ const YoutubeIcon = (props) => {
74
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", "aria-label": "YouTube", ...props, children: /* @__PURE__ */ jsxRuntime.jsx(
75
+ "path",
76
+ {
77
+ fill: "currentColor",
78
+ d: "M23.498 6.186a2.974 2.974 0 0 0-2.095-2.107C19.505 3.5 12 3.5 12 3.5s-7.505 0-9.403.579A2.974 2.974 0 0 0 .502 6.186C0 8.09 0 12 0 12s0 3.91.502 5.814a2.974 2.974 0 0 0 2.095 2.107C4.495 20.5 12 20.5 12 20.5s7.505 0 9.403-.579a2.974 2.974 0 0 0 2.095-2.107C24 15.91 24 12 24 12s0-3.91-.502-5.814zM9.75 15.02V8.98L15.5 12l-5.75 3.02z"
79
+ }
80
+ ) });
81
+ };
82
+ const SocialNetworkMap = {
83
+ facebook: FacebookIcon,
84
+ instagram: InstagramIcon,
85
+ pinterest: PinterestIcon,
86
+ x: XcomIcon,
87
+ youtube: YoutubeIcon
88
+ };
89
+ const SocialNetwork = ({ kind, url }) => {
90
+ const Icon = SocialNetworkMap[kind];
91
+ return /* @__PURE__ */ jsxRuntime.jsx(index.Link, { to: url, children: /* @__PURE__ */ jsxRuntime.jsx(Icon, {}) });
92
+ };
93
+ const SocialNetworks = ({ socialNetworks, ...flexProps }) => {
94
+ const uniqueSocialNetworks = [...new Map(socialNetworks.map((item) => [item.kind, item])).values()];
95
+ return /* @__PURE__ */ jsxRuntime.jsx(react.Flex, { gap: 2, ...flexProps, children: uniqueSocialNetworks.map((socialNetwork) => /* @__PURE__ */ jsxRuntime.jsx(SocialNetwork, { ...socialNetwork }, socialNetwork.kind)) });
96
+ };
97
+ const Container = ({ children }) => {
98
+ return /* @__PURE__ */ jsxRuntime.jsx(react.Container, { maxW: "container.xl", children });
99
+ };
100
+ const CopyText = ({ value }) => {
101
+ const backgroundColor = react.useColorModeValue("gray.200", "gray.700");
102
+ const toast = react.useToast();
103
+ const { t } = reactI18next.useTranslation("copyText");
104
+ const { hasCopied, onCopy } = react.useClipboard(value);
105
+ function handleCopy() {
106
+ onCopy();
107
+ toast({ title: t("title"), status: "success", duration: 2e3, isClosable: true });
108
+ }
109
+ return /* @__PURE__ */ jsxRuntime.jsxs(react.Flex, { align: "center", gap: 2, backgroundColor, ps: 4, rounded: "lg", children: [
110
+ /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontFamily: "mono", children: value }),
111
+ /* @__PURE__ */ jsxRuntime.jsx(
112
+ react.IconButton,
113
+ {
114
+ icon: hasCopied ? /* @__PURE__ */ jsxRuntime.jsx(icons.CheckIcon, {}) : /* @__PURE__ */ jsxRuntime.jsx(icons.CopyIcon, {}),
115
+ "aria-label": "Copy to clipboard",
116
+ size: "sm",
117
+ variant: "ghost",
118
+ colorScheme: hasCopied ? "green" : "gray",
119
+ onClick: handleCopy
120
+ }
121
+ )
122
+ ] });
123
+ };
124
+ const LinkButton = ({
125
+ label,
126
+ href,
127
+ linkType = "redirect",
128
+ size = "auto",
129
+ width = "auto",
130
+ textTransform,
131
+ textDecoration,
132
+ animation,
133
+ onClick,
134
+ ...boxProps
135
+ }) => {
136
+ var _a;
137
+ const { config } = index.useSiteContext();
138
+ const { color, invertedColor } = index$1.usePrimaryColors();
139
+ const isInvertedColor = (_a = config == null ? void 0 : config.theme) == null ? void 0 : _a.isInvertedColor;
140
+ return /* @__PURE__ */ jsxRuntime.jsx(
141
+ react.Button,
142
+ {
143
+ w: width,
144
+ size: size === "auto" ? { base: "sm", md: "lg" } : size,
145
+ bg: "brand.500",
146
+ color: isInvertedColor ? invertedColor : color,
147
+ animation: animation ? index$2.Animation[animation.type](animation.params) : void 0,
148
+ textTransform,
149
+ _hover: { textDecoration, bg: "brand.200" },
150
+ _active: { transform: "scale(0.95)" },
151
+ onClick,
152
+ ...boxProps,
153
+ ...href && {
154
+ as: index.Link,
155
+ to: href,
156
+ isRedirectLink: linkType === "redirect"
157
+ },
158
+ children: label
159
+ }
160
+ );
161
+ };
162
+ const Logo = () => {
163
+ const { metadata } = index.useSiteContext();
164
+ 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" }) });
166
+ };
167
+ const StarSizeMap = {
168
+ sm: 12,
169
+ md: 16,
170
+ lg: 20
171
+ };
172
+ const FontSizeMap = {
173
+ sm: "xs",
174
+ md: "sm",
175
+ lg: "md"
176
+ };
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) => {
180
+ const index2 = i + 1;
181
+ const isActive = index2 <= current;
182
+ return /* @__PURE__ */ jsxRuntime.jsx(
183
+ icons.StarIcon,
184
+ {
185
+ boxSize: StarSizeMap[size],
186
+ color: isActive ? "var(--chakra-colors-yellow-400)" : "gray"
187
+ },
188
+ index2
189
+ );
190
+ }) });
191
+ return hasLabel ? /* @__PURE__ */ jsxRuntime.jsxs(react.Stack, { spacing: 1, align: "center", children: [
192
+ stars,
193
+ /* @__PURE__ */ jsxRuntime.jsxs(react.Text, { fontSize: FontSizeMap[size], children: [
194
+ current,
195
+ " / ",
196
+ max
197
+ ] })
198
+ ] }) : stars;
199
+ };
200
+ const CasinoActions = ({ referralUrl, reviewUrl }) => {
201
+ const { t } = reactI18next.useTranslation("casinoTable");
202
+ const referralLinkLabel = t("row.actions.getBonus");
203
+ const reviewLinkLabel = t("row.actions.readReview");
204
+ return /* @__PURE__ */ jsxRuntime.jsxs(react.Stack, { children: [
205
+ !!referralUrl && /* @__PURE__ */ jsxRuntime.jsx(
206
+ LinkButton,
207
+ {
208
+ href: referralUrl,
209
+ label: referralLinkLabel,
210
+ textDecoration: "none",
211
+ size: { base: "sm", md: "md", lg: "lg" }
212
+ }
213
+ ),
214
+ !!reviewUrl && /* @__PURE__ */ jsxRuntime.jsx(index.Link, { to: reviewUrl, fontSize: "sm", children: reviewLinkLabel })
215
+ ] });
216
+ };
217
+ const CasinoBonus = ({ bonus, promoCode }) => {
218
+ return /* @__PURE__ */ jsxRuntime.jsxs(react.Stack, { gap: 3, align: "center", children: [
219
+ /* @__PURE__ */ jsxRuntime.jsx(react.Text, { fontSize: "xl", children: bonus }),
220
+ !!promoCode && /* @__PURE__ */ jsxRuntime.jsx(CopyText, { value: promoCode })
221
+ ] });
222
+ };
223
+ const CasinoInfoItem = ({ label, value }) => {
224
+ const color = react.useColorModeValue("gray.500", "gray.300");
225
+ return /* @__PURE__ */ jsxRuntime.jsxs(react.Text, { display: "inline-flex", justifyContent: "space-between", gap: 2, w: "full", textAlign: "end", children: [
226
+ /* @__PURE__ */ jsxRuntime.jsxs(react.Text, { as: "span", color, fontSize: "xs", fontWeight: "semibold", textAlign: "start", me: 1, children: [
227
+ label,
228
+ ":"
229
+ ] }),
230
+ value
231
+ ] });
232
+ };
233
+ function getCasinoInfoItemValue(key, value, locale) {
234
+ let formattedValue = "";
235
+ if (typeof value !== "string") {
236
+ if (key === index$3.CasinoCharacteristic.Rtp) {
237
+ formattedValue = index$4.formatNumber(value, { percent: "real", precision: 3 });
238
+ }
239
+ if (key === index$3.CasinoCharacteristic.MidDeposit) {
240
+ formattedValue = index$4.formatNumber(value, { locale });
241
+ }
242
+ }
243
+ if (!formattedValue) {
244
+ formattedValue = value.toLocaleString();
245
+ }
246
+ return formattedValue;
247
+ }
248
+ const CasinoInfo = ({ info }) => {
249
+ const { currentLocale } = index.usePageContext();
250
+ const { t } = reactI18next.useTranslation("casinoInfo");
251
+ return /* @__PURE__ */ jsxRuntime.jsx(react.Card, { py: 1, px: 2, w: "100%", children: /* @__PURE__ */ jsxRuntime.jsx(react.Stack, { gap: 1, align: "start", children: Object.entries(info).map(([itemKey, itemValue]) => {
252
+ if (!itemValue) {
253
+ return null;
254
+ }
255
+ const label = itemKey;
256
+ const value = getCasinoInfoItemValue(label, itemValue, currentLocale.code);
257
+ return /* @__PURE__ */ jsxRuntime.jsx(CasinoInfoItem, { label: t(`feature.${label}`), value }, label);
258
+ }) }) });
259
+ };
260
+ const CasinoLicense = ({ name, image }) => {
261
+ return /* @__PURE__ */ jsxRuntime.jsx(react.Flex, { align: "top", justify: "center", w: "full", h: "full", children: /* @__PURE__ */ jsxRuntime.jsx(index.Image, { src: image, alt: name, title: name, w: { base: "16", md: "12" }, rounded: "lg" }) });
262
+ };
263
+ const CasinoLogo = ({ name, image, isBestChoice }) => {
264
+ const { t } = reactI18next.useTranslation("casinoTable");
265
+ const background = react.useColorModeValue("gray.100", "gray.700");
266
+ return /* @__PURE__ */ jsxRuntime.jsxs(react.Box, { position: "relative", display: "inline-block", w: "100%", children: [
267
+ /* @__PURE__ */ jsxRuntime.jsx(index.Image, { src: image, alt: name, title: name, borderRadius: "md", w: "100%", objectFit: "cover" }),
268
+ isBestChoice && /* @__PURE__ */ jsxRuntime.jsx(
269
+ react.Badge,
270
+ {
271
+ position: "absolute",
272
+ top: 1,
273
+ left: 1,
274
+ fontSize: "2xs",
275
+ px: 1,
276
+ borderRadius: "md",
277
+ shadow: "md",
278
+ colorScheme: "brand",
279
+ background,
280
+ children: t("row.logo.bestChoiceBadge")
281
+ }
282
+ )
283
+ ] });
284
+ };
285
+ const CasinoName = ({ name, rating }) => {
286
+ return /* @__PURE__ */ jsxRuntime.jsxs(react.Stack, { gap: 3, w: "full", children: [
287
+ /* @__PURE__ */ jsxRuntime.jsx(react.Text, { children: name }),
288
+ /* @__PURE__ */ jsxRuntime.jsx(Rating, { value: rating, size: "sm", hasLabel: true })
289
+ ] });
290
+ };
291
+ const Cell = ({ children, borderColor, ...props }) => {
292
+ return /* @__PURE__ */ jsxRuntime.jsx(
293
+ react.Td,
294
+ {
295
+ textAlign: "center",
296
+ p: 2,
297
+ borderBottom: { base: "none", md: "1px solid" },
298
+ borderBottomColor: { base: "none", md: borderColor },
299
+ ...props,
300
+ children
301
+ }
302
+ );
303
+ };
304
+ const CasinoTableRow = ({ casino }) => {
305
+ const { id, image, name, rating, bonus, promoCode, license, info, referralUrl, reviewUrl } = casino;
306
+ const borderColor = react.useColorModeValue("gray.200", "whiteAlpha.300");
307
+ return /* @__PURE__ */ jsxRuntime.jsxs(
308
+ react.Tr,
309
+ {
310
+ display: { base: "inline-block", md: "table-row" },
311
+ w: { base: "100%", md: "auto" },
312
+ p: { base: 4, md: 0 },
313
+ mb: { base: 4, md: 0 },
314
+ border: { base: "1px solid", md: "none" },
315
+ borderColor,
316
+ borderRadius: "xl",
317
+ overflow: "hidden",
318
+ children: [
319
+ /* @__PURE__ */ jsxRuntime.jsx(Cell, { display: { base: "none", md: "table-cell" }, borderColor, children: id }),
320
+ /* @__PURE__ */ jsxRuntime.jsx(
321
+ Cell,
322
+ {
323
+ display: { base: "block", md: "table-cell" },
324
+ w: { base: "full", md: 200 },
325
+ minW: 100,
326
+ borderColor,
327
+ children: /* @__PURE__ */ jsxRuntime.jsx(CasinoLogo, { name, image, isBestChoice: id === "1" })
328
+ }
329
+ ),
330
+ /* @__PURE__ */ jsxRuntime.jsx(
331
+ Cell,
332
+ {
333
+ display: { base: "inline-flex", md: "table-cell" },
334
+ w: { base: license ? "50%" : "full", md: "auto" },
335
+ borderColor,
336
+ children: /* @__PURE__ */ jsxRuntime.jsx(CasinoName, { name, rating })
337
+ }
338
+ ),
339
+ /* @__PURE__ */ jsxRuntime.jsx(
340
+ Cell,
341
+ {
342
+ display: { base: license ? "inline-flex" : "none", md: "table-cell" },
343
+ w: { base: "50%", md: "16" },
344
+ borderColor,
345
+ children: license ? /* @__PURE__ */ jsxRuntime.jsx(CasinoLicense, { ...license }) : "—"
346
+ }
347
+ ),
348
+ /* @__PURE__ */ jsxRuntime.jsx(
349
+ Cell,
350
+ {
351
+ display: { base: "block", sm: info ? "inline-flex" : "block", md: "table-cell" },
352
+ w: { base: "full", sm: info ? "60%" : "full", md: "auto" },
353
+ borderColor,
354
+ children: /* @__PURE__ */ jsxRuntime.jsx(CasinoBonus, { bonus, promoCode })
355
+ }
356
+ ),
357
+ /* @__PURE__ */ jsxRuntime.jsx(
358
+ Cell,
359
+ {
360
+ display: { base: info ? "block" : "none", sm: info ? "inline-flex" : "none", md: "table-cell" },
361
+ w: { base: "full", sm: "40%", md: "40" },
362
+ borderColor,
363
+ children: info ? /* @__PURE__ */ jsxRuntime.jsx(CasinoInfo, { info }) : "—"
364
+ }
365
+ ),
366
+ /* @__PURE__ */ jsxRuntime.jsx(Cell, { display: { base: "block", md: "table-cell" }, borderColor, children: /* @__PURE__ */ jsxRuntime.jsx(CasinoActions, { referralUrl, reviewUrl }) })
367
+ ]
368
+ }
369
+ );
370
+ };
371
+ const columns = [
372
+ index$3.CasinoTableColumn.ID,
373
+ index$3.CasinoTableColumn.Logo,
374
+ index$3.CasinoTableColumn.Name,
375
+ index$3.CasinoTableColumn.License,
376
+ index$3.CasinoTableColumn.Bonus,
377
+ index$3.CasinoTableColumn.Info,
378
+ index$3.CasinoTableColumn.Actions
379
+ ];
380
+ const CasinoTable = ({ casinos, showHeader = false }) => {
381
+ const { t } = reactI18next.useTranslation("casinoTable");
382
+ return /* @__PURE__ */ jsxRuntime.jsxs(react.Table, { variant: "simple", size: "md", children: [
383
+ /* @__PURE__ */ jsxRuntime.jsx(
384
+ react.Thead,
385
+ {
386
+ position: { base: "absolute", md: showHeader ? "static" : "absolute" },
387
+ opacity: { base: 0, md: showHeader ? "initial" : 0 },
388
+ 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
+ }
390
+ ),
391
+ /* @__PURE__ */ jsxRuntime.jsx(react.Tbody, { children: casinos.map(({ id, ...casino }, index2) => /* @__PURE__ */ jsxRuntime.jsx(CasinoTableRow, { casino: { id: String(index2 + 1), ...casino } }, id)) })
392
+ ] });
393
+ };
394
+ exports.CasinoTable = CasinoTable;
395
+ exports.Container = Container;
396
+ exports.CopyText = CopyText;
397
+ exports.LinkButton = LinkButton;
398
+ exports.Logo = Logo;
399
+ exports.Rating = Rating;
400
+ exports.SocialNetwork = SocialNetwork;
401
+ exports.SocialNetworks = SocialNetworks;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  const react = require("@chakra-ui/react");
3
3
  require("./index-C6MG_f24.js");
4
- require("./index-DMR4Ptkt.js");
4
+ require("./index-B-k9oWE7.js");
5
5
  const index = require("./index-CbuiYkSg.js");
6
6
  function usePrimaryColors() {
7
7
  const color = react.useColorModeValue(index.LIGHT_THEME_COLOR, index.DARK_THEME_COLOR);
@@ -7,7 +7,7 @@ function useLocalization({ location, defaultLocale, locales }) {
7
7
  useEffect(() => {
8
8
  const cleanPath = path.replace(/^\/+|\/+$/g, "");
9
9
  const maybeLocaleCode = cleanPath.split("/")[0];
10
- const maybeLocale = locales.find(({ code }) => code === maybeLocaleCode);
10
+ const maybeLocale = locales.find(({ code }) => code.toLowerCase() === maybeLocaleCode.toLowerCase());
11
11
  const locale = maybeLocale ? maybeLocale : defaultLocale;
12
12
  if (locale.code !== currentLocale.code) {
13
13
  setCurrentLocale(locale);