@adminui-dev/layout 1.0.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.
- package/dist/components/FullScreenButton.d.ts +4 -0
- package/dist/components/LayoutAside.d.ts +5 -0
- package/dist/components/LayoutBackground.d.ts +1 -0
- package/dist/components/LayoutContent.d.ts +5 -0
- package/dist/components/LayoutContext.d.ts +11 -0
- package/dist/components/LayoutHeader.d.ts +5 -0
- package/dist/components/ThemeProvider.d.ts +19 -0
- package/dist/components/index.d.ts +5 -0
- package/dist/components/layout.d.ts +8 -0
- package/dist/components/typings.d.ts +61 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.d.ts +106 -0
- package/dist/index.esm.js +1 -0
- package/package.json +62 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function (): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Language, LayoutConfig } from "./typings";
|
|
2
|
+
type ConfigDispatcher = {
|
|
3
|
+
layoutConfig: LayoutConfig;
|
|
4
|
+
setLayoutConfig: (config: LayoutConfig) => void;
|
|
5
|
+
locale: string;
|
|
6
|
+
setLocale: (locale: string) => void;
|
|
7
|
+
getLanguages: () => Language[];
|
|
8
|
+
};
|
|
9
|
+
export declare const createConfigContext: () => import("react").Context<ConfigDispatcher>;
|
|
10
|
+
export declare const useConfigContext: () => ConfigDispatcher;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Theme } from "./typings";
|
|
2
|
+
interface ThemeProviderProps {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
theme?: Theme;
|
|
5
|
+
defaultTheme?: Theme;
|
|
6
|
+
storageKey?: string;
|
|
7
|
+
}
|
|
8
|
+
type ThemeProviderState = {
|
|
9
|
+
theme: Theme;
|
|
10
|
+
setTheme: (theme: Theme) => void;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* 明亮模式上下文
|
|
14
|
+
* @param props
|
|
15
|
+
* @returns
|
|
16
|
+
*/
|
|
17
|
+
export default function (props: ThemeProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export declare const useTheme: () => ThemeProviderState;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { LayoutPros } from './typings';
|
|
2
|
+
declare function Layout(props: LayoutPros): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
declare namespace Layout {
|
|
4
|
+
var Aside: typeof import("./LayoutAside").default;
|
|
5
|
+
var Content: typeof import("./LayoutContent").default;
|
|
6
|
+
var Header: typeof import("./LayoutHeader").default;
|
|
7
|
+
}
|
|
8
|
+
export default Layout;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
type Theme = 'light' | 'dark' | 'system';
|
|
2
|
+
type LayoutType = 'headMenu' | 'leftMenu';
|
|
3
|
+
type LayoutTheme = 'light' | 'dark' | 'system';
|
|
4
|
+
type ContainerMode = 'inline' | 'box' | 'panel';
|
|
5
|
+
type ContainerStretch = 'inline' | 'auto' | 'full';
|
|
6
|
+
interface LayoutConfig {
|
|
7
|
+
layoutType?: LayoutType;
|
|
8
|
+
headerHeight?: number;
|
|
9
|
+
asideWidth?: number;
|
|
10
|
+
asideCollapsedWidth?: number;
|
|
11
|
+
theme?: Theme;
|
|
12
|
+
locale?: string;
|
|
13
|
+
userInfo?: UserInfo;
|
|
14
|
+
brandInfo?: BrandInfo;
|
|
15
|
+
}
|
|
16
|
+
interface Language {
|
|
17
|
+
name: string;
|
|
18
|
+
locale: string;
|
|
19
|
+
flag?: React.ReactNode;
|
|
20
|
+
}
|
|
21
|
+
interface LocaleMessageData {
|
|
22
|
+
locale: string;
|
|
23
|
+
name: string;
|
|
24
|
+
flag?: string;
|
|
25
|
+
messages: Record<string, string>;
|
|
26
|
+
}
|
|
27
|
+
interface UserInfo {
|
|
28
|
+
id?: number;
|
|
29
|
+
uid: string;
|
|
30
|
+
title: string;
|
|
31
|
+
avatar?: string;
|
|
32
|
+
}
|
|
33
|
+
interface BrandInfo {
|
|
34
|
+
id?: number;
|
|
35
|
+
name: string;
|
|
36
|
+
title: string;
|
|
37
|
+
logo?: React.ReactNode;
|
|
38
|
+
}
|
|
39
|
+
declare function defineConfig(config: LayoutConfig): LayoutConfig;
|
|
40
|
+
export interface LayoutPros extends React.HTMLAttributes<HTMLDivElement> {
|
|
41
|
+
layoutConfig?: LayoutConfig;
|
|
42
|
+
theme?: Theme;
|
|
43
|
+
locale?: string;
|
|
44
|
+
localeMessageData?: Record<string, LocaleMessageData>;
|
|
45
|
+
}
|
|
46
|
+
export interface MainLayoutProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
47
|
+
header?: React.ReactNode;
|
|
48
|
+
aside?: React.ReactNode;
|
|
49
|
+
}
|
|
50
|
+
export interface ContainerProps {
|
|
51
|
+
mode?: ContainerMode;
|
|
52
|
+
stretch?: ContainerStretch;
|
|
53
|
+
bordered?: boolean;
|
|
54
|
+
hideTitle?: boolean;
|
|
55
|
+
hideBreadcrumb?: boolean;
|
|
56
|
+
hideFooter?: boolean;
|
|
57
|
+
transparent?: boolean;
|
|
58
|
+
children?: React.ReactNode;
|
|
59
|
+
}
|
|
60
|
+
export { defineConfig };
|
|
61
|
+
export type { Theme, LayoutTheme, LayoutType, LayoutConfig, Language, LocaleMessageData, UserInfo, BrandInfo };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),t=require("react");function n(){return e.jsx("div",{style:{boxSizing:"border-box",pointerEvents:"none",position:"fixed",overflow:"hidden",insetBlockStart:"0",insetInlineStart:"0",zIndex:"0",height:"100%",width:"100%"}})}function o(t){return e.jsx("div",{style:{boxSizing:"border-box",display:"flex",flex:"auto",position:"relative",flexDirection:"column",minHeight:"0"},children:t.children})}function r(t){return e.jsx("div",{children:t.children})}o.displayName="LayoutContent",r.displayName="LayoutAside";const i=t.createContext({layoutConfig:{},setLayoutConfig:()=>{},locale:"en-US",setLocale:()=>{},getLanguages:()=>[]});function s(n){const o=t.useContext(i),{layoutConfig:r}=o;let s={boxSizing:"border-box",position:"sticky",width:"100%",zIndex:"100",top:"0",paddingBlock:"0",paddingInline:"0",transition:"background-color .3s cubic-bezier(.645, .045, .355, 1)"};return r.headerHeight&&(s={...s,height:r.headerHeight+"px",minHeight:r.headerHeight+"px"}),e.jsx("header",{style:s,children:n.children})}s.displayName="LayoutHeader";var d="layout-module_rootBox__Y8bEx",l="layout-module_rootLayout__TePvr",a="layout-module_mainLayout__a8Tb9";function c(o){let r=null,i=null,s=null;return t.Children.forEach(o.children,e=>{const t=e.type.displayName;"LayoutHeader"===t?r=e:"LayoutContent"===t?i=e:"LayoutAside"===t&&(s=e)}),e.jsxs("div",{className:d,children:[e.jsx(n,{}),e.jsxs("div",{className:l,children:[s,e.jsxs("div",{className:a,children:[r,i]})]})]})}!function(e,t){void 0===t&&(t={});var n=t.insertAt;if("undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===n&&o.firstChild?o.insertBefore(r,o.firstChild):o.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}('.layout-module_rootBox__Y8bEx {\r\n text-rendering: "optimizeLegibility";\r\n box-sizing: border-box;\r\n width: 100%;\r\n height:100%;\r\n background-color: transparent;\r\n}\r\n.layout-module_rootLayout__TePvr {\r\n box-sizing: border-box;\r\n width: 100%;\r\n min-height: 100%; \r\n display: flex;\r\n flex-flow: row;\r\n background-color: transparent;\r\n}\r\n.layout-module_mainLayout__a8Tb9 {\r\n box-sizing: border-box;\r\n display: flex;\r\n flex:auto; \r\n position: relative;\r\n flex-flow: column;\r\n min-height: 0px; \r\n}\r\n.layout-module_headerLayout__Jx8vy {\r\n box-sizing: border-box;\r\n position: sticky;\r\n width: 100%;\r\n z-index: 100;\r\n top: 0px;\r\n padding-block: 0px;\r\n padding-inline: 0px;\r\n transition: "background-color .3s cubic-bezier(.645, .045, .355, 1)"; \r\n}'),c.Aside=r,c.Content=o,c.Header=s;const u=t.createContext({theme:"system",setTheme:()=>{}});exports.FullScreenButton=function(n){const o=!!document.fullscreenElement,[r,i]=t.useState(o),s=()=>{i(!!document.fullscreenElement)},d=e=>{"F11"===e.code&&(e.preventDefault(),l())};t.useEffect(()=>(document.addEventListener("fullscreenchange",s),document.addEventListener("keydown",d,!0),()=>{document.removeEventListener("fullscreenchange",s),document.removeEventListener("keydown",d)}),[]);const l=()=>{r?document.exitFullscreen():document.documentElement.requestFullscreen()};if(!n.buttons||n.buttons.length<2)return e.jsx(e.Fragment,{});const[a,c]=n.buttons,u=r?a:c;return t.cloneElement(u,{onClick:e=>{console.log(e),l()}})},exports.Layout=c,exports.LayoutBackground=n,exports.ThemeProvider=function(n){const{children:o,storageKey:r="adminui-shadcn-theme"}=n,i=n.theme||localStorage.getItem(r)||n.defaultTheme||"system",[s,d]=t.useState(i);t.useEffect(()=>{const e=window.document.documentElement;if(e.classList.remove("light","dark"),"system"===s){const t=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";return void e.classList.add(t)}e.classList.add(s)},[s]);const l={theme:s,setTheme:e=>{localStorage.setItem(r,e),d(e)}};return e.jsx(u.Provider,{value:l,children:o})},exports.defineConfig=function(e){return e};
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import React$1 from 'react';
|
|
3
|
+
|
|
4
|
+
declare function LayoutHeader(props: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
|
|
5
|
+
declare namespace LayoutHeader {
|
|
6
|
+
var displayName: string;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
declare function LayoutContent(props: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
|
|
10
|
+
declare namespace LayoutContent {
|
|
11
|
+
var displayName: string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
declare function LayoutAside(props: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
|
|
15
|
+
declare namespace LayoutAside {
|
|
16
|
+
var displayName: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
type Theme = 'light' | 'dark' | 'system';
|
|
20
|
+
type LayoutType = 'headMenu' | 'leftMenu';
|
|
21
|
+
type LayoutTheme = 'light' | 'dark' | 'system';
|
|
22
|
+
type ContainerMode = 'inline' | 'box' | 'panel';
|
|
23
|
+
type ContainerStretch = 'inline' | 'auto' | 'full';
|
|
24
|
+
interface LayoutConfig {
|
|
25
|
+
layoutType?: LayoutType;
|
|
26
|
+
headerHeight?: number;
|
|
27
|
+
asideWidth?: number;
|
|
28
|
+
asideCollapsedWidth?: number;
|
|
29
|
+
theme?: Theme;
|
|
30
|
+
locale?: string;
|
|
31
|
+
userInfo?: UserInfo;
|
|
32
|
+
brandInfo?: BrandInfo;
|
|
33
|
+
}
|
|
34
|
+
interface Language {
|
|
35
|
+
name: string;
|
|
36
|
+
locale: string;
|
|
37
|
+
flag?: React.ReactNode;
|
|
38
|
+
}
|
|
39
|
+
interface LocaleMessageData {
|
|
40
|
+
locale: string;
|
|
41
|
+
name: string;
|
|
42
|
+
flag?: string;
|
|
43
|
+
messages: Record<string, string>;
|
|
44
|
+
}
|
|
45
|
+
interface UserInfo {
|
|
46
|
+
id?: number;
|
|
47
|
+
uid: string;
|
|
48
|
+
title: string;
|
|
49
|
+
avatar?: string;
|
|
50
|
+
}
|
|
51
|
+
interface BrandInfo {
|
|
52
|
+
id?: number;
|
|
53
|
+
name: string;
|
|
54
|
+
title: string;
|
|
55
|
+
logo?: React.ReactNode;
|
|
56
|
+
}
|
|
57
|
+
declare function defineConfig(config: LayoutConfig): LayoutConfig;
|
|
58
|
+
interface LayoutPros extends React.HTMLAttributes<HTMLDivElement> {
|
|
59
|
+
layoutConfig?: LayoutConfig;
|
|
60
|
+
theme?: Theme;
|
|
61
|
+
locale?: string;
|
|
62
|
+
localeMessageData?: Record<string, LocaleMessageData>;
|
|
63
|
+
}
|
|
64
|
+
interface MainLayoutProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
65
|
+
header?: React.ReactNode;
|
|
66
|
+
aside?: React.ReactNode;
|
|
67
|
+
}
|
|
68
|
+
interface ContainerProps {
|
|
69
|
+
mode?: ContainerMode;
|
|
70
|
+
stretch?: ContainerStretch;
|
|
71
|
+
bordered?: boolean;
|
|
72
|
+
hideTitle?: boolean;
|
|
73
|
+
hideBreadcrumb?: boolean;
|
|
74
|
+
hideFooter?: boolean;
|
|
75
|
+
transparent?: boolean;
|
|
76
|
+
children?: React.ReactNode;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
declare function Layout(props: LayoutPros): react_jsx_runtime.JSX.Element;
|
|
80
|
+
declare namespace Layout {
|
|
81
|
+
var Aside: typeof LayoutAside;
|
|
82
|
+
var Content: typeof LayoutContent;
|
|
83
|
+
var Header: typeof LayoutHeader;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
declare function export_default$2(props: {
|
|
87
|
+
buttons: React$1.ReactElement[];
|
|
88
|
+
}): react_jsx_runtime.JSX.Element;
|
|
89
|
+
|
|
90
|
+
declare function export_default$1(): react_jsx_runtime.JSX.Element;
|
|
91
|
+
|
|
92
|
+
interface ThemeProviderProps {
|
|
93
|
+
children: React.ReactNode;
|
|
94
|
+
theme?: Theme;
|
|
95
|
+
defaultTheme?: Theme;
|
|
96
|
+
storageKey?: string;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* 明亮模式上下文
|
|
100
|
+
* @param props
|
|
101
|
+
* @returns
|
|
102
|
+
*/
|
|
103
|
+
declare function export_default(props: ThemeProviderProps): react_jsx_runtime.JSX.Element;
|
|
104
|
+
|
|
105
|
+
export { export_default$2 as FullScreenButton, Layout, export_default$1 as LayoutBackground, export_default as ThemeProvider, defineConfig };
|
|
106
|
+
export type { BrandInfo, ContainerProps, Language, LayoutConfig, LayoutPros, LayoutTheme, LayoutType, LocaleMessageData, MainLayoutProps, Theme, UserInfo };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsx as e,jsxs as n,Fragment as t}from"react/jsx-runtime";import o,{createContext as r,useContext as i,useState as d,useEffect as l}from"react";function a(){return e("div",{style:{boxSizing:"border-box",pointerEvents:"none",position:"fixed",overflow:"hidden",insetBlockStart:"0",insetInlineStart:"0",zIndex:"0",height:"100%",width:"100%"}})}function s(n){return e("div",{style:{boxSizing:"border-box",display:"flex",flex:"auto",position:"relative",flexDirection:"column",minHeight:"0"},children:n.children})}function c(n){return e("div",{children:n.children})}s.displayName="LayoutContent",c.displayName="LayoutAside";const u=r({layoutConfig:{},setLayoutConfig:()=>{},locale:"en-US",setLocale:()=>{},getLanguages:()=>[]});function m(n){const t=i(u),{layoutConfig:o}=t;let r={boxSizing:"border-box",position:"sticky",width:"100%",zIndex:"100",top:"0",paddingBlock:"0",paddingInline:"0",transition:"background-color .3s cubic-bezier(.645, .045, .355, 1)"};return o.headerHeight&&(r={...r,height:o.headerHeight+"px",minHeight:o.headerHeight+"px"}),e("header",{style:r,children:n.children})}m.displayName="LayoutHeader";var h="layout-module_rootBox__Y8bEx",y="layout-module_rootLayout__TePvr",g="layout-module_mainLayout__a8Tb9";function x(t){let r=null,i=null,d=null;return o.Children.forEach(t.children,e=>{const n=e.type.displayName;"LayoutHeader"===n?r=e:"LayoutContent"===n?i=e:"LayoutAside"===n&&(d=e)}),n("div",{className:h,children:[e(a,{}),n("div",{className:y,children:[d,n("div",{className:g,children:[r,i]})]})]})}function f(n){const r=!!document.fullscreenElement,[i,a]=d(r),s=()=>{a(!!document.fullscreenElement)},c=e=>{"F11"===e.code&&(e.preventDefault(),u())};l(()=>(document.addEventListener("fullscreenchange",s),document.addEventListener("keydown",c,!0),()=>{document.removeEventListener("fullscreenchange",s),document.removeEventListener("keydown",c)}),[]);const u=()=>{i?document.exitFullscreen():document.documentElement.requestFullscreen()};if(!n.buttons||n.buttons.length<2)return e(t,{});const[m,h]=n.buttons,y=i?m:h;return o.cloneElement(y,{onClick:e=>{console.log(e),u()}})}!function(e,n){void 0===n&&(n={});var t=n.insertAt;if("undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css","top"===t&&o.firstChild?o.insertBefore(r,o.firstChild):o.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}}('.layout-module_rootBox__Y8bEx {\r\n text-rendering: "optimizeLegibility";\r\n box-sizing: border-box;\r\n width: 100%;\r\n height:100%;\r\n background-color: transparent;\r\n}\r\n.layout-module_rootLayout__TePvr {\r\n box-sizing: border-box;\r\n width: 100%;\r\n min-height: 100%; \r\n display: flex;\r\n flex-flow: row;\r\n background-color: transparent;\r\n}\r\n.layout-module_mainLayout__a8Tb9 {\r\n box-sizing: border-box;\r\n display: flex;\r\n flex:auto; \r\n position: relative;\r\n flex-flow: column;\r\n min-height: 0px; \r\n}\r\n.layout-module_headerLayout__Jx8vy {\r\n box-sizing: border-box;\r\n position: sticky;\r\n width: 100%;\r\n z-index: 100;\r\n top: 0px;\r\n padding-block: 0px;\r\n padding-inline: 0px;\r\n transition: "background-color .3s cubic-bezier(.645, .045, .355, 1)"; \r\n}'),x.Aside=c,x.Content=s,x.Header=m;const p=r({theme:"system",setTheme:()=>{}});function b(n){const{children:t,storageKey:o="adminui-shadcn-theme"}=n,r=n.theme||localStorage.getItem(o)||n.defaultTheme||"system",[i,a]=d(r);l(()=>{const e=window.document.documentElement;if(e.classList.remove("light","dark"),"system"===i){const n=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";return void e.classList.add(n)}e.classList.add(i)},[i]);const s={theme:i,setTheme:e=>{localStorage.setItem(o,e),a(e)}};return e(p.Provider,{value:s,children:t})}function v(e){return e}export{f as FullScreenButton,x as Layout,a as LayoutBackground,b as ThemeProvider,v as defineConfig};
|
package/package.json
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@adminui-dev/layout",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "adminui.dev's layout",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"layout",
|
|
7
|
+
"adminui",
|
|
8
|
+
"admin",
|
|
9
|
+
"dashboard"
|
|
10
|
+
],
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"author": "zhouwenqi",
|
|
13
|
+
"type": "commonjs",
|
|
14
|
+
"publishConfig": {
|
|
15
|
+
"access": "public"
|
|
16
|
+
},
|
|
17
|
+
"module": "./dist/index.esm.js",
|
|
18
|
+
"exports": {
|
|
19
|
+
".": {
|
|
20
|
+
"import": "./dist/index.esm.js",
|
|
21
|
+
"require": "./dist/index.cjs.js",
|
|
22
|
+
"types": "./dist/index.d.ts"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"main": "./dist/index.cjs.js",
|
|
26
|
+
"types": "./dist/index.d.ts",
|
|
27
|
+
"authors": [
|
|
28
|
+
"zhouwenqi <zhouwenqi1982@live.com>"
|
|
29
|
+
],
|
|
30
|
+
"files": [
|
|
31
|
+
"dist"
|
|
32
|
+
],
|
|
33
|
+
"scripts": {
|
|
34
|
+
"build": "rollup -c",
|
|
35
|
+
"dev": "rollup -c -w",
|
|
36
|
+
"lint": "eslint \"src/**/*.{ts,tsx}\"",
|
|
37
|
+
"lint:fix": "eslint \"src/**/*.{ts,tsx}\" --fix",
|
|
38
|
+
"prepublishOnly": "npm run build"
|
|
39
|
+
},
|
|
40
|
+
"dependencies": {
|
|
41
|
+
"tslib": "^2.6.0"
|
|
42
|
+
},
|
|
43
|
+
"devDependencies": {
|
|
44
|
+
"@rollup/plugin-commonjs": "^25.0.0",
|
|
45
|
+
"@rollup/plugin-node-resolve": "^15.0.0",
|
|
46
|
+
"@rollup/plugin-typescript": "^11.0.0",
|
|
47
|
+
"@types/commander": "^2.12.5",
|
|
48
|
+
"@types/react": "^18.0.0",
|
|
49
|
+
"@types/react-dom": "^18.0.0",
|
|
50
|
+
"postcss": "^8.5.6",
|
|
51
|
+
"postcss-modules": "^6.0.1",
|
|
52
|
+
"rollup": "^4.0.0",
|
|
53
|
+
"rollup-plugin-dts": "^6.0.0",
|
|
54
|
+
"rollup-plugin-postcss": "^4.0.2",
|
|
55
|
+
"rollup-plugin-terser": "^7.0.2",
|
|
56
|
+
"typescript": "^5.0.3"
|
|
57
|
+
},
|
|
58
|
+
"peerDependencies": {
|
|
59
|
+
"react": "^18.0.0",
|
|
60
|
+
"react-dom": "^18.0.0"
|
|
61
|
+
}
|
|
62
|
+
}
|