@novie/ui 0.1.12 → 0.1.14
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/package.json +3 -1
- package/tailwind.config.ts +2 -154
- package/tailwind.preset.ts +176 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@novie/ui",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.14",
|
|
4
4
|
"description": "Novie design system component library built on shadcn/ui conventions",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -22,10 +22,12 @@
|
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
"./styles.css": "./dist/index.css",
|
|
25
|
+
"./tailwind-preset": "./tailwind.preset.ts",
|
|
25
26
|
"./tailwind.config": "./tailwind.config.ts"
|
|
26
27
|
},
|
|
27
28
|
"files": [
|
|
28
29
|
"dist",
|
|
30
|
+
"tailwind.preset.ts",
|
|
29
31
|
"tailwind.config.ts",
|
|
30
32
|
"src/index.css"
|
|
31
33
|
],
|
package/tailwind.config.ts
CHANGED
|
@@ -1,166 +1,14 @@
|
|
|
1
1
|
import type { Config } from "tailwindcss"
|
|
2
|
+
import noviePreset from "./tailwind.preset"
|
|
2
3
|
|
|
3
4
|
const config: Config = {
|
|
4
|
-
|
|
5
|
+
presets: [noviePreset],
|
|
5
6
|
content: ["./src/**/*.{ts,tsx}"],
|
|
6
7
|
safelist: [
|
|
7
8
|
{ pattern: /^bg-(success|warning|error|info|foreground|destructive)/ },
|
|
8
9
|
{ pattern: /^text-(success|warning|error|info)-foreground/ },
|
|
9
10
|
{ pattern: /^border-(success|warning|error|info)/ },
|
|
10
11
|
],
|
|
11
|
-
theme: {
|
|
12
|
-
extend: {
|
|
13
|
-
colors: {
|
|
14
|
-
border: "hsl(var(--border))",
|
|
15
|
-
input: "hsl(var(--input))",
|
|
16
|
-
ring: "hsl(var(--ring))",
|
|
17
|
-
background: "hsl(var(--background))",
|
|
18
|
-
foreground: "hsl(var(--foreground))",
|
|
19
|
-
primary: {
|
|
20
|
-
DEFAULT: "hsl(var(--primary))",
|
|
21
|
-
foreground: "hsl(var(--primary-foreground))",
|
|
22
|
-
},
|
|
23
|
-
secondary: {
|
|
24
|
-
DEFAULT: "hsl(var(--secondary))",
|
|
25
|
-
foreground: "hsl(var(--secondary-foreground))",
|
|
26
|
-
},
|
|
27
|
-
destructive: {
|
|
28
|
-
DEFAULT: "hsl(var(--destructive))",
|
|
29
|
-
foreground: "hsl(var(--destructive-foreground))",
|
|
30
|
-
},
|
|
31
|
-
muted: {
|
|
32
|
-
DEFAULT: "hsl(var(--muted))",
|
|
33
|
-
foreground: "hsl(var(--muted-foreground))",
|
|
34
|
-
},
|
|
35
|
-
accent: {
|
|
36
|
-
DEFAULT: "hsl(var(--accent))",
|
|
37
|
-
foreground: "hsl(var(--accent-foreground))",
|
|
38
|
-
},
|
|
39
|
-
popover: {
|
|
40
|
-
DEFAULT: "hsl(var(--popover))",
|
|
41
|
-
foreground: "hsl(var(--popover-foreground))",
|
|
42
|
-
},
|
|
43
|
-
card: {
|
|
44
|
-
DEFAULT: "hsl(var(--card))",
|
|
45
|
-
foreground: "hsl(var(--card-foreground))",
|
|
46
|
-
},
|
|
47
|
-
success: {
|
|
48
|
-
DEFAULT: "hsl(var(--success))",
|
|
49
|
-
foreground: "hsl(var(--success-foreground))",
|
|
50
|
-
secondary: "hsl(var(--success-secondary))",
|
|
51
|
-
tertiary: "hsl(var(--success-tertiary))",
|
|
52
|
-
},
|
|
53
|
-
warning: {
|
|
54
|
-
DEFAULT: "hsl(var(--warning))",
|
|
55
|
-
foreground: "hsl(var(--warning-foreground))",
|
|
56
|
-
secondary: "hsl(var(--warning-secondary))",
|
|
57
|
-
tertiary: "hsl(var(--warning-tertiary))",
|
|
58
|
-
},
|
|
59
|
-
info: {
|
|
60
|
-
DEFAULT: "hsl(var(--info))",
|
|
61
|
-
foreground: "hsl(var(--info-foreground))",
|
|
62
|
-
secondary: "hsl(var(--info-secondary))",
|
|
63
|
-
tertiary: "hsl(var(--info-tertiary))",
|
|
64
|
-
},
|
|
65
|
-
error: {
|
|
66
|
-
DEFAULT: "hsl(var(--error))",
|
|
67
|
-
foreground: "hsl(var(--error-foreground))",
|
|
68
|
-
secondary: "hsl(var(--error-secondary))",
|
|
69
|
-
tertiary: "hsl(var(--error-tertiary))",
|
|
70
|
-
},
|
|
71
|
-
page: {
|
|
72
|
-
DEFAULT: "hsl(var(--page))",
|
|
73
|
-
secondary: "hsl(var(--page-secondary))",
|
|
74
|
-
},
|
|
75
|
-
"surface-inset": "hsl(var(--surface-inset))",
|
|
76
|
-
},
|
|
77
|
-
keyframes: {
|
|
78
|
-
"progress-indeterminate": {
|
|
79
|
-
"0%": { transform: "translateX(-100%)" },
|
|
80
|
-
"100%": { transform: "translateX(200%)" },
|
|
81
|
-
},
|
|
82
|
-
},
|
|
83
|
-
animation: {
|
|
84
|
-
"progress-indeterminate":
|
|
85
|
-
"progress-indeterminate 1.5s ease-in-out infinite",
|
|
86
|
-
},
|
|
87
|
-
spacing: {
|
|
88
|
-
"13": "3.25rem", // 52px
|
|
89
|
-
"15": "3.75rem", // 60px
|
|
90
|
-
"17": "4.25rem", // 68px
|
|
91
|
-
"18": "4.5rem", // 72px
|
|
92
|
-
"19": "4.75rem", // 76px
|
|
93
|
-
},
|
|
94
|
-
fontFamily: {
|
|
95
|
-
sans: [
|
|
96
|
-
"var(--font-sans, 'Google Sans Flex Variable')",
|
|
97
|
-
"ui-sans-serif",
|
|
98
|
-
"system-ui",
|
|
99
|
-
"-apple-system",
|
|
100
|
-
"sans-serif",
|
|
101
|
-
],
|
|
102
|
-
},
|
|
103
|
-
fontSize: {
|
|
104
|
-
/* Headings */
|
|
105
|
-
display: ["80px", { lineHeight: "100%", fontWeight: "700" }],
|
|
106
|
-
oversized: ["48px", { lineHeight: "100%", fontWeight: "700" }],
|
|
107
|
-
h1: ["36px", { lineHeight: "44px", fontWeight: "700", letterSpacing: "-0.5px" }],
|
|
108
|
-
h2: ["32px", { lineHeight: "36px", fontWeight: "600", letterSpacing: "-0.3px" }],
|
|
109
|
-
h3: ["28px", { lineHeight: "32px", fontWeight: "600" }],
|
|
110
|
-
h4: ["22px", { lineHeight: "26px", fontWeight: "600" }],
|
|
111
|
-
/* Body */
|
|
112
|
-
"body-lg": ["18px", { lineHeight: "28px", fontWeight: "400" }],
|
|
113
|
-
"body-lg-light": ["18px", { lineHeight: "28px", fontWeight: "300" }],
|
|
114
|
-
body: ["16px", { lineHeight: "24px", fontWeight: "400" }],
|
|
115
|
-
"body-sm": ["14px", { lineHeight: "20px", fontWeight: "400" }],
|
|
116
|
-
caption: ["12px", { lineHeight: "16px", fontWeight: "400" }],
|
|
117
|
-
overline: ["12px", { lineHeight: "16px", fontWeight: "500" }],
|
|
118
|
-
/* UI — Navigation & Links */
|
|
119
|
-
"main-nav": ["14px", { lineHeight: "100%", fontWeight: "700" }],
|
|
120
|
-
"link-paragraph": ["14px", { lineHeight: "100%", fontWeight: "400" }],
|
|
121
|
-
"link-sm": ["12px", { lineHeight: "100%", fontWeight: "400" }],
|
|
122
|
-
/* UI — Buttons */
|
|
123
|
-
"button-lg": ["16px", { lineHeight: "100%", fontWeight: "500" }],
|
|
124
|
-
button: ["14px", { lineHeight: "100%", fontWeight: "500" }],
|
|
125
|
-
"button-sm": ["12px", { lineHeight: "100%", fontWeight: "500" }],
|
|
126
|
-
/* UI — Form & Data */
|
|
127
|
-
"select-item": ["13px", { lineHeight: "100%", fontWeight: "400" }],
|
|
128
|
-
"search-filter-item": ["13px", { lineHeight: "100%", fontWeight: "600" }],
|
|
129
|
-
"notification-message": ["13px", { lineHeight: "100%", fontWeight: "500" }],
|
|
130
|
-
"report-code": ["11px", { lineHeight: "100%", fontWeight: "700" }],
|
|
131
|
-
label: ["16px", { lineHeight: "24px", fontWeight: "500" }],
|
|
132
|
-
"label-sm": ["14px", { lineHeight: "100%", fontWeight: "500" }],
|
|
133
|
-
"input-text-bold": ["14px", { lineHeight: "20px", fontWeight: "600" }],
|
|
134
|
-
"input-text": ["14px", { lineHeight: "20px", fontWeight: "400" }],
|
|
135
|
-
"help-text": ["10px", { lineHeight: "16px", fontWeight: "400" }],
|
|
136
|
-
tab: ["14px", { lineHeight: "100%", fontWeight: "600" }],
|
|
137
|
-
"table-header": ["14px", { lineHeight: "20px", fontWeight: "500" }],
|
|
138
|
-
},
|
|
139
|
-
borderRadius: {
|
|
140
|
-
lg: "var(--radius)",
|
|
141
|
-
md: "calc(var(--radius) - 2px)",
|
|
142
|
-
sm: "calc(var(--radius) - 4px)",
|
|
143
|
-
},
|
|
144
|
-
width: {
|
|
145
|
-
"sidebar-mini": "var(--sidebar-width-mini)",
|
|
146
|
-
"sidebar-full": "var(--sidebar-width-full)",
|
|
147
|
-
},
|
|
148
|
-
maxWidth: {
|
|
149
|
-
"container-full": "1136px",
|
|
150
|
-
"container-chat": "800px",
|
|
151
|
-
"container-narrow": "640px",
|
|
152
|
-
},
|
|
153
|
-
gap: {
|
|
154
|
-
"panel": "var(--panel-gap)",
|
|
155
|
-
"card": "var(--card-gap)",
|
|
156
|
-
},
|
|
157
|
-
padding: {
|
|
158
|
-
"card": "var(--card-padding)",
|
|
159
|
-
"content-gutter": "var(--content-gutter)",
|
|
160
|
-
},
|
|
161
|
-
},
|
|
162
|
-
},
|
|
163
|
-
plugins: [],
|
|
164
12
|
}
|
|
165
13
|
|
|
166
14
|
export default config
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import type { Config } from "tailwindcss"
|
|
2
|
+
|
|
3
|
+
const noviePreset: Config = {
|
|
4
|
+
darkMode: "class",
|
|
5
|
+
content: [],
|
|
6
|
+
theme: {
|
|
7
|
+
extend: {
|
|
8
|
+
colors: {
|
|
9
|
+
border: "hsl(var(--border))",
|
|
10
|
+
input: "hsl(var(--input))",
|
|
11
|
+
ring: "hsl(var(--ring))",
|
|
12
|
+
background: "hsl(var(--background))",
|
|
13
|
+
foreground: "hsl(var(--foreground))",
|
|
14
|
+
primary: {
|
|
15
|
+
DEFAULT: "hsl(var(--primary))",
|
|
16
|
+
foreground: "hsl(var(--primary-foreground))",
|
|
17
|
+
},
|
|
18
|
+
secondary: {
|
|
19
|
+
DEFAULT: "hsl(var(--secondary))",
|
|
20
|
+
foreground: "hsl(var(--secondary-foreground))",
|
|
21
|
+
},
|
|
22
|
+
destructive: {
|
|
23
|
+
DEFAULT: "hsl(var(--destructive))",
|
|
24
|
+
foreground: "hsl(var(--destructive-foreground))",
|
|
25
|
+
},
|
|
26
|
+
muted: {
|
|
27
|
+
DEFAULT: "hsl(var(--muted))",
|
|
28
|
+
foreground: "hsl(var(--muted-foreground))",
|
|
29
|
+
},
|
|
30
|
+
accent: {
|
|
31
|
+
DEFAULT: "hsl(var(--accent))",
|
|
32
|
+
foreground: "hsl(var(--accent-foreground))",
|
|
33
|
+
},
|
|
34
|
+
popover: {
|
|
35
|
+
DEFAULT: "hsl(var(--popover))",
|
|
36
|
+
foreground: "hsl(var(--popover-foreground))",
|
|
37
|
+
},
|
|
38
|
+
card: {
|
|
39
|
+
DEFAULT: "hsl(var(--card))",
|
|
40
|
+
foreground: "hsl(var(--card-foreground))",
|
|
41
|
+
},
|
|
42
|
+
success: {
|
|
43
|
+
DEFAULT: "hsl(var(--success))",
|
|
44
|
+
foreground: "hsl(var(--success-foreground))",
|
|
45
|
+
secondary: "hsl(var(--success-secondary))",
|
|
46
|
+
tertiary: "hsl(var(--success-tertiary))",
|
|
47
|
+
},
|
|
48
|
+
warning: {
|
|
49
|
+
DEFAULT: "hsl(var(--warning))",
|
|
50
|
+
foreground: "hsl(var(--warning-foreground))",
|
|
51
|
+
secondary: "hsl(var(--warning-secondary))",
|
|
52
|
+
tertiary: "hsl(var(--warning-tertiary))",
|
|
53
|
+
},
|
|
54
|
+
info: {
|
|
55
|
+
DEFAULT: "hsl(var(--info))",
|
|
56
|
+
foreground: "hsl(var(--info-foreground))",
|
|
57
|
+
secondary: "hsl(var(--info-secondary))",
|
|
58
|
+
tertiary: "hsl(var(--info-tertiary))",
|
|
59
|
+
},
|
|
60
|
+
error: {
|
|
61
|
+
DEFAULT: "hsl(var(--error))",
|
|
62
|
+
foreground: "hsl(var(--error-foreground))",
|
|
63
|
+
secondary: "hsl(var(--error-secondary))",
|
|
64
|
+
tertiary: "hsl(var(--error-tertiary))",
|
|
65
|
+
},
|
|
66
|
+
page: {
|
|
67
|
+
DEFAULT: "hsl(var(--page))",
|
|
68
|
+
secondary: "hsl(var(--page-secondary))",
|
|
69
|
+
tertiary: "hsl(var(--page-tertiary))",
|
|
70
|
+
},
|
|
71
|
+
"surface-inset": "hsl(var(--surface-inset))",
|
|
72
|
+
"surface-elevated": "hsl(var(--surface-elevated))",
|
|
73
|
+
interactive: {
|
|
74
|
+
DEFAULT: "hsl(var(--interactive))",
|
|
75
|
+
disabled: "hsl(var(--interactive-disabled))",
|
|
76
|
+
secondary: "hsl(var(--interactive-secondary))",
|
|
77
|
+
tertiary: "hsl(var(--interactive-tertiary))",
|
|
78
|
+
active: "hsl(var(--interactive-active))",
|
|
79
|
+
},
|
|
80
|
+
scenario: {
|
|
81
|
+
fern: "hsl(var(--scenario-fern))",
|
|
82
|
+
orange: "hsl(var(--scenario-orange))",
|
|
83
|
+
red: "hsl(var(--scenario-red))",
|
|
84
|
+
slate: "hsl(var(--scenario-slate))",
|
|
85
|
+
},
|
|
86
|
+
},
|
|
87
|
+
spacing: {
|
|
88
|
+
"13": "3.25rem",
|
|
89
|
+
"15": "3.75rem",
|
|
90
|
+
"17": "4.25rem",
|
|
91
|
+
"18": "4.5rem",
|
|
92
|
+
"19": "4.75rem",
|
|
93
|
+
},
|
|
94
|
+
fontFamily: {
|
|
95
|
+
sans: [
|
|
96
|
+
"var(--font-sans, 'Google Sans Flex Variable')",
|
|
97
|
+
"ui-sans-serif",
|
|
98
|
+
"system-ui",
|
|
99
|
+
"-apple-system",
|
|
100
|
+
"sans-serif",
|
|
101
|
+
],
|
|
102
|
+
},
|
|
103
|
+
fontSize: {
|
|
104
|
+
/* Headings */
|
|
105
|
+
display: ["80px", { lineHeight: "100%", fontWeight: "700" }],
|
|
106
|
+
oversized: ["48px", { lineHeight: "100%", fontWeight: "700" }],
|
|
107
|
+
h1: ["36px", { lineHeight: "44px", fontWeight: "700", letterSpacing: "-0.5px" }],
|
|
108
|
+
h2: ["32px", { lineHeight: "36px", fontWeight: "600", letterSpacing: "-0.3px" }],
|
|
109
|
+
h3: ["28px", { lineHeight: "32px", fontWeight: "600" }],
|
|
110
|
+
h4: ["22px", { lineHeight: "26px", fontWeight: "600" }],
|
|
111
|
+
/* Body */
|
|
112
|
+
"body-lg": ["18px", { lineHeight: "28px", fontWeight: "400" }],
|
|
113
|
+
"body-lg-light": ["18px", { lineHeight: "28px", fontWeight: "300" }],
|
|
114
|
+
body: ["16px", { lineHeight: "24px", fontWeight: "400" }],
|
|
115
|
+
"body-sm": ["14px", { lineHeight: "20px", fontWeight: "400" }],
|
|
116
|
+
caption: ["12px", { lineHeight: "16px", fontWeight: "400" }],
|
|
117
|
+
overline: ["12px", { lineHeight: "16px", fontWeight: "500" }],
|
|
118
|
+
/* UI — Navigation & Links */
|
|
119
|
+
"main-nav": ["14px", { lineHeight: "100%", fontWeight: "700" }],
|
|
120
|
+
"link-paragraph": ["14px", { lineHeight: "100%", fontWeight: "400" }],
|
|
121
|
+
"link-sm": ["12px", { lineHeight: "100%", fontWeight: "400" }],
|
|
122
|
+
/* UI — Buttons */
|
|
123
|
+
"button-lg": ["16px", { lineHeight: "100%", fontWeight: "500" }],
|
|
124
|
+
button: ["14px", { lineHeight: "100%", fontWeight: "500" }],
|
|
125
|
+
"button-sm": ["12px", { lineHeight: "100%", fontWeight: "500" }],
|
|
126
|
+
/* UI — Form & Data */
|
|
127
|
+
"select-item": ["13px", { lineHeight: "100%", fontWeight: "400" }],
|
|
128
|
+
"search-filter-item": ["13px", { lineHeight: "100%", fontWeight: "600" }],
|
|
129
|
+
"notification-message": ["13px", { lineHeight: "100%", fontWeight: "500" }],
|
|
130
|
+
"report-code": ["11px", { lineHeight: "100%", fontWeight: "700" }],
|
|
131
|
+
label: ["16px", { lineHeight: "24px", fontWeight: "500" }],
|
|
132
|
+
"label-sm": ["14px", { lineHeight: "100%", fontWeight: "500" }],
|
|
133
|
+
"input-text-bold": ["14px", { lineHeight: "20px", fontWeight: "600" }],
|
|
134
|
+
"input-text": ["14px", { lineHeight: "20px", fontWeight: "400" }],
|
|
135
|
+
"help-text": ["10px", { lineHeight: "16px", fontWeight: "400" }],
|
|
136
|
+
tab: ["14px", { lineHeight: "100%", fontWeight: "600" }],
|
|
137
|
+
"table-header": ["14px", { lineHeight: "20px", fontWeight: "500" }],
|
|
138
|
+
},
|
|
139
|
+
borderRadius: {
|
|
140
|
+
lg: "var(--radius)",
|
|
141
|
+
md: "calc(var(--radius) - 2px)",
|
|
142
|
+
sm: "calc(var(--radius) - 4px)",
|
|
143
|
+
},
|
|
144
|
+
width: {
|
|
145
|
+
"sidebar-mini": "var(--sidebar-width-mini)",
|
|
146
|
+
"sidebar-full": "var(--sidebar-width-full)",
|
|
147
|
+
},
|
|
148
|
+
maxWidth: {
|
|
149
|
+
"container-full": "1136px",
|
|
150
|
+
"container-chat": "800px",
|
|
151
|
+
"container-narrow": "640px",
|
|
152
|
+
},
|
|
153
|
+
gap: {
|
|
154
|
+
"panel": "var(--panel-gap)",
|
|
155
|
+
"card": "var(--card-gap)",
|
|
156
|
+
},
|
|
157
|
+
padding: {
|
|
158
|
+
"card": "var(--card-padding)",
|
|
159
|
+
"content-gutter": "var(--content-gutter)",
|
|
160
|
+
},
|
|
161
|
+
keyframes: {
|
|
162
|
+
"progress-indeterminate": {
|
|
163
|
+
"0%": { transform: "translateX(-100%)" },
|
|
164
|
+
"100%": { transform: "translateX(200%)" },
|
|
165
|
+
},
|
|
166
|
+
},
|
|
167
|
+
animation: {
|
|
168
|
+
"progress-indeterminate":
|
|
169
|
+
"progress-indeterminate 1.5s ease-in-out infinite",
|
|
170
|
+
},
|
|
171
|
+
},
|
|
172
|
+
},
|
|
173
|
+
plugins: [],
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
export default noviePreset
|