highsoft-ui 1.0.116 → 1.0.118

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 (94) hide show
  1. package/.cursorrules +845 -0
  2. package/CLAUDE.md +845 -0
  3. package/dist/Box-Bi-n_ZxQ.js +69 -0
  4. package/dist/Button-CJp__tle.js +63 -0
  5. package/dist/ButtonGroup-M9-A5Xva.js +53 -0
  6. package/dist/{Container-LAkF4ShX.js → Container-DI2smQRq.js} +1 -1
  7. package/dist/{CookiePolicyModal-B2mvebvV.js → CookiePolicyModal-BZkVbILl.js} +9 -43
  8. package/dist/CopyCode-BLXf0o74.js +40 -0
  9. package/dist/DiscordInvite-Mkr81Pib.js +92 -0
  10. package/dist/Footer-bUIou6Hl.js +83 -0
  11. package/dist/FooterBottom-_AezmdZB.js +133 -0
  12. package/dist/FooterHelp-CdeMRh1G.js +112 -0
  13. package/dist/FooterLinks-BUKcScC4.js +287 -0
  14. package/dist/{GPTInput-DRFGKJ2u.js → GPTInput-DKxJOGYt.js} +1 -1
  15. package/dist/{Header-BW8ilZxt.js → Header-6RIZc0v3.js} +90 -85
  16. package/dist/Heading-DuolDa27.js +19 -0
  17. package/dist/Icon-Dwo9ZDNX.js +31 -0
  18. package/dist/InputGrouped-CiA86XL7.js +221 -0
  19. package/dist/InputSolo-cLqKBh1c.js +122 -0
  20. package/dist/Label-BH3YxfNt.js +29 -0
  21. package/dist/Link-DGMiLJES.js +21 -0
  22. package/dist/{Logo-CZ5LYqub.js → Logo-h9bQL-cT.js} +1 -1
  23. package/dist/NewsletterSignup-eGx4jwiM.js +137 -0
  24. package/dist/{Notification-DHcQtd1k.js → Notification-CJ3iQv3Z.js} +6 -6
  25. package/dist/{PrefPanel-BTX6RAo4.js → PrefPanel-25erkPRB.js} +8 -8
  26. package/dist/{Search-DAPCZo13.js → Search-CDHkDXCm.js} +15 -15
  27. package/dist/Typography-nzBx3Yxn.js +49 -0
  28. package/dist/YoutubeModal-DNaiM6RL.js +89 -0
  29. package/dist/components/Box/index.js +2 -0
  30. package/dist/components/Button/index.js +1 -1
  31. package/dist/components/ButtonGroup/index.js +2 -0
  32. package/dist/components/Container/index.js +1 -1
  33. package/dist/components/CopyCode/index.js +2 -0
  34. package/dist/components/CopyCommand/index.js +2 -0
  35. package/dist/components/DiscordInvite/index.js +2 -0
  36. package/dist/components/Footer/CookiePolicyModal.js +1 -1
  37. package/dist/components/Footer/FooterBottom.js +2 -0
  38. package/dist/components/Footer/FooterHelp.js +2 -0
  39. package/dist/components/Footer/FooterLinks.js +2 -0
  40. package/dist/components/Footer/YoutubeModal.js +2 -0
  41. package/dist/components/Footer/index.js +1 -1
  42. package/dist/components/GPTInput/index.js +1 -1
  43. package/dist/components/Header/index.js +1 -1
  44. package/dist/components/Heading/index.js +2 -0
  45. package/dist/components/Icon/index.js +2 -0
  46. package/dist/components/InputGrouped/index.js +2 -0
  47. package/dist/components/InputSolo/index.js +2 -0
  48. package/dist/components/Label/index.js +2 -0
  49. package/dist/components/Link/index.js +2 -0
  50. package/dist/components/Logo/index.js +1 -1
  51. package/dist/components/NewsletterSignup/index.js +2 -0
  52. package/dist/components/Notification/index.js +1 -1
  53. package/dist/components/PrefPanel/index.js +1 -1
  54. package/dist/components/Search/index.js +1 -1
  55. package/dist/components/Typography/index.js +2 -0
  56. package/dist/{dist-CjrKJb_1.js → dist-GNbC83fc.js} +1 -1
  57. package/dist/{dist-0f0-S8_q.js → dist-fJmWSp8_.js} +1 -1
  58. package/dist/{esm-C1TDRARf.js → esm-T3Xn_ZHF.js} +208 -104
  59. package/dist/fa-ByhY-7YY.js +187 -0
  60. package/dist/highsoft-ui.css +1 -1
  61. package/dist/lib/components/Box/index.d.ts +28 -0
  62. package/dist/lib/components/Button/index.d.ts +9 -1
  63. package/dist/lib/components/ButtonGroup/index.d.ts +29 -0
  64. package/dist/lib/components/CopyCode/index.d.ts +12 -0
  65. package/dist/lib/components/CopyCommand/index.d.ts +6 -0
  66. package/dist/lib/components/DiscordInvite/index.d.ts +8 -0
  67. package/dist/lib/components/Footer/FooterBottom.d.ts +7 -0
  68. package/dist/lib/components/Footer/FooterHelp.d.ts +7 -0
  69. package/dist/lib/components/Footer/FooterLinks.d.ts +7 -0
  70. package/dist/lib/components/Footer/YoutubeModal.d.ts +1 -0
  71. package/dist/lib/components/Header/index.d.ts +14 -9
  72. package/dist/lib/components/Heading/index.d.ts +8 -0
  73. package/dist/lib/components/Icon/index.d.ts +26 -0
  74. package/dist/lib/components/InputGrouped/index.d.ts +60 -0
  75. package/dist/lib/components/InputSolo/index.d.ts +23 -0
  76. package/dist/lib/components/Label/index.d.ts +25 -0
  77. package/dist/lib/components/Link/index.d.ts +15 -0
  78. package/dist/lib/components/NewsletterSignup/index.d.ts +33 -0
  79. package/dist/lib/components/Typography/index.d.ts +13 -0
  80. package/dist/lib/main.d.ts +30 -3
  81. package/dist/lib/utils.d.ts +28 -0
  82. package/dist/main.js +23 -12
  83. package/dist/scss/mixins.scss +36 -0
  84. package/dist/scss/variables.scss +107 -0
  85. package/dist/{utils-C4QGLbxr.js → utils-BCI5dixg.js} +35 -15
  86. package/dist/utils.js +2 -2
  87. package/package.json +14 -6
  88. package/dist/Button-9RIB8ZR0.js +0 -47
  89. package/dist/Footer-COn-JnC7.js +0 -784
  90. package/dist/NewTag-C-3mRyvV.js +0 -26
  91. package/dist/components/NewTag/index.js +0 -2
  92. package/dist/lib/components/NewTag/index.d.ts +0 -8
  93. /package/dist/{clsx-ROFf4vs9.js → clsx-D7D_XZ_-.js} +0 -0
  94. /package/dist/{es2015-CzBBLWyD.js → es2015-C6iv4436.js} +0 -0
