@auto-engineer/generate-react-client 1.63.0 → 1.65.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 (144) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/dist/starter/.storybook/main.ts +17 -22
  3. package/dist/starter/.storybook/manager-head.html +31 -31
  4. package/dist/starter/.storybook/manager.ts +133 -133
  5. package/dist/starter/.storybook/preview-head.html +12 -12
  6. package/dist/starter/.storybook/preview.tsx +79 -79
  7. package/dist/starter/biome.json +126 -0
  8. package/dist/starter/codegen.ts +11 -11
  9. package/dist/starter/components.json +27 -27
  10. package/dist/starter/package.json +86 -80
  11. package/dist/starter/public/mockServiceWorker.js +261 -261
  12. package/dist/starter/scripts/build-component-db.ts +17 -20
  13. package/dist/starter/src/App.tsx +15 -17
  14. package/dist/starter/src/components/ui/Accordion.stories.tsx +35 -35
  15. package/dist/starter/src/components/ui/Accordion.tsx +33 -33
  16. package/dist/starter/src/components/ui/Alert.stories.tsx +15 -15
  17. package/dist/starter/src/components/ui/Alert.tsx +32 -32
  18. package/dist/starter/src/components/ui/AlertDialog.stories.tsx +50 -50
  19. package/dist/starter/src/components/ui/AlertDialog.tsx +114 -115
  20. package/dist/starter/src/components/ui/AspectRatio.stories.tsx +20 -20
  21. package/dist/starter/src/components/ui/AspectRatio.tsx +1 -1
  22. package/dist/starter/src/components/ui/Avatar.stories.tsx +27 -27
  23. package/dist/starter/src/components/ui/Avatar.tsx +63 -63
  24. package/dist/starter/src/components/ui/Badge.stories.tsx +14 -14
  25. package/dist/starter/src/components/ui/Badge.tsx +27 -27
  26. package/dist/starter/src/components/ui/Breadcrumb.stories.tsx +38 -38
  27. package/dist/starter/src/components/ui/Breadcrumb.tsx +63 -62
  28. package/dist/starter/src/components/ui/Button.stories.tsx +55 -55
  29. package/dist/starter/src/components/ui/Button.tsx +49 -49
  30. package/dist/starter/src/components/ui/ButtonGroup.stories.tsx +17 -17
  31. package/dist/starter/src/components/ui/ButtonGroup.tsx +52 -53
  32. package/dist/starter/src/components/ui/Calendar.stories.tsx +20 -19
  33. package/dist/starter/src/components/ui/Calendar.tsx +142 -143
  34. package/dist/starter/src/components/ui/Card.stories.tsx +29 -29
  35. package/dist/starter/src/components/ui/Card.tsx +31 -31
  36. package/dist/starter/src/components/ui/Carousel.stories.tsx +41 -41
  37. package/dist/starter/src/components/ui/Carousel.tsx +171 -172
  38. package/dist/starter/src/components/ui/Chart.stories.tsx +21 -21
  39. package/dist/starter/src/components/ui/Chart.tsx +244 -247
  40. package/dist/starter/src/components/ui/Checkbox.stories.tsx +11 -11
  41. package/dist/starter/src/components/ui/Checkbox.tsx +18 -18
  42. package/dist/starter/src/components/ui/Collapsible.stories.tsx +40 -40
  43. package/dist/starter/src/components/ui/Collapsible.tsx +3 -3
  44. package/dist/starter/src/components/ui/Combobox.stories.tsx +48 -48
  45. package/dist/starter/src/components/ui/Combobox.tsx +204 -205
  46. package/dist/starter/src/components/ui/Command.stories.tsx +55 -55
  47. package/dist/starter/src/components/ui/Command.tsx +102 -103
  48. package/dist/starter/src/components/ui/ContextMenu.stories.tsx +52 -52
  49. package/dist/starter/src/components/ui/ContextMenu.tsx +151 -151
  50. package/dist/starter/src/components/ui/DesignSystem-Colors.stories.tsx +92 -92
  51. package/dist/starter/src/components/ui/DesignSystem-Layout.stories.tsx +139 -139
  52. package/dist/starter/src/components/ui/DesignSystem-Overview.stories.tsx +676 -657
  53. package/dist/starter/src/components/ui/DesignSystem-Typography.stories.tsx +59 -59
  54. package/dist/starter/src/components/ui/Dialog.stories.tsx +56 -56
  55. package/dist/starter/src/components/ui/Dialog.tsx +97 -98
  56. package/dist/starter/src/components/ui/Direction.stories.tsx +20 -20
  57. package/dist/starter/src/components/ui/Direction.tsx +7 -7
  58. package/dist/starter/src/components/ui/Drawer.stories.tsx +54 -54
  59. package/dist/starter/src/components/ui/Drawer.tsx +70 -70
  60. package/dist/starter/src/components/ui/DropdownMenu.stories.tsx +58 -58
  61. package/dist/starter/src/components/ui/DropdownMenu.tsx +157 -157
  62. package/dist/starter/src/components/ui/Empty.stories.tsx +22 -22
  63. package/dist/starter/src/components/ui/Empty.tsx +58 -58
  64. package/dist/starter/src/components/ui/Field.stories.tsx +31 -31
  65. package/dist/starter/src/components/ui/Field.tsx +180 -181
  66. package/dist/starter/src/components/ui/Form.stories.tsx +29 -29
  67. package/dist/starter/src/components/ui/Form.tsx +93 -96
  68. package/dist/starter/src/components/ui/HoverCard.stories.tsx +34 -34
  69. package/dist/starter/src/components/ui/HoverCard.tsx +21 -21
  70. package/dist/starter/src/components/ui/Input.stories.tsx +18 -18
  71. package/dist/starter/src/components/ui/Input.tsx +14 -14
  72. package/dist/starter/src/components/ui/InputGroup.stories.tsx +34 -34
  73. package/dist/starter/src/components/ui/InputGroup.tsx +110 -111
  74. package/dist/starter/src/components/ui/InputOTP.stories.tsx +28 -28
  75. package/dist/starter/src/components/ui/InputOTP.tsx +43 -43
  76. package/dist/starter/src/components/ui/Item.stories.tsx +45 -45
  77. package/dist/starter/src/components/ui/Item.tsx +113 -114
  78. package/dist/starter/src/components/ui/Kbd.stories.tsx +31 -31
  79. package/dist/starter/src/components/ui/Kbd.tsx +11 -11
  80. package/dist/starter/src/components/ui/Label.stories.tsx +62 -62
  81. package/dist/starter/src/components/ui/Label.tsx +26 -25
  82. package/dist/starter/src/components/ui/Menubar.stories.tsx +62 -62
  83. package/dist/starter/src/components/ui/Menubar.tsx +173 -173
  84. package/dist/starter/src/components/ui/NativeSelect.stories.tsx +26 -26
  85. package/dist/starter/src/components/ui/NativeSelect.tsx +29 -29
  86. package/dist/starter/src/components/ui/NavigationMenu.stories.tsx +64 -64
  87. package/dist/starter/src/components/ui/NavigationMenu.tsx +103 -103
  88. package/dist/starter/src/components/ui/Pagination.stories.tsx +61 -61
  89. package/dist/starter/src/components/ui/Pagination.tsx +69 -71
  90. package/dist/starter/src/components/ui/Popover.stories.tsx +38 -38
  91. package/dist/starter/src/components/ui/Popover.tsx +25 -25
  92. package/dist/starter/src/components/ui/Progress.stories.tsx +9 -9
  93. package/dist/starter/src/components/ui/Progress.tsx +14 -14
  94. package/dist/starter/src/components/ui/RadioGroup.stories.tsx +35 -35
  95. package/dist/starter/src/components/ui/RadioGroup.tsx +19 -19
  96. package/dist/starter/src/components/ui/Resizable.stories.tsx +54 -54
  97. package/dist/starter/src/components/ui/Resizable.tsx +29 -29
  98. package/dist/starter/src/components/ui/ScrollArea.stories.tsx +27 -27
  99. package/dist/starter/src/components/ui/ScrollArea.tsx +34 -34
  100. package/dist/starter/src/components/ui/Select.stories.tsx +43 -43
  101. package/dist/starter/src/components/ui/Select.tsx +120 -120
  102. package/dist/starter/src/components/ui/Separator.stories.tsx +27 -27
  103. package/dist/starter/src/components/ui/Separator.tsx +17 -17
  104. package/dist/starter/src/components/ui/Sheet.stories.tsx +53 -53
  105. package/dist/starter/src/components/ui/Sheet.tsx +69 -69
  106. package/dist/starter/src/components/ui/Sidebar.stories.tsx +77 -77
  107. package/dist/starter/src/components/ui/Sidebar.tsx +563 -564
  108. package/dist/starter/src/components/ui/Skeleton.stories.tsx +25 -25
  109. package/dist/starter/src/components/ui/Skeleton.tsx +1 -1
  110. package/dist/starter/src/components/ui/Slider.stories.tsx +5 -5
  111. package/dist/starter/src/components/ui/Slider.tsx +45 -44
  112. package/dist/starter/src/components/ui/Sonner.stories.tsx +32 -32
  113. package/dist/starter/src/components/ui/Sonner.tsx +23 -23
  114. package/dist/starter/src/components/ui/Spinner.stories.tsx +8 -8
  115. package/dist/starter/src/components/ui/Spinner.tsx +1 -1
  116. package/dist/starter/src/components/ui/Switch.stories.tsx +16 -17
  117. package/dist/starter/src/components/ui/Switch.tsx +24 -24
  118. package/dist/starter/src/components/ui/Table.stories.tsx +50 -50
  119. package/dist/starter/src/components/ui/Table.tsx +45 -45
  120. package/dist/starter/src/components/ui/Tabs.stories.tsx +39 -39
  121. package/dist/starter/src/components/ui/Tabs.tsx +47 -47
  122. package/dist/starter/src/components/ui/Textarea.stories.tsx +9 -9
  123. package/dist/starter/src/components/ui/Textarea.tsx +11 -11
  124. package/dist/starter/src/components/ui/Toast.stories.tsx +77 -77
  125. package/dist/starter/src/components/ui/Toast.tsx +75 -75
  126. package/dist/starter/src/components/ui/Toaster.tsx +17 -19
  127. package/dist/starter/src/components/ui/Toggle.stories.tsx +20 -20
  128. package/dist/starter/src/components/ui/Toggle.tsx +26 -26
  129. package/dist/starter/src/components/ui/ToggleGroup.stories.tsx +41 -41
  130. package/dist/starter/src/components/ui/ToggleGroup.tsx +61 -62
  131. package/dist/starter/src/components/ui/Tooltip.stories.tsx +26 -26
  132. package/dist/starter/src/components/ui/Tooltip.tsx +24 -24
  133. package/dist/starter/src/gql/execute.ts +1 -1
  134. package/dist/starter/src/gql/fragment-masking.ts +1 -1
  135. package/dist/starter/src/gql/graphql.ts +3 -0
  136. package/dist/starter/src/hooks/use-mobile.ts +11 -11
  137. package/dist/starter/src/hooks/use-toast.ts +135 -135
  138. package/dist/starter/src/index.css +105 -105
  139. package/dist/starter/src/lib/utils.ts +1 -1
  140. package/dist/starter/src/main.tsx +4 -1
  141. package/dist/starter/tsconfig.app.json +24 -24
  142. package/dist/starter/tsconfig.json +8 -8
  143. package/dist/starter/vite.config.ts +38 -37
  144. package/package.json +3 -3
