luaniverse 4.2.7 → 4.2.10
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/index.cjs +6 -28
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +24 -14
- package/dist/index.d.ts +24 -14
- package/dist/index.js +6 -28
- package/dist/index.js.map +1 -1
- package/dist/tailwind.preset.js +6 -7
- package/dist/theme.css +34 -34
- package/package.json +60 -61
package/dist/tailwind.preset.js
CHANGED
|
@@ -2,9 +2,7 @@ import { luaniverseSafelist } from './safelist.js';
|
|
|
2
2
|
|
|
3
3
|
/** @type {import('tailwindcss').Config} */
|
|
4
4
|
export const luaniversePreset = {
|
|
5
|
-
// Dark mode enabled using class strategy
|
|
6
5
|
darkMode: 'class',
|
|
7
|
-
// Safelist story-specific arbitrary values that are hard to standardize
|
|
8
6
|
safelist: luaniverseSafelist,
|
|
9
7
|
theme: {
|
|
10
8
|
extend: {
|
|
@@ -32,7 +30,10 @@ export const luaniversePreset = {
|
|
|
32
30
|
hover: 'hsl(var(--destructive-hover, 351 100% 40%))', // Fallback to #CC001E
|
|
33
31
|
active: 'hsl(var(--destructive-active, 351 100% 37%))', // Fallback to #BF001C
|
|
34
32
|
},
|
|
35
|
-
|
|
33
|
+
info: {
|
|
34
|
+
DEFAULT: 'hsl(var(--info, 217 91% 60%))', // Fallback to blue-500
|
|
35
|
+
foreground: 'hsl(var(--info-foreground, 222 47% 11%))', // Fallback to dark
|
|
36
|
+
},
|
|
36
37
|
black: {
|
|
37
38
|
DEFAULT: '#000000',
|
|
38
39
|
hover: '#333333',
|
|
@@ -68,16 +69,14 @@ export const luaniversePreset = {
|
|
|
68
69
|
md: 'calc(var(--radius, 0.5rem) - 2px)', // Fallback to 6px
|
|
69
70
|
sm: 'calc(var(--radius, 0.5rem) - 4px)', // Fallback to 4px
|
|
70
71
|
},
|
|
71
|
-
// Custom spacing for component consistency
|
|
72
72
|
spacing: {
|
|
73
73
|
0: '0px', // 0 spacing
|
|
74
74
|
1: '1px',
|
|
75
|
-
1.5: '6px',
|
|
75
|
+
1.5: '6px',
|
|
76
76
|
},
|
|
77
77
|
gap: {
|
|
78
|
-
1.5: '6px',
|
|
78
|
+
1.5: '6px',
|
|
79
79
|
},
|
|
80
|
-
// Custom sizes for IconButton components
|
|
81
80
|
size: {
|
|
82
81
|
7: '28px', // IconButton small
|
|
83
82
|
10: '40px', // IconButton default
|
package/dist/theme.css
CHANGED
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
/* Accent */
|
|
52
52
|
--accent: 221 83% 53%; /* blue-600 */
|
|
53
53
|
--accent-foreground: 0 0% 100%; /* white */
|
|
54
|
-
|
|
54
|
+
|
|
55
55
|
/* Accent Subtle (for tabs, pills) */
|
|
56
56
|
--accent-subtle: 214 100% 97%; /* blue-50 - very light blue */
|
|
57
57
|
--accent-subtle-foreground: 213 97% 27%; /* blue-800 */
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
/* Accent Tokens */
|
|
119
119
|
--color-accent: hsl(var(--accent));
|
|
120
120
|
--color-accent-foreground: hsl(var(--accent-foreground));
|
|
121
|
-
|
|
121
|
+
|
|
122
122
|
/* Accent Subtle Tokens (for tabs, pills) */
|
|
123
123
|
--color-accent-subtle: hsl(var(--accent-subtle));
|
|
124
124
|
--color-accent-subtle-foreground: hsl(var(--accent-subtle-foreground));
|
|
@@ -148,51 +148,51 @@
|
|
|
148
148
|
@media (prefers-color-scheme: dark) {
|
|
149
149
|
:root {
|
|
150
150
|
/* Base Colors - Dark grays and off-whites */
|
|
151
|
-
--background:
|
|
152
|
-
--foreground: 210 20% 98%;
|
|
151
|
+
--background: 220 13% 9%;
|
|
152
|
+
--foreground: 210 20% 98%;
|
|
153
153
|
|
|
154
154
|
/* Card & Surface - Slightly lighter than background for depth */
|
|
155
|
-
--card:
|
|
156
|
-
--card-foreground: 210 20% 98%;
|
|
155
|
+
--card: 220 13% 13%;
|
|
156
|
+
--card-foreground: 210 20% 98%;
|
|
157
157
|
|
|
158
158
|
/* Popover - Slightly lighter than background for depth */
|
|
159
|
-
--popover:
|
|
160
|
-
--popover-foreground: 210 20% 98%;
|
|
159
|
+
--popover: 220 13% 13%;
|
|
160
|
+
--popover-foreground: 210 20% 98%;
|
|
161
161
|
|
|
162
|
-
/* Default (Emphasis -
|
|
163
|
-
--default:
|
|
164
|
-
--default-foreground:
|
|
165
|
-
--default-hover:
|
|
166
|
-
--default-active:
|
|
162
|
+
/* Default (Emphasis - Still prominent but comfortable) */
|
|
163
|
+
--default: 215 25% 35%; /* gray-600/650 - medium-light gray */
|
|
164
|
+
--default-foreground: 210 20% 98%; /* gray-50 - off-white text */
|
|
165
|
+
--default-hover: 217 19% 40%; /* slightly lighter on hover */
|
|
166
|
+
--default-active: 215 25% 30%; /* slightly darker on press */
|
|
167
167
|
|
|
168
|
-
/* Primary (Brand - Blue) -
|
|
169
|
-
--primary:
|
|
170
|
-
--primary-foreground:
|
|
171
|
-
--primary-hover: 213
|
|
172
|
-
--primary-active:
|
|
168
|
+
/* Primary (Brand - Blue) - More muted for dark mode */
|
|
169
|
+
--primary: 220 13% 28%;
|
|
170
|
+
--primary-foreground: 210 20% 98%;
|
|
171
|
+
--primary-hover: 213 97% 70%; /* blue-400 - brighter hover */
|
|
172
|
+
--primary-active: 217 91% 60%; /* blue-500 - original as active */
|
|
173
173
|
|
|
174
174
|
/* Secondary (Neutral) - Dark grays */
|
|
175
|
-
--secondary:
|
|
176
|
-
--secondary-foreground: 210 20%
|
|
175
|
+
--secondary: 220 13% 16%;
|
|
176
|
+
--secondary-foreground: 210 20% 95%;
|
|
177
177
|
--secondary-hover: 215 25% 27%; /* gray-600 */
|
|
178
178
|
--secondary-active: 215 28% 17%; /* gray-800 */
|
|
179
179
|
|
|
180
180
|
/* Muted */
|
|
181
|
-
--muted:
|
|
182
|
-
--muted-foreground:
|
|
181
|
+
--muted: 220 13% 16%;
|
|
182
|
+
--muted-foreground: 220 9% 65%;
|
|
183
183
|
|
|
184
184
|
/* Accent */
|
|
185
|
-
--accent:
|
|
186
|
-
--accent-foreground:
|
|
187
|
-
|
|
185
|
+
--accent: 220 13% 20%;
|
|
186
|
+
--accent-foreground: 210 20% 98%;
|
|
187
|
+
|
|
188
188
|
/* Accent Subtle (for tabs, pills) */
|
|
189
189
|
--accent-subtle: 215 25% 27%; /* gray-700 - dark subtle bg */
|
|
190
190
|
--accent-subtle-foreground: 213 94% 68%; /* blue-400 - bright blue text */
|
|
191
191
|
--accent-subtle-hover: 217 19% 35%; /* gray-600 - lighter hover */
|
|
192
192
|
|
|
193
193
|
/* Destructive (Danger) - Slightly muted */
|
|
194
|
-
--destructive: 0
|
|
195
|
-
--destructive-foreground: 0 0%
|
|
194
|
+
--destructive: 0 62.8% 30.6%;
|
|
195
|
+
--destructive-foreground: 0 0% 98%;
|
|
196
196
|
--destructive-hover: 0 91% 71%; /* red-400 */
|
|
197
197
|
--destructive-active: 0 72% 51%; /* red-600 */
|
|
198
198
|
|
|
@@ -207,16 +207,16 @@
|
|
|
207
207
|
--warning-hover: 43 96% 56%; /* amber-400 */
|
|
208
208
|
|
|
209
209
|
/* Border & Input */
|
|
210
|
-
--border:
|
|
211
|
-
--input:
|
|
212
|
-
--ring:
|
|
210
|
+
--border: 220 13% 20%;
|
|
211
|
+
--input: 220 13% 20%;
|
|
212
|
+
--ring: 217 70% 60%;
|
|
213
213
|
}
|
|
214
214
|
}
|
|
215
215
|
|
|
216
216
|
.rdp-root {
|
|
217
217
|
/* Calendar background */
|
|
218
218
|
--rdp-background-color: hsl(var(--card));
|
|
219
|
-
|
|
219
|
+
|
|
220
220
|
/* Use semantic tokens for selected days instead of default blue */
|
|
221
221
|
--rdp-accent-color: hsl(var(--foreground));
|
|
222
222
|
--rdp-accent-background-color: hsl(var(--secondary));
|
|
@@ -236,11 +236,11 @@
|
|
|
236
236
|
[data-theme='dark'] .rdp-root {
|
|
237
237
|
/* Calendar background and base colors for dark mode */
|
|
238
238
|
--rdp-background-color: hsl(var(--card));
|
|
239
|
-
|
|
239
|
+
|
|
240
240
|
/* Use semantic tokens for selected days in dark mode */
|
|
241
241
|
--rdp-accent-color: hsl(var(--foreground));
|
|
242
242
|
--rdp-accent-background-color: hsl(var(--secondary));
|
|
243
|
-
|
|
243
|
+
|
|
244
244
|
/* Range selection colors for dark mode */
|
|
245
245
|
--rdp-range_middle-background-color: hsl(var(--muted));
|
|
246
246
|
--rdp-range_middle-color: hsl(var(--foreground));
|
|
@@ -248,7 +248,7 @@
|
|
|
248
248
|
--rdp-range_start-color: hsl(var(--foreground));
|
|
249
249
|
--rdp-range_end-background: hsl(var(--secondary));
|
|
250
250
|
--rdp-range_end-color: hsl(var(--foreground));
|
|
251
|
-
|
|
251
|
+
|
|
252
252
|
/* Today indicator for dark mode */
|
|
253
253
|
--rdp-today-color: hsl(var(--foreground));
|
|
254
254
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "luaniverse",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.10",
|
|
4
4
|
"description": "Lua Design System - A React component library for Lua applications",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.cjs",
|
|
@@ -24,16 +24,9 @@
|
|
|
24
24
|
"sideEffects": [
|
|
25
25
|
"**/*.css"
|
|
26
26
|
],
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"build:storybook": "storybook build",
|
|
31
|
-
"storybook": "storybook dev -p 6006",
|
|
32
|
-
"lint": "eslint . --ext .ts,.tsx --fix",
|
|
33
|
-
"format": "prettier --write .",
|
|
34
|
-
"type-check": "tsc --noEmit",
|
|
35
|
-
"clean": "rm -rf dist",
|
|
36
|
-
"prepublishOnly": "npm run clean && npm run build"
|
|
27
|
+
"engines": {
|
|
28
|
+
"node": ">=24.0.0",
|
|
29
|
+
"pnpm": ">=10.0.0"
|
|
37
30
|
},
|
|
38
31
|
"keywords": [
|
|
39
32
|
"react",
|
|
@@ -59,66 +52,72 @@
|
|
|
59
52
|
"react-dom": ">=18.0.0"
|
|
60
53
|
},
|
|
61
54
|
"dependencies": {
|
|
62
|
-
"@radix-ui/react-checkbox": "^1.3.
|
|
63
|
-
"@radix-ui/react-dialog": "^1.1.
|
|
64
|
-
"@radix-ui/react-dropdown-menu": "^2.1.
|
|
65
|
-
"@radix-ui/react-label": "^2.1.
|
|
55
|
+
"@radix-ui/react-checkbox": "^1.3.3",
|
|
56
|
+
"@radix-ui/react-dialog": "^1.1.15",
|
|
57
|
+
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
|
58
|
+
"@radix-ui/react-label": "^2.1.8",
|
|
66
59
|
"@radix-ui/react-popover": "^1.1.15",
|
|
67
|
-
"@radix-ui/react-radio-group": "^1.3.
|
|
68
|
-
"@radix-ui/react-select": "^2.2.
|
|
60
|
+
"@radix-ui/react-radio-group": "^1.3.8",
|
|
61
|
+
"@radix-ui/react-select": "^2.2.6",
|
|
69
62
|
"@radix-ui/react-slider": "^1.3.6",
|
|
70
|
-
"@radix-ui/react-slot": "^1.
|
|
63
|
+
"@radix-ui/react-slot": "^1.2.4",
|
|
71
64
|
"@radix-ui/react-switch": "^1.2.6",
|
|
72
|
-
"@radix-ui/react-tabs": "^1.1.
|
|
73
|
-
"@radix-ui/react-tooltip": "^1.2.
|
|
74
|
-
"class-variance-authority": "^0.7.
|
|
65
|
+
"@radix-ui/react-tabs": "^1.1.13",
|
|
66
|
+
"@radix-ui/react-tooltip": "^1.2.8",
|
|
67
|
+
"class-variance-authority": "^0.7.1",
|
|
75
68
|
"clsx": "^2.1.1",
|
|
76
69
|
"date-fns": "^4.1.0",
|
|
77
70
|
"embla-carousel-react": "^8.6.0",
|
|
78
71
|
"input-otp": "^1.4.2",
|
|
79
|
-
"lucide-react": "^0.
|
|
80
|
-
"react-day-picker": "^9.
|
|
81
|
-
"tailwind-merge": "^
|
|
72
|
+
"lucide-react": "^0.562.0",
|
|
73
|
+
"react-day-picker": "^9.13.0",
|
|
74
|
+
"tailwind-merge": "^3.4.0"
|
|
82
75
|
},
|
|
83
76
|
"devDependencies": {
|
|
84
|
-
"@eslint/js": "^9.
|
|
77
|
+
"@eslint/js": "^9.39.2",
|
|
85
78
|
"@semantic-release/changelog": "^6.0.3",
|
|
86
|
-
"@semantic-release/commit-analyzer": "^13.0.
|
|
79
|
+
"@semantic-release/commit-analyzer": "^13.0.1",
|
|
87
80
|
"@semantic-release/git": "^10.0.1",
|
|
88
|
-
"@semantic-release/github": "^
|
|
89
|
-
"@semantic-release/npm": "^
|
|
90
|
-
"@semantic-release/release-notes-generator": "^14.0
|
|
91
|
-
"@storybook/addon-
|
|
92
|
-
"@storybook/addon-
|
|
93
|
-
"@storybook/
|
|
94
|
-
"@storybook/
|
|
95
|
-
"@
|
|
96
|
-
"@
|
|
97
|
-
"@
|
|
98
|
-
"@
|
|
99
|
-
"@
|
|
100
|
-
"@
|
|
101
|
-
"
|
|
102
|
-
"
|
|
103
|
-
"
|
|
104
|
-
"
|
|
105
|
-
"eslint": "^
|
|
106
|
-
"eslint-
|
|
107
|
-
"
|
|
108
|
-
"
|
|
109
|
-
"
|
|
110
|
-
"
|
|
111
|
-
"
|
|
112
|
-
"
|
|
113
|
-
"
|
|
114
|
-
"react-dom": "^18.3.1",
|
|
115
|
-
"semantic-release": "^24.2.0",
|
|
116
|
-
"storybook": "^8.3.6",
|
|
117
|
-
"storybook-dark-mode": "^4.0.2",
|
|
118
|
-
"tailwindcss": "^4.1.11",
|
|
81
|
+
"@semantic-release/github": "^12.0.2",
|
|
82
|
+
"@semantic-release/npm": "^13.1.3",
|
|
83
|
+
"@semantic-release/release-notes-generator": "^14.1.0",
|
|
84
|
+
"@storybook/addon-links": "^10.1.11",
|
|
85
|
+
"@storybook/addon-onboarding": "^10.1.11",
|
|
86
|
+
"@storybook/react": "^10.1.11",
|
|
87
|
+
"@storybook/react-vite": "^10.1.11",
|
|
88
|
+
"@tailwindcss/postcss": "^4.1.18",
|
|
89
|
+
"@types/node": "^25.0.3",
|
|
90
|
+
"@types/react": "^19.2.7",
|
|
91
|
+
"@types/react-dom": "^19.2.3",
|
|
92
|
+
"@typescript-eslint/eslint-plugin": "^8.51.0",
|
|
93
|
+
"@typescript-eslint/parser": "^8.51.0",
|
|
94
|
+
"eslint": "^9.39.2",
|
|
95
|
+
"eslint-config-prettier": "^10.1.8",
|
|
96
|
+
"eslint-plugin-react": "^7.37.5",
|
|
97
|
+
"eslint-plugin-react-hooks": "^7.0.1",
|
|
98
|
+
"eslint-plugin-react-refresh": "^0.4.26",
|
|
99
|
+
"eslint-plugin-storybook": "^10.1.11",
|
|
100
|
+
"postcss": "^8.5.6",
|
|
101
|
+
"prettier": "^3.7.4",
|
|
102
|
+
"react": "^19.2.3",
|
|
103
|
+
"react-dom": "^19.2.3",
|
|
104
|
+
"semantic-release": "^25.0.2",
|
|
105
|
+
"storybook": "^10.1.11",
|
|
106
|
+
"tailwindcss": "^4.1.18",
|
|
119
107
|
"tailwindcss-animate": "^1.0.7",
|
|
120
|
-
"tsup": "^8.
|
|
121
|
-
"typescript": "^5.
|
|
122
|
-
"vite": "^
|
|
108
|
+
"tsup": "^8.5.1",
|
|
109
|
+
"typescript": "^5.9.3",
|
|
110
|
+
"vite": "^7.3.0",
|
|
111
|
+
"@storybook/addon-docs": "^10.1.11"
|
|
112
|
+
},
|
|
113
|
+
"scripts": {
|
|
114
|
+
"dev": "tsup --watch",
|
|
115
|
+
"build": "tsup",
|
|
116
|
+
"build:storybook": "storybook build",
|
|
117
|
+
"storybook": "storybook dev -p 6006",
|
|
118
|
+
"lint": "eslint . --ext .ts,.tsx --fix",
|
|
119
|
+
"format": "prettier --write .",
|
|
120
|
+
"type-check": "tsc --noEmit",
|
|
121
|
+
"clean": "rm -rf dist"
|
|
123
122
|
}
|
|
124
|
-
}
|
|
123
|
+
}
|