lucentia-ui 0.1.1 → 0.1.3
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.
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
import type { Theme } from "./types";
|
|
2
|
-
|
|
3
|
-
* ThemeProvider
|
|
4
|
-
*
|
|
5
|
-
* - DOM を描画しない(ラッパー要素なし)
|
|
6
|
-
* - html 要素に theme class を直接付与する
|
|
7
|
-
* - CSS 変数の定義は styles/theme.css に集約する
|
|
8
|
-
*/
|
|
9
|
-
interface ThemeProviderProps {
|
|
2
|
+
type ThemeProviderProps = {
|
|
10
3
|
theme?: Theme;
|
|
11
|
-
|
|
12
|
-
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
};
|
|
6
|
+
export declare function ThemeProvider({ theme, children, }: ThemeProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
13
7
|
export {};
|
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
export function ThemeProvider({ theme = "light" }) {
|
|
4
|
-
|
|
5
|
-
const root = document.documentElement;
|
|
6
|
-
// 初期化
|
|
7
|
-
root.classList.remove("light", "dark");
|
|
8
|
-
root.classList.add("theme", theme);
|
|
9
|
-
}, [theme]);
|
|
10
|
-
return null;
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import styles from "./ThemeProvider.module.css";
|
|
3
|
+
export function ThemeProvider({ theme = "light", children, }) {
|
|
4
|
+
return (_jsx("div", { className: `${styles.theme} ${theme === "dark" ? styles.dark : styles.light}`, children: children }));
|
|
11
5
|
}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
.theme {
|
|
2
|
+
min-height: 100%;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
.light {
|
|
7
|
+
/* font */
|
|
8
|
+
--font: "Noto Sans JP", sans-serif;
|
|
9
|
+
|
|
10
|
+
/* ===== Color ===== */
|
|
11
|
+
--color-primary: #00a1a1;
|
|
12
|
+
--color-on-primary: #ffffff;
|
|
13
|
+
--color-primary-container: #9cf1f0;
|
|
14
|
+
--color-on-primary-container: #004f4f;
|
|
15
|
+
|
|
16
|
+
--color-secondary: #7b9695;
|
|
17
|
+
--color-on-secondary: #ffffff;
|
|
18
|
+
--color-secondary-container: #cce8e7;
|
|
19
|
+
--color-on-secondary-container: #324b4b;
|
|
20
|
+
|
|
21
|
+
--color-error: #ff5449;
|
|
22
|
+
--color-on-error: #ffffff;
|
|
23
|
+
--color-error-container: #ffdad6;
|
|
24
|
+
--color-on-error-container: #93000a;
|
|
25
|
+
|
|
26
|
+
--color-background: #f4fbfa;
|
|
27
|
+
--color-on-background: #161d1d;
|
|
28
|
+
|
|
29
|
+
--color-surface: #f4fbfabf;
|
|
30
|
+
--color-on-surface: #161d1d;
|
|
31
|
+
--color-surface-container: #e9efeebf;
|
|
32
|
+
|
|
33
|
+
--color-border: #6f7979;
|
|
34
|
+
--color-scrim: rgba(129, 129, 129, 0.25);
|
|
35
|
+
|
|
36
|
+
/* ===== Effect ===== */
|
|
37
|
+
--blur: blur(8px);
|
|
38
|
+
|
|
39
|
+
--color-shadow-l: rgba(255, 255, 255, 1);
|
|
40
|
+
--color-shadow-d: rgba(0, 0, 0, 0.2);
|
|
41
|
+
|
|
42
|
+
--shadow-sm: -2px -2px 4px 2px var(--color-shadow-l),
|
|
43
|
+
2px 2px 4px 2px var(--color-shadow-d);
|
|
44
|
+
|
|
45
|
+
--shadow-sm-in: inset -4px -4px 4px var(--color-shadow-l),
|
|
46
|
+
inset 4px 4px 4px var(--color-shadow-d);
|
|
47
|
+
|
|
48
|
+
--shadow-md: -4px -4px 16px 8px var(--color-shadow-l),
|
|
49
|
+
4px 4px 16px 8px var(--color-shadow-d);
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
/* ===== Radius ===== */
|
|
54
|
+
--radius-sm: 8px;
|
|
55
|
+
--radius-md: 16px;
|
|
56
|
+
--radius-max: 999px;
|
|
57
|
+
|
|
58
|
+
/* ===== Space ===== */
|
|
59
|
+
--space-xs: 4px;
|
|
60
|
+
--space-sm: 8px;
|
|
61
|
+
--space-md: 12px;
|
|
62
|
+
--space-lg: 16px;
|
|
63
|
+
--space-xl: 24px;
|
|
64
|
+
--space-2xl: 32px;
|
|
65
|
+
--space-3xl: 48px;
|
|
66
|
+
--space-4xl: 64px;
|
|
67
|
+
--space-5xl: 96px;
|
|
68
|
+
--gap: 32px;
|
|
69
|
+
|
|
70
|
+
/* ===== Layout ===== */
|
|
71
|
+
--container: 1120px;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
.dark{
|
|
76
|
+
--color-primary: #80d5d4;
|
|
77
|
+
--color-on-primary: #003737;
|
|
78
|
+
--color-primary-container: #004f4f;
|
|
79
|
+
--color-on-primary-container: #9cf1f0;
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
--color-secondary: #b0cccb;
|
|
83
|
+
--color-on-secondary: #1b3534;
|
|
84
|
+
--color-secondary-container: #324b4b;
|
|
85
|
+
--color-on-secondary-container: #cce8e7;
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
--color-error: #ffb4ab;
|
|
89
|
+
--color-on-error: #690005;
|
|
90
|
+
--color-error-container: #93000a;
|
|
91
|
+
--color-on-error-container: #ffdad6;
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
--color-background: #2b3a38;
|
|
95
|
+
--color-on-background: #dde4e3;
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
--color-surface: #1a2120bf;
|
|
99
|
+
--color-on-surface: #dde4e3;
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
--color-surface-container: #262d2d;
|
|
103
|
+
--color-border: #889392;
|
|
104
|
+
--color-scrim: rgba(0, 0, 0, 0.1);
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
--color-shadow-l: rgba(255, 255, 255, 0.25);
|
|
108
|
+
--color-shadow-d: rgba(0, 0, 0, 1);
|
|
109
|
+
|
|
110
|
+
--shadow-sm: -2px -2px 4px 2px var(--color-shadow-l),
|
|
111
|
+
2px 2px 4px 4px var(--color-shadow-d);
|
|
112
|
+
|
|
113
|
+
--shadow-sm-in: inset -4px -4px 4px var(--color-shadow-l),
|
|
114
|
+
inset 4px 4px 4px var(--color-shadow-d);
|
|
115
|
+
|
|
116
|
+
--shadow-md: -4px -4px 16px 8px var(--color-shadow-l),
|
|
117
|
+
4px 4px 16px 8px var(--color-shadow-d);
|
|
118
|
+
|
|
119
|
+
/* ===== Radius ===== */
|
|
120
|
+
--radius-sm: 8px;
|
|
121
|
+
--radius-md: 16px;
|
|
122
|
+
--radius-max: 999px;
|
|
123
|
+
|
|
124
|
+
/* ===== Space ===== */
|
|
125
|
+
--space-xs: 4px;
|
|
126
|
+
--space-sm: 8px;
|
|
127
|
+
--space-md: 12px;
|
|
128
|
+
--space-lg: 16px;
|
|
129
|
+
--space-xl: 24px;
|
|
130
|
+
--space-2xl: 32px;
|
|
131
|
+
--space-3xl: 48px;
|
|
132
|
+
--space-4xl: 64px;
|
|
133
|
+
--space-5xl: 96px;
|
|
134
|
+
--gap: 32px;
|
|
135
|
+
|
|
136
|
+
/* ===== Layout ===== */
|
|
137
|
+
--container: 1120px;
|
|
138
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
export { ThemeProvider } from "./components/ThemeProvider";
|
|
2
2
|
export type { Theme } from "./components/ThemeProvider";
|
|
3
|
-
import "./styles/reset.css";
|
|
4
|
-
import "./styles/base.css";
|
|
5
|
-
import "./styles/index.css";
|
|
6
|
-
import "./styles/font.css";
|
|
7
3
|
export * from "./components/Button";
|
|
8
4
|
export * from "./components/Checkbox";
|
|
9
5
|
export * from "./components/Radio";
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
/* ===== Theme ===== */
|
|
2
2
|
export { ThemeProvider } from "./components/ThemeProvider";
|
|
3
|
-
/* ===== Styles (optional export) ===== */
|
|
4
|
-
import "./styles/reset.css";
|
|
5
|
-
import "./styles/base.css";
|
|
6
|
-
import "./styles/index.css";
|
|
7
|
-
import "./styles/font.css";
|
|
8
3
|
/* ===== Components ===== */
|
|
9
4
|
export * from "./components/Button";
|
|
10
5
|
export * from "./components/Checkbox";
|