@theguild/components 7.2.0-alpha-20241101220642-0b6682d9cf4196529799e8ad0e38b83426590e93 → 8.0.0-alpha-20241103132221-f9d255adde945cffb98f9f7c914ac29896a15819

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 (117) hide show
  1. package/dist/chunk-ME7V4BHY.js +10 -0
  2. package/dist/cn.d.mts +5 -0
  3. package/dist/cn.js +8 -0
  4. package/dist/components/anchor.d.mts +11 -0
  5. package/dist/components/anchor.js +30 -0
  6. package/dist/components/button.d.mts +13 -0
  7. package/dist/components/button.js +25 -0
  8. package/dist/components/call-to-action.d.mts +38 -0
  9. package/dist/components/call-to-action.js +42 -0
  10. package/dist/components/cards-colorful.d.mts +19 -0
  11. package/dist/components/cards-colorful.js +20 -0
  12. package/dist/components/cookies-consent.d.mts +7 -0
  13. package/dist/components/cookies-consent.js +48 -0
  14. package/dist/components/decorations/index.d.mts +11 -0
  15. package/dist/components/decorations/index.js +72 -0
  16. package/dist/components/feature-list.d.mts +9 -0
  17. package/dist/components/feature-list.js +41 -0
  18. package/dist/components/footer.d.mts +9 -0
  19. package/dist/components/footer.js +116 -0
  20. package/dist/components/get-your-api-game-right-section.d.mts +7 -0
  21. package/dist/components/get-your-api-game-right-section.js +122 -0
  22. package/dist/components/giscus.d.mts +6 -0
  23. package/dist/components/giscus.js +14 -0
  24. package/dist/components/guild-navbar-logo.d.mts +19 -0
  25. package/dist/components/guild-navbar-logo.js +62 -0
  26. package/dist/components/heading.d.mts +10 -0
  27. package/dist/components/heading.js +36 -0
  28. package/dist/components/hero-gradient.d.mts +9 -0
  29. package/dist/components/hero-gradient.js +82 -0
  30. package/dist/components/hero-illustration.d.mts +9 -0
  31. package/dist/components/hero-illustration.js +31 -0
  32. package/dist/components/hero-marketplace.d.mts +9 -0
  33. package/dist/components/hero-marketplace.js +78 -0
  34. package/dist/components/hero-video.d.mts +9 -0
  35. package/dist/components/hero-video.js +73 -0
  36. package/dist/components/hive-footer.d.mts +11 -0
  37. package/dist/components/hive-footer.js +252 -0
  38. package/dist/components/hive-navigation/graphql-conf-card.d.mts +9 -0
  39. package/dist/components/hive-navigation/graphql-conf-card.js +26 -0
  40. package/dist/components/hive-navigation/index.d.mts +55 -0
  41. package/dist/components/hive-navigation/index.js +392 -0
  42. package/dist/components/hive-navigation/navigation-menu.d.mts +23 -0
  43. package/dist/components/hive-navigation/navigation-menu.js +179 -0
  44. package/dist/components/icons/index.d.mts +6 -0
  45. package/dist/{chunk-XKCA3AB7.js → components/icons/index.js} +29 -266
  46. package/dist/components/image.d.mts +6 -0
  47. package/dist/components/image.js +8 -0
  48. package/dist/components/index.d.mts +44 -0
  49. package/dist/components/index.js +52 -0
  50. package/dist/components/info-card.d.mts +11 -0
  51. package/dist/components/info-card.js +20 -0
  52. package/dist/components/info-list.d.mts +9 -0
  53. package/dist/components/info-list.js +27 -0
  54. package/dist/components/legacy-package-cmd.d.mts +13 -0
  55. package/dist/components/legacy-package-cmd.js +54 -0
  56. package/dist/components/marketplace-list.d.mts +9 -0
  57. package/dist/components/marketplace-list.js +118 -0
  58. package/dist/components/marketplace-search.d.mts +9 -0
  59. package/dist/components/marketplace-search.js +111 -0
  60. package/dist/components/npm-badge.d.mts +7 -0
  61. package/dist/components/npm-badge.js +16 -0
  62. package/dist/components/schema-type.d.mts +9 -0
  63. package/dist/components/schema-type.js +80 -0
  64. package/dist/components/stud.d.mts +7 -0
  65. package/dist/components/stud.js +17 -0
  66. package/dist/components/tag.d.mts +13 -0
  67. package/dist/components/tag.js +26 -0
  68. package/dist/components/theme-switcher.d.mts +7 -0
  69. package/dist/components/theme-switcher.js +17 -0
  70. package/dist/components/tools-and-libraries-cards.d.mts +7 -0
  71. package/dist/components/tools-and-libraries-cards.js +442 -0
  72. package/dist/constants.d.mts +7 -0
  73. package/dist/constants.js +7 -0
  74. package/dist/helpers/render-slot.d.mts +3 -0
  75. package/dist/helpers/render-slot.js +21 -0
  76. package/dist/index.d.mts +64 -339
  77. package/dist/index.js +21 -3115
  78. package/dist/logos/index.d.mts +26 -0
  79. package/dist/{chunk-EWF5AT2G.js → logos/index.js} +68 -53
  80. package/dist/mdx-components.d.mts +5 -0
  81. package/dist/mdx-components.js +50 -0
  82. package/dist/products.d.mts +10 -5
  83. package/dist/products.js +230 -5
  84. package/dist/server/index.d.mts +5 -0
  85. package/dist/server/index.js +12 -0
  86. package/dist/server/next.config.d.mts +10 -0
  87. package/dist/server/next.config.js +107 -0
  88. package/dist/server/npm.d.mts +21 -0
  89. package/dist/server/npm.js +75 -0
  90. package/dist/server/package.json +1 -0
  91. package/dist/server/pages.d.mts +1 -0
  92. package/dist/server/pages.js +5 -0
  93. package/dist/server/underscore-redirects.d.mts +3 -0
  94. package/dist/server/underscore-redirects.js +40 -0
  95. package/dist/static/illustrations/marketplace-cube-bl.d.mts +2 -0
  96. package/dist/static/illustrations/marketplace-cube-br.d.mts +2 -0
  97. package/dist/static/illustrations/marketplace-cube-tl.d.mts +2 -0
  98. package/dist/static/illustrations/marketplace-cube-tr.d.mts +2 -0
  99. package/dist/static/illustrations/marketplace-desktop.d.mts +2 -0
  100. package/dist/static/illustrations/marketplace-mobile.d.mts +2 -0
  101. package/dist/theme-layout.d.mts +39 -0
  102. package/dist/theme-layout.js +144 -0
  103. package/dist/types/components.d.mts +121 -0
  104. package/dist/types/components.js +0 -0
  105. package/package.json +19 -36
  106. package/style.css +10 -8
  107. package/dist/compile.mjs +0 -11
  108. package/dist/index.css +0 -133
  109. package/dist/logos.d.mts +0 -32
  110. package/dist/logos.js +0 -54
  111. package/dist/next.config.mjs +0 -135
  112. /package/dist/{marketplace-cube-bl-42X7Y3KO.png → static/illustrations/marketplace-cube-bl.png} +0 -0
  113. /package/dist/{marketplace-cube-br-Y5MZRDIL.png → static/illustrations/marketplace-cube-br.png} +0 -0
  114. /package/dist/{marketplace-cube-tl-PEJKW6RX.png → static/illustrations/marketplace-cube-tl.png} +0 -0
  115. /package/dist/{marketplace-cube-tr-O5XQ6Q4N.png → static/illustrations/marketplace-cube-tr.png} +0 -0
  116. /package/dist/{marketplace-desktop-7XUR54PR.png → static/illustrations/marketplace-desktop.png} +0 -0
  117. /package/dist/{marketplace-mobile-DI462WKF.png → static/illustrations/marketplace-mobile.png} +0 -0
