@clickhouse/click-ui 0.0.234-sc-deprecation.8 → 0.0.234-sc-deprecation.9
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.
- package/README.md +26 -152
- package/bin/commands/init.js +20 -38
- package/dist/click-ui.bundled.es.js +3776 -3784
- package/dist/click-ui.bundled.umd.js +31 -31
- package/dist/click-ui.es.js +3776 -3784
- package/dist/click-ui.umd.js +31 -31
- package/dist/config/core.d.ts +53 -0
- package/dist/config/core.d.ts.map +1 -0
- package/dist/config/core.js +188 -0
- package/dist/config/core.js.map +1 -0
- package/dist/config/index.d.ts +51 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +53 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/next.d.ts +8 -0
- package/dist/config/next.d.ts.map +1 -0
- package/dist/config/next.js +72 -0
- package/dist/config/next.js.map +1 -0
- package/dist/config/rollup.d.ts +8 -0
- package/dist/config/rollup.d.ts.map +1 -0
- package/dist/config/rollup.js +85 -0
- package/dist/config/rollup.js.map +1 -0
- package/dist/config/types.d.ts +37 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +5 -0
- package/dist/config/types.js.map +1 -0
- package/dist/config/vite.d.ts +8 -0
- package/dist/config/vite.d.ts.map +1 -0
- package/dist/config/vite.js +76 -0
- package/dist/config/vite.js.map +1 -0
- package/dist/config/webpack.d.ts +8 -0
- package/dist/config/webpack.d.ts.map +1 -0
- package/dist/config/webpack.js +87 -0
- package/dist/config/webpack.js.map +1 -0
- package/dist/theme/ClickUIProvider/ServerClickUIProvider.d.ts +3 -4
- package/dist/theme/index.d.ts +2 -2
- package/dist/theme/types.d.ts +3 -5
- package/dist/theme/utils.d.ts +7 -0
- package/package.json +30 -3
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vite plugin for Click UI configuration
|
|
3
|
+
* Uses shared core for config discovery and CSS generation
|
|
4
|
+
*/
|
|
5
|
+
import { ClickUIConfigCore } from './core';
|
|
6
|
+
export function clickUIConfig(options = {}) {
|
|
7
|
+
const core = new ClickUIConfigCore(options);
|
|
8
|
+
let resolvedRoot;
|
|
9
|
+
let loadedConfig = null;
|
|
10
|
+
let cssVariables = '';
|
|
11
|
+
return {
|
|
12
|
+
name: 'click-ui-config',
|
|
13
|
+
// Load config during Vite config resolution
|
|
14
|
+
async config(config) {
|
|
15
|
+
const root = config.root || process.cwd();
|
|
16
|
+
resolvedRoot = root;
|
|
17
|
+
try {
|
|
18
|
+
const result = await core.initialize(root);
|
|
19
|
+
loadedConfig = result.config;
|
|
20
|
+
cssVariables = result.cssVariables;
|
|
21
|
+
// Return Vite config modifications
|
|
22
|
+
const viteConfig = {
|
|
23
|
+
define: core.createDefines(loadedConfig),
|
|
24
|
+
};
|
|
25
|
+
// Add alias if config file was found
|
|
26
|
+
if (result.configFile) {
|
|
27
|
+
viteConfig.resolve = {
|
|
28
|
+
alias: core.createAlias(result.configFile),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
return viteConfig;
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
console.error('❌ Failed to initialize Click UI config:', error);
|
|
35
|
+
return {
|
|
36
|
+
define: core.createDefines({}),
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
// Store resolved config for later use
|
|
41
|
+
configResolved(config) {
|
|
42
|
+
resolvedRoot = config.root;
|
|
43
|
+
},
|
|
44
|
+
// Emit CSS file with theme variables
|
|
45
|
+
generateBundle() {
|
|
46
|
+
if (cssVariables && cssVariables.length > 0) {
|
|
47
|
+
this.emitFile({
|
|
48
|
+
type: 'asset',
|
|
49
|
+
fileName: core.getCSSOutputFilename(),
|
|
50
|
+
source: cssVariables,
|
|
51
|
+
});
|
|
52
|
+
if (core.isVerbose()) {
|
|
53
|
+
console.log(`✅ Generated ${core.getCSSOutputFilename()}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
// Watch config file for changes in dev mode
|
|
58
|
+
async handleHotUpdate({ file, server }) {
|
|
59
|
+
const configFile = core.findConfigFile(resolvedRoot);
|
|
60
|
+
if (configFile && file === configFile) {
|
|
61
|
+
console.log('🔄 Config file changed, reloading...');
|
|
62
|
+
core.clearCache();
|
|
63
|
+
// Re-initialize with new config
|
|
64
|
+
const result = await core.initialize(resolvedRoot);
|
|
65
|
+
loadedConfig = result.config;
|
|
66
|
+
cssVariables = result.cssVariables;
|
|
67
|
+
// Trigger full reload
|
|
68
|
+
server.ws.send({
|
|
69
|
+
type: 'full-reload',
|
|
70
|
+
path: '*',
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=vite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vite.js","sourceRoot":"","sources":["../../config/vite.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAG3C,MAAM,UAAU,aAAa,CAAC,UAAyB,EAAE;IACvD,MAAM,IAAI,GAAG,IAAI,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,YAAoB,CAAC;IACzB,IAAI,YAAY,GAAQ,IAAI,CAAC;IAC7B,IAAI,YAAY,GAAG,EAAE,CAAC;IAEtB,OAAO;QACL,IAAI,EAAE,iBAAiB;QAEvB,4CAA4C;QAC5C,KAAK,CAAC,MAAM,CAAC,MAAM;YACjB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAC1C,YAAY,GAAG,IAAI,CAAC;YAEpB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC3C,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC7B,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;gBAEnC,mCAAmC;gBACnC,MAAM,UAAU,GAAQ;oBACtB,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;iBACzC,CAAC;gBAEF,qCAAqC;gBACrC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBACtB,UAAU,CAAC,OAAO,GAAG;wBACnB,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC;qBAC3C,CAAC;gBACJ,CAAC;gBAED,OAAO,UAAU,CAAC;YACpB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;gBAChE,OAAO;oBACL,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;iBAC/B,CAAC;YACJ,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,cAAc,CAAC,MAAsB;YACnC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;QAC7B,CAAC;QAED,qCAAqC;QACrC,cAAc;YACZ,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAC,QAAQ,CAAC;oBACZ,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,IAAI,CAAC,oBAAoB,EAAE;oBACrC,MAAM,EAAE,YAAY;iBACrB,CAAC,CAAC;gBAEH,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;QACH,CAAC;QAED,4CAA4C;QAC5C,KAAK,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;YACpC,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAErD,IAAI,UAAU,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;gBACpD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAElB,gCAAgC;gBAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;gBACnD,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC7B,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;gBAEnC,sBAAsB;gBACtB,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,GAAG;iBACV,CAAC,CAAC;YACL,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Webpack plugin for Click UI configuration
|
|
3
|
+
* Uses shared core for config discovery and CSS generation
|
|
4
|
+
*/
|
|
5
|
+
import type { WebpackPluginInstance } from 'webpack';
|
|
6
|
+
import type { PluginOptions } from './types';
|
|
7
|
+
export declare function clickUIConfig(options?: PluginOptions): WebpackPluginInstance;
|
|
8
|
+
//# sourceMappingURL=webpack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webpack.d.ts","sourceRoot":"","sources":["../../config/webpack.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAY,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,wBAAgB,aAAa,CAAC,OAAO,GAAE,aAAkB,GAAG,qBAAqB,CAuGhF"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Webpack plugin for Click UI configuration
|
|
3
|
+
* Uses shared core for config discovery and CSS generation
|
|
4
|
+
*/
|
|
5
|
+
import { ClickUIConfigCore } from './core';
|
|
6
|
+
import { Compilation, sources } from 'webpack';
|
|
7
|
+
export function clickUIConfig(options = {}) {
|
|
8
|
+
const core = new ClickUIConfigCore(options);
|
|
9
|
+
let loadedConfig = null;
|
|
10
|
+
let cssVariables = '';
|
|
11
|
+
return {
|
|
12
|
+
apply(compiler) {
|
|
13
|
+
const pluginName = 'ClickUIConfigPlugin';
|
|
14
|
+
// Initialize config at the start of compilation
|
|
15
|
+
compiler.hooks.beforeCompile.tapAsync(pluginName, async (params, callback) => {
|
|
16
|
+
try {
|
|
17
|
+
const root = compiler.context || process.cwd();
|
|
18
|
+
const result = await core.initialize(root);
|
|
19
|
+
loadedConfig = result.config;
|
|
20
|
+
cssVariables = result.cssVariables;
|
|
21
|
+
callback();
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
console.error('❌ Failed to initialize Click UI config:', error);
|
|
25
|
+
callback();
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
// Add config as webpack DefinePlugin globals
|
|
29
|
+
compiler.hooks.compilation.tap(pluginName, (compilation) => {
|
|
30
|
+
const defines = core.createDefines(loadedConfig);
|
|
31
|
+
// Inject defines into compilation
|
|
32
|
+
Object.entries(defines).forEach(([key, value]) => {
|
|
33
|
+
compilation.hooks.processAssets.tap({
|
|
34
|
+
name: pluginName,
|
|
35
|
+
stage: Compilation.PROCESS_ASSETS_STAGE_ADDITIONS,
|
|
36
|
+
}, () => {
|
|
37
|
+
// Make defines available globally
|
|
38
|
+
compilation.valueCacheVersions.set(key, value);
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
// Emit CSS file as asset
|
|
43
|
+
compiler.hooks.thisCompilation.tap(pluginName, (compilation) => {
|
|
44
|
+
compilation.hooks.processAssets.tap({
|
|
45
|
+
name: pluginName,
|
|
46
|
+
stage: Compilation.PROCESS_ASSETS_STAGE_ADDITIONAL,
|
|
47
|
+
}, () => {
|
|
48
|
+
if (cssVariables && cssVariables.length > 0) {
|
|
49
|
+
const filename = core.getCSSOutputFilename();
|
|
50
|
+
compilation.emitAsset(filename, new sources.RawSource(cssVariables));
|
|
51
|
+
if (core.isVerbose()) {
|
|
52
|
+
console.log(`✅ Generated ${filename}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
// Add alias resolution for 'click-ui-config'
|
|
58
|
+
compiler.hooks.afterEnvironment.tap(pluginName, () => {
|
|
59
|
+
const root = compiler.context || process.cwd();
|
|
60
|
+
const configFile = core.findConfigFile(root);
|
|
61
|
+
if (configFile) {
|
|
62
|
+
const alias = core.createAlias(configFile);
|
|
63
|
+
// Merge with existing resolve.alias
|
|
64
|
+
if (!compiler.options.resolve) {
|
|
65
|
+
compiler.options.resolve = {};
|
|
66
|
+
}
|
|
67
|
+
if (!compiler.options.resolve.alias) {
|
|
68
|
+
compiler.options.resolve.alias = {};
|
|
69
|
+
}
|
|
70
|
+
Object.assign(compiler.options.resolve.alias, alias);
|
|
71
|
+
if (core.isVerbose()) {
|
|
72
|
+
console.log('✅ Added webpack alias for click-ui-config');
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
// Watch config file for changes
|
|
77
|
+
compiler.hooks.afterCompile.tap(pluginName, (compilation) => {
|
|
78
|
+
const root = compiler.context || process.cwd();
|
|
79
|
+
const configFile = core.findConfigFile(root);
|
|
80
|
+
if (configFile) {
|
|
81
|
+
compilation.fileDependencies.add(configFile);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
},
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=webpack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webpack.js","sourceRoot":"","sources":["../../config/webpack.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { ThemeConfig, ThemeName } from '../types';
|
|
3
3
|
import { TooltipProviderProps } from '@radix-ui/react-tooltip';
|
|
4
4
|
import { ToastProviderProps } from '../../components/Toast/Toast';
|
|
5
5
|
|
|
6
6
|
interface ServerClickUIProviderProps {
|
|
7
7
|
children: React.ReactNode;
|
|
8
|
-
theme?:
|
|
8
|
+
theme?: ThemeName;
|
|
9
9
|
config?: ThemeConfig;
|
|
10
|
-
enableSystemMode?: boolean;
|
|
11
10
|
tooltipConfig?: Omit<TooltipProviderProps, "children">;
|
|
12
11
|
toastConfig?: Omit<ToastProviderProps, "children">;
|
|
13
12
|
}
|
|
14
|
-
export declare const ServerClickUIProvider: ({ children, theme, config,
|
|
13
|
+
export declare const ServerClickUIProvider: ({ children, theme, config, tooltipConfig, toastConfig, }: ServerClickUIProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
15
14
|
export {};
|
package/dist/theme/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export type { Theme, ThemeName, ThemeConfig, ThemeContextValue, BaseThemeName, ResolvedThemeName, DeepPartial, NestedJSONObject, ConfigThemeValues, } from './types';
|
|
1
|
+
export type { Theme, ThemeName, ThemeConfig, ThemeContextValue, BaseThemeName, ResolvedThemeName, DeepPartial, TypedTheme, NestedJSONObject, ConfigThemeValues, } from './types';
|
|
2
2
|
export { ClickUIProvider, ServerClickUIProvider } from './ClickUIProvider';
|
|
3
3
|
export { useCUITheme, useCUITheme as useClickUITheme, } from './ClickUIProvider';
|
|
4
|
-
export { getBaseTheme, loadCustomConfig, deepMerge, } from './utils';
|
|
4
|
+
export { getBaseTheme, getThemeValue, loadCustomConfig, deepMerge, } from './utils';
|
|
5
5
|
export { generateCSSVariables, injectThemeStyles } from './utils/css-generator';
|
|
6
6
|
export { getThemeConfig } from './config';
|
|
7
7
|
export type { ThemeName as ClickUIThemeName } from './types';
|
package/dist/theme/types.d.ts
CHANGED
|
@@ -10,13 +10,11 @@ export type ConfigThemeValues = Theme | NestedJSONObject;
|
|
|
10
10
|
export type DeepPartial<T> = {
|
|
11
11
|
[P in keyof T]?: T[P] extends object ? T[P] extends (infer U)[] ? DeepPartial<U>[] : DeepPartial<T[P]> : T[P];
|
|
12
12
|
};
|
|
13
|
-
type FlexibleTheme =
|
|
13
|
+
type FlexibleTheme = NestedJSONObject;
|
|
14
|
+
export type TypedTheme = DeepPartial<Theme>;
|
|
14
15
|
export interface ThemeConfig {
|
|
15
16
|
theme?: FlexibleTheme;
|
|
16
|
-
|
|
17
|
-
light?: FlexibleTheme;
|
|
18
|
-
dark?: FlexibleTheme;
|
|
19
|
-
};
|
|
17
|
+
dark?: FlexibleTheme;
|
|
20
18
|
storageKey?: string;
|
|
21
19
|
enableSystemMode?: boolean;
|
|
22
20
|
}
|
package/dist/theme/utils.d.ts
CHANGED
|
@@ -4,5 +4,12 @@ import { Theme, BaseThemeName, ThemeConfig } from './types';
|
|
|
4
4
|
* Get base theme by name (synchronous with fallback)
|
|
5
5
|
*/
|
|
6
6
|
export declare const getBaseTheme: (themeName: BaseThemeName) => Theme;
|
|
7
|
+
/**
|
|
8
|
+
* Helper to get a specific value from a theme by path
|
|
9
|
+
* @example
|
|
10
|
+
* getThemeValue(lightTheme, "click.button.primary.background.default")
|
|
11
|
+
* // Returns: "#007bff"
|
|
12
|
+
*/
|
|
13
|
+
export declare const getThemeValue: (theme: Theme | Record<string, any>, path: string) => unknown;
|
|
7
14
|
export declare const loadCustomConfig: () => Promise<ThemeConfig | null>;
|
|
8
15
|
export declare const deepMerge: (target: any, source: any) => any;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@clickhouse/click-ui",
|
|
3
|
-
"version": "0.0.234-sc-deprecation.
|
|
3
|
+
"version": "0.0.234-sc-deprecation.9",
|
|
4
4
|
"description": "Official ClickHouse design system react library",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -31,6 +31,27 @@
|
|
|
31
31
|
"./theme": {
|
|
32
32
|
"types": "./dist/theme/index.d.ts"
|
|
33
33
|
},
|
|
34
|
+
"./config": {
|
|
35
|
+
"types": "./dist/config/index.d.ts",
|
|
36
|
+
"import": "./dist/config/index.js",
|
|
37
|
+
"require": "./dist/config/index.js"
|
|
38
|
+
},
|
|
39
|
+
"./config/vite": {
|
|
40
|
+
"types": "./dist/config/vite.d.ts",
|
|
41
|
+
"import": "./dist/config/vite.js"
|
|
42
|
+
},
|
|
43
|
+
"./config/webpack": {
|
|
44
|
+
"types": "./dist/config/webpack.d.ts",
|
|
45
|
+
"import": "./dist/config/webpack.js"
|
|
46
|
+
},
|
|
47
|
+
"./config/rollup": {
|
|
48
|
+
"types": "./dist/config/rollup.d.ts",
|
|
49
|
+
"import": "./dist/config/rollup.js"
|
|
50
|
+
},
|
|
51
|
+
"./config/next": {
|
|
52
|
+
"types": "./dist/config/next.d.ts",
|
|
53
|
+
"import": "./dist/config/next.js"
|
|
54
|
+
},
|
|
34
55
|
"./style.css": "./dist/style.css"
|
|
35
56
|
},
|
|
36
57
|
"main": "./dist/click-ui.umd.js",
|
|
@@ -47,8 +68,9 @@
|
|
|
47
68
|
},
|
|
48
69
|
"homepage": "https://clickhouse.com",
|
|
49
70
|
"scripts": {
|
|
50
|
-
"build": "tsc && vite build && npm run build:bundled",
|
|
71
|
+
"build": "tsc && npm run build:config && vite build && npm run build:bundled",
|
|
51
72
|
"build:bundled": "vite build -- bundled",
|
|
73
|
+
"build:config": "tsc --project tsconfig.config.json",
|
|
52
74
|
"build-storybook": "storybook build",
|
|
53
75
|
"build:watch": "watch 'npm run build' ./src",
|
|
54
76
|
"chromatic": "npx chromatic",
|
|
@@ -100,11 +122,13 @@
|
|
|
100
122
|
"@testing-library/react": "^15.0.7",
|
|
101
123
|
"@testing-library/user-event": "^14.5.2",
|
|
102
124
|
"@tokens-studio/sd-transforms": "^0.10.3",
|
|
125
|
+
"@types/node": "^20.0.0",
|
|
103
126
|
"@types/react": "^18.3.2",
|
|
104
127
|
"@types/react-dom": "^18.3.0",
|
|
105
128
|
"@types/react-syntax-highlighter": "^15.5.13",
|
|
106
129
|
"@types/react-window": "^1.8.8",
|
|
107
130
|
"@types/sortablejs": "^1.15.2",
|
|
131
|
+
"@types/webpack": "^5.28.0",
|
|
108
132
|
"@typescript-eslint/eslint-plugin": "^7.16.1",
|
|
109
133
|
"@typescript-eslint/parser": "^7.16.1",
|
|
110
134
|
"@vitejs/plugin-react": "^4.2.1",
|
|
@@ -115,7 +139,9 @@
|
|
|
115
139
|
"eslint-plugin-react-refresh": "^0.4.7",
|
|
116
140
|
"eslint-plugin-storybook": "^9.0.18",
|
|
117
141
|
"jsdom": "^24.0.0",
|
|
142
|
+
"next": "^15.5.5",
|
|
118
143
|
"prettier": "^3.6.2",
|
|
144
|
+
"rollup": "^4.52.4",
|
|
119
145
|
"sass-embedded": "^1.93.0",
|
|
120
146
|
"storybook": "^9.0.18",
|
|
121
147
|
"storybook-addon-pseudo-states": "^9.0.18",
|
|
@@ -124,7 +150,8 @@
|
|
|
124
150
|
"vite": "^5.2.11",
|
|
125
151
|
"vite-plugin-dts": "^3.9.1",
|
|
126
152
|
"vitest": "^2.0.3",
|
|
127
|
-
"watch": "^1.0.2"
|
|
153
|
+
"watch": "^1.0.2",
|
|
154
|
+
"webpack": "^5.102.1"
|
|
128
155
|
},
|
|
129
156
|
"peerDependencies": {
|
|
130
157
|
"dayjs": "^1.11.18",
|