Skip to content

Commit b4df418

Browse files
feat: new hive lab (#7374)
Co-authored-by: Piotr Monwid-Olechnowicz <hasparus@gmail.com>
1 parent 645c301 commit b4df418

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+11411
-695
lines changed

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@
9898
"prettier-plugin-tailwindcss": "0.6.9",
9999
"pretty-quick": "4.0.0",
100100
"rimraf": "4.4.1",
101+
"tailwindcss": "3.4.17",
101102
"ts-node": "10.9.2",
102103
"tsup": "8.4.0",
103104
"tsx": "4.19.2",
@@ -124,7 +125,8 @@
124125
"cookie@<0.7.0": "0.7.2",
125126
"tar-fs": "2.1.4",
126127
"ip": "npm:neoip@2.1.0",
127-
"miniflare@3>undici": "5.29.0"
128+
"miniflare@3>undici": "5.29.0",
129+
"tailwindcss": "3.4.17"
128130
},
129131
"patchedDependencies": {
130132
"mjml-core@4.14.0": "patches/mjml-core@4.14.0.patch",

packages/web/app/components.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
{
2+
"$schema": "https://ui.shadcn.com/schema.json",
3+
"style": "new-york",
4+
"rsc": false,
5+
"tsx": true,
6+
"tailwind": {
7+
"config": "",
8+
"css": "src/index.css",
9+
"baseColor": "neutral",
10+
"cssVariables": true,
11+
"prefix": ""
12+
},
13+
"iconLibrary": "lucide",
14+
"aliases": {
15+
"components": "@/laboratory/components",
16+
"utils": "@/laboratory/lib/utils",
17+
"ui": "@/laboratory/components/ui",
18+
"lib": "@/laboratory/lib",
19+
"hooks": "@/laboratory/hooks"
20+
},
21+
"registries": {}
22+
}

packages/web/app/package.json

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@
1313
},
1414
"devDependencies": {
1515
"@date-fns/utc": "2.1.1",
16+
"@dnd-kit/core": "^6.3.1",
17+
"@dnd-kit/modifiers": "^9.0.0",
18+
"@dnd-kit/sortable": "^10.0.0",
19+
"@dnd-kit/utilities": "^3.2.2",
1620
"@fastify/cors": "9.0.1",
1721
"@fastify/static": "7.0.4",
1822
"@fastify/vite": "6.0.7",
@@ -24,13 +28,14 @@
2428
"@graphql-typed-document-node/core": "3.2.0",
2529
"@headlessui/react": "2.2.0",
2630
"@hookform/resolvers": "3.10.0",
27-
"@monaco-editor/react": "4.7.0",
31+
"@monaco-editor/react": "4.8.0-rc.2",
2832
"@n1ru4l/react-time-ago": "1.1.0",
2933
"@radix-ui/react-accordion": "1.2.2",
3034
"@radix-ui/react-alert-dialog": "1.1.4",
3135
"@radix-ui/react-avatar": "1.1.2",
3236
"@radix-ui/react-checkbox": "1.1.3",
3337
"@radix-ui/react-collapsible": "1.1.2",
38+
"@radix-ui/react-context-menu": "^2.2.16",
3439
"@radix-ui/react-dialog": "1.1.4",
3540
"@radix-ui/react-dropdown-menu": "2.1.4",
3641
"@radix-ui/react-hover-card": "1.1.4",
@@ -46,6 +51,7 @@
4651
"@radix-ui/react-switch": "1.1.2",
4752
"@radix-ui/react-tabs": "1.1.2",
4853
"@radix-ui/react-toast": "1.2.4",
54+
"@radix-ui/react-toggle": "^1.1.10",
4955
"@radix-ui/react-toggle-group": "1.1.1",
5056
"@radix-ui/react-tooltip": "1.1.6",
5157
"@repeaterjs/repeater": "3.0.6",
@@ -61,8 +67,10 @@
6167
"@storybook/react-vite": "8.4.7",
6268
"@stripe/react-stripe-js": "3.1.1",
6369
"@stripe/stripe-js": "5.5.0",
70+
"@tanstack/react-form": "^1.27.0",
6471
"@tanstack/react-query": "5.63.0",
6572
"@tanstack/react-router": "1.34.9",
73+
"@tanstack/react-router-devtools": "^1.139.13",
6674
"@tanstack/react-table": "8.20.6",
6775
"@tanstack/router-devtools": "1.34.9",
6876
"@tanstack/zod-adapter": "1.120.5",
@@ -100,16 +108,21 @@
100108
"graphiql": "4.0.0-alpha.5",
101109
"graphql": "16.9.0",
102110
"graphql-sse": "2.5.3",
111+
"graphql-ws": "5.16.1",
103112
"immer": "10.1.3",
104113
"js-cookie": "3.0.5",
105114
"json-schema-typed": "8.0.1",
106115
"json-schema-yup-transformer": "1.6.12",
107116
"jsurl2": "2.2.0",
117+
"lodash": "4.17.21",
108118
"lodash.debounce": "4.0.8",
109119
"lucide-react": "0.469.0",
120+
"lz-string": "^1.5.0",
110121
"mini-svg-data-uri": "1.4.4",
111-
"monaco-editor": "0.50.0",
122+
"monaco-editor": "^0.52.2",
123+
"monaco-graphql": "^1.7.2",
112124
"monaco-themes": "0.4.4",
125+
"next-themes": "^0.4.6",
113126
"query-string": "9.1.1",
114127
"react": "18.3.1",
115128
"react-day-picker": "8.10.1",
@@ -129,6 +142,7 @@
129142
"recharts": "2.15.1",
130143
"regenerator-runtime": "0.14.1",
131144
"snarkdown": "2.0.0",
145+
"sonner": "^2.0.7",
132146
"storybook": "8.4.7",
133147
"supertokens-auth-react": "0.38.0",
134148
"supertokens-web-js": "0.9.0",
@@ -142,6 +156,7 @@
142156
"use-debounce": "10.0.4",
143157
"valtio": "1.13.2",
144158
"vite": "7.1.11",
159+
"vite-plugin-monaco-editor": "^1.1.0",
145160
"vite-tsconfig-paths": "5.1.4",
146161
"wonka": "6.3.4",
147162
"yup": "1.6.1",

packages/web/app/src/components/ui/separator.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* eslint-disable @typescript-eslint/no-restricted-imports */
2-
import * as React from 'react';
2+
import React from 'react';
33
import { cn } from '@/lib/utils';
44
import * as SeparatorPrimitive from '@radix-ui/react-separator';
55

packages/web/app/src/index.css

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,12 @@
101101
--chart-1: 220 70% 50%;
102102
--chart-2: 340 75% 55%;
103103
}
104+
105+
.hive-laboratory {
106+
--primary: 40 89% 60%;
107+
--background: 223 70% 4%;
108+
--card: 220 21.43% 5.49%;
109+
}
104110
}
105111