@@ -1,7 +1,7 @@
1
1
  <style>
2
2
  /* Immediate CSS-based dark mode detection - no JS needed for initial paint */
3
3
  html, body {
4
- transition: none !important;
4
+ transition: none;
5
5
  background-color: #FFFFFF;
6
6
  color-scheme: light;
7
7
  }
@@ -14,13 +14,13 @@
14
14
  }
15
15
  /* When .dark class is set by JS */
16
16
  html.dark, html.dark body {
17
- background-color: #1a1f2e !important;
18
- color-scheme: dark !important;
17
+ background-color: #1a1f2e;
18
+ color-scheme: dark;
19
19
  }
20
20
  /* When .light class is set by JS (overrides prefers-color-scheme) */
21
21
  html.light, html.light body {
22
- background-color: #FFFFFF !important;
23
- color-scheme: light !important;
22
+ background-color: #FFFFFF;
23
+ color-scheme: light;
24
24
  }
25
25
 
26
26
  /* Fix inner iframe loading states */
@@ -29,8 +29,8 @@
29
29
  html.dark .sb-wrapper,
30
30
  html.dark #storybook-root,
31
31
  html.dark #storybook-docs {
32
- background-color: #1a1f2e !important;
33
- color-scheme: dark !important;
32
+ background-color: #1a1f2e;
33
+ color-scheme: dark;
34
34
  }