@@ -0,0 +1,69 @@
1
+ import { forwardRef as e } from "react";
2
+ import { jsx as t } from "react/jsx-runtime";
3
+ var n = {
4
+ "bg-0": "__OayG_bg-0",
5
+ "bg-100": "__OayG_bg-100",
6
+ "bg-50": "__OayG_bg-50",
7
+ "border-200": "__OayG_border-200",
8
+ "border-300": "__OayG_border-300",
9
+ bordered: "__OayG_bordered",
10
+ box: "__OayG_box",
11
+ "gap-0": "__OayG_gap-0",
12
+ "gap-1000": "__OayG_gap-1000",
13
+ "gap-200": "__OayG_gap-200",
14
+ "gap-400": "__OayG_gap-400",
15
+ "gap-600": "__OayG_gap-600",
16
+ "gap-700": "__OayG_gap-700",
17
+ "gap-800": "__OayG_gap-800",
18
+ "gap-900": "__OayG_gap-900",
19
+ hoverable: "__OayG_hoverable",
20
+ "padding-0": "__OayG_padding-0",
21
+ "padding-100": "__OayG_padding-100",
22
+ "padding-1000": "__OayG_padding-1000",
23
+ "padding-200": "__OayG_padding-200",
24
+ "padding-300": "__OayG_padding-300",
25
+ "padding-400": "__OayG_padding-400",
26
+ "padding-500": "__OayG_padding-500",
27
+ "padding-600": "__OayG_padding-600",
28
+ "padding-700": "__OayG_padding-700",
29
+ "padding-800": "__OayG_padding-800",
30
+ "padding-900": "__OayG_padding-900",
31
+ "radius-0": "__OayG_radius-0",
32
+ "radius-16": "__OayG_radius-16",
33
+ "radius-32": "__OayG_radius-32",
34
+ "radius-4": "__OayG_radius-4",
35
+ "radius-8": "__OayG_radius-8",
36
+ "shadow-100": "__OayG_shadow-100",
37
+ "shadow-200": "__OayG_shadow-200",
38
+ "shadow-300": "__OayG_shadow-300",
39
+ "shadow-50": "__OayG_shadow-50"
40
+ }, r = e(function({ as: e, background: r = 0, border: i = !0, radius: a = 8, padding: o = 600, gap: s, shadow: c, hoverable: l, className: u, style: d, children: f, ...p }, m) {
41
+ return /* @__PURE__ */ t(e || "div", {
42
+ ref: m,
43
+ className: [
44
+ n.box,
45
+ r !== void 0 && n[`bg-${r}`],
46
+ i === !0 && n.bordered,
47
+ i === 200 && `${n.bordered} ${n["border-200"]}`,
48
+ i === 300 && `${n.bordered} ${n["border-300"]}`,
49
+ i === 100 && n.bordered,
50
+ a !== void 0 && n[`radius-${a}`],
51
+ o !== void 0 && n[`padding-${o}`],
52
+ s !== void 0 && n[`gap-${s}`],
53
+ c !== void 0 && n[`shadow-${c}`],
54
+ l && n.hoverable,
55
+ u
56
+ ].filter(Boolean).join(" "),
57
+ style: {
58
+ ...s === void 0 ? {} : {
59
+ display: "flex",
60
+ flexDirection: "column"
61
+ },
62
+ ...d
63
+ },
64
+ ...p,
65
+ children: f
66
+ });
67
+ });
68
+ //#endregion
69
+ export { r as t };
@@ -0,0 +1,63 @@
1
+ import { t as e } from "./clsx-D7D_XZ_-.js";
2
+ import { b as t } from "./esm-T3Xn_ZHF.js";
3
+ import { forwardRef as n } from "react";
4
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
+ var a = {
6
+ attention: "QF-Hta_attention",
7
+ brand: "QF-Hta_brand",
8
+ button: "QF-Hta_button",
9
+ content: "QF-Hta_content",
10
+ danger: "QF-Hta_danger",
11
+ disabled: "QF-Hta_disabled",
12
+ full: "QF-Hta_full",
13
+ hidden: "QF-Hta_hidden",
14
+ loader: "QF-Hta_loader",
15
+ loading: "QF-Hta_loading",
16
+ neutral: "QF-Hta_neutral",
17
+ plain: "QF-Hta_plain",
18
+ "size-100": "QF-Hta_size-100",
19
+ "size-200": "QF-Hta_size-200",
20
+ "size-300": "QF-Hta_size-300",
21
+ "size-400": "QF-Hta_size-400",
22
+ "size-50": "QF-Hta_size-50",
23
+ "size-500": "QF-Hta_size-500",
24
+ soft: "QF-Hta_soft",
25
+ spin: "QF-Hta_spin",
26
+ spinner: "QF-Hta_spinner",
27
+ success: "QF-Hta_success",
28
+ transparent: "QF-Hta_transparent"
29
+ }, o = n(({ children: n, variant: o = "neutral", size: s = 200, fullWidth: c = !1, loading: l, iconLeft: u, iconRight: d, as: f, disabled: p, className: m, href: h, type: g, onClick: _, ...v }, y) => {
30
+ let b = o === "white" ? "soft" : o, x = f || (h ? "a" : "button"), S = x === "button", C = p || l;
31
+ return /* @__PURE__ */ i(x, {
32
+ className: e("hsui-button", m, a.button, a[b], a[`size-${s}`], {
33
+ [a.full]: c,
34
+ [a.loading]: l,
35
+ [a.disabled]: !S && C
36
+ }),
37
+ ref: y,
38
+ onClick: !S && C ? (e) => e.preventDefault() : _,
39
+ ...S ? {
40
+ type: g || "button",
41
+ disabled: C
42
+ } : {
43
+ href: C ? void 0 : h,
44
+ role: "button",
45
+ "aria-disabled": C || void 0,
46
+ tabIndex: C ? -1 : 0
47
+ },
48
+ ...v,
49
+ children: [l && /* @__PURE__ */ r("span", {
50
+ className: a.loader,
51
+ children: /* @__PURE__ */ r(t, { className: a.spinner })
52
+ }), /* @__PURE__ */ i("span", {
53
+ className: e(a.content, { [a.hidden]: l }),
54
+ children: [
55
+ u,
56
+ n,
57
+ d
58
+ ]
59
+ })]
60
+ });
61
+ });
62
+ //#endregion
63
+ export { o as t };
@@ -0,0 +1,53 @@
1
+ import { t as e } from "./clsx-D7D_XZ_-.js";
2
+ import { t } from "./Button-CJp__tle.js";
3
+ import { useEffect as n, useState as r } from "react";
4
+ import { jsx as i } from "react/jsx-runtime";
5
+ var a = {
6
+ buttonGroup: "qkD_Ga_buttonGroup",
7
+ full: "qkD_Ga_full",
8
+ item: "qkD_Ga_item",
9
+ itemSelected: "qkD_Ga_itemSelected",
10
+ "size-100": "qkD_Ga_size-100",
11
+ "size-200": "qkD_Ga_size-200",
12
+ "size-300": "qkD_Ga_size-300",
13
+ "size-400": "qkD_Ga_size-400",
14
+ "size-50": "qkD_Ga_size-50",
15
+ "size-500": "qkD_Ga_size-500"
16
+ };
17
+ //#endregion
18
+ //#region lib/components/ButtonGroup/index.tsx
19
+ function o({ items: o, value: s, defaultValue: c, onChange: l, size: u = 200, fullWidth: d = !1, className: f, ...p }) {
20
+ let m = o.find((e) => !e.disabled)?.value, [h, g] = r(c ?? m);
21
+ n(() => {
22
+ s === void 0 && (o.some((e) => e.value === h && !e.disabled) || g(m));
23
+ }, [
24
+ m,
25
+ h,
26
+ o,
27
+ s
28
+ ]);
29
+ let _ = s ?? h, v = (e, t) => {
30
+ t.buttonProps?.onClick?.(e), !(e.defaultPrevented || t.disabled) && (s === void 0 && g(t.value), t.value !== _ && l?.(t.value, t));
31
+ };
32
+ return /* @__PURE__ */ i("div", {
33
+ className: e("hsui-button-group", a.buttonGroup, a[`size-${u}`], { [a.full]: d }, f),
34
+ role: "group",
35
+ ...p,
36
+ children: o.map((n) => {
37
+ let r = n.value === _;
38
+ return /* @__PURE__ */ i(t, {
39
+ ...n.buttonProps,
40
+ className: e(a.item, n.buttonProps?.className, { [a.itemSelected]: r }),
41
+ variant: r ? "soft" : "plain",
42
+ size: u,
43
+ iconLeft: n.iconLeft,
44
+ disabled: n.disabled,
45
+ "aria-pressed": r,
46
+ onClick: (e) => v(e, n),
47
+ children: n.label
48
+ }, n.value);
49
+ })
50
+ });
51
+ }
52
+ //#endregion
53
+ export { o as t };
@@ -1,4 +1,4 @@
1
- import { t as e } from "./clsx-ROFf4vs9.js";
1
+ import { t as e } from "./clsx-D7D_XZ_-.js";
2
2
  import { forwardRef as t } from "react";
