@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.
Files changed (55) hide show
  1. package/dist/components/contact-us.d.mts +18 -0
  2. package/dist/components/contact-us.js +32 -0
  3. package/dist/components/cookies-consent.d.mts +2 -1
  4. package/dist/components/cookies-consent.js +25 -9
  5. package/dist/components/explore-main-product-cards.js +1 -1
  6. package/dist/components/get-your-api-game-right-section.js +4 -16
  7. package/dist/components/heading.js +1 -0
  8. package/dist/components/{hive-footer.d.mts → hive-footer/index.d.mts} +8 -5
  9. package/dist/components/{hive-footer.js → hive-footer/index.js} +18 -26
  10. package/dist/components/hive-navigation/graphql-conf-card.js +1 -1
  11. package/dist/components/hive-navigation/index.d.mts +11 -18
  12. package/dist/components/hive-navigation/index.js +40 -72
  13. package/dist/components/icons/index.d.mts +1 -1
  14. package/dist/components/icons/index.js +28 -28
  15. package/dist/components/icons/stellate.js +12 -0
  16. package/dist/components/index.d.mts +6 -5
  17. package/dist/components/index.js +4 -12
  18. package/dist/components/{tools-and-libraries-cards → product-card}/hive-decoration.js +1 -1
  19. package/dist/components/{tools-and-libraries-cards → product-card}/hive-gateway-decoration.js +1 -1
  20. package/dist/components/product-card/index.d.mts +13 -0
  21. package/dist/components/product-card/index.js +101 -0
  22. package/dist/components/{tools-and-libraries-cards → product-card}/mesh-decoration.js +1 -1
  23. package/dist/components/product-card/yoga-decoration.d.mts +3 -0
  24. package/dist/components/{tools-and-libraries-cards → product-card}/yoga-decoration.js +1 -1
  25. package/dist/components/schema-type.js +1 -1
  26. package/dist/components/stud.d.mts +2 -1
  27. package/dist/components/tools-and-libraries-cards/index.d.mts +3 -12
  28. package/dist/components/tools-and-libraries-cards/index.js +12 -87
  29. package/dist/index.d.mts +8 -8
  30. package/dist/index.js +3 -1
  31. package/dist/logos/guild.js +1 -1
  32. package/dist/logos/index.d.mts +20 -21
  33. package/dist/logos/index.js +16 -13
  34. package/dist/products.d.mts +9 -6
  35. package/dist/products.js +20 -13
  36. package/dist/server/index.d.mts +5 -4
  37. package/dist/server/index.js +2 -1
  38. package/dist/server/mdx-components.d.mts +183 -204
  39. package/dist/server/mdx-components.js +2 -1
  40. package/dist/server/next.config.js +16 -2
  41. package/dist/server/theme-layout.d.mts +7 -1
  42. package/dist/server/theme-layout.js +29 -13
  43. package/dist/types/components.d.mts +1 -9
  44. package/package.json +3 -3
  45. package/style.css +16 -43
  46. package/dist/components/footer.d.mts +0 -9
  47. package/dist/components/footer.js +0 -116
  48. package/dist/components/guild-navbar-logo.d.mts +0 -19
  49. package/dist/components/guild-navbar-logo.js +0 -62
  50. package/dist/helpers/render-slot.d.mts +0 -3
  51. package/dist/helpers/render-slot.js +0 -21
  52. /package/dist/components/{tools-and-libraries-cards/hive-decoration.d.mts → icons/stellate.d.mts} +0 -0
  53. /package/dist/components/{tools-and-libraries-cards/hive-gateway-decoration.d.mts → product-card/hive-decoration.d.mts} +0 -0
  54. /package/dist/components/{tools-and-libraries-cards/mesh-decoration.d.mts → product-card/hive-gateway-decoration.d.mts} +0 -0
  55. /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 = React.HTMLAttributes<HTMLElement>;
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(() => localStorage.getItem("cookies") === "true");
8
- const onAccept = () => {
9
- setConsented(true);
10
- localStorage.setItem("cookies", "true");
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(CallToAction, { variant: "tertiary", onClick: onAccept, className: "px-4 py-2", children: "Allow" })
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 flex-col items-stretch justify-between gap-x-6 gap-y-4 p-4 sm:items-center md:h-[308px] md:flex-row md:px-24", children: [
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 flex-col gap-x-4 gap-y-2 whitespace-pre sm:flex-row", children: [
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,3 +1,4 @@
1
+ "use client";
1
2
  import { jsx } from "react/jsx-runtime";
2
3
  import { cn } from "../cn";
3
4
  function Heading({ as: _as, size, className, children, ...rest }) {
@@ -1,15 +1,18 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { IFooterExtendedProps, ILink } from '../types/components.mjs';
3
- import 'react';
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
- interface HiveFooterProps extends IFooterExtendedProps {
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 "../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";
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 "./icons";
15
- function HiveFooter({ className, logo, description, items }) {
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: `${siteOrigin}/`,
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?.children || /* @__PURE__ */ jsx(HiveCombinationMark, { className: "h-8 w-auto" })
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-row flex-wrap justify-between gap-x-[inherit] gap-y-8 lg:w-full lg:pb-2 lg:pt-8", children: [
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: "", ...image, width: 358, height: 200 }),
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
- interface HiveNavigationProps {
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
- href: string;
21
- title?: string;
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 = react__default.HTMLAttributes<HTMLDivElement>;
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: undefined | {
46
+ developerMenu?: {
52
47
  href: string;
53
48
  title?: string;
54
- icon: react__default.FC<{
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, { forwardRef, Fragment, useEffect, useRef } from "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, useThemeConfig } from "nextra-theme-docs";
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 { renderSlot } from "../../helpers/render-slot";
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
- PaperIcon,
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: isHive ? "/pricing" : "https://the-guild.dev/graphql/hive/pricing",
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, { isHive, 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
- renderSlot(Search, {
107
- className: cn(
108
- "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]:top-1/2 [&_kbd]:my-0 [&_kbd]:-translate-y-1/2 [&_kbd]:border-none [&_kbd]:bg-green-200 dark:[&_kbd]:bg-neutral-700"
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: "https://the-guild.dev/contact",
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
- isHive ? /* @__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" })
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 flex-row items-center gap-4 p-4",
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 flex-row items-center gap-3 px-4 py-2",
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
- ({ isHive, developerMenu, ...rest }, ref) => {
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.map(({ href, title, icon, children }, i) => /* @__PURE__ */ jsx(MenuColumnListItem, { title, href, icon, children }, i)) })
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: 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 flex-row items-center gap-3 text-nowrap px-4 py-2",
273
+ className: "flex items-center gap-3 text-nowrap px-4 py-2",
306
274
  arrow: true,
307
275
  children: [
308
- /* @__PURE__ */ jsx(Icon, { className: "size-6 shrink-0" }),
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: "https://the-guild.dev/about-us", children: "About Us" }),
346
- /* @__PURE__ */ jsx(MenuColumnListItem, { icon: AppsIcon, href: "https://the-guild.dev/logos", children: "Brand Assets" })
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: "https://the-guild.dev", className: "px-4 py-2", arrow: true, children: [
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 MoonIcon, ReactComponent as MoreIcon, ReactComponent as PaperIcon, ReactComponent as PencilIcon, ReactComponent as RightCornerIcon, ReactComponent as SearchIcon, ReactComponent as ShareIcon, ReactComponent as ShieldFlashIcon, ReactComponent as TargetIcon, ReactComponent as TwitterIcon, ReactComponent as YogaIcon, ReactComponent as YouTubeIcon } from '../../logos/angular.mjs';
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';