35
35
 
36
36
  /* Make spinner transparent in both light and dark mode */
@@ -38,18 +38,18 @@
38
38
  .sb-loader *,
39
39
  [class*="loader"],
40
40
  [class*="loader"] * {
41
- fill: transparent !important;
42
- background: transparent !important;
43
- background-color: transparent !important;
41
+ fill: transparent;
42
+ background: transparent;
43
+ background-color: transparent;
44
44
  }
45
45
 
46
46
  /* Set dark background on all iframes in dark mode to reduce flash from external content */
47
47
  html.dark iframe {
48
- background-color: #1a1f2e !important;
48
+ background-color: #1a1f2e;
49
49
  }
50
50
  </style>
51
51
  <script>
52
- (function() {
52
+ (() => {
53
53
  var isDark = false;
54
54
  var stored, parsed, urlParams, urlTheme;
55
55
  try {
@@ -1,42 +1,42 @@
1
+ import { DocsContainer } from '@storybook/addon-docs/blocks';
1
2
  import type { Preview } from '@storybook/react-vite';
3
+ import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
4
+ import { DARK_MODE_EVENT_NAME } from '@vueless/storybook-dark-mode';
5
+ import { initialize, mswLoader } from 'msw-storybook-addon';
2
6
  import type { PropsWithChildren } from 'react';
3
7
  import { useEffect, useState } from 'react';
4
8
  import { addons } from 'storybook/preview-api';
5
9
  import { themes } from 'storybook/theming';
6
- import { DocsContainer } from '@storybook/addon-docs/blocks';
7
- import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
8
- import { DARK_MODE_EVENT_NAME } from '@vueless/storybook-dark-mode';
9
- import { initialize, mswLoader } from 'msw-storybook-addon';
10
10
  import '../src/index.css';
11
11
 
12
12
  initialize({
13
- onUnhandledRequest: 'bypass',
13
+ onUnhandledRequest: 'bypass',
14
14
  });
15
15
 
16
16
  // Apply theme to the preview iframe (for component styling and background)
17
17
  const applyTheme = (isDark: boolean) => {
18
- if (isDark) {
19
- document.documentElement.classList.add('dark');
20
- } else {
21
- document.documentElement.classList.remove('dark');
22
- }
23
- // Update background color to match Storybook theme
24
- document.documentElement.style.backgroundColor = isDark ? '#222325' : '#FFFFFF';
25
- document.documentElement.style.colorScheme = isDark ? 'dark' : 'light';
18
+ if (isDark) {
19
+ document.documentElement.classList.add('dark');
20
+ } else {
21
+ document.documentElement.classList.remove('dark');
22
+ }
23
+ // Update background color to match Storybook theme
24
+ document.documentElement.style.backgroundColor = isDark ? '#222325' : '#FFFFFF';
25
+ document.documentElement.style.colorScheme = isDark ? 'dark' : 'light';
26
26
  };
27
27
 
28
28
  // Get initial theme from URL parameter or localStorage
29
29
  const urlParams = new URLSearchParams(window.location.search);
30
30
  const urlTheme = urlParams.get('theme');
31
31
  const getStoredDarkMode = (): boolean => {
32
- try {
33
- const stored = localStorage.getItem('sb-addon-themes-3');
34
- if (stored) {
35
- const parsed = JSON.parse(stored);
36
- return parsed?.current === 'dark';
37
- }
38
- } catch {}
39
- return false;
32
+ try {
33
+ const stored = localStorage.getItem('sb-addon-themes-3');
34
+ if (stored) {
35
+ const parsed = JSON.parse(stored);
36
+ return parsed?.current === 'dark';
37
+ }
38
+ } catch {}
39
+ return false;
40
40
  };
41
41
  const initialIsDark = urlTheme ? urlTheme === 'dark' : getStoredDarkMode();
42
42
  applyTheme(initialIsDark);
@@ -44,77 +44,77 @@ applyTheme(initialIsDark);
44
44
  // Listen to dark mode addon changes and sync with our CSS class
45
45
  const channel = addons.getChannel();
46
46
  channel.on(DARK_MODE_EVENT_NAME, (isDark: boolean) => {
47
- applyTheme(isDark);
47
+ applyTheme(isDark);
48
48
  });
49
49
 
50
50
  const queryClient = new QueryClient({
51
- defaultOptions: {
52
- queries: {
53
- retry: false,
54
- },
55
- },
51
+ defaultOptions: {
52
+ queries: {
53
+ retry: false,
54
+ },
55
+ },
56
56
  });
57
57
 
58
58
  // Themed docs container that responds to dark mode
59
59
  function ThemedDocsContainer({
60
- children,
61
- context,
60
+ children,
61
+ context,
62
62
  }: PropsWithChildren<{ context: Parameters<typeof DocsContainer>[0]['context'] }>) {
63
- const [isDark, setIsDark] = useState(initialIsDark);
63
+ const [isDark, setIsDark] = useState(initialIsDark);
64
64
 
65
- useEffect(() => {
66
- const ch = addons.getChannel();
67
- ch.on(DARK_MODE_EVENT_NAME, setIsDark);
68
- return () => ch.off(DARK_MODE_EVENT_NAME, setIsDark);
69
- }, []);
65
+ useEffect(() => {
66
+ const ch = addons.getChannel();
67
+ ch.on(DARK_MODE_EVENT_NAME, setIsDark);
68
+ return () => ch.off(DARK_MODE_EVENT_NAME, setIsDark);
69
+ }, []);
70
70
 
71
- return (
72
- <DocsContainer context={context} theme={isDark ? themes.dark : themes.light}>
73
- {children}
74
- </DocsContainer>
75
- );
71
+ return (
72
+ <DocsContainer context={context} theme={isDark ? themes.dark : themes.light}>
73
+ {children}
74
+ </DocsContainer>
75
+ );
76
76
  }
77
77
 
78
78
  const preview: Preview = {
79
- tags: ['autodocs'],
80
- decorators: [
81
- (Story) => (
82
- <QueryClientProvider client={queryClient}>
83
- <Story />
84
- </QueryClientProvider>
85
- ),
86
- ],
87
- parameters: {
88
- controls: {
89
- matchers: {
90
- color: /(background|color)$/i,
91
- date: /Date$/i,
92
- },
93
- },
94
- viewport: {
95
- defaultViewport: 'desktop',
96
- },
97
- layout: 'padded',
98
- options: {
99
- showPanel: false,
100
- storySort: {
101
- order: ['Design System', ['Overview', '*'], 'UI Components'],
102
- },
103
- },
104
- darkMode: {
105
- current: initialIsDark ? 'dark' : 'light',
106
- stylePreview: true,
107
- dark: themes.dark,
108
- light: themes.light,
109
- },
110
- docs: {
111
- container: ThemedDocsContainer,
112
- },
113
- },
114
- initialGlobals: {
115
- showPanel: false,
116
- },
117
- loaders: [mswLoader],
79
+ tags: ['autodocs'],
80
+ decorators: [
81
+ (Story) => (
82
+ <QueryClientProvider client={queryClient}>
83
+ <Story />
84
+ </QueryClientProvider>
85
+ ),
86
+ ],
87
+ parameters: {
88
+ controls: {
89
+ matchers: {
90
+ color: /(background|color)$/i,
91
+ date: /Date$/i,
92
+ },
93
+ },
94
+ viewport: {
95
+ defaultViewport: 'desktop',
96
+ },
97
+ layout: 'padded',
98
+ options: {
99
+ showPanel: false,
100
+ storySort: {
101
+ order: ['Design System', ['Overview', '*'], 'UI Components'],
102
+ },
103
+ },
104
+ darkMode: {
105
+ current: initialIsDark ? 'dark' : 'light',
106
+ stylePreview: true,
107
+ dark: themes.dark,
108
+ light: themes.light,
109
+ },
110
+ docs: {
111
+ container: ThemedDocsContainer,
112
+ },
113
+ },
114
+ initialGlobals: {
115
+ showPanel: false,
116
+ },
117
+ loaders: [mswLoader],
118
118
  };
119
119
 
120
120
  export default preview;
@@ -0,0 +1,126 @@
1
+ {
2
+ "$schema": "https://biomejs.dev/schemas/2.3.10/schema.json",
3
+ "vcs": {
4
+ "enabled": true,
5
+ "clientKind": "git",
6
+ "useIgnoreFile": true
7
+ },
8
+ "files": {
9
+ "ignoreUnknown": true
10
+ },
11
+ "formatter": {
12
+ "indentStyle": "tab",
13
+ "indentWidth": 2,
14
+ "lineWidth": 120,
15
+ "lineEnding": "lf"
16
+ },
17
+ "css": {
18
+ "parser": {
19
+ "tailwindDirectives": true
20
+ }
21
+ },
22
+ "javascript": {
23
+ "formatter": {
24
+ "quoteStyle": "single",
25
+ "trailingCommas": "all",
26
+ "semicolons": "always",
27
+ "arrowParentheses": "always",
28
+ "bracketSameLine": false,
29
+ "jsxQuoteStyle": "double"
30
+ }
31
+ },
32
+ "linter": {
33
+ "rules": {
34
+ "recommended": true,
35
+ "a11y": {
36
+ "useSemanticElements": "off",
37
+ "noSvgWithoutTitle": "off"
38
+ },
39
+ "correctness": {
40
+ "noUnusedImports": "error",
41
+ "noUnusedVariables": "error"
42
+ },
43
+ "suspicious": {
44
+ "noExplicitAny": "error",
45
+ "noConsole": "warn",
46
+ "noEmptyBlockStatements": "error"
47
+ },
48
+ "style": {
49
+ "useConst": "error",
50
+ "noNonNullAssertion": "error",
51
+ "useImportType": "error",
52
+ "useExportType": "error",
53
+ "useNodejsImportProtocol": "error",
54
+ "noParameterAssign": "error",
55
+ "useEnumInitializers": "off"
56
+ }
57
+ }
58
+ },
59
+ "assist": {
60
+ "actions": {
61
+ "source": {
62
+ "organizeImports": "on"
63
+ }
64
+ }
65
+ },
66
+ "overrides": [
67
+ {
68
+ "includes": ["**/*.stories.tsx", "**/*.stories.ts"],
69
+ "linter": {
70
+ "rules": {
71
+ "a11y": {
72
+ "useButtonType": "off",
73
+ "useValidAnchor": "off"
74
+ },
75
+ "suspicious": {
76
+ "noConsole": "off",
77
+ "noEmptyBlockStatements": "off",
78
+ "noArrayIndexKey": "off"
79
+ }
80
+ }
81
+ }
82
+ },
83
+ {
84
+ "includes": ["scripts/**"],
85
+ "linter": {
86
+ "rules": {
87
+ "suspicious": {
88
+ "noConsole": "off"
89
+ },
90
+ "style": {
91
+ "noNonNullAssertion": "off"
92
+ }
93
+ }
94
+ }
95
+ },
96
+ {
97
+ "includes": [".storybook/*.ts", ".storybook/*.tsx"],
98
+ "linter": {
99
+ "rules": {
100
+ "suspicious": {
101
+ "noEmptyBlockStatements": "off",
102
+ "noConsole": "off"
103
+ },
104
+ "style": {
105
+ "noNonNullAssertion": "off"
106
+ }
107
+ }
108
+ }
109
+ },
110
+ {
111
+ "includes": [".storybook/*.html"],
112
+ "linter": {
113
+ "enabled": false
114
+ }
115
+ },
116
+ {
117
+ "includes": ["src/gql/**"],
118
+ "linter": {
119
+ "enabled": false
120
+ },
121
+ "formatter": {
122
+ "enabled": false
123
+ }
124
+ }
125
+ ]
126
+ }
@@ -1,17 +1,17 @@
1
1
  import type { CodegenConfig } from '@graphql-codegen/cli';
2
2
 
3
3
  const config: CodegenConfig = {
4
- schema: '../.context/schema.graphql',
5
- documents: ['src/graphql/**/*.ts'],
6
- ignoreNoDocuments: true,
7
- generates: {
8
- './src/gql/': {
9
- preset: 'client',
10
- config: {
11
- documentMode: 'string',
12
- },
13
- },
14
- },
4
+ schema: '../.context/schema.graphql',
5
+ documents: ['src/graphql/**/*.ts'],
6
+ ignoreNoDocuments: true,
7
+ generates: {
8
+ './src/gql/': {
9
+ preset: 'client',
10
+ config: {
11
+ documentMode: 'string',
12
+ },
13
+ },
14
+ },
15
15
  };
16
16
 
17
17
  export default config;
@@ -1,29 +1,29 @@
1
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
- "aliases": {
14
- "components": "@/components",
15
- "utils": "@/lib/utils",
16
- "ui": "@/components/ui",
17
- "lib": "@/lib",
18
- "hooks": "@/hooks"
19
- },
20
- "iconLibrary": "lucide",
21
- "registries": {
22
- "@shadcraft": {
23
- "url": "https://registry-shadcraft.vercel.app/r/{name}",
24
- "headers": {
25
- "X-License-Key": "${SHADCRAFT_LICENSE_KEY}"
26
- }
27
- }
28
- }
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
+ "aliases": {
14
+ "components": "@/components",
15
+ "utils": "@/lib/utils",
16
+ "ui": "@/components/ui",
17
+ "lib": "@/lib",
18
+ "hooks": "@/hooks"
19
+ },
20
+ "iconLibrary": "lucide",
21
+ "registries": {
22
+ "@shadcraft": {
23
+ "url": "https://registry-shadcraft.vercel.app/r/{name}",
24
+ "headers": {
25
+ "X-License-Key": "${SHADCRAFT_LICENSE_KEY}"
26
+ }
27
+ }
28
+ }
29
29
  }
@@ -1,82 +1,88 @@
1
1
  {
2
- "name": "react-client",
3
- "private": true,
4
- "version": "0.0.0",
5
- "type": "module",
6
- "scripts": {
7
- "dev": "vite",
8
- "build": "tsc -b && vite build",
9
- "test": "vitest run",
10
- "test:watch": "vitest",
11
- "test:ui": "vitest --ui",
12
- "test:coverage": "vitest run --coverage",
13
- "preview": "vite preview",
14
- "type-check": "tsc --noEmit -p tsconfig.app.json",
15
- "storybook": "storybook dev -p 6006",
16
- "storybook:fast": "STORYBOOK_FAST=1 storybook dev -p 6006",
17
- "build-storybook": "storybook build",
18
- "codegen": "graphql-codegen",
19
- "codegen:watch": "graphql-codegen --watch",
20
- "build:component-db": "tsx scripts/build-component-db.ts"
21
- },
22
- "dependencies": {
23
- "@base-ui/react": "^1.1.0",
24
- "@hookform/resolvers": "^5.2.2",
25
- "@tanstack/react-query": "^5.90.19",
26
- "class-variance-authority": "^0.7.1",
27
- "clsx": "^2.1.1",
28
- "cmdk": "^1.1.1",
29
- "date-fns": "^4.1.0",
30
- "embla-carousel-react": "^8.6.0",
31
- "graphql-request": "^7.4.0",
32
- "input-otp": "^1.4.2",
33
- "lucide-react": "^0.539.0",
34
- "next-themes": "^0.4.6",
35
- "radix-ui": "^1.4.3",
36
- "react": "^19.0.0",
37
- "react-day-picker": "^9.13.0",
38
- "react-dom": "^19.0.0",
39
- "react-hook-form": "^7.71.1",
40
- "react-resizable-panels": "^4.6.1",
41
- "react-router-dom": "^7.13.0",
42
- "recharts": "2.15.4",
43
- "sonner": "^2.0.7",
44
- "tailwind-merge": "^3.3.1",
45
- "vaul": "^1.1.2",
46
- "zod": "^4.3.6"
47
- },
48
- "devDependencies": {
49
- "@graphql-codegen/cli": "^6.1.1",
50
- "@graphql-codegen/client-preset": "^5.2.2",
51
- "@parcel/watcher": "^2.5.6",
52
- "@storybook/addon-docs": "^10.2.8",
53
- "@storybook/addon-mcp": "^0.2.2",
54
- "@storybook/react-vite": "^10.2.8",
55
- "@tailwindcss/vite": "^4.1.16",
56
- "@types/react": "^19.2.7",
57
- "@types/react-dom": "^19.2.3",
58
- "@vitejs/plugin-react-swc": "^4.2.2",
59
- "@vueless/storybook-dark-mode": "^10.0.7",
60
- "graphql": "^16.12.0",
61
- "msw": "^2.12.10",
62
- "msw-storybook-addon": "^2.0.6",
63
- "storybook": "^10.2.8",
64
- "tailwindcss": "^4.1.16",
65
- "tw-animate-css": "^1.3.7",
66
- "typescript": "^5.9.3",
67
- "vite": "^7.3.0",
68
- "vitest": "^3.2.1",
69
- "@vitest/ui": "^3.2.1",
70
- "@vitest/coverage-v8": "^3.2.1",
71
- "jsdom": "^26.1.0",
72
- "happy-dom": "^18.0.1",
73
- "@testing-library/react": "^16.3.0",
74
- "@testing-library/jest-dom": "^6.6.3",
75
- "@testing-library/user-event": "^14.6.1"
76
- },
77
- "msw": {
78
- "workerDirectory": [
79
- "public"
80
- ]
81
- }
2
+ "name": "react-client",
3
+ "private": true,
4
+ "version": "0.0.0",
5
+ "type": "module",
6
+ "scripts": {
7
+ "dev": "vite",
8
+ "build": "tsc -b && vite build",
9
+ "test": "vitest run",
10
+ "test:watch": "vitest",
11
+ "test:ui": "vitest --ui",
12
+ "test:coverage": "vitest run --coverage",
13
+ "preview": "vite preview",
14
+ "type-check": "tsc --noEmit -p tsconfig.app.json",
15
+ "lint": "biome check .",
16
+ "lint:fix": "biome check --write .",
17
+ "format": "biome format .",
18
+ "format:fix": "biome format --write .",
19
+ "check": "biome check --write .",
20
+ "storybook": "storybook dev -p 6006",
21
+ "storybook:fast": "STORYBOOK_FAST=1 storybook dev -p 6006",
22
+ "build-storybook": "storybook build",
23
+ "codegen": "graphql-codegen",
24
+ "codegen:watch": "graphql-codegen --watch",
25
+ "build:component-db": "tsx scripts/build-component-db.ts"
26
+ },
27
+ "dependencies": {
28
+ "@base-ui/react": "^1.1.0",
29
+ "@hookform/resolvers": "^5.2.2",
30
+ "@tanstack/react-query": "^5.90.19",
31
+ "class-variance-authority": "^0.7.1",
32
+ "clsx": "^2.1.1",
33
+ "cmdk": "^1.1.1",
34
+ "date-fns": "^4.1.0",
35
+ "embla-carousel-react": "^8.6.0",
36
+ "graphql-request": "^7.4.0",
37
+ "input-otp": "^1.4.2",
38
+ "lucide-react": "^0.539.0",
39
+ "next-themes": "^0.4.6",
40
+ "radix-ui": "^1.4.3",
41
+ "react": "^19.0.0",
42
+ "react-day-picker": "^9.13.0",
43
+ "react-dom": "^19.0.0",
44
+ "react-hook-form": "^7.71.1",
45
+ "react-resizable-panels": "^4.6.1",
46
+ "react-router-dom": "^7.13.0",
47
+ "recharts": "2.15.4",
48
+ "sonner": "^2.0.7",
49
+ "tailwind-merge": "^3.3.1",
50
+ "vaul": "^1.1.2",
51
+ "zod": "^4.3.6"
52
+ },
53
+ "devDependencies": {
54
+ "@biomejs/biome": "^2.3.10",
55
+ "@graphql-codegen/cli": "^6.1.1",
56
+ "@graphql-codegen/client-preset": "^5.2.2",
57
+ "@parcel/watcher": "^2.5.6",
58
+ "@storybook/addon-docs": "^10.2.8",
59
+ "@storybook/addon-mcp": "^0.2.2",
60
+ "@storybook/react-vite": "^10.2.8",
61
+ "@tailwindcss/vite": "^4.1.16",
62
+ "@testing-library/jest-dom": "^6.6.3",
63
+ "@testing-library/react": "^16.3.0",
64
+ "@testing-library/user-event": "^14.6.1",
65
+ "@types/react": "^19.2.7",
66
+ "@types/react-dom": "^19.2.3",
67
+ "@vitejs/plugin-react-swc": "^4.2.2",
68
+ "@vitest/coverage-v8": "^3.2.1",
69
+ "@vitest/ui": "^3.2.1",
70
+ "@vueless/storybook-dark-mode": "^10.0.7",
71
+ "graphql": "^16.12.0",
72
+ "happy-dom": "^18.0.1",
73
+ "jsdom": "^26.1.0",
74
+ "msw": "^2.12.10",
75
+ "msw-storybook-addon": "^2.0.6",
76
+ "storybook": "^10.2.8",
77
+ "tailwindcss": "^4.1.16",
78
+ "tw-animate-css": "^1.3.7",
79
+ "typescript": "^5.9.3",
80
+ "vite": "^7.3.0",
81
+ "vitest": "^3.2.1"
82
+ },
83
+ "msw": {
84
+ "workerDirectory": [
85
+ "public"
86
+ ]
87
+ }
82
88
  }