3
3
  import { jsx as n } from "react/jsx-runtime";
4
4
  var r = { container: "mkfCBG_container" }, i = t(({ children: t, className: i, as: a = "div", ...o }, s) => /* @__PURE__ */ n(a, {
@@ -1,47 +1,13 @@
1
- import { t as e } from "./esm-C1TDRARf.js";
2
- import { t } from "./Button-9RIB8ZR0.js";
3
- import { a as n, i as r, n as i, o as a, r as o, s, t as c } from "./dist-0f0-S8_q.js";
1
+ import { t as e } from "./esm-T3Xn_ZHF.js";
2
+ import { t } from "./Button-CJp__tle.js";
3
+ import { a as n, i as r, n as i, o as a, r as o, s, t as c } from "./dist-fJmWSp8_.js";
4
4
  import { useEffect as l, useRef as u, useState as d } from "react";
5
5
  import { jsx as f, jsxs as p } from "react/jsx-runtime";
6
6
  var m = {
7
- bottom: "wUsx_G_bottom",
8
- bottomLinks: "wUsx_G_bottomLinks",
9
- cookiePolicy: "wUsx_G_cookiePolicy",
10
- cookiePolicyClose: "wUsx_G_cookiePolicyClose",
11
- copyright: "wUsx_G_copyright",
12
- discord: "wUsx_G_discord",
13
- discordAvatars: "wUsx_G_discordAvatars",
14
- discordAvatarStatus: "wUsx_G_discordAvatarStatus",
15
- discordContent: "wUsx_G_discordContent",
16
- discordJoin: "wUsx_G_discordJoin",
17
- discordMembers: "wUsx_G_discordMembers",
18
- discordPlus: "wUsx_G_discordPlus",
19
- error: "wUsx_G_error",
20
- footer: "wUsx_G_footer",
21
- help: "wUsx_G_help",
22
- helpBall: "wUsx_G_helpBall",
23
- helpContent: "wUsx_G_helpContent",
24
- helpItem: "wUsx_G_helpItem",
25
- helpWays: "wUsx_G_helpWays",
26
- highcharts: "wUsx_G_highcharts",
27
- links: "wUsx_G_links",
28
- logo: "wUsx_G_logo",
29
- newsletter: "wUsx_G_newsletter",
30
- newsletterContent: "wUsx_G_newsletterContent",
31
- newsletterError: "wUsx_G_newsletterError",
32
- norway: "wUsx_G_norway",
33
- notCharts: "wUsx_G_notCharts",
34
- online: "wUsx_G_online",
35
- outer: "wUsx_G_outer",
36
- show: "wUsx_G_show",
37
- socials: "wUsx_G_socials",
38
- success: "wUsx_G_success",
39
- tabletBottomLeft: "wUsx_G_tabletBottomLeft",
40
- tagged: "wUsx_G_tagged",
41
- top: "wUsx_G_top",
42
- youtube: "wUsx_G_youtube",
43
- youtubeContent: "wUsx_G_youtubeContent",
44
- youtubeOverlay: "wUsx_G_youtubeOverlay"
7
+ cookiePolicy: "icxbVG_cookiePolicy",
8
+ cookiePolicyClose: "icxbVG_cookiePolicyClose",
9
+ dialogOverlay: "icxbVG_dialogOverlay",
10
+ show: "icxbVG_show"
45
11
  };
46
12
  //#endregion
47
13
  //#region lib/components/Footer/CookiePolicyModal.tsx
@@ -66,7 +32,7 @@ function h() {
66
32
  id: "cookiePolicyModal",
67
33
  children: "Cookie Policy"
68
34
  })
69
- }), /* @__PURE__ */ p(r, { children: [/* @__PURE__ */ f(o, { className: m.youtubeOverlay }), /* @__PURE__ */ p(i, {
35
+ }), /* @__PURE__ */ p(r, { children: [/* @__PURE__ */ f(o, { className: m.dialogOverlay }), /* @__PURE__ */ p(i, {
70
36
  className: m.cookiePolicy,
71
37
  "aria-describedby": void 0,
72
38
  children: [
@@ -87,4 +53,4 @@ function h() {
87
53
  });
88
54
  }
89
55
  //#endregion
90
- export { m as n, h as t };
56
+ export { h as t };
@@ -0,0 +1,40 @@
1
+ import { r as e, s as t } from "./utils-BCI5dixg.js";
2
+ import { t as n } from "./clsx-D7D_XZ_-.js";
3
+ import { N as r, k as i } from "./esm-T3Xn_ZHF.js";
4
+ import { t as a } from "./Button-CJp__tle.js";
5
+ import { forwardRef as o, useCallback as s } from "react";
6
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
7
+ var u = {
8
+ button: "eKa8EW_button",
9
+ code: "eKa8EW_code",
10
+ wrapper: "eKa8EW_wrapper"
11
+ }, d = o(({ children: o, label: d = "Copy", copiedLabel: f = "Copied", duration: p = 2e3, className: m, ...h }, g) => {
12
+ let [_, v] = e(), [y, b] = t(p), x = v || b, S = s(async () => {
13
+ y(), await _(o);
14
+ }, [
15
+ o,
16
+ _,
17
+ y
18
+ ]);
19
+ return /* @__PURE__ */ l("div", {
20
+ ref: g,
21
+ className: n(u.wrapper, m),
22
+ ...h,
23
+ children: [/* @__PURE__ */ c("code", {
24
+ className: u.code,
25
+ children: o
26
+ }), /* @__PURE__ */ c(a, {
27
+ variant: x ? "success" : "soft",
28
+ size: 200,
29
+ iconLeft: c(x ? r : i, {}),
30
+ onClick: (e) => {
31
+ e.stopPropagation(), S();
32
+ },
33
+ "aria-label": x ? f : `${d}: ${o}`,
34
+ className: u.button,
35
+ children: x ? f : d
36
+ })]
37
+ });
38
+ });
39
+ //#endregion
40
+ export { d as t };
@@ -0,0 +1,92 @@
1
+ import { t as e } from "./clsx-D7D_XZ_-.js";
2
+ import { t } from "./fa-ByhY-7YY.js";
3
+ import { useEffect as n, useRef as r, useState as i } from "react";
4
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
5
+ var s = {
6
+ avatars: "E2qh9a_avatars",
7
+ card: "E2qh9a_card",
8
+ content: "E2qh9a_content",
9
+ heading: "E2qh9a_heading",
10
+ join: "E2qh9a_join",
11
+ members: "E2qh9a_members",
12
+ online: "E2qh9a_online",
13
+ plus: "E2qh9a_plus",
14
+ status: "E2qh9a_status"
15
+ };
16
+ //#endregion
17
+ //#region lib/components/DiscordInvite/index.tsx
18
+ function c({ href: c, inviteCode: l = "xHxxcyyy6K", guildId: u = "1318933807059042305", memberLimit: d = 5, className: f, "aria-label": p, ...m }) {
19
+ let h = r(null), [g, _] = i(0), [v, y] = i({ members: [] });
20
+ return n(() => {
21
+ let e = !1, t = async () => {
22
+ try {
23
+ return (await (await fetch(`https://discord.com/api/v9/invites/${l}?with_counts=true`)).json())?.approximate_member_count || 0;
24
+ } catch {
25
+ return 0;
26
+ }
27
+ }, n = async () => {
28
+ try {
29
+ let e = await (await fetch(`https://discord.com/api/guilds/${u}/widget.json`)).json() || {};
30
+ return { members: Array.isArray(e.members) ? e.members : [] };
31
+ } catch {
32
+ return { members: [] };
33
+ }
34
+ }, r = async () => {
35
+ let [r, i] = await Promise.all([t(), n()]);
36
+ e || (_(r), y(i));
37
+ }, i = h.current;
38
+ if (!i) return;
39
+ if (typeof IntersectionObserver > "u") return r(), () => {
40
+ e = !0;
41
+ };
42
+ let a = new IntersectionObserver((e) => {
43
+ e[0]?.isIntersecting && (a.disconnect(), r());
44
+ }, { rootMargin: "100px" });
45
+ return a.observe(i), () => {
46
+ e = !0, a.disconnect();
47
+ };
48
+ }, [u, l]), /* @__PURE__ */ o("a", {
49
+ ref: h,
50
+ className: e(s.card, f),
51
+ href: c ?? `https://discord.com/invite/${l}`,
52
+ "aria-label": p ?? "Join the Highcharts Discord community",
53
+ ...m,
54
+ children: [
55
+ /* @__PURE__ */ o("h2", {
56
+ className: s.heading,
57
+ children: [
58
+ /* @__PURE__ */ a(t, {}),
59
+ "Discord ",
60
+ /* @__PURE__ */ a("span", { children: "/ Total" })
61
+ ]
62
+ }),
63
+ /* @__PURE__ */ o("p", {
64
+ className: s.content,
65
+ children: [
66
+ /* @__PURE__ */ a("span", {
67
+ className: s.join,
68
+ children: "Join us"
69
+ }),
70
+ " ",
71
+ !!g && /* @__PURE__ */ o("span", {
72
+ className: s.members,
73
+ children: [g, " members"]
74
+ })
75
+ ]
76
+ }),
77
+ /* @__PURE__ */ o("ul", {
78
+ className: s.avatars,
79
+ children: [v.members.slice(0, d).map(({ status: t, avatar_url: n }, r) => /* @__PURE__ */ o("li", { children: [/* @__PURE__ */ a("img", {
80
+ src: n,
81
+ alt: ""
82
+ }), /* @__PURE__ */ a("span", { className: e(s.status, { [s.online]: t === "online" }) })] }, `${n}-${r}`)), /* @__PURE__ */ a("li", {
83
+ className: s.plus,
84
+ "aria-hidden": "true",
85
+ children: "+"
86
+ })]
87
+ })
88
+ ]
89
+ });
90
+ }
91
+ //#endregion
92
+ export { c as t };
@@ -0,0 +1,83 @@
1
+ import { r as e } from "./utils-BCI5dixg.js";
2
+ import { A as t, N as n } from "./esm-T3Xn_ZHF.js";
3
+ import { t as r } from "./Button-CJp__tle.js";
4
+ import { t as i } from "./Container-DI2smQRq.js";
5
+ import { t as a } from "./DiscordInvite-Mkr81Pib.js";
6
+ import { t as o } from "./Logo-h9bQL-cT.js";
7
+ import { t as s } from "./NewsletterSignup-eGx4jwiM.js";
8
+ import { t as c } from "./FooterBottom-_AezmdZB.js";
9
+ import { t as l } from "./FooterHelp-CdeMRh1G.js";
10
+ import { t as u } from "./FooterLinks-BUKcScC4.js";
11
+ import { t as d } from "./YoutubeModal-DNaiM6RL.js";
12
+ import { jsx as f, jsxs as p } from "react/jsx-runtime";
13
+ var m = {
14
+ discordCard: "_4W4F3q_discordCard",
15
+ footer: "_4W4F3q_footer",
16
+ highcharts: "_4W4F3q_highcharts",
17
+ logo: "_4W4F3q_logo",
18
+ outer: "_4W4F3q_outer",
19
+ top: "_4W4F3q_top",
20
+ wrap: "_4W4F3q_wrap"
21
+ };
22
+ //#endregion
23
+ //#region lib/components/Footer/index.tsx
24
+ function h(e, t) {
25
+ return t ? e.replace(t, "") : e;
26
+ }
27
+ function g() {
28
+ let [i, a] = e(), o = "npm install highcharts";
29
+ return /* @__PURE__ */ p(r, {
30
+ variant: "neutral",
31
+ onClick: () => i(o),
32
+ children: [o, f(a ? n : t, {})]
33
+ });
34
+ }
35
+ function _({ link: e = "a", host: t = "https://www.highcharts.com" }) {
36
+ return /* @__PURE__ */ f("footer", {
37
+ className: m.outer,
38
+ children: /* @__PURE__ */ p(i, {
39
+ className: m.footer,
40
+ children: [
41
+ /* @__PURE__ */ p("div", {
42
+ className: m.top,
43
+ children: [
44
+ /* @__PURE__ */ p("div", {
45
+ className: m.highcharts,
46
+ children: [
47
+ /* @__PURE__ */ f(e, {
48
+ className: m.logo,
49
+ href: h("https://www.highcharts.com/", t),
50
+ children: /* @__PURE__ */ f(o, {})
51
+ }),
52
+ /* @__PURE__ */ f("p", { children: "We make it easy for developers to create charts and dashboards for web and mobile platforms." }),
53
+ /* @__PURE__ */ f(g, {})
54
+ ]
55
+ }),
56
+ /* @__PURE__ */ f(d, {}),
57
+ /* @__PURE__ */ p("div", {
58
+ className: m.wrap,
59
+ children: [/* @__PURE__ */ f(s, {
60
+ link: e,
61
+ privacyUrl: h("https://www.highcharts.com/privacy/", t)
62
+ }), /* @__PURE__ */ f(a, { className: m.discordCard })]
63
+ })
64
+ ]
65
+ }),
66
+ /* @__PURE__ */ f(l, {
67
+ link: e,
68
+ host: t
69
+ }),
70
+ /* @__PURE__ */ f(u, {
71
+ link: e,
72
+ host: t
73
+ }),
74
+ /* @__PURE__ */ f(c, {
75
+ link: e,
76
+ host: t
77
+ })
78
+ ]
79
+ })
80
+ });
81
+ }
82
+ //#endregion
83
+ export { _ as t };
@@ -0,0 +1,133 @@
1
+ import { a as e, t } from "./utils-BCI5dixg.js";
2
+ import { a as n, c as r, i, n as a, o, r as s, s as c, t as l } from "./fa-ByhY-7YY.js";
3
+ import { t as u } from "./Typography-nzBx3Yxn.js";
4
+ import { t as d } from "./CookiePolicyModal-BZkVbILl.js";
5
+ import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
6
+ //#region node_modules/react-icons/fa6/index.mjs
7
+ function h(e) {
8
+ return r({
9
+ tag: "svg",
10
+ attr: { viewBox: "0 0 512 512" },
11
+ child: [{
12
+ tag: "path",
13
+ attr: { d: "M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z" },
14
+ child: []
15
+ }]
16
+ })(e);
17
+ }
18
+ var g = {
19
+ bottom: "ff0DzW_bottom",
20
+ bottomLinks: "ff0DzW_bottomLinks",
21
+ copyright: "ff0DzW_copyright",
22
+ socials: "ff0DzW_socials",
23
+ tabletBottomLeft: "ff0DzW_tabletBottomLeft"
24
+ };
25
+ //#endregion
26
+ //#region lib/components/Footer/FooterBottom.tsx
27
+ function _(e, t) {
28
+ return t ? e.replace(t, "") : e;
29
+ }
30
+ var v = [
31
+ {
32
+ icon: /* @__PURE__ */ p(o, {}),
33
+ url: "https://stackoverflow.com/questions/tagged/highcharts",
34
+ label: "StackOverlow"
35
+ },
36
+ {
37
+ icon: /* @__PURE__ */ p(s, {}),
38
+ url: "https://github.com/highcharts/highcharts",
39
+ label: "GitHub"
40
+ },
41
+ {
42
+ icon: /* @__PURE__ */ p(h, {}),
43
+ url: "https://twitter.com/Highcharts",
44
+ label: "X"
45
+ },
46
+ {
47
+ icon: /* @__PURE__ */ p(a, {}),
48
+ url: "https://www.facebook.com/Highcharts",
49
+ label: "Facebook"
50
+ },
51
+ {
52
+ icon: /* @__PURE__ */ p(i, {}),
53
+ url: "https://www.instagram.com/highsoftcompany/",
54
+ label: "Instagram"
55
+ },
56
+ {
57
+ icon: /* @__PURE__ */ p(n, {}),
58
+ url: "https://www.linkedin.com/company/highsoft",
59
+ label: "LinkedIn"
60
+ },
61
+ {
62
+ icon: /* @__PURE__ */ p(l, {}),
63
+ url: "https://www.highcharts.com/highcharts-discord/",
64
+ label: "Discord"
65
+ },
66
+ {
67
+ icon: /* @__PURE__ */ p(c, {}),
68
+ url: "https://www.youtube.com/channel/UCzxXofPTQ0DoT7uIy3Fxw7A",
69
+ label: "Youtube"
70
+ }
71
+ ];
72
+ function y({ link: n = "a", host: r = "https://www.highcharts.com" }) {
73
+ let i = e(`(min-width: ${t.tablet}px) and (max-width: ${t.laptop - 1}px)`), a = /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ m(u, {
74
+ as: "span",
75
+ size: 100,
76
+ color: "secondary",
77
+ className: g.copyright,
78
+ children: [
79
+ "© ",
80
+ (/* @__PURE__ */ new Date()).getFullYear(),
81
+ " Highsoft. All rights reserved."
82
+ ]
83
+ }), /* @__PURE__ */ m("div", {
84
+ className: g.bottomLinks,
85
+ children: [
86
+ /* @__PURE__ */ p(n, {
87
+ href: _("https://www.highcharts.com/blog/article/accessibility-statement/", r),
88
+ children: /* @__PURE__ */ p(u, {
89
+ as: "span",
90
+ size: 100,
91
+ color: "secondary",
92
+ children: "Accessibility Statement"
93
+ })
94
+ }),
95
+ /* @__PURE__ */ p(n, {
96
+ href: _("https://www.highcharts.com/sitemap.xml", r),
97
+ children: /* @__PURE__ */ p(u, {
98
+ as: "span",
99
+ size: 100,
100
+ color: "secondary",
101
+ children: "Sitemap"
102
+ })
103
+ }),
104
+ /* @__PURE__ */ p("button", {
105
+ type: "button",
106
+ onClick: () => window.CookieConsent?.renew(),
107
+ children: /* @__PURE__ */ p(u, {
108
+ as: "span",
109
+ size: 100,
110
+ color: "secondary",
111
+ children: "Cookie Preferences"
112
+ })
113
+ }),
114
+ /* @__PURE__ */ p(d, {})
115
+ ]
116
+ })] }), o = /* @__PURE__ */ p("ul", {
117
+ className: g.socials,
118
+ children: v.map(({ icon: e, url: t, label: n }, r) => /* @__PURE__ */ p("li", { children: /* @__PURE__ */ p("a", {
119
+ href: t,
120
+ "aria-label": n,
121
+ children: e
122
+ }) }, r))
123
+ });
124
+ return /* @__PURE__ */ p("div", {
125
+ className: g.bottom,
126
+ children: i ? /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ p("div", {
127
+ className: g.tabletBottomLeft,
128
+ children: a
129
+ }), o] }) : /* @__PURE__ */ m(f, { children: [a, o] })
130
+ });
131
+ }
132
+ //#endregion
133
+ export { y as t };