@@ -0,0 +1,392 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import React, { forwardRef, Fragment, useEffect, useRef } from "react";
4
+ import { createPortal } from "react-dom";
5
+ import { usePathname } from "next/navigation";
6
+ import { setMenu, useMenu, useThemeConfig } from "nextra-theme-docs";
7
+ import { useMounted } from "nextra/hooks";
8
+ import { MenuIcon } from "nextra/icons";
9
+ import { cn } from "../../cn";
10
+ import { renderSlot } from "../../helpers/render-slot";
11
+ import { GraphQLFoundationLogo, GuildLogo, HiveCombinationMark, TheGuild } from "../../logos";
12
+ import { PRODUCTS, SIX_HIGHLIGHTED_PRODUCTS } from "../../products";
13
+ import { Anchor } from "../anchor";
14
+ import { CallToAction } from "../call-to-action";
15
+ import {
16
+ AccountBox,
17
+ AppsIcon,
18
+ ArrowIcon,
19
+ BardIcon,
20
+ GitHubIcon,
21
+ GroupIcon,
22
+ HiveIcon,
23
+ HonourIcon,
24
+ PaperIcon,
25
+ PencilIcon,
26
+ RightCornerIcon,
27
+ ShieldFlashIcon,
28
+ TargetIcon
29
+ } from "../icons";
30
+ import {
31
+ NavigationMenu,
32
+ NavigationMenuContent,
33
+ NavigationMenuItem,
34
+ NavigationMenuLink,
35
+ NavigationMenuList,
36
+ NavigationMenuTrigger
37
+ } from "./navigation-menu";
38
+ export * from "./graphql-conf-card";
39
+ const EXPLORE_HREF = "https://github.com/the-guild-org";
40
+ const ENTERPRISE_MENU_HIDDEN = true;
41
+ function HiveNavigation({
42
+ companyMenuChildren,
43
+ children,
44
+ className,
45
+ productName
46
+ }) {
47
+ const Search = useThemeConfig().search;
48
+ const isHive = productName === "Hive";
49
+ const containerRef = useRef(null);
50
+ return /* @__PURE__ */ jsxs(
51
+ "div",
52
+ {
53
+ ref: containerRef,
54
+ className: cn(
55
+ "sticky top-0 z-20 border-b border-beige-400/[var(--border-opacity)] bg-[rgb(var(--nextra-bg))] px-6 py-4 text-green-1000 transition-[border-color] duration-500 md:mb-[7px] md:mt-2 dark:border-neutral-700/[var(--border-opacity)] dark:text-neutral-200 [&.light]:border-beige-400/[var(--border-opacity)] [&.light]:bg-white [&.light]:text-green-1000",
56
+ className?.includes("light") && "light"
57
+ ),
58
+ style: { "--border-opacity": 0 },
59
+ children: [
60
+ /* @__PURE__ */ jsx(
61
+ TopOfSiteMarker,
62
+ {
63
+ onChange: (scrolled) => {
64
+ const container = containerRef.current;
65
+ container.style.setProperty("--border-opacity", scrolled ? "1" : "0");
66
+ }
67
+ }
68
+ ),
69
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between md:hidden", children: [
70
+ /* @__PURE__ */ jsx(HiveLogoLink, {}),
71
+ /* @__PURE__ */ jsx(HamburgerButton, {})
72
+ ] }),
73
+ /* @__PURE__ */ jsxs(NavigationMenu, { className: cn("mx-auto hidden md:flex", className), delayDuration: 0, children: [
74
+ /* @__PURE__ */ jsx(HiveLogoLink, {}),
75
+ /* @__PURE__ */ jsxs(NavigationMenuList, { className: "ml-4 bg-white dark:bg-transparent [@media(min-width:1180px)]:ml-16", children: [
76
+ /* @__PURE__ */ jsxs(NavigationMenuItem, { children: [
77
+ /* @__PURE__ */ jsx(NavigationMenuTrigger, { children: "Products" }),
78
+ /* @__PURE__ */ jsx(NavigationMenuContent, { children: /* @__PURE__ */ jsx(ProductsMenu, { productName }) })
79
+ ] }),
80
+ /* @__PURE__ */ jsxs(NavigationMenuItem, { children: [
81
+ /* @__PURE__ */ jsx(NavigationMenuTrigger, { children: "Developer" }),
82
+ /* @__PURE__ */ jsx(NavigationMenuContent, { children: /* @__PURE__ */ jsx(DeveloperMenu, { isHive }) })
83
+ ] }),
84
+ !ENTERPRISE_MENU_HIDDEN && /* @__PURE__ */ jsxs(NavigationMenuItem, { children: [
85
+ /* @__PURE__ */ jsx(NavigationMenuTrigger, { children: "Enterprise" }),
86
+ /* @__PURE__ */ jsx(NavigationMenuContent, { children: /* @__PURE__ */ jsx(EnterpriseMenu, {}) })
87
+ ] }),
88
+ /* @__PURE__ */ jsxs(NavigationMenuItem, { children: [
89
+ /* @__PURE__ */ jsx(NavigationMenuTrigger, { children: "Company" }),
90
+ /* @__PURE__ */ jsx(NavigationMenuContent, { children: /* @__PURE__ */ jsx(CompanyMenu, { children: companyMenuChildren }) })
91
+ ] }),
92
+ /* @__PURE__ */ jsx(NavigationMenuItem, { className: "flex", children: /* @__PURE__ */ jsx(
93
+ NavigationMenuLink,
94
+ {
95
+ href: isHive ? "#pricing" : "https://the-guild.dev/graphql/hive#pricing",
96
+ className: "font-medium",
97
+ children: "Pricing"
98
+ }
99
+ ) })
100
+ ] }),
101
+ /* @__PURE__ */ jsx("div", { className: "flex-1" }),
102
+ children,
103
+ renderSlot(Search, {
104
+ className: cn(
105
+ "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"
106
+ )
107
+ }),
108
+ /* @__PURE__ */ jsxs(
109
+ CallToAction,
110
+ {
111
+ className: "ml-4 max-lg:hidden",
112
+ variant: "tertiary",
113
+ href: "https://the-guild.dev/contact",
114
+ target: "_blank",
115
+ rel: "noopener noreferrer",
116
+ onClick: (event) => {
117
+ window.$crisp?.push(["do", "chat:open"]);
118
+ event.preventDefault();
119
+ },
120
+ children: [
121
+ "Contact ",
122
+ /* @__PURE__ */ jsx("span", { className: "hidden xl:contents", children: "us" })
123
+ ]
124
+ }
125
+ ),
126
+ /* @__PURE__ */ jsx(CallToAction, { variant: "primary", href: "https://app.graphql-hive.com/", className: "ml-4", children: "Sign in" })
127
+ ] })
128
+ ]
129
+ }
130
+ );
131
+ }
132
+ const ProductsMenu = React.forwardRef(
133
+ ({ productName, ...rest }, ref) => {
134
+ const pathname = usePathname();
135
+ const bidirectionalProductLink = (product) => {
136
+ if (productName === product.name) {
137
+ return pathname === "/" ? "/docs" : "/";
138
+ }
139
+ return product.href;
140
+ };
141
+ return /* @__PURE__ */ jsxs(MenuContentColumns, { ref, ...rest, children: [
142
+ /* @__PURE__ */ jsxs("div", { className: "w-[220px]", children: [
143
+ /* @__PURE__ */ jsx(ColumnLabel, { children: "Platform" }),
144
+ /* @__PURE__ */ jsxs(NavigationMenuLink, { href: bidirectionalProductLink(PRODUCTS.HIVE), className: "p-4", children: [
145
+ /* @__PURE__ */ jsx("div", { className: "w-fit rounded-lg bg-green-800 p-3 dark:bg-white/10", children: /* @__PURE__ */ jsx(HiveIcon, { className: "size-10 text-white" }) }),
146
+ /* @__PURE__ */ jsx("p", { className: "mt-4 text-base font-medium leading-normal text-green-1000 dark:text-neutral-200", children: "Hive" }),
147
+ /* @__PURE__ */ jsx("p", { className: "mt-1 text-sm leading-5 text-green-800 dark:text-neutral-400", children: "GraphQL Management Platform, a Gateway & Decision-making Engine" })
148
+ ] }),
149
+ /* @__PURE__ */ jsxs(
150
+ Anchor,
151
+ {
152
+ href: "https://app.graphql-hive.com/",
153
+ className: "hive-focus -my-2 ml-2 flex items-center gap-2 rounded-lg p-2 font-medium text-green-800 transition-colors hover:bg-beige-100 hover:text-green-1000 dark:text-neutral-400 dark:hover:bg-neutral-800/50 dark:hover:text-neutral-200",
154
+ children: [
155
+ /* @__PURE__ */ jsx("span", { children: "Get started" }),
156
+ " ",
157
+ /* @__PURE__ */ jsx(ArrowIcon, {})
158
+ ]
159
+ }
160
+ )
161
+ ] }),
162
+ /* @__PURE__ */ jsxs("div", { className: "w-[267px]", children: [
163
+ /* @__PURE__ */ jsx(ColumnLabel, { children: "The GraphQL Stack" }),
164
+ /* @__PURE__ */ jsx("ul", { children: [
165
+ [PRODUCTS.MESH, "Anything to GraphQL"],
166
+ [PRODUCTS.YOGA, "GraphQL Server & Subgraph"],
167
+ [PRODUCTS.CODEGEN, "GraphQL Code Generation"]
168
+ ].map(([product, description]) => {
169
+ const Logo = product.logo;
170
+ return /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs(
171
+ NavigationMenuLink,
172
+ {
173
+ href: bidirectionalProductLink(product),
174
+ className: "flex flex-row items-center gap-4 p-4",
175
+ children: [
176
+ /* @__PURE__ */ jsx("div", { className: "size-12 rounded-lg bg-blue-400 p-2.5", children: /* @__PURE__ */ jsx(Logo, { className: "size-7 text-green-1000" }) }),
177
+ /* @__PURE__ */ jsxs("div", { children: [
178
+ /* @__PURE__ */ jsx("p", { className: "text-base font-medium leading-normal text-green-1000 dark:text-neutral-200", children: product.name }),
179
+ /* @__PURE__ */ jsx("p", { className: "col-start-2 mt-1 text-sm leading-5 text-green-800 dark:text-neutral-300", children: description })
180
+ ] })
181
+ ]
182
+ }
183
+ ) }, product.name);
184
+ }) })
185
+ ] }),
186
+ /* @__PURE__ */ jsxs("div", { className: "w-[364px]", children: [
187
+ /* @__PURE__ */ jsx(ColumnLabel, { children: "Libraries" }),
188
+ /* @__PURE__ */ jsx("ul", { className: "grid grid-cols-2 gap-x-4", children: SIX_HIGHLIGHTED_PRODUCTS.map((product) => {
189
+ const Logo = product.logo;
190
+ return /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs(
191
+ NavigationMenuLink,
192
+ {
193
+ href: bidirectionalProductLink(product),
194
+ className: "flex flex-row items-center gap-3 px-4 py-2",
195
+ arrow: true,
196
+ children: [
197
+ /* @__PURE__ */ jsx("div", { className: "flex size-8 items-center justify-center rounded bg-beige-200 dark:bg-white/5", children: /* @__PURE__ */ jsx(Logo, { className: "size-8 text-green-1000 dark:text-neutral-300" }) }),
198
+ /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx("p", { className: "text-base font-medium leading-normal text-green-1000 dark:text-neutral-200", children: product.name }) })
199
+ ]
200
+ }
201
+ ) }, product.name);
202
+ }) }),
203
+ /* @__PURE__ */ jsxs(
204
+ Anchor,
205
+ {
206
+ href: EXPLORE_HREF,
207
+ className: "hive-focus -my-2 ml-2 flex items-center gap-2 rounded-lg p-2 font-medium text-green-800 transition-colors hover:bg-beige-100 hover:text-green-1000 dark:text-neutral-400 dark:hover:bg-neutral-800/50 dark:hover:text-neutral-200",
208
+ children: [
209
+ /* @__PURE__ */ jsx("span", { children: "Explore all libraries" }),
210
+ " ",
211
+ /* @__PURE__ */ jsx(ArrowIcon, {})
212
+ ]
213
+ }
214
+ )
215
+ ] })
216
+ ] });
217
+ }
218
+ );
219
+ ProductsMenu.displayName = "ProductsMenu";
220
+ const MenuContentColumns = forwardRef(
221
+ (props, ref) => {
222
+ return /* @__PURE__ */ jsx("div", { className: "flex gap-x-6 *:flex *:flex-col *:gap-4", ref, ...props, children: React.Children.toArray(props.children).filter(Boolean).map((child, index, array) => {
223
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
224
+ child,
225
+ index < array.length - 1 && /* @__PURE__ */ jsx("div", { className: "w-px bg-beige-200 dark:bg-neutral-800" })
226
+ ] }, index);
227
+ }) });
228
+ }
229
+ );
230
+ MenuContentColumns.displayName = "MenuContentColumns";
231
+ const DeveloperMenu = React.forwardRef(
232
+ ({ isHive, ...rest }, ref) => {
233
+ return /* @__PURE__ */ jsxs(MenuContentColumns, { ...rest, ref, children: [
234
+ /* @__PURE__ */ jsxs("div", { children: [
235
+ /* @__PURE__ */ jsx(ColumnLabel, { children: "Developer" }),
236
+ /* @__PURE__ */ jsx("ul", { children: [
237
+ [
238
+ "Documentation",
239
+ PaperIcon,
240
+ isHive ? "/docs" : "https://the-guild.dev/graphql/hive/docs"
241
+ ],
242
+ ["Status", TargetIcon, "https://status.graphql-hive.com/"],
243
+ [
244
+ "Product Updates",
245
+ RightCornerIcon,
246
+ isHive ? "/product-updates" : "https://the-guild.dev/graphql/hive/product-updates"
247
+ ],
248
+ ["Blog", PencilIcon, "https://the-guild.dev/blog"],
249
+ ["GitHub", GitHubIcon, "https://github.com/kamilkisiela/graphql-hive"]
250
+ ].map(([text, Icon, href], i) => /* @__PURE__ */ jsx(MenuColumnListItem, { href, icon: Icon, children: text }, i)) })
251
+ ] }),
252
+ /* @__PURE__ */ jsxs("div", { children: [
253
+ /* @__PURE__ */ jsx(ColumnLabel, { children: "Community" }),
254
+ /* @__PURE__ */ jsx("ul", { children: [
255
+ [
256
+ "YouTube",
257
+ YouTubeIcon,
258
+ "https://www.youtube.com/watch?v=d_GBgH-L5c4&list=PLhCf3AUOg4PgQoY_A6xWDQ70yaNtPYtZd"
259
+ ],
260
+ ["X", TwitterIcon, "https://x.com/theguilddev"],
261
+ ["LinkedIn", LinkedInIcon, "https://www.linkedin.com/company/the-guild-software/"],
262
+ ["Discord", DiscordIcon, "https://discord.com/invite/xud7bH9"]
263
+ ].map(([text, Icon, href], i) => /* @__PURE__ */ jsx(MenuColumnListItem, { href, icon: Icon, children: text }, i)) })
264
+ ] })
265
+ ] });
266
+ }
267
+ );
268
+ DeveloperMenu.displayName = "DeveloperMenu";
269
+ function MenuColumnListItem({
270
+ children,
271
+ href,
272
+ icon: Icon
273
+ }) {
274
+ return /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs(
275
+ NavigationMenuLink,
276
+ {
277
+ href,
278
+ className: "flex flex-row items-center gap-3 text-nowrap px-4 py-2",
279
+ arrow: true,
280
+ children: [
281
+ /* @__PURE__ */ jsx(Icon, { className: "size-6 shrink-0" }),
282
+ /* @__PURE__ */ jsx("p", { className: "text-base font-medium leading-normal text-green-1000 dark:text-neutral-200", children })
283
+ ]
284
+ }
285
+ ) });
286
+ }
287
+ function ColumnLabel({ children }) {
288
+ return /* @__PURE__ */ jsx("p", { className: "px-4 text-sm leading-5 text-green-700 dark:text-neutral-300", children });
289
+ }
290
+ function YouTubeIcon(props) {
291
+ return /* @__PURE__ */ jsx("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "currentColor", ...props, children: /* @__PURE__ */ jsx("path", { d: "M20.5887 7.04819C21 8.65199 21 12 21 12C21 12 21 15.348 20.5887 16.9518C20.3601 17.8383 19.6914 18.5358 18.8445 18.7716C17.3064 19.2 12 19.2 12 19.2C12 19.2 6.6963 19.2 5.1555 18.7716C4.305 18.5322 3.6372 17.8356 3.4113 16.9518C3 15.348 3 12 3 12C3 12 3 8.65199 3.4113 7.04819C3.6399 6.16169 4.3086 5.46419 5.1555 5.22839C6.6963 4.79999 12 4.79999 12 4.79999C12 4.79999 17.3064 4.79999 18.8445 5.22839C19.695 5.46779 20.3628 6.16439 20.5887 7.04819ZM10.2 15.15L15.6 12L10.2 8.84999V15.15Z" }) });
292
+ }
293
+ function TwitterIcon(props) {
294
+ return /* @__PURE__ */ jsx("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "currentColor", ...props, children: /* @__PURE__ */ jsx("path", { d: "M16.6536 4.6875H19.1346L13.7144 10.8825L20.0909 19.3125H15.0981L11.1876 14.1997L6.71313 19.3125H4.23063L10.0281 12.6862L3.91113 4.6875H9.03063L12.5654 9.36075L16.6536 4.6875ZM15.7829 17.8275H17.1576L8.28363 6.0945H6.80838L15.7829 17.8275Z" }) });
295
+ }
296
+ function LinkedInIcon(props) {
297
+ return /* @__PURE__ */ jsx("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "currentColor", ...props, children: /* @__PURE__ */ jsx("path", { d: "M17.7015 17.7051H15.303V13.9458C15.303 13.0494 15.285 11.8956 14.052 11.8956C12.8019 11.8956 12.6111 12.8712 12.6111 13.8801V17.7051H10.2117V9.97499H12.5157V11.028H12.5472C12.8694 10.4214 13.6524 9.77969 14.8224 9.77969C17.2524 9.77969 17.7024 11.3799 17.7024 13.4616V17.7051H17.7015ZM7.50272 8.91749C7.31962 8.91773 7.13828 8.88183 6.96908 8.81184C6.79988 8.74185 6.64617 8.63916 6.51674 8.50965C6.38731 8.38013 6.28471 8.22635 6.21483 8.05711C6.14496 7.88786 6.10917 7.70649 6.10952 7.52339C6.1097 7.24785 6.19159 6.97854 6.34482 6.74953C6.49806 6.52051 6.71576 6.34208 6.9704 6.2368C7.22504 6.13152 7.50519 6.10411 7.77541 6.15804C8.04563 6.21197 8.29378 6.34482 8.4885 6.53979C8.68322 6.73476 8.81575 6.98309 8.86933 7.25338C8.92291 7.52367 8.89514 7.80377 8.78953 8.05828C8.68392 8.31279 8.50521 8.53026 8.276 8.6832C8.04679 8.83614 7.77737 8.91767 7.50182 8.91749H7.50272ZM8.70512 17.7051H6.29942V9.97499H8.70602V17.7051H8.70512ZM18.903 3.89999H5.09612C4.43372 3.89999 3.90002 4.42199 3.90002 5.06729V18.9327C3.90002 19.578 4.43462 20.1 5.09522 20.1H18.8994C19.56 20.1 20.1 19.578 20.1 18.9327V5.06729C20.1 4.42199 19.56 3.89999 18.8994 3.89999H18.9021H18.903Z" }) });
298
+ }
299
+ function DiscordIcon(props) {
300
+ return /* @__PURE__ */ jsx("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "currentColor", ...props, children: /* @__PURE__ */ jsx("path", { d: "M10.2684 11.1C10.8084 11.1 11.2458 11.505 11.2359 12C11.2359 12.495 10.8093 12.9 10.2684 12.9C9.73742 12.9 9.30002 12.495 9.30002 12C9.30002 11.505 9.72752 11.1 10.2684 11.1ZM13.7316 11.1C14.2725 11.1 14.7 11.505 14.7 12C14.7 12.495 14.2725 12.9 13.7316 12.9C13.2006 12.9 12.7641 12.495 12.7641 12C12.7641 11.505 13.1907 11.1 13.7316 11.1ZM18.2019 3C19.2486 3 20.1 3.8694 20.1 4.9467V21.9L18.1101 20.1045L16.9896 19.0461L15.8043 17.9211L16.2957 19.6698H5.79812C4.75142 19.6698 3.90002 18.8004 3.90002 17.7231V4.9467C3.90002 3.8694 4.75142 3 5.79812 3H18.201H18.2019ZM14.6289 15.3417C16.6746 15.276 17.4621 13.9053 17.4621 13.9053C17.4621 10.8624 16.1283 8.3955 16.1283 8.3955C14.7963 7.3758 13.5273 7.4037 13.5273 7.4037L13.3977 7.5549C14.9718 8.0463 15.7026 8.7555 15.7026 8.7555C14.8432 8.27129 13.896 7.9629 12.9162 7.8483C12.2947 7.7781 11.667 7.78415 11.0469 7.8663C10.9911 7.8663 10.9443 7.8762 10.8894 7.8852C10.5654 7.914 9.77792 8.0364 8.78792 8.481C8.44592 8.6412 8.24162 8.7555 8.24162 8.7555C8.24162 8.7555 9.01022 8.0085 10.6761 7.5171L10.5834 7.4037C10.5834 7.4037 9.31532 7.3758 7.98242 8.3964C7.98242 8.3964 6.64952 10.8624 6.64952 13.9053C6.64952 13.9053 7.42712 15.2751 9.47283 15.3417C9.47283 15.3417 9.81482 14.9169 10.0938 14.5578C8.91752 14.1978 8.47382 13.4418 8.47382 13.4418C8.47382 13.4418 8.56563 13.5084 8.73212 13.6029C8.74113 13.6119 8.75012 13.6218 8.76902 13.6308C8.79692 13.6506 8.82482 13.6596 8.85273 13.6785C9.08402 13.8108 9.31532 13.9143 9.52772 13.9998C9.90753 14.151 10.3611 14.3022 10.8894 14.4066C11.6808 14.5617 12.4945 14.5648 13.287 14.4156C13.7487 14.3332 14.199 14.197 14.6289 14.0097C14.9529 13.8864 15.3138 13.7064 15.6936 13.4517C15.6936 13.4517 15.231 14.2266 14.0178 14.5767C14.2959 14.9358 14.6298 15.3417 14.6298 15.3417H14.6289Z" }) });
301
+ }
302
+ function EnterpriseMenu() {
303
+ return /* @__PURE__ */ jsx("ul", { children: [
304
+ // TODO: Enable these when the pages are created.
305
+ [AccountBox, "Customer Stories", ""],
306
+ [BardIcon, "Why GraphQL", ""],
307
+ [HonourIcon, "Professional Services", ""],
308
+ [ShieldFlashIcon, "Commitment to Security", ""]
309
+ ].map(([Icon, text, href], i) => {
310
+ return /* @__PURE__ */ jsx(MenuColumnListItem, { href, icon: Icon, children: text }, i);
311
+ }) });
312
+ }
313
+ function CompanyMenu({ children }) {
314
+ return /* @__PURE__ */ jsxs(MenuContentColumns, { children: [
315
+ /* @__PURE__ */ jsxs("div", { children: [
316
+ /* @__PURE__ */ jsx(ColumnLabel, { children: "Company" }),
317
+ /* @__PURE__ */ jsxs("ul", { children: [
318
+ /* @__PURE__ */ jsx(MenuColumnListItem, { icon: GroupIcon, href: "https://the-guild.dev/about-us", children: "About Us" }),
319
+ /* @__PURE__ */ jsx(MenuColumnListItem, { icon: AppsIcon, href: "https://the-guild.dev/logos", children: "Brand Assets" })
320
+ ] }),
321
+ /* @__PURE__ */ jsx(ColumnLabel, { children: "Proudly made by" }),
322
+ /* @__PURE__ */ jsxs(NavigationMenuLink, { href: "https://the-guild.dev", className: "px-4 py-2", arrow: true, children: [
323
+ /* @__PURE__ */ jsx(GuildLogo, { className: "-my-2 size-10" }),
324
+ /* @__PURE__ */ jsx(TheGuild, { className: "h-8" })
325
+ ] }),
326
+ /* @__PURE__ */ jsx(ColumnLabel, { children: "Part of" }),
327
+ /* @__PURE__ */ jsx(
328
+ NavigationMenuLink,
329
+ {
330
+ href: "https://graphql.org/community/foundation/",
331
+ className: "px-4 py-2 text-blue-800 hover:text-blue-1000",
332
+ arrow: true,
333
+ children: /* @__PURE__ */ jsx(GraphQLFoundationLogo, { className: "" })
334
+ }
335
+ )
336
+ ] }),
337
+ children && /* @__PURE__ */ jsx("div", { children })
338
+ ] });
339
+ }
340
+ function HiveLogoLink() {
341
+ return /* @__PURE__ */ jsx(Anchor, { href: "/", className: "hive-focus -m-2 flex items-center rounded-md p-2", children: /* @__PURE__ */ jsx(HiveCombinationMark, { className: "text-green-1000 dark:text-neutral-200" }) });
342
+ }
343
+ function HamburgerButton() {
344
+ const menu = useMenu();
345
+ return /* @__PURE__ */ jsx(
346
+ "button",
347
+ {
348
+ type: "button",
349
+ "aria-label": "Menu",
350
+ className: "nextra-hamburger -m-1 rounded-lg bg-transparent p-1 text-green-1000 focus-visible:outline-none focus-visible:ring active:bg-beige-200 md:hidden dark:text-neutral-200 dark:active:bg-neutral-800",
351
+ onClick: () => setMenu((prev) => !prev),
352
+ children: /* @__PURE__ */ jsx(
353
+ MenuIcon,
354
+ {
355
+ className: cn({ open: menu }, "size-6 stroke-current [&_path]:[stroke-linecap:square]")
356
+ }
357
+ )
358
+ }
359
+ );
360
+ }
361
+ const TopOfSiteMarker = ({ onChange, className }) => {
362
+ const mounted = useMounted();
363
+ const markerRef = useRef(null);
364
+ const onChangeRef = useRef(onChange);
365
+ onChangeRef.current = onChange;
366
+ useEffect(() => {
367
+ if (mounted && markerRef.current) {
368
+ const marker = markerRef.current;
369
+ const observer = new IntersectionObserver((entries) => {
370
+ onChangeRef.current(entries[0].boundingClientRect.y < -1);
371
+ });
372
+ observer.observe(markerRef.current);
373
+ return () => {
374
+ observer.unobserve(marker);
375
+ };
376
+ }
377
+ }, [mounted]);
378
+ if (!mounted) {
379
+ return null;
380
+ }
381
+ return createPortal(
382
+ /* @__PURE__ */ jsx("div", { ref: markerRef, className: cn("absolute left-0 top-0 -z-50 size-px", className) }),
383
+ document.body
384
+ );
385
+ };
386
+ export {
387
+ CompanyMenu,
388
+ DeveloperMenu,
389
+ EnterpriseMenu,
390
+ HiveNavigation,
391
+ ProductsMenu
392
+ };
@@ -0,0 +1,23 @@
1
+ import * as react from 'react';
2
+ import { ComponentPropsWithoutRef } from 'react';
3
+ import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';
4
+
5
+ interface NavigationMenuProps extends ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Root> {
6
+ forceMount?: true;
7
+ }
8
+ declare const NavigationMenu: react.ForwardRefExoticComponent<NavigationMenuProps & react.RefAttributes<HTMLElement>>;
9
+ declare const NavigationMenuList: react.ForwardRefExoticComponent<Omit<NavigationMenuPrimitive.NavigationMenuListProps & react.RefAttributes<HTMLUListElement>, "ref"> & react.RefAttributes<HTMLUListElement>>;
10
+ declare const NavigationMenuItem: react.ForwardRefExoticComponent<NavigationMenuPrimitive.NavigationMenuItemProps & react.RefAttributes<HTMLLIElement>>;
11
+ declare const NavigationMenuTrigger: react.ForwardRefExoticComponent<Omit<NavigationMenuPrimitive.NavigationMenuTriggerProps & react.RefAttributes<HTMLButtonElement>, "ref"> & react.RefAttributes<HTMLButtonElement>>;
12
+ declare const NavigationMenuContent: react.ForwardRefExoticComponent<Omit<NavigationMenuPrimitive.NavigationMenuContentProps & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
13
+ interface NavigationMenuLinkProps extends Omit<React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Link>, 'asChild'> {
14
+ href: string;
15
+ }
16
+ interface NavigationMenuLinkProps {
17
+ arrow?: boolean;
18
+ }
19
+ declare const NavigationMenuLink: react.ForwardRefExoticComponent<NavigationMenuLinkProps & react.RefAttributes<HTMLAnchorElement>>;
20
+ declare const NavigationMenuViewport: react.ForwardRefExoticComponent<Omit<NavigationMenuPrimitive.NavigationMenuViewportProps & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
21
+ declare const NavigationMenuIndicator: react.ForwardRefExoticComponent<Omit<NavigationMenuPrimitive.NavigationMenuIndicatorProps & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
22
+
23
+ export { NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, type NavigationMenuLinkProps, NavigationMenuList, type NavigationMenuProps, NavigationMenuTrigger, NavigationMenuViewport };
@@ -0,0 +1,179 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import {
3
+ forwardRef,
4
+ useEffect,
5
+ useLayoutEffect
6
+ } from "react";
7
+ import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
8
+ import { cn } from "../../cn";
9
+ import { Anchor } from "../anchor";
10
+ import { ArrowIcon } from "../icons";
11
+ const CONTAINER_ID = "h-navmenu-container";
12
+ const VIEWPORT_ID = "h-navmenu-viewport";
13
+ const NavigationMenu = forwardRef(({ className, children, forceMount, ...rest }, ref) => /* @__PURE__ */ jsxs(
14
+ NavigationMenuPrimitive.Root,
15
+ {
16
+ id: CONTAINER_ID,
17
+ ref,
18
+ className: cn("relative z-10 flex flex-1 items-center", className),
19
+ "aria-label": "Navigation Menu",
20
+ ...rest,
21
+ children: [
22
+ children,
23
+ /* @__PURE__ */ jsx(NavigationMenuViewport, { forceMount }),
24
+ /* @__PURE__ */ jsx(RemoveMotionIfPreferred, {})
25
+ ]
26
+ }
27
+ ));
28
+ NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
29
+ const NavigationMenuList = forwardRef(({ className, ...rest }, ref) => /* @__PURE__ */ jsx(
30
+ NavigationMenuPrimitive.List,
31
+ {
32
+ ref,
33
+ className: cn(
34
+ "group flex flex-1 list-none items-center rounded-lg border-beige-200 px-1.5 lg:border lg:px-3 dark:border-neutral-700",
35
+ className
36
+ ),
37
+ ...rest
38
+ }
39
+ ));
40
+ NavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName;
41
+ const NavigationMenuItem = NavigationMenuPrimitive.Item;
42
+ const NavigationMenuTrigger = forwardRef(({ className, children, ...rest }, ref) => /* @__PURE__ */ jsx(
43
+ NavigationMenuPrimitive.Trigger,
44
+ {
45
+ ref,
46
+ className: cn(
47
+ "hive-focus cursor-default rounded p-3 font-medium leading-normal text-green-800 aria-expanded:text-green-1000 dark:text-neutral-300 dark:aria-expanded:text-neutral-100",
48
+ className
49
+ ),
50
+ onPointerOver: (event) => {
51
+ rest.onPointerOver?.(event);
52
+ const container = document.getElementById(CONTAINER_ID);
53
+ const viewport = document.getElementById(VIEWPORT_ID);
54
+ if (!viewport || !(viewport instanceof HTMLElement) || !container) return;
55
+ const newX = getTransformX(event.currentTarget, viewport, container);
56
+ if (!viewport.style.transition) {
57
+ setTimeout(() => {
58
+ viewport.style.transition = "transform 0.5s";
59
+ }, 0);
60
+ }
61
+ viewport.style.transform = `translateX(${newX}px)`;
62
+ },
63
+ ...rest,
64
+ children
65
+ }
66
+ ));
67
+ NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
68
+ const NavigationMenuContent = forwardRef(({ className, ...rest }, ref) => /* @__PURE__ */ jsx(
69
+ NavigationMenuPrimitive.Content,
70
+ {
71
+ ref,
72
+ className: cn(
73
+ "absolute left-0 top-0 w-auto bg-white data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 dark:bg-neutral-900 [&>:first-child]:p-6",
74
+ className
75
+ ),
76
+ ...rest,
77
+ style: {
78
+ animationDuration: "0.4s",
79
+ ...rest.style
80
+ }
81
+ }
82
+ ));
83
+ NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
84
+ const NavigationMenuLink = forwardRef(({ className, arrow, children, href, ...rest }, ref) => {
85
+ const isActive = false;
86
+ return /* @__PURE__ */ jsx(NavigationMenuPrimitive.Link, { active: isActive, ...rest, asChild: true, ref, children: /* @__PURE__ */ jsxs(
87
+ Anchor,
88
+ {
89
+ href,
90
+ className: cn(
91
+ 'hive-focus [data-active="true"]:text-green-1000 rounded p-3 leading-normal text-green-800 transition-colors hover:bg-beige-100 hover:text-green-1000 dark:text-neutral-300 dark:hover:bg-neutral-800/50 dark:hover:text-neutral-100 [&:hover>svg]:opacity-100',
92
+ arrow && "flex items-center",
93
+ className
94
+ ),
95
+ ...href.startsWith("http") ? { target: "_blank", rel: "noopener noreferrer" } : {},
96
+ children: [
97
+ children,
98
+ arrow && /* @__PURE__ */ jsx(ArrowIcon, { className: "ml-auto size-6 shrink-0 opacity-0 transition-all" })
99
+ ]
100
+ }
101
+ ) });
102
+ });
103
+ NavigationMenuLink.displayName = NavigationMenuPrimitive.Link.displayName;
104
+ const useIsomorphicLayoutEffect = typeof window === "undefined" ? useEffect : useLayoutEffect;
105
+ const NavigationMenuViewport = forwardRef(({ className, ...rest }, ref) => {
106
+ useIsomorphicLayoutEffect(() => {
107
+ const viewport = document.getElementById(VIEWPORT_ID);
108
+ const container = document.getElementById(CONTAINER_ID);
109
+ if (!(container && container instanceof HTMLElement && viewport && viewport instanceof HTMLElement)) {
110
+ return;
111
+ }
112
+ const firstCollectionItem = container.querySelector("[data-radix-collection-item]");
113
+ if (firstCollectionItem && firstCollectionItem instanceof HTMLElement) {
114
+ viewport.style.transform = `translateX(${getTransformX(firstCollectionItem, viewport, container)}px)`;
115
+ }
116
+ }, []);
117
+ return /* @__PURE__ */ jsx(
118
+ "div",
119
+ {
120
+ id: VIEWPORT_ID,
121
+ className: "absolute left-0 top-full flex",
122
+ style: {
123
+ perspective: "2000px"
124
+ },
125
+ children: /* @__PURE__ */ jsx(
126
+ NavigationMenuPrimitive.Viewport,
127
+ {
128
+ className: cn(
129
+ "relative mt-1.5 h-[--radix-navigation-menu-viewport-height] w-[--radix-navigation-menu-viewport-width] origin-[top_center] overflow-hidden rounded-xl border border-beige-200 bg-white shadow-[0px_16px_32px_-12px_rgba(14,18,27,0.10)] ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-90 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 dark:border-neutral-800 dark:bg-neutral-900",
130
+ className
131
+ ),
132
+ style: {
133
+ transition: "width 450ms, height 450ms, transform 250ms, opacity 250ms"
134
+ },
135
+ ref,
136
+ ...rest
137
+ }
138
+ )
139
+ }
140
+ );
141
+ });
142
+ NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
143
+ const NavigationMenuIndicator = forwardRef(({ className, ...rest }, ref) => /* @__PURE__ */ jsx(
144
+ NavigationMenuPrimitive.Indicator,
145
+ {
146
+ ref,
147
+ className: cn(
148
+ "top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",
149
+ className
150
+ ),
151
+ ...rest,
152
+ children: /* @__PURE__ */ jsx("div", { className: "relative top-[60%] size-2 rotate-45 rounded-tl-sm bg-beige-200 shadow-md" })
153
+ }
154
+ ));
155
+ NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
156
+ function getTransformX(element, viewport, container) {
157
+ const boundingBox = element.getBoundingClientRect();
158
+ const containerLeft = container.getBoundingClientRect().left;
159
+ const left = boundingBox.left - containerLeft;
160
+ const offsetX = -32;
161
+ let newX = left + offsetX;
162
+ if (newX + viewport.offsetWidth > window.innerWidth) {
163
+ newX = window.innerWidth - viewport.offsetWidth + offsetX;
164
+ }
165
+ return newX;
166
+ }
167
+ function RemoveMotionIfPreferred() {
168
+ return /* @__PURE__ */ jsx("style", { children: `@media (prefers-reduced-motion: reduce) { #${CONTAINER_ID} * { animation-duration: 0ms !important; transition-duration: 0ms !important; } }` });
169
+ }
170
+ export {
171
+ NavigationMenu,
172
+ NavigationMenuContent,
173
+ NavigationMenuIndicator,
174
+ NavigationMenuItem,
175
+ NavigationMenuLink,
176
+ NavigationMenuList,
177
+ NavigationMenuTrigger,
178
+ NavigationMenuViewport
179
+ };
@@ -0,0 +1,6 @@
1
+ import { FC, SVGProps } from 'react';
2
+ export { DiscordIcon, GitHubIcon, InformationCircleIcon } from 'nextra/icons';
3
+
4
+ declare const ReactComponent: FC<SVGProps<SVGElement>>;
5
+
6
+ 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 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 };