@theguild/components 8.0.0-alpha-20241205150715-1c38acac57eaf933887bfbbb59a87a939b658817 → 8.0.0-alpha-20241205181447-87125d0b44dc0d1a7ce638de956987d05110bb5e
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.
- package/dist/components/contact-us.d.mts +18 -0
- package/dist/components/contact-us.js +32 -0
- package/dist/components/cookies-consent.d.mts +2 -1
- package/dist/components/cookies-consent.js +25 -9
- package/dist/components/explore-main-product-cards.js +1 -1
- package/dist/components/get-your-api-game-right-section.js +4 -16
- package/dist/components/heading.js +1 -0
- package/dist/components/{hive-footer.d.mts → hive-footer/index.d.mts} +8 -5
- package/dist/components/{hive-footer.js → hive-footer/index.js} +18 -26
- package/dist/components/hive-navigation/graphql-conf-card.js +1 -1
- package/dist/components/hive-navigation/index.d.mts +11 -18
- package/dist/components/hive-navigation/index.js +40 -72
- package/dist/components/icons/index.d.mts +1 -1
- package/dist/components/icons/index.js +28 -28
- package/dist/components/icons/stellate.js +12 -0
- package/dist/components/index.d.mts +6 -5
- package/dist/components/index.js +4 -12
- package/dist/components/{tools-and-libraries-cards → product-card}/hive-decoration.js +1 -1
- package/dist/components/{tools-and-libraries-cards → product-card}/hive-gateway-decoration.js +1 -1
- package/dist/components/product-card/index.d.mts +13 -0
- package/dist/components/product-card/index.js +101 -0
- package/dist/components/{tools-and-libraries-cards → product-card}/mesh-decoration.js +1 -1
- package/dist/components/product-card/yoga-decoration.d.mts +3 -0
- package/dist/components/{tools-and-libraries-cards → product-card}/yoga-decoration.js +1 -1
- package/dist/components/schema-type.js +1 -1
- package/dist/components/stud.d.mts +2 -1
- package/dist/components/tools-and-libraries-cards/index.d.mts +3 -12
- package/dist/components/tools-and-libraries-cards/index.js +12 -87
- package/dist/index.d.mts +8 -8
- package/dist/index.js +3 -1
- package/dist/logos/guild.js +1 -1
- package/dist/logos/index.d.mts +20 -21
- package/dist/logos/index.js +16 -13
- package/dist/products.d.mts +9 -6
- package/dist/products.js +20 -13
- package/dist/server/index.d.mts +5 -4
- package/dist/server/index.js +2 -1
- package/dist/server/mdx-components.d.mts +183 -204
- package/dist/server/mdx-components.js +2 -1
- package/dist/server/next.config.js +16 -2
- package/dist/server/theme-layout.d.mts +7 -1
- package/dist/server/theme-layout.js +29 -13
- package/dist/types/components.d.mts +1 -9
- package/package.json +3 -3
- package/style.css +16 -43
- package/dist/components/footer.d.mts +0 -9
- package/dist/components/footer.js +0 -116
- package/dist/components/guild-navbar-logo.d.mts +0 -19
- package/dist/components/guild-navbar-logo.js +0 -62
- package/dist/helpers/render-slot.d.mts +0 -3
- package/dist/helpers/render-slot.js +0 -21
- /package/dist/components/{tools-and-libraries-cards/hive-decoration.d.mts → icons/stellate.d.mts} +0 -0
- /package/dist/components/{tools-and-libraries-cards/hive-gateway-decoration.d.mts → product-card/hive-decoration.d.mts} +0 -0
- /package/dist/components/{tools-and-libraries-cards/mesh-decoration.d.mts → product-card/hive-gateway-decoration.d.mts} +0 -0
- /package/dist/components/{tools-and-libraries-cards/yoga-decoration.d.mts → product-card/mesh-decoration.d.mts} +0 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { CallToActionProps } from './call-to-action.mjs';
|
|
3
|
+
import './anchor.mjs';
|
|
4
|
+
import 'react';
|
|
5
|
+
import 'url';
|
|
6
|
+
import '../types/components.mjs';
|
|
7
|
+
import 'next/image';
|
|
8
|
+
import 'next/link';
|
|
9
|
+
import 'react-player';
|
|
10
|
+
|
|
11
|
+
interface ContactTextLinkProps extends Omit<React.HTMLAttributes<HTMLAnchorElement>, 'href' | 'onClick'> {
|
|
12
|
+
}
|
|
13
|
+
declare function ContactTextLink(props: ContactTextLinkProps): react_jsx_runtime.JSX.Element;
|
|
14
|
+
interface ContactButtonProps extends Omit<CallToActionProps.AnchorProps, 'onClick' | 'href'> {
|
|
15
|
+
}
|
|
16
|
+
declare function ContactButton(props: ContactButtonProps): react_jsx_runtime.JSX.Element;
|
|
17
|
+
|
|
18
|
+
export { ContactButton, type ContactButtonProps, ContactTextLink, type ContactTextLinkProps };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { cn } from "../cn";
|
|
4
|
+
import { CallToAction } from "./call-to-action";
|
|
5
|
+
const openCrisp = (event) => {
|
|
6
|
+
if (window.$crisp) {
|
|
7
|
+
window.$crisp.push(["do", "chat:open"]);
|
|
8
|
+
event.preventDefault();
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
function ContactTextLink(props) {
|
|
12
|
+
return /* @__PURE__ */ jsx(
|
|
13
|
+
"a",
|
|
14
|
+
{
|
|
15
|
+
...props,
|
|
16
|
+
className: cn(
|
|
17
|
+
"hive-focus -m-2 rounded p-2 font-medium hover:text-blue-700 hover:underline dark:hover:text-blue-100",
|
|
18
|
+
props.className
|
|
19
|
+
),
|
|
20
|
+
href: "https://the-guild.dev/contact",
|
|
21
|
+
onClick: openCrisp,
|
|
22
|
+
children: props.children || "Contact Us"
|
|
23
|
+
}
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
function ContactButton(props) {
|
|
27
|
+
return /* @__PURE__ */ jsx(CallToAction, { href: "https://the-guild.dev/contact", onClick: openCrisp, ...props, children: props.children || "Contact Us" });
|
|
28
|
+
}
|
|
29
|
+
export {
|
|
30
|
+
ContactButton,
|
|
31
|
+
ContactTextLink
|
|
32
|
+
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { ComponentProps } from 'react';
|
|
2
3
|
|
|
3
|
-
type CookiesConsentProps =
|
|
4
|
+
type CookiesConsentProps = ComponentProps<'div'>;
|
|
4
5
|
declare function CookiesConsent(props: CookiesConsentProps): react_jsx_runtime.JSX.Element | null;
|
|
5
6
|
|
|
6
7
|
export { CookiesConsent, type CookiesConsentProps };
|
|
@@ -1,25 +1,30 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useState } from "react";
|
|
3
|
+
import { useLayoutEffect, useState } from "react";
|
|
4
4
|
import { cn } from "../cn";
|
|
5
5
|
import { CallToAction } from "./call-to-action";
|
|
6
6
|
function CookiesConsent(props) {
|
|
7
|
-
const [consented, setConsented] = useState(
|
|
8
|
-
|
|
9
|
-
setConsented(true);
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
if (consented) {
|
|
7
|
+
const [consented, setConsented] = useState("unknown");
|
|
8
|
+
useLayoutEffect(() => {
|
|
9
|
+
setConsented(localStorage.getItem("cookies") === "true" ? "yes" : "no");
|
|
10
|
+
}, []);
|
|
11
|
+
if (consented === "unknown" || consented === "yes") {
|
|
13
12
|
return null;
|
|
14
13
|
}
|
|
15
14
|
return /* @__PURE__ */ jsxs(
|
|
16
15
|
"div",
|
|
17
16
|
{
|
|
18
17
|
...props,
|
|
18
|
+
"data-state": consented,
|
|
19
19
|
className: cn(
|
|
20
|
-
"fixed bottom-0 z-50 flex flex-wrap items-center justify-center gap-x-4 gap-y-3 rounded-lg border border-beige-200 bg-beige-100 p-4 text-sm text-green-800 shadow-xl lg:flex-nowrap lg:justify-between lg:text-left dark:border-neutral-800 dark:bg-neutral-900 dark:text-neutral-200",
|
|
20
|
+
"ease fixed bottom-0 z-50 flex flex-wrap items-center justify-center gap-x-4 gap-y-3 rounded-lg border border-beige-200 bg-beige-100 p-4 text-sm text-green-800 shadow-xl duration-300 animate-in fade-in-0 slide-in-from-bottom-6 fill-mode-forwards data-[state=closing]:animate-out data-[state=closing]:fade-out data-[state=closing]:slide-out-to-bottom-6 lg:flex-nowrap lg:justify-between lg:text-left dark:border-neutral-800 dark:bg-neutral-900 dark:text-neutral-200",
|
|
21
21
|
props.className
|
|
22
22
|
),
|
|
23
|
+
onAnimationEnd: () => {
|
|
24
|
+
if (consented === "closing") {
|
|
25
|
+
setConsented("yes");
|
|
26
|
+
}
|
|
27
|
+
},
|
|
23
28
|
children: [
|
|
24
29
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
25
30
|
/* @__PURE__ */ jsx("p", { className: "max-sm:inline", children: "This site uses cookies for analytics and improving your experience." }),
|
|
@@ -37,7 +42,18 @@ function CookiesConsent(props) {
|
|
|
37
42
|
children: "Privacy Policy"
|
|
38
43
|
}
|
|
39
44
|
),
|
|
40
|
-
/* @__PURE__ */ jsx(
|
|
45
|
+
/* @__PURE__ */ jsx(
|
|
46
|
+
CallToAction,
|
|
47
|
+
{
|
|
48
|
+
variant: "tertiary",
|
|
49
|
+
onClick: () => {
|
|
50
|
+
setConsented("closing");
|
|
51
|
+
localStorage.setItem("cookies", "true");
|
|
52
|
+
},
|
|
53
|
+
className: "px-4 py-2",
|
|
54
|
+
children: "Allow"
|
|
55
|
+
}
|
|
56
|
+
)
|
|
41
57
|
] })
|
|
42
58
|
]
|
|
43
59
|
}
|
|
@@ -3,8 +3,8 @@ import { cn } from "../cn";
|
|
|
3
3
|
import { FOUR_MAIN_PRODUCTS } from "../products";
|
|
4
4
|
import { Heading } from "./heading";
|
|
5
5
|
import { ArrowIcon } from "./icons";
|
|
6
|
+
import { MainProductCard } from "./product-card";
|
|
6
7
|
import { TextLink } from "./text-link";
|
|
7
|
-
import { MainProductCard } from "./tools-and-libraries-cards";
|
|
8
8
|
function ExploreMainProductCards({ className, ...rest }) {
|
|
9
9
|
return /* @__PURE__ */ jsxs(
|
|
10
10
|
"section",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { cn } from "../cn";
|
|
3
3
|
import { CallToAction } from "./call-to-action";
|
|
4
|
+
import { ContactButton } from "./contact-us";
|
|
4
5
|
import { DecorationIsolation } from "./decorations";
|
|
5
6
|
import { Heading } from "./heading";
|
|
6
7
|
function GetYourAPIGameRightSection({ className }) {
|
|
@@ -13,7 +14,7 @@ function GetYourAPIGameRightSection({ className }) {
|
|
|
13
14
|
/* @__PURE__ */ jsx(GreenArchDecoration, { className: "absolute inset-y-0 right-0 hidden opacity-10 md:block [@media(min-width:1300px)]:opacity-100" }),
|
|
14
15
|
/* @__PURE__ */ jsx(StrokeDecoration, { className: "absolute right-[607px] max-md:right-[-36px] max-md:top-[-71px] max-md:size-[200px] max-md:rotate-180 md:bottom-0" })
|
|
15
16
|
] }),
|
|
16
|
-
/* @__PURE__ */ jsxs("div", { className: "flex
|
|
17
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-stretch justify-between gap-x-6 gap-y-4 p-4 max-md:flex-col sm:items-center md:h-[308px] md:px-24", children: [
|
|
17
18
|
/* @__PURE__ */ jsx(
|
|
18
19
|
Heading,
|
|
19
20
|
{
|
|
@@ -23,22 +24,9 @@ function GetYourAPIGameRightSection({ className }) {
|
|
|
23
24
|
children: "Get your API game right."
|
|
24
25
|
}
|
|
25
26
|
),
|
|
26
|
-
/* @__PURE__ */ jsxs("div", { className: "flex
|
|
27
|
+
/* @__PURE__ */ jsxs("div", { className: "flex gap-x-4 gap-y-2 whitespace-pre max-sm:flex-col", children: [
|
|
27
28
|
/* @__PURE__ */ jsx(CallToAction, { variant: "secondary-inverted", href: "https://app.graphql-hive.com/", children: "Get started for free" }),
|
|
28
|
-
/* @__PURE__ */ jsx(
|
|
29
|
-
CallToAction,
|
|
30
|
-
{
|
|
31
|
-
variant: "tertiary",
|
|
32
|
-
href: "https://the-guild.dev/contact",
|
|
33
|
-
onClick: (event) => {
|
|
34
|
-
if (window.$crisp) {
|
|
35
|
-
window.$crisp.push(["do", "chat:open"]);
|
|
36
|
-
event.preventDefault();
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
children: "Talk to us"
|
|
40
|
-
}
|
|
41
|
-
)
|
|
29
|
+
/* @__PURE__ */ jsx(ContactButton, { variant: "tertiary", children: "Talk to us" })
|
|
42
30
|
] })
|
|
43
31
|
] })
|
|
44
32
|
]
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import {
|
|
3
|
-
import '
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
import { ILink } from '../../types/components.mjs';
|
|
4
4
|
import 'next/image';
|
|
5
5
|
import 'next/link';
|
|
6
6
|
import 'react-player';
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
type HiveFooterProps = {
|
|
9
|
+
className?: string;
|
|
10
|
+
logo?: ReactNode;
|
|
11
|
+
href?: string;
|
|
9
12
|
description?: string;
|
|
10
13
|
items?: HiveFooterItems;
|
|
11
|
-
}
|
|
12
|
-
declare function HiveFooter({ className, logo, description, items }: HiveFooterProps): react_jsx_runtime.JSX.Element;
|
|
14
|
+
};
|
|
15
|
+
declare function HiveFooter({ className, logo, href, description, items, }: HiveFooterProps): react_jsx_runtime.JSX.Element;
|
|
13
16
|
declare namespace HiveFooter {
|
|
14
17
|
var DEFAULT_ITEMS: HiveFooterItems;
|
|
15
18
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { cn } from "
|
|
3
|
-
import { siteOrigin } from "
|
|
4
|
-
import { HiveCombinationMark } from "
|
|
5
|
-
import { FOUR_MAIN_PRODUCTS, SIX_HIGHLIGHTED_PRODUCTS } from "
|
|
6
|
-
import { Anchor } from "
|
|
2
|
+
import { cn } from "../../cn";
|
|
3
|
+
import { siteOrigin } from "../../constants";
|
|
4
|
+
import { HiveCombinationMark } from "../../logos";
|
|
5
|
+
import { FOUR_MAIN_PRODUCTS, SIX_HIGHLIGHTED_PRODUCTS } from "../../products";
|
|
6
|
+
import { Anchor } from "../anchor";
|
|
7
|
+
import { ContactTextLink } from "../contact-us";
|
|
7
8
|
import {
|
|
8
9
|
CSAStarLevelOneIcon,
|
|
9
10
|
DiscordIcon,
|
|
@@ -11,20 +12,24 @@ import {
|
|
|
11
12
|
LinkedInIcon,
|
|
12
13
|
TwitterIcon,
|
|
13
14
|
YouTubeIcon
|
|
14
|
-
} from "
|
|
15
|
-
function HiveFooter({
|
|
15
|
+
} from "../icons/index";
|
|
16
|
+
function HiveFooter({
|
|
17
|
+
className,
|
|
18
|
+
logo = /* @__PURE__ */ jsx(HiveCombinationMark, { className: "h-8 w-auto" }),
|
|
19
|
+
href = `${siteOrigin}/`,
|
|
20
|
+
description = "Open-source GraphQL management platform",
|
|
21
|
+
items
|
|
22
|
+
}) {
|
|
16
23
|
items = { ...HiveFooter.DEFAULT_ITEMS, ...items };
|
|
17
|
-
description ||= "Open-source GraphQL management platform";
|
|
18
24
|
return /* @__PURE__ */ jsxs("footer", { className: cn("relative flex justify-center px-4 py-6 xl:px-[120px]", className), children: [
|
|
19
25
|
/* @__PURE__ */ jsxs("div", { className: "mx-4 grid w-full max-w-[75rem] grid-cols-1 gap-x-6 text-green-800 max-lg:gap-y-16 sm:grid-cols-4 lg:gap-x-8 xl:gap-x-10 dark:text-neutral-400", children: [
|
|
20
26
|
/* @__PURE__ */ jsxs("div", { className: "max-lg:col-span-full", children: [
|
|
21
27
|
/* @__PURE__ */ jsx(
|
|
22
28
|
Anchor,
|
|
23
29
|
{
|
|
24
|
-
href
|
|
25
|
-
...logo,
|
|
30
|
+
href,
|
|
26
31
|
className: "hive-focus -m-1.5 flex rounded p-1.5 text-green-1000 dark:text-white",
|
|
27
|
-
children: logo
|
|
32
|
+
children: logo
|
|
28
33
|
}
|
|
29
34
|
),
|
|
30
35
|
/* @__PURE__ */ jsx("p", { className: "mt-6 lg:mt-8", children: description })
|
|
@@ -45,24 +50,11 @@ function HiveFooter({ className, logo, description, items }) {
|
|
|
45
50
|
},
|
|
46
51
|
i
|
|
47
52
|
)),
|
|
48
|
-
/* @__PURE__ */ jsx(
|
|
49
|
-
"a",
|
|
50
|
-
{
|
|
51
|
-
className: "hive-focus -m-2 rounded p-2 font-medium hover:text-blue-700 hover:underline dark:hover:text-blue-100",
|
|
52
|
-
href: "https://the-guild.dev/contact",
|
|
53
|
-
onClick: (event) => {
|
|
54
|
-
if (window.$crisp) {
|
|
55
|
-
window.$crisp.push(["do", "chat:open"]);
|
|
56
|
-
event.preventDefault();
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
children: "Contact Us"
|
|
60
|
-
}
|
|
61
|
-
)
|
|
53
|
+
/* @__PURE__ */ jsx(ContactTextLink, {})
|
|
62
54
|
] }),
|
|
63
55
|
/* @__PURE__ */ jsx(CSAStarLink, { className: "sm:col-start-[-1] lg:col-start-[-2]" })
|
|
64
56
|
] }),
|
|
65
|
-
/* @__PURE__ */ jsxs("div", { className: "col-span-full flex flex-
|
|
57
|
+
/* @__PURE__ */ jsxs("div", { className: "col-span-full flex flex-wrap justify-between gap-x-[inherit] gap-y-8 lg:w-full lg:pb-2 lg:pt-8", children: [
|
|
66
58
|
/* @__PURE__ */ jsx("div", { className: "flex gap-6 lg:order-1", children: SOCIAL_ICONS.map(({ icon: Icon, ...iconProps }) => /* @__PURE__ */ jsx(
|
|
67
59
|
Anchor,
|
|
68
60
|
{
|
|
@@ -9,7 +9,7 @@ function GraphQLConfCard({ image }) {
|
|
|
9
9
|
href: "https://www.youtube.com/playlist?list=PL43V96KpNj7OMvmfL0WFKP6LpoboM8Hde",
|
|
10
10
|
className: "group w-[358px]",
|
|
11
11
|
children: [
|
|
12
|
-
/* @__PURE__ */ jsx(Image, { alt: "",
|
|
12
|
+
/* @__PURE__ */ jsx(Image, { alt: "", src: image, width: 358, height: 200 }),
|
|
13
13
|
/* @__PURE__ */ jsx("strong", { className: "mt-6 block text-xl font-medium leading-7 text-green-1000 dark:text-neutral-100", children: "GraphQLConf 2024" }),
|
|
14
14
|
/* @__PURE__ */ jsx("p", { className: "mt-4 text-sm font-medium leading-5 text-green-800 dark:text-neutral-200", children: "September 10-12 | San Francisco CA" }),
|
|
15
15
|
/* @__PURE__ */ jsx("p", { className: "mt-2 text-sm font-normal leading-5 text-green-800 dark:text-neutral-200", children: "The official GraphQL conference hosted by GraphQL Foundation." }),
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import react__default, { ReactNode } from 'react';
|
|
2
|
+
import react__default, { ReactNode, ComponentProps } from 'react';
|
|
3
|
+
import { Search } from 'nextra/components';
|
|
3
4
|
export { GraphQLConfCard, GraphQLConfCardProps } from './graphql-conf-card.mjs';
|
|
4
5
|
import 'next/image';
|
|
5
6
|
|
|
6
|
-
|
|
7
|
+
type HiveNavigationProps = {
|
|
7
8
|
companyMenuChildren?: ReactNode;
|
|
8
9
|
children?: ReactNode;
|
|
9
10
|
className?: string;
|
|
@@ -16,15 +17,9 @@ interface HiveNavigationProps {
|
|
|
16
17
|
href: string;
|
|
17
18
|
children: ReactNode;
|
|
18
19
|
}[];
|
|
19
|
-
developerMenu
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
icon: react__default.FC<{
|
|
23
|
-
className?: string;
|
|
24
|
-
}>;
|
|
25
|
-
children: ReactNode;
|
|
26
|
-
}[];
|
|
27
|
-
}
|
|
20
|
+
developerMenu: DeveloperMenuProps['developerMenu'];
|
|
21
|
+
searchProps?: ComponentProps<typeof Search>;
|
|
22
|
+
};
|
|
28
23
|
/**
|
|
29
24
|
*
|
|
30
25
|
* @example
|
|
@@ -37,23 +32,21 @@ interface HiveNavigationProps {
|
|
|
37
32
|
* </HiveNavigation>
|
|
38
33
|
* ```
|
|
39
34
|
*/
|
|
40
|
-
declare function HiveNavigation({ companyMenuChildren, children, className, productName, logo, navLinks, developerMenu, }: HiveNavigationProps): react_jsx_runtime.JSX.Element;
|
|
35
|
+
declare function HiveNavigation({ companyMenuChildren, children, className, productName, logo, navLinks, developerMenu, searchProps, }: HiveNavigationProps): react_jsx_runtime.JSX.Element;
|
|
41
36
|
interface ProductsMenuProps extends MenuContentColumnsProps {
|
|
42
37
|
productName: string;
|
|
43
38
|
}
|
|
44
39
|
/**
|
|
45
40
|
* @internal
|
|
46
41
|
*/
|
|
47
|
-
declare const ProductsMenu: react__default.ForwardRefExoticComponent<ProductsMenuProps & react__default.RefAttributes<HTMLDivElement>>;
|
|
48
|
-
type MenuContentColumnsProps =
|
|
42
|
+
declare const ProductsMenu: react__default.ForwardRefExoticComponent<Omit<ProductsMenuProps, "ref"> & react__default.RefAttributes<HTMLDivElement>>;
|
|
43
|
+
type MenuContentColumnsProps = ComponentProps<'div'>;
|
|
49
44
|
interface DeveloperMenuProps extends react__default.HTMLAttributes<HTMLDivElement> {
|
|
50
45
|
isHive: boolean;
|
|
51
|
-
developerMenu
|
|
46
|
+
developerMenu?: {
|
|
52
47
|
href: string;
|
|
53
48
|
title?: string;
|
|
54
|
-
icon:
|
|
55
|
-
className?: string;
|
|
56
|
-
}>;
|
|
49
|
+
icon: ReactNode;
|
|
57
50
|
children: ReactNode;
|
|
58
51
|
}[];
|
|
59
52
|
}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
-
import React, {
|
|
3
|
+
import React, {
|
|
4
|
+
forwardRef,
|
|
5
|
+
Fragment,
|
|
6
|
+
useEffect,
|
|
7
|
+
useRef
|
|
8
|
+
} from "react";
|
|
4
9
|
import { createPortal } from "react-dom";
|
|
5
10
|
import { usePathname } from "next/navigation";
|
|
6
|
-
import { setMenu, useMenu
|
|
11
|
+
import { setMenu, useMenu } from "nextra-theme-docs";
|
|
12
|
+
import { Search } from "nextra/components";
|
|
7
13
|
import { useMounted } from "nextra/hooks";
|
|
8
14
|
import { MenuIcon } from "nextra/icons";
|
|
9
15
|
import { cn } from "../../cn";
|
|
10
|
-
import {
|
|
16
|
+
import { siteOrigin } from "../../constants";
|
|
11
17
|
import { GraphQLFoundationLogo, GuildLogo, HiveCombinationMark, TheGuild } from "../../logos";
|
|
12
18
|
import { PRODUCTS, SIX_HIGHLIGHTED_PRODUCTS } from "../../products";
|
|
13
19
|
import { Anchor } from "../anchor";
|
|
@@ -17,15 +23,10 @@ import {
|
|
|
17
23
|
AppsIcon,
|
|
18
24
|
ArrowIcon,
|
|
19
25
|
BardIcon,
|
|
20
|
-
GitHubIcon,
|
|
21
26
|
GroupIcon,
|
|
22
27
|
HiveIcon,
|
|
23
28
|
HonourIcon,
|
|
24
|
-
|
|
25
|
-
PencilIcon,
|
|
26
|
-
RightCornerIcon,
|
|
27
|
-
ShieldFlashIcon,
|
|
28
|
-
TargetIcon
|
|
29
|
+
ShieldFlashIcon
|
|
29
30
|
} from "../icons";
|
|
30
31
|
import {
|
|
31
32
|
NavigationMenu,
|
|
@@ -43,20 +44,17 @@ function HiveNavigation({
|
|
|
43
44
|
children,
|
|
44
45
|
className,
|
|
45
46
|
productName,
|
|
46
|
-
logo,
|
|
47
|
-
navLinks
|
|
48
|
-
developerMenu
|
|
49
|
-
}) {
|
|
50
|
-
const Search = useThemeConfig().search;
|
|
51
|
-
const isHive = productName === "Hive";
|
|
52
|
-
const containerRef = useRef(null);
|
|
53
|
-
logo ||= /* @__PURE__ */ jsx(HiveLogoLink, { isHive });
|
|
54
|
-
navLinks ||= [
|
|
47
|
+
logo = /* @__PURE__ */ jsx(HiveLogoLink, { isHive: productName === "Hive" }),
|
|
48
|
+
navLinks = [
|
|
55
49
|
{
|
|
56
|
-
href:
|
|
50
|
+
href: productName === "Hive" ? "/pricing" : "https://the-guild.dev/graphql/hive/pricing",
|
|
57
51
|
children: "Pricing"
|
|
58
52
|
}
|
|
59
|
-
]
|
|
53
|
+
],
|
|
54
|
+
developerMenu,
|
|
55
|
+
searchProps
|
|
56
|
+
}) {
|
|
57
|
+
const containerRef = useRef(null);
|
|
60
58
|
return /* @__PURE__ */ jsxs(
|
|
61
59
|
"div",
|
|
62
60
|
{
|
|
@@ -89,7 +87,7 @@ function HiveNavigation({
|
|
|
89
87
|
] }),
|
|
90
88
|
/* @__PURE__ */ jsxs(NavigationMenuItem, { children: [
|
|
91
89
|
/* @__PURE__ */ jsx(NavigationMenuTrigger, { children: "Developer" }),
|
|
92
|
-
/* @__PURE__ */ jsx(NavigationMenuContent, { children: /* @__PURE__ */ jsx(DeveloperMenu, {
|
|
90
|
+
/* @__PURE__ */ jsx(NavigationMenuContent, { children: /* @__PURE__ */ jsx(DeveloperMenu, { developerMenu, isHive: productName === "Hive" }) })
|
|
93
91
|
] }),
|
|
94
92
|
!ENTERPRISE_MENU_HIDDEN && /* @__PURE__ */ jsxs(NavigationMenuItem, { children: [
|
|
95
93
|
/* @__PURE__ */ jsx(NavigationMenuTrigger, { children: "Enterprise" }),
|
|
@@ -103,17 +101,19 @@ function HiveNavigation({
|
|
|
103
101
|
] }),
|
|
104
102
|
/* @__PURE__ */ jsx("div", { className: "flex-1" }),
|
|
105
103
|
children,
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
104
|
+
/* @__PURE__ */ jsx(
|
|
105
|
+
Search,
|
|
106
|
+
{
|
|
107
|
+
className: "relative ml-4 basis-64 [&_:is(input,kbd)]:text-green-700 dark:[&_:is(input,kbd)]:text-neutral-300 [&_input]:h-12 [&_input]:w-full [&_input]:rounded-lg [&_input]:border [&_input]:border-green-200 [&_input]:bg-white [&_input]:pl-4 [&_input]:pr-8 [&_input]:ring-[hsl(var(--nextra-primary-hue)_var(--nextra-primary-saturation)_32%/var(--tw-ring-opacity))] [&_input]:ring-offset-[rgb(var(--nextra-bg))] dark:[&_input]:border-neutral-800 [&_input]:dark:bg-inherit [&_kbd]:absolute [&_kbd]:right-4 [&_kbd]:-translate-y-1/2 [&_kbd]:border-none [&_kbd]:bg-green-200 dark:[&_kbd]:bg-neutral-700",
|
|
108
|
+
...searchProps
|
|
109
|
+
}
|
|
110
|
+
),
|
|
111
111
|
/* @__PURE__ */ jsxs(
|
|
112
112
|
CallToAction,
|
|
113
113
|
{
|
|
114
114
|
className: "ml-4 max-lg:hidden",
|
|
115
115
|
variant: "tertiary",
|
|
116
|
-
href:
|
|
116
|
+
href: `${siteOrigin}/contact`,
|
|
117
117
|
target: "_blank",
|
|
118
118
|
rel: "noopener noreferrer",
|
|
119
119
|
onClick: (event) => {
|
|
@@ -128,7 +128,7 @@ function HiveNavigation({
|
|
|
128
128
|
]
|
|
129
129
|
}
|
|
130
130
|
),
|
|
131
|
-
|
|
131
|
+
productName === "Hive" ? /* @__PURE__ */ jsx(CallToAction, { variant: "primary", href: "https://app.graphql-hive.com/", className: "ml-4", children: "Sign in" }) : /* @__PURE__ */ jsx(CallToAction, { variant: "primary", href: "/docs", className: "ml-4", children: "Docs" })
|
|
132
132
|
] })
|
|
133
133
|
]
|
|
134
134
|
}
|
|
@@ -178,7 +178,7 @@ const ProductsMenu = React.forwardRef(
|
|
|
178
178
|
{
|
|
179
179
|
href: bidirectionalProductLink(product),
|
|
180
180
|
title: product.title,
|
|
181
|
-
className: "flex
|
|
181
|
+
className: "flex items-center gap-4 p-4",
|
|
182
182
|
children: [
|
|
183
183
|
/* @__PURE__ */ jsx("div", { className: "size-12 rounded-lg bg-blue-400 p-2.5", children: /* @__PURE__ */ jsx(Logo, { className: "size-7 text-green-1000" }) }),
|
|
184
184
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
@@ -198,7 +198,7 @@ const ProductsMenu = React.forwardRef(
|
|
|
198
198
|
NavigationMenuLink,
|
|
199
199
|
{
|
|
200
200
|
href: bidirectionalProductLink(product),
|
|
201
|
-
className: "flex
|
|
201
|
+
className: "flex items-center gap-3 px-4 py-2",
|
|
202
202
|
arrow: true,
|
|
203
203
|
children: [
|
|
204
204
|
/* @__PURE__ */ jsx("div", { className: "flex size-8 items-center justify-center rounded bg-beige-200 p-[5px] dark:bg-white/5", children: /* @__PURE__ */ jsx(Logo, { className: "size-8 text-green-1000 dark:text-neutral-300" }) }),
|
|
@@ -236,43 +236,11 @@ const MenuContentColumns = forwardRef(
|
|
|
236
236
|
);
|
|
237
237
|
MenuContentColumns.displayName = "MenuContentColumns";
|
|
238
238
|
const DeveloperMenu = React.forwardRef(
|
|
239
|
-
({
|
|
240
|
-
developerMenu ||= [
|
|
241
|
-
{
|
|
242
|
-
href: isHive ? "/docs" : "https://the-guild.dev/graphql/hive/docs",
|
|
243
|
-
icon: PaperIcon,
|
|
244
|
-
title: "Visit the documentation",
|
|
245
|
-
children: "Documentation"
|
|
246
|
-
},
|
|
247
|
-
{
|
|
248
|
-
href: "https://status.graphql-hive.com/",
|
|
249
|
-
title: "Check Hive status",
|
|
250
|
-
icon: TargetIcon,
|
|
251
|
-
children: "Status"
|
|
252
|
-
},
|
|
253
|
-
{
|
|
254
|
-
href: isHive ? "/product-updates" : "https://the-guild.dev/graphql/hive/product-updates",
|
|
255
|
-
title: "Read most recent developments from Hive",
|
|
256
|
-
icon: RightCornerIcon,
|
|
257
|
-
children: "Product Updates"
|
|
258
|
-
},
|
|
259
|
-
{
|
|
260
|
-
href: "https://the-guild.dev/blog",
|
|
261
|
-
title: "Read our blog post",
|
|
262
|
-
icon: PencilIcon,
|
|
263
|
-
children: "Blog"
|
|
264
|
-
},
|
|
265
|
-
{
|
|
266
|
-
href: isHive ? "https://github.com/graphql-hive/console" : "https://github.com/dotansimha/graphql-code-generator",
|
|
267
|
-
title: "Give us a star",
|
|
268
|
-
icon: GitHubIcon,
|
|
269
|
-
children: "GitHub"
|
|
270
|
-
}
|
|
271
|
-
];
|
|
239
|
+
({ developerMenu, ...rest }, ref) => {
|
|
272
240
|
return /* @__PURE__ */ jsxs(MenuContentColumns, { ...rest, ref, children: [
|
|
273
241
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
274
242
|
/* @__PURE__ */ jsx(ColumnLabel, { children: "Developer" }),
|
|
275
|
-
/* @__PURE__ */ jsx("ul", { children: developerMenu
|
|
243
|
+
/* @__PURE__ */ jsx("ul", { children: developerMenu?.map(({ href, title, icon, children }, i) => /* @__PURE__ */ jsx(MenuColumnListItem, { title, href, icon, children }, i)) })
|
|
276
244
|
] }),
|
|
277
245
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
278
246
|
/* @__PURE__ */ jsx(ColumnLabel, { children: "Community" }),
|
|
@@ -285,7 +253,7 @@ const DeveloperMenu = React.forwardRef(
|
|
|
285
253
|
["X", TwitterIcon, "https://x.com/theguilddev"],
|
|
286
254
|
["LinkedIn", LinkedInIcon, "https://www.linkedin.com/company/the-guild-software/"],
|
|
287
255
|
["Discord", DiscordIcon, "https://discord.com/invite/xud7bH9"]
|
|
288
|
-
].map(([text, Icon, href], i) => /* @__PURE__ */ jsx(MenuColumnListItem, { href, icon: Icon, children: text }, i)) })
|
|
256
|
+
].map(([text, Icon, href], i) => /* @__PURE__ */ jsx(MenuColumnListItem, { href, icon: /* @__PURE__ */ jsx(Icon, {}), children: text }, i)) })
|
|
289
257
|
] })
|
|
290
258
|
] });
|
|
291
259
|
}
|
|
@@ -295,17 +263,17 @@ function MenuColumnListItem({
|
|
|
295
263
|
children,
|
|
296
264
|
href,
|
|
297
265
|
title,
|
|
298
|
-
icon
|
|
266
|
+
icon
|
|
299
267
|
}) {
|
|
300
268
|
return /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs(
|
|
301
269
|
NavigationMenuLink,
|
|
302
270
|
{
|
|
303
271
|
href,
|
|
304
272
|
title,
|
|
305
|
-
className: "flex
|
|
273
|
+
className: "flex items-center gap-3 text-nowrap px-4 py-2",
|
|
306
274
|
arrow: true,
|
|
307
275
|
children: [
|
|
308
|
-
|
|
276
|
+
icon,
|
|
309
277
|
/* @__PURE__ */ jsx("p", { className: "text-base font-medium leading-normal text-green-1000 dark:text-neutral-200", children })
|
|
310
278
|
]
|
|
311
279
|
}
|
|
@@ -334,7 +302,7 @@ function EnterpriseMenu() {
|
|
|
334
302
|
[HonourIcon, "Professional Services", ""],
|
|
335
303
|
[ShieldFlashIcon, "Commitment to Security", ""]
|
|
336
304
|
].map(([Icon, text, href], i) => {
|
|
337
|
-
return /* @__PURE__ */ jsx(MenuColumnListItem, { href, icon: Icon, children: text }, i);
|
|
305
|
+
return /* @__PURE__ */ jsx(MenuColumnListItem, { href, icon: /* @__PURE__ */ jsx(Icon, {}), children: text }, i);
|
|
338
306
|
}) });
|
|
339
307
|
}
|
|
340
308
|
function CompanyMenu({ children }) {
|
|
@@ -342,11 +310,11 @@ function CompanyMenu({ children }) {
|
|
|
342
310
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
343
311
|
/* @__PURE__ */ jsx(ColumnLabel, { children: "Company" }),
|
|
344
312
|
/* @__PURE__ */ jsxs("ul", { children: [
|
|
345
|
-
/* @__PURE__ */ jsx(MenuColumnListItem, { icon: GroupIcon, href:
|
|
346
|
-
/* @__PURE__ */ jsx(MenuColumnListItem, { icon: AppsIcon, href:
|
|
313
|
+
/* @__PURE__ */ jsx(MenuColumnListItem, { icon: /* @__PURE__ */ jsx(GroupIcon, {}), href: `${siteOrigin}/about-us`, children: "About Us" }),
|
|
314
|
+
/* @__PURE__ */ jsx(MenuColumnListItem, { icon: /* @__PURE__ */ jsx(AppsIcon, {}), href: `${siteOrigin}/logos`, children: "Brand Assets" })
|
|
347
315
|
] }),
|
|
348
316
|
/* @__PURE__ */ jsx(ColumnLabel, { children: "Proudly made by" }),
|
|
349
|
-
/* @__PURE__ */ jsxs(NavigationMenuLink, { href:
|
|
317
|
+
/* @__PURE__ */ jsxs(NavigationMenuLink, { href: `${siteOrigin}/`, className: "px-4 py-2", arrow: true, children: [
|
|
350
318
|
/* @__PURE__ */ jsx(GuildLogo, { className: "-my-2 size-10" }),
|
|
351
319
|
/* @__PURE__ */ jsx(TheGuild, { className: "h-8" })
|
|
352
320
|
] }),
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { ReactComponent as AccountBox, ReactComponent as AppsIcon, ReactComponent as ArrowIcon, ReactComponent as BardIcon, ReactComponent as CSAStarLevelOneIcon, ReactComponent as CaretSlimIcon, ReactComponent as CheckIcon, ReactComponent as CloseIcon, ReactComponent as CodegenIcon, ReactComponent as GroupIcon, ReactComponent as HiveGatewayIcon, ReactComponent as HiveIcon, ReactComponent as HonourIcon, ReactComponent as LinkedInIcon, ReactComponent as ListIcon, ReactComponent as MeshIcon, ReactComponent as
|
|
1
|
+
export { ReactComponent as AccountBox, ReactComponent as AppsIcon, ReactComponent as ArrowIcon, ReactComponent as BardIcon, ReactComponent as CSAStarLevelOneIcon, ReactComponent as CaretSlimIcon, ReactComponent as CheckIcon, ReactComponent as CloseIcon, ReactComponent as CodegenIcon, ReactComponent as GroupIcon, ReactComponent as HiveGatewayIcon, ReactComponent as HiveIcon, ReactComponent as HonourIcon, ReactComponent as LinkedInIcon, ReactComponent as ListIcon, ReactComponent as MeshIcon, ReactComponent as MoreIcon, ReactComponent as PaperIcon, ReactComponent as PencilIcon, ReactComponent as RightCornerIcon, ReactComponent as SearchIcon, ReactComponent as ShareIcon, ReactComponent as ShieldFlashIcon, ReactComponent as StellateIcon, ReactComponent as TargetIcon, ReactComponent as TwitterIcon, ReactComponent as YogaIcon, ReactComponent as YouTubeIcon } from '../../logos/angular.mjs';
|
|
2
2
|
export { DiscordIcon, GitHubIcon, InformationCircleIcon } from 'nextra/icons';
|
|
3
3
|
import 'react';
|