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.
@@ -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
- // Brand neutral colors
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', // IconButton small padding, Button gap
75
+ 1.5: '6px',
76
76
  },
77
77
  gap: {
78
- 1.5: '6px', // Button icon-text gap
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: 222 47% 11%; /* gray-900 */
152
- --foreground: 210 20% 98%; /* gray-50 */
151
+ --background: 220 13% 9%;
152
+ --foreground: 210 20% 98%;
153
153
 
154
154
  /* Card & Surface - Slightly lighter than background for depth */
155
- --card: 217 19% 18%; /* gray-800/850 - elevated surface */
156
- --card-foreground: 210 20% 98%; /* gray-50 */
155
+ --card: 220 13% 13%;
156
+ --card-foreground: 210 20% 98%;
157
157
 
158
158
  /* Popover - Slightly lighter than background for depth */
159
- --popover: 217 19% 18%; /* gray-800/850 - elevated surface */
160
- --popover-foreground: 210 20% 98%; /* gray-50 */
159
+ --popover: 220 13% 13%;
160
+ --popover-foreground: 210 20% 98%;
161
161
 
162
- /* Default (Emphasis - Inverted for dark mode) */
163
- --default: 220 13% 95%; /* gray-100 - light gray for dark bg */
164
- --default-foreground: 222 47% 11%; /* gray-900 - dark text */
165
- --default-hover: 210 20% 98%; /* gray-50 - lighter on hover */
166
- --default-active: 220 13% 91%; /* gray-200 - darker on press */
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) - Slightly lighter for visibility */
169
- --primary: 217 91% 60%; /* blue-500 */
170
- --primary-foreground: 222 47% 11%; /* gray-900 */
171
- --primary-hover: 213 94% 68%; /* blue-400 */
172
- --primary-active: 221 83% 53%; /* blue-600 */
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: 217 19% 27%; /* gray-700 */
176
- --secondary-foreground: 210 20% 98%; /* gray-50 */
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: 217 19% 27%; /* gray-700 */
182
- --muted-foreground: 215 16% 47%; /* gray-400 */
181
+ --muted: 220 13% 16%;
182
+ --muted-foreground: 220 9% 65%;
183
183
 
184
184
  /* Accent */
185
- --accent: 217 91% 60%; /* blue-500 */
186
- --accent-foreground: 222 47% 11%; /* gray-900 */
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 84% 60%; /* red-500 */
195
- --destructive-foreground: 0 0% 100%; /* white */
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: 215 25% 27%; /* gray-700 */
211
- --input: 215 25% 27%; /* gray-700 */
212
- --ring: 213 94% 68%; /* blue-400 */
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.7",
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
- "scripts": {
28
- "dev": "tsup --watch",
29
- "build": "tsup",
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.2",
63
- "@radix-ui/react-dialog": "^1.1.14",
64
- "@radix-ui/react-dropdown-menu": "^2.1.15",
65
- "@radix-ui/react-label": "^2.1.7",
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.7",
68
- "@radix-ui/react-select": "^2.2.5",
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.1.0",
63
+ "@radix-ui/react-slot": "^1.2.4",
71
64
  "@radix-ui/react-switch": "^1.2.6",
72
- "@radix-ui/react-tabs": "^1.1.12",
73
- "@radix-ui/react-tooltip": "^1.2.7",
74
- "class-variance-authority": "^0.7.0",
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.548.0",
80
- "react-day-picker": "^9.11.1",
81
- "tailwind-merge": "^2.5.4"
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.28.0",
77
+ "@eslint/js": "^9.39.2",
85
78
  "@semantic-release/changelog": "^6.0.3",
86
- "@semantic-release/commit-analyzer": "^13.0.0",
79
+ "@semantic-release/commit-analyzer": "^13.0.1",
87
80
  "@semantic-release/git": "^10.0.1",
88
- "@semantic-release/github": "^11.0.0",
89
- "@semantic-release/npm": "^12.0.1",
90
- "@semantic-release/release-notes-generator": "^14.0.1",
91
- "@storybook/addon-essentials": "^8.3.6",
92
- "@storybook/addon-interactions": "^8.3.6",
93
- "@storybook/addon-links": "^8.3.6",
94
- "@storybook/addon-onboarding": "^8.3.6",
95
- "@storybook/blocks": "^8.3.6",
96
- "@storybook/react": "^8.3.6",
97
- "@storybook/react-vite": "^8.3.6",
98
- "@storybook/test": "^8.3.6",
99
- "@tailwindcss/postcss": "^4.1.11",
100
- "@types/node": "^22.15.29",
101
- "@types/react": "^18.3.12",
102
- "@types/react-dom": "^18.3.1",
103
- "@typescript-eslint/eslint-plugin": "^8.15.0",
104
- "@typescript-eslint/parser": "^8.15.0",
105
- "eslint": "^9.15.0",
106
- "eslint-config-prettier": "^9.1.0",
107
- "eslint-plugin-react": "^7.37.2",
108
- "eslint-plugin-react-hooks": "^5.0.0",
109
- "eslint-plugin-react-refresh": "^0.4.16",
110
- "eslint-plugin-storybook": "^0.10.2",
111
- "postcss": "^8.4.49",
112
- "prettier": "^3.3.3",
113
- "react": "^18.3.1",
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.3.5",
121
- "typescript": "^5.6.3",
122
- "vite": "^5.4.10"
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
+ }