luaniverse 4.2.8 → 4.2.11

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: {
@@ -36,7 +34,6 @@ export const luaniversePreset = {
36
34
  DEFAULT: 'hsl(var(--info, 217 91% 60%))', // Fallback to blue-500
37
35
  foreground: 'hsl(var(--info-foreground, 222 47% 11%))', // Fallback to dark
38
36
  },
39
- // Brand neutral colors
40
37
  black: {
41
38
  DEFAULT: '#000000',
42
39
  hover: '#333333',
@@ -72,16 +69,14 @@ export const luaniversePreset = {
72
69
  md: 'calc(var(--radius, 0.5rem) - 2px)', // Fallback to 6px
73
70
  sm: 'calc(var(--radius, 0.5rem) - 4px)', // Fallback to 4px
74
71
  },
75
- // Custom spacing for component consistency
76
72
  spacing: {
77
73
  0: '0px', // 0 spacing
78
74
  1: '1px',
79
- 1.5: '6px', // IconButton small padding, Button gap
75
+ 1.5: '6px',
80
76
  },
81
77
  gap: {
82
- 1.5: '6px', // Button icon-text gap
78
+ 1.5: '6px',
83
79
  },
84
- // Custom sizes for IconButton components
85
80
  size: {
86
81
  7: '28px', // IconButton small
87
82
  10: '40px', // IconButton default
package/dist/theme.css CHANGED
@@ -148,16 +148,16 @@
148
148
  @media (prefers-color-scheme: dark) {
149
149
  :root {
150
150
  /* Base Colors - Dark grays and off-whites */
151
- --background: 220 13% 12%;
151
+ --background: 220 13% 9%;
152
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
162
  /* Default (Emphasis - Still prominent but comfortable) */
163
163
  --default: 215 25% 35%; /* gray-600/650 - medium-light gray */
@@ -165,25 +165,25 @@
165
165
  --default-hover: 217 19% 40%; /* slightly lighter on hover */
166
166
  --default-active: 215 25% 30%; /* slightly darker on press */
167
167
 
168
- /* Primary (Brand - Blue) - Brighter and more vibrant for CTAs */
169
- --primary: 217 95% 65%; /* blue-450 - more saturated and lighter */
170
- --primary-foreground: 210 20% 98%; /* gray-50 - off-white for better contrast */
168
+ /* Primary (Brand - Blue) - More muted for dark mode */
169
+ --primary: 220 13% 28%;
170
+ --primary-foreground: 210 20% 98%;
171
171
  --primary-hover: 213 97% 70%; /* blue-400 - brighter hover */
172
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 */
185
+ --accent: 220 13% 20%;
186
+ --accent-foreground: 210 20% 98%;
187
187
 
188
188
  /* Accent Subtle (for tabs, pills) */
189
189
  --accent-subtle: 215 25% 27%; /* gray-700 - dark subtle bg */
@@ -191,8 +191,8 @@
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,9 +207,9 @@
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
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "luaniverse",
3
- "version": "4.2.8",
3
+ "version": "4.2.11",
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
+ }