@oferitz/graphiq 0.1.0

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 (92) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +210 -0
  3. package/dist/components/GraphiQ.d.ts +3 -0
  4. package/dist/components/GraphiQ.d.ts.map +1 -0
  5. package/dist/components/GraphiQProvider.d.ts +3 -0
  6. package/dist/components/GraphiQProvider.d.ts.map +1 -0
  7. package/dist/components/editor/HeadersEditor.d.ts +6 -0
  8. package/dist/components/editor/HeadersEditor.d.ts.map +1 -0
  9. package/dist/components/editor/QueryEditor.d.ts +6 -0
  10. package/dist/components/editor/QueryEditor.d.ts.map +1 -0
  11. package/dist/components/editor/ResponseViewer.d.ts +6 -0
  12. package/dist/components/editor/ResponseViewer.d.ts.map +1 -0
  13. package/dist/components/editor/VariablesEditor.d.ts +6 -0
  14. package/dist/components/editor/VariablesEditor.d.ts.map +1 -0
  15. package/dist/components/editor/use-codemirror.d.ts +15 -0
  16. package/dist/components/editor/use-codemirror.d.ts.map +1 -0
  17. package/dist/components/explorer/QueryExplorer.d.ts +6 -0
  18. package/dist/components/explorer/QueryExplorer.d.ts.map +1 -0
  19. package/dist/components/history/QueryHistory.d.ts +6 -0
  20. package/dist/components/history/QueryHistory.d.ts.map +1 -0
  21. package/dist/components/schema/SchemaExplorer.d.ts +6 -0
  22. package/dist/components/schema/SchemaExplorer.d.ts.map +1 -0
  23. package/dist/components/sidebar/Sidebar.d.ts +10 -0
  24. package/dist/components/sidebar/Sidebar.d.ts.map +1 -0
  25. package/dist/components/tabs/Tab.d.ts +10 -0
  26. package/dist/components/tabs/Tab.d.ts.map +1 -0
  27. package/dist/components/tabs/TabBar.d.ts +6 -0
  28. package/dist/components/tabs/TabBar.d.ts.map +1 -0
  29. package/dist/components/toolbar/ExecuteButton.d.ts +9 -0
  30. package/dist/components/toolbar/ExecuteButton.d.ts.map +1 -0
  31. package/dist/components/toolbar/PrettifyButton.d.ts +7 -0
  32. package/dist/components/toolbar/PrettifyButton.d.ts.map +1 -0
  33. package/dist/components/toolbar/Toolbar.d.ts +7 -0
  34. package/dist/components/toolbar/Toolbar.d.ts.map +1 -0
  35. package/dist/components/ui/Resizable.d.ts +13 -0
  36. package/dist/components/ui/Resizable.d.ts.map +1 -0
  37. package/dist/graphiq.cjs +28 -0
  38. package/dist/graphiq.cjs.map +1 -0
  39. package/dist/graphiq.js +20903 -0
  40. package/dist/graphiq.js.map +1 -0
  41. package/dist/hooks/use-graphiq.d.ts +18 -0
  42. package/dist/hooks/use-graphiq.d.ts.map +1 -0
  43. package/dist/hooks/use-query.d.ts +8 -0
  44. package/dist/hooks/use-query.d.ts.map +1 -0
  45. package/dist/hooks/use-schema.d.ts +6 -0
  46. package/dist/hooks/use-schema.d.ts.map +1 -0
  47. package/dist/index.d.ts +25 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/lib/cn.d.ts +3 -0
  50. package/dist/lib/cn.d.ts.map +1 -0
  51. package/dist/lib/fetcher.d.ts +3 -0
  52. package/dist/lib/fetcher.d.ts.map +1 -0
  53. package/dist/lib/formatter.d.ts +2 -0
  54. package/dist/lib/formatter.d.ts.map +1 -0
  55. package/dist/lib/introspection.d.ts +4 -0
  56. package/dist/lib/introspection.d.ts.map +1 -0
  57. package/dist/lib/storage.d.ts +3 -0
  58. package/dist/lib/storage.d.ts.map +1 -0
  59. package/dist/stores/create-store.d.ts +19 -0
  60. package/dist/stores/create-store.d.ts.map +1 -0
  61. package/dist/stores/editor-store.d.ts +11 -0
  62. package/dist/stores/editor-store.d.ts.map +1 -0
  63. package/dist/stores/execution-store.d.ts +12 -0
  64. package/dist/stores/execution-store.d.ts.map +1 -0
  65. package/dist/stores/history-store.d.ts +10 -0
  66. package/dist/stores/history-store.d.ts.map +1 -0
  67. package/dist/stores/schema-store.d.ts +11 -0
  68. package/dist/stores/schema-store.d.ts.map +1 -0
  69. package/dist/stores/tabs-store.d.ts +11 -0
  70. package/dist/stores/tabs-store.d.ts.map +1 -0
  71. package/dist/stores/ui-store.d.ts +8 -0
  72. package/dist/stores/ui-store.d.ts.map +1 -0
  73. package/dist/style.css +3 -0
  74. package/dist/styles/codemirror-theme.d.ts +8 -0
  75. package/dist/styles/codemirror-theme.d.ts.map +1 -0
  76. package/dist/styles/variants.d.ts +81 -0
  77. package/dist/styles/variants.d.ts.map +1 -0
  78. package/dist/types/fetcher.d.ts +22 -0
  79. package/dist/types/fetcher.d.ts.map +1 -0
  80. package/dist/types/index.d.ts +5 -0
  81. package/dist/types/index.d.ts.map +1 -0
  82. package/dist/types/plugin.d.ts +15 -0
  83. package/dist/types/plugin.d.ts.map +1 -0
  84. package/dist/types/props.d.ts +50 -0
  85. package/dist/types/props.d.ts.map +1 -0
  86. package/dist/types/store.d.ts +23 -0
  87. package/dist/types/store.d.ts.map +1 -0
  88. package/package.json +100 -0
  89. package/src/styles/animations.css +35 -0
  90. package/src/styles/base.css +193 -0
  91. package/src/styles/codemirror-theme.ts +46 -0
  92. package/src/styles/variants.ts +25 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Ofer Itzchaky
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,210 @@
1
+ # graphiq
2
+
3
+ A modern, lightweight GraphQL IDE component for React. Drop-in replacement for GraphiQL with a fraction of the bundle size.
4
+
5
+ ## Features
6
+
7
+ - **Lightweight** — ~200KB gzipped (vs GraphiQL ~2MB)
8
+ - **CodeMirror 6** — Fast editor with GraphQL syntax highlighting, autocomplete, and error markers
9
+ - **Hybrid headless** — Use the full IDE or compose your own with hooks
10
+ - **Fully customizable** — Override every CSS variable and class via `classNames` prop
11
+ - **Multi-tab** — Work on multiple queries simultaneously
12
+ - **Schema explorer** — Browse types, fields, and arguments from introspected schema
13
+ - **Query history** — Auto-saved with favorites
14
+ - **Plugin system** — Extend the sidebar with custom panels
15
+ - **Keyboard shortcuts** — Cmd+Enter (execute), Cmd+Shift+P (prettify), Esc (cancel)
16
+ - **Request cancellation** — AbortController-backed with response timing
17
+
18
+ ## Install
19
+
20
+ ```bash
21
+ npm install graphiq react react-dom graphql
22
+ ```
23
+
24
+ ## Quick Start
25
+
26
+ ```tsx
27
+ import { GraphiQ } from "graphiq";
28
+ import "graphiq/style.css";
29
+
30
+ function App() {
31
+ return (
32
+ <GraphiQ endpoint="https://your-api.com/graphql" />
33
+ );
34
+ }
35
+ ```
36
+
37
+ ## Headless Mode
38
+
39
+ Use the provider and hooks to build a completely custom UI:
40
+
41
+ ```tsx
42
+ import { GraphiQProvider, useGraphiQ, useSchema, useQuery } from "graphiq";
43
+
44
+ function MyEditor() {
45
+ const { query, setQuery, prettify } = useGraphiQ();
46
+ const { schema } = useSchema();
47
+ const { response, isLoading, execute } = useQuery();
48
+
49
+ // Build your own UI with full access to state
50
+ }
51
+
52
+ function App() {
53
+ return (
54
+ <GraphiQProvider endpoint="https://your-api.com/graphql">
55
+ <MyEditor />
56
+ </GraphiQProvider>
57
+ );
58
+ }
59
+ ```
60
+
61
+ ## Individual Components
62
+
63
+ Mix and match components for custom layouts:
64
+
65
+ ```tsx
66
+ import {
67
+ GraphiQProvider,
68
+ QueryEditor,
69
+ VariablesEditor,
70
+ ResponseViewer,
71
+ SchemaExplorer,
72
+ Toolbar,
73
+ TabBar,
74
+ } from "graphiq";
75
+ ```
76
+
77
+ ## Props
78
+
79
+ ### `<GraphiQ />`
80
+
81
+ | Prop | Type | Description |
82
+ |------|------|-------------|
83
+ | `endpoint` | `string` | GraphQL endpoint URL (required) |
84
+ | `headers` | `Record<string, string>` | Default headers sent with every request |
85
+ | `defaultQuery` | `string` | Initial query string |
86
+ | `schema` | `GraphQLSchema` | Pre-loaded schema (skips introspection) |
87
+ | `fetcher` | `GraphiQFetcher` | Custom fetcher replacing built-in fetch |
88
+ | `plugins` | `Plugin[]` | Sidebar plugin panels |
89
+ | `storage` | `StorageAPI` | Custom storage backend (default: localStorage) |
90
+ | `defaultTabs` | `Tab[]` | Initial tabs |
91
+ | `enableHeaders` | `boolean` | Show headers editor (default: true) |
92
+ | `showHistory` | `boolean` | Show history in sidebar (default: true) |
93
+ | `showSchemaExplorer` | `boolean` | Show schema explorer in sidebar (default: true) |
94
+ | `classNames` | `Partial<GraphiQSlots>` | Per-slot class overrides |
95
+ | `className` | `string` | Root element class |
96
+ | `onEditQuery` | `(query: string) => void` | Callback when query changes |
97
+ | `onEditVariables` | `(variables: string) => void` | Callback when variables change |
98
+ | `onEditHeaders` | `(headers: string) => void` | Callback when headers change |
99
+ | `onExecute` | `(params) => void` | Callback when query is executed |
100
+
101
+ ## Theming
102
+
103
+ GraphiQ ships a beautiful default theme but **every token is a CSS variable** you can override. No forced dark/light — you control the theme entirely.
104
+
105
+ ```css
106
+ :root {
107
+ --gq-bg: #1e1e2e;
108
+ --gq-text: #cdd6f4;
109
+ --gq-accent: #6366f1;
110
+ --gq-border: #45475a;
111
+ --gq-font-mono: "Fira Code", monospace;
112
+ --gq-radius: 8px;
113
+ }
114
+ ```
115
+
116
+ ### Available CSS Variables
117
+
118
+ | Variable | Description |
119
+ |----------|-------------|
120
+ | `--gq-bg` | Primary background |
121
+ | `--gq-bg-secondary` | Editor/panel background |
122
+ | `--gq-bg-tertiary` | Toolbar/tab background |
123
+ | `--gq-bg-elevated` | Hover states, popovers |
124
+ | `--gq-text` | Primary text |
125
+ | `--gq-text-secondary` | Secondary text |
126
+ | `--gq-text-tertiary` | Muted text, placeholders |
127
+ | `--gq-accent` | Primary accent (buttons, links) |
128
+ | `--gq-accent-hover` | Accent hover state |
129
+ | `--gq-border` | Borders and dividers |
130
+ | `--gq-success` / `--gq-error` / `--gq-warning` | Semantic colors |
131
+ | `--gq-font-display` | Display font family |
132
+ | `--gq-font-sans` | UI font family |
133
+ | `--gq-font-mono` | Code font family |
134
+ | `--gq-radius` | Border radius |
135
+ | `--gq-panel-gap` | Gap between panels |
136
+ | `--gq-syn-*` | Syntax highlighting colors |
137
+
138
+ ### `classNames` Slots
139
+
140
+ Override individual component classes with Tailwind or any CSS:
141
+
142
+ ```tsx
143
+ <GraphiQ
144
+ endpoint="..."
145
+ classNames={{
146
+ root: "rounded-xl shadow-2xl",
147
+ editor: "border border-zinc-800",
148
+ toolbar: "backdrop-blur bg-black/50",
149
+ response: "bg-zinc-950",
150
+ executeButton: "bg-indigo-500 hover:bg-indigo-400",
151
+ sidebar: "bg-zinc-900",
152
+ tabs: "bg-zinc-900",
153
+ }}
154
+ />
155
+ ```
156
+
157
+ ## Plugins
158
+
159
+ Extend GraphiQ with custom sidebar panels:
160
+
161
+ ```tsx
162
+ import type { Plugin } from "graphiq";
163
+
164
+ const myPlugin: Plugin = {
165
+ name: "my-plugin",
166
+ title: "My Plugin",
167
+ icon: <MyIcon />,
168
+ content: ({ query, schema, variables, execute }) => (
169
+ <div>Custom panel content</div>
170
+ ),
171
+ };
172
+
173
+ <GraphiQ endpoint="..." plugins={[myPlugin]} />
174
+ ```
175
+
176
+ ## Custom Fetcher
177
+
178
+ Replace the built-in fetch for authentication, logging, or custom protocols:
179
+
180
+ ```tsx
181
+ const customFetcher = async (params, signal) => {
182
+ const res = await fetch("/graphql", {
183
+ method: "POST",
184
+ headers: {
185
+ "Content-Type": "application/json",
186
+ Authorization: `Bearer ${getToken()}`,
187
+ },
188
+ body: JSON.stringify(params),
189
+ signal,
190
+ });
191
+ return res.json();
192
+ };
193
+
194
+ <GraphiQ endpoint="/graphql" fetcher={customFetcher} />
195
+ ```
196
+
197
+ ## Development
198
+
199
+ ```bash
200
+ bun install # Install dependencies
201
+ bun run dev # Start playground on localhost:5005
202
+ bun run build # Build library
203
+ bun run test # Run tests
204
+ bun run typecheck # Type check
205
+ bun run lint # Lint with oxlint
206
+ ```
207
+
208
+ ## License
209
+
210
+ MIT
@@ -0,0 +1,3 @@
1
+ import type { GraphiQProps } from "../types/props";
2
+ export declare function GraphiQ({ endpoint, headers, defaultQuery, schema, fetcher, storage, defaultTabs, ...rest }: GraphiQProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=GraphiQ.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphiQ.d.ts","sourceRoot":"","sources":["../../src/components/GraphiQ.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AA2NnD,wBAAgB,OAAO,CAAC,EACtB,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,MAAM,EACN,OAAO,EACP,OAAO,EACP,WAAW,EACX,GAAG,IAAI,EACR,EAAE,YAAY,2CAcd"}
@@ -0,0 +1,3 @@
1
+ import type { GraphiQProviderProps } from "../types/props";
2
+ export declare function GraphiQProvider({ endpoint, headers, defaultQuery, defaultTabs, schema, fetcher, storage: _storage, children, }: GraphiQProviderProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=GraphiQProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphiQProvider.d.ts","sourceRoot":"","sources":["../../src/components/GraphiQProvider.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,WAAW,EACX,MAAM,EACN,OAAO,EACP,OAAO,EAAE,QAAQ,EACjB,QAAQ,GACT,EAAE,oBAAoB,2CAqCtB"}
@@ -0,0 +1,6 @@
1
+ interface HeadersEditorProps {
2
+ className?: string;
3
+ }
4
+ export declare function HeadersEditor({ className }: HeadersEditorProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
6
+ //# sourceMappingURL=HeadersEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeadersEditor.d.ts","sourceRoot":"","sources":["../../../src/components/editor/HeadersEditor.tsx"],"names":[],"mappings":"AAQA,UAAU,kBAAkB;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,EAAE,kBAAkB,2CAoB9D"}
@@ -0,0 +1,6 @@
1
+ interface QueryEditorProps {
2
+ className?: string;
3
+ }
4
+ export declare function QueryEditor({ className }: QueryEditorProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
6
+ //# sourceMappingURL=QueryEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryEditor.d.ts","sourceRoot":"","sources":["../../../src/components/editor/QueryEditor.tsx"],"names":[],"mappings":"AAQA,UAAU,gBAAgB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,EAAE,SAAS,EAAE,EAAE,gBAAgB,2CAwB1D"}
@@ -0,0 +1,6 @@
1
+ interface ResponseViewerProps {
2
+ className?: string;
3
+ }
4
+ export declare function ResponseViewer({ className }: ResponseViewerProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
6
+ //# sourceMappingURL=ResponseViewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResponseViewer.d.ts","sourceRoot":"","sources":["../../../src/components/editor/ResponseViewer.tsx"],"names":[],"mappings":"AAQA,UAAU,mBAAmB;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,EAAE,SAAS,EAAE,EAAE,mBAAmB,2CAwBhE"}
@@ -0,0 +1,6 @@
1
+ interface VariablesEditorProps {
2
+ className?: string;
3
+ }
4
+ export declare function VariablesEditor({ className }: VariablesEditorProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
6
+ //# sourceMappingURL=VariablesEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VariablesEditor.d.ts","sourceRoot":"","sources":["../../../src/components/editor/VariablesEditor.tsx"],"names":[],"mappings":"AAQA,UAAU,oBAAoB;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,EAAE,SAAS,EAAE,EAAE,oBAAoB,2CAoBlE"}
@@ -0,0 +1,15 @@
1
+ import { type Extension } from "@codemirror/state";
2
+ import { EditorView } from "@codemirror/view";
3
+ interface UseCodeMirrorOptions {
4
+ value: string;
5
+ onChange?: (value: string) => void;
6
+ extensions?: Extension[];
7
+ readOnly?: boolean;
8
+ placeholder?: string;
9
+ }
10
+ export declare function useCodeMirror({ value, onChange, extensions, readOnly, placeholder, }: UseCodeMirrorOptions): {
11
+ containerRef: import("react").RefObject<HTMLDivElement | null>;
12
+ viewRef: import("react").RefObject<EditorView | null>;
13
+ };
14
+ export {};
15
+ //# sourceMappingURL=use-codemirror.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-codemirror.d.ts","sourceRoot":"","sources":["../../../src/components/editor/use-codemirror.ts"],"names":[],"mappings":"AACA,OAAO,EAA4B,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAgC,MAAM,kBAAkB,CAAC;AAI5E,UAAU,oBAAoB;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,QAAQ,EACR,UAAe,EACf,QAAgB,EAChB,WAAW,GACZ,EAAE,oBAAoB;;;EAoJtB"}
@@ -0,0 +1,6 @@
1
+ interface QueryExplorerProps {
2
+ className?: string;
3
+ }
4
+ export declare function QueryExplorer({ className }: QueryExplorerProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
6
+ //# sourceMappingURL=QueryExplorer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryExplorer.d.ts","sourceRoot":"","sources":["../../../src/components/explorer/QueryExplorer.tsx"],"names":[],"mappings":"AAoBA,UAAU,kBAAkB;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAoYD,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,EAAE,kBAAkB,2CA4L9D"}
@@ -0,0 +1,6 @@
1
+ interface QueryHistoryProps {
2
+ className?: string;
3
+ }
4
+ export declare function QueryHistory({ className }: QueryHistoryProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
6
+ //# sourceMappingURL=QueryHistory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QueryHistory.d.ts","sourceRoot":"","sources":["../../../src/components/history/QueryHistory.tsx"],"names":[],"mappings":"AAKA,UAAU,iBAAiB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,EAAE,SAAS,EAAE,EAAE,iBAAiB,2CA6E5D"}
@@ -0,0 +1,6 @@
1
+ interface SchemaExplorerProps {
2
+ className?: string;
3
+ }
4
+ export declare function SchemaExplorer({ className }: SchemaExplorerProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
6
+ //# sourceMappingURL=SchemaExplorer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaExplorer.d.ts","sourceRoot":"","sources":["../../../src/components/schema/SchemaExplorer.tsx"],"names":[],"mappings":"AAmBA,UAAU,mBAAmB;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgFD,wBAAgB,cAAc,CAAC,EAAE,SAAS,EAAE,EAAE,mBAAmB,2CAoEhE"}
@@ -0,0 +1,10 @@
1
+ import type { Plugin } from "../../types/plugin";
2
+ interface SidebarProps {
3
+ showHistory?: boolean;
4
+ showSchemaExplorer?: boolean;
5
+ plugins?: Plugin[];
6
+ className?: string;
7
+ }
8
+ export declare function Sidebar({ showHistory, showSchemaExplorer, plugins, className, }: SidebarProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=Sidebar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar/Sidebar.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,UAAU,YAAY;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA8BD,wBAAgB,OAAO,CAAC,EACtB,WAAkB,EAClB,kBAAyB,EACzB,OAAY,EACZ,SAAS,GACV,EAAE,YAAY,2CA4Cd"}
@@ -0,0 +1,10 @@
1
+ interface TabProps {
2
+ name: string;
3
+ isActive: boolean;
4
+ canClose: boolean;
5
+ onClick: () => void;
6
+ onClose: () => void;
7
+ }
8
+ export declare function Tab({ name, isActive, canClose, onClick, onClose }: TabProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=Tab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tab.d.ts","sourceRoot":"","sources":["../../../src/components/tabs/Tab.tsx"],"names":[],"mappings":"AAGA,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,wBAAgB,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,QAAQ,2CAuC3E"}
@@ -0,0 +1,6 @@
1
+ interface TabBarProps {
2
+ className?: string;
3
+ }
4
+ export declare function TabBar({ className }: TabBarProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
6
+ //# sourceMappingURL=TabBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabBar.d.ts","sourceRoot":"","sources":["../../../src/components/tabs/TabBar.tsx"],"names":[],"mappings":"AAOA,UAAU,WAAW;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,WAAW,2CA+BhD"}
@@ -0,0 +1,9 @@
1
+ interface ExecuteButtonProps {
2
+ isLoading: boolean;
3
+ onExecute: () => void;
4
+ onCancel: () => void;
5
+ className?: string;
6
+ }
7
+ export declare function ExecuteButton({ isLoading, onExecute, onCancel, className, }: ExecuteButtonProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=ExecuteButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExecuteButton.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/ExecuteButton.tsx"],"names":[],"mappings":"AAIA,UAAU,kBAAkB;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,SAAS,EACT,QAAQ,EACR,SAAS,GACV,EAAE,kBAAkB,2CAqBpB"}
@@ -0,0 +1,7 @@
1
+ interface PrettifyButtonProps {
2
+ onPrettify: () => void;
3
+ className?: string;
4
+ }
5
+ export declare function PrettifyButton({ onPrettify, className }: PrettifyButtonProps): import("react/jsx-runtime").JSX.Element;
6
+ export {};
7
+ //# sourceMappingURL=PrettifyButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrettifyButton.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/PrettifyButton.tsx"],"names":[],"mappings":"AAGA,UAAU,mBAAmB;IAC3B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,mBAAmB,2CAe5E"}
@@ -0,0 +1,7 @@
1
+ interface ToolbarProps {
2
+ onExecute: () => void;
3
+ className?: string;
4
+ }
5
+ export declare function Toolbar({ onExecute, className }: ToolbarProps): import("react/jsx-runtime").JSX.Element;
6
+ export {};
7
+ //# sourceMappingURL=Toolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toolbar.d.ts","sourceRoot":"","sources":["../../../src/components/toolbar/Toolbar.tsx"],"names":[],"mappings":"AAOA,UAAU,YAAY;IACpB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,YAAY,2CA6B7D"}
@@ -0,0 +1,13 @@
1
+ import { type ReactNode } from "react";
2
+ interface ResizableProps {
3
+ direction: "horizontal" | "vertical";
4
+ first: ReactNode;
5
+ second: ReactNode;
6
+ defaultRatio?: number;
7
+ minRatio?: number;
8
+ maxRatio?: number;
9
+ className?: string;
10
+ }
11
+ export declare function Resizable({ direction, first, second, defaultRatio, minRatio, maxRatio, className, }: ResizableProps): import("react/jsx-runtime").JSX.Element;
12
+ export {};
13
+ //# sourceMappingURL=Resizable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Resizable.d.ts","sourceRoot":"","sources":["../../../src/components/ui/Resizable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGtE,UAAU,cAAc;IACtB,SAAS,EAAE,YAAY,GAAG,UAAU,CAAC;IACrC,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,EACxB,SAAS,EACT,KAAK,EACL,MAAM,EACN,YAAkB,EAClB,QAAc,EACd,QAAc,EACd,SAAS,GACV,EAAE,cAAc,2CAqEhB"}