106112
@layer base {
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
import {
2+
GraphQLEnumType,
3+
GraphQLList,
4+
GraphQLNonNull,
5+
GraphQLScalarType,
6+
type GraphQLInputType,
7+
type GraphQLOutputType,
8+
} from 'graphql';
9+
10+
export const GraphQLType = (props: {
11+
type: GraphQLOutputType | GraphQLInputType;
12+
className?: string;
13+
}) => {
14+
if (props.type instanceof GraphQLNonNull) {
15+
return (
16+
<span>
17+
<GraphQLType type={props.type.ofType} />
18+
<span className="!text-muted-foreground">!</span>
19+
</span>
20+
);
21+
}
22+
23+
if (props.type instanceof GraphQLList) {
24+
return (
25+
<span>
26+
<span className="!text-muted-foreground">[</span>
27+
<GraphQLType type={props.type.ofType} />
28+
<span className="!text-muted-foreground">]</span>
29+
</span>
30+
);
31+
}
32+
33+
if (props.type instanceof GraphQLScalarType || props.type instanceof GraphQLEnumType) {
34+
return <span className="text-teal-500 dark:text-teal-400">{props.type.name}</span>;
35+
}
36+
37+
return <span className="text-amber-500 dark:text-amber-400">{props.type.name}</span>;
38+
};
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import type { LucideProps } from 'lucide-react';
2+
3+
export const GraphQLIcon = (props: LucideProps) => {
4+
return (
5+
<svg
6+
width="100"
7+
height="100"
8+
viewBox="0 0 100 100"
9+
fill="none"
10+
xmlns="http://www.w3.org/2000/svg"
11+
{...props}
12+
>
13+
<path
14+
fillRule="evenodd"
15+
clipRule="evenodd"
16+
d="M49.9994 6.90218L87.3224 28.4506V71.5475L49.9994 93.0959L12.6764 71.5475V28.4506L49.9994 6.90218ZM16.8641 30.8684V62.5242L44.2789 15.0405L16.8641 30.8684ZM49.9994 13.5077L18.3969 68.2448H81.6019L49.9994 13.5077ZM77.4142 72.4325H22.5846L49.9994 88.2604L77.4142 72.4325ZM83.1347 62.5242L55.7199 15.0405L83.1347 30.8684V62.5242Z"
17+
fill="currentColor"
18+
/>
19+
<path
20+
d="M49.9994 18.14C54.8706 18.14 58.8194 14.1912 58.8194 9.32C58.8194 4.44885 54.8706 0.5 49.9994 0.5C45.1283 0.5 41.1794 4.44885 41.1794 9.32C41.1794 14.1912 45.1283 18.14 49.9994 18.14Z"
21+
fill="currentColor"
22+
/>
23+
<path
24+
d="M85.2286 38.4796C90.0998 38.4796 94.0486 34.5308 94.0486 29.6596C94.0486 24.7884 90.0998 20.8396 85.2286 20.8396C80.3575 20.8396 76.4086 24.7884 76.4086 29.6596C76.4086 34.5308 80.3575 38.4796 85.2286 38.4796Z"
25+
fill="currentColor"
26+
/>
27+
<path
28+
d="M85.2286 79.1587C90.0998 79.1587 94.0486 75.2099 94.0486 70.3387C94.0486 65.4675 90.0998 61.5187 85.2286 61.5187C80.3575 61.5187 76.4086 65.4675 76.4086 70.3387C76.4086 75.2099 80.3575 79.1587 85.2286 79.1587Z"
29+
fill="currentColor"
30+
/>
31+
<path
32+
d="M49.9994 99.4982C54.8706 99.4982 58.8194 95.5494 58.8194 90.6782C58.8194 85.807 54.8706 81.8582 49.9994 81.8582C45.1283 81.8582 41.1794 85.807 41.1794 90.6782C41.1794 95.5494 45.1283 99.4982 49.9994 99.4982Z"
33+
fill="currentColor"
34+
/>
35+
<path
36+
d="M14.7653 79.1587C19.6365 79.1587 23.5853 75.2099 23.5853 70.3387C23.5853 65.4675 19.6365 61.5187 14.7653 61.5187C9.89416 61.5187 5.94531 65.4675 5.94531 70.3387C5.94531 75.2099 9.89416 79.1587 14.7653 79.1587Z"
37+
fill="currentColor"
38+
/>
39+
<path
40+
d="M14.7653 38.4796C19.6365 38.4796 23.5853 34.5308 23.5853 29.6596C23.5853 24.7884 19.6365 20.8396 14.7653 20.8396C9.89416 20.8396 5.94531 24.7884 5.94531 29.6596C5.94531 34.5308 9.89416 38.4796 14.7653 38.4796Z"
41+
fill="currentColor"
42+
/>
43+
</svg>
44+
);
45+
};

0 commit comments

Comments
 (0)