@moontra/moonui 2.4.13 → 2.5.1

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,5 +1,13 @@
1
- /* MoonUI Design Tokens - Namespaced to prevent conflicts */
1
+ /* MoonUI Design Tokens
2
+ *
3
+ * Kapsam: hem :root hem .moonui-root.
4
+ * Component'ler hsl(var(--primary)) gibi ÖN EKSİZ değişkenler okur; token'lar
5
+ * yalnızca .moonui-root altında kalırsa ve tüketici bu sınıfı eklemezse
6
+ * component'ler renksiz kalır. :root varsayılan yolu çalışır kılar;
7
+ * .moonui-root ise token'ları izole etmek isteyen tüketici için korunur.
8
+ */
2
9
 
10
+ :root,
3
11
  .moonui-root {
4
12
  /* === COLOR SYSTEM === */
5
13
 
@@ -65,27 +73,93 @@
65
73
  --error-800: 153 27 27;
66
74
  --error-900: 127 29 29;
67
75
  --error-950: 69 10 10;
68
-
76
+
77
+ /* === MARKA PALETI ===
78
+ *
79
+ * MoonUI'nin imza gradient'i mor -> pembe (from-brand-600 to-brand-accent-600).
80
+ * Bu renkler daha once YALNIZCA sitenin sayfalarina hardcoded Tailwind sinifi
81
+ * olarak (purple-600, pink-500) yazilmisti; pakette HIC yoktu. Yani musteri
82
+ * paketi kurdugunda markanin gorunumunu elde etmesi imkansizdi.
83
+ *
84
+ * Degerler Tailwind'in purple/pink paletiyle BIREBIR ayni (HSL'e cevrildi),
85
+ * boylece mevcut render DEGISMEZ; degisen tek sey markanin artik
86
+ * degistirilebilir bir token olmasi.
87
+ */
88
+ --brand-50: 270 100% 98%;
89
+ --brand-100: 268.7 100% 95.5%;
90
+ --brand-200: 268.6 100% 91.8%;
91
+ --brand-300: 269.2 97.4% 85.1%;
92
+ --brand-400: 270 95.2% 75.3%;
93
+ --brand-500: 270.7 91% 65.1%;
94
+ --brand-600: 271.5 81.3% 55.9%;
95
+ --brand-700: 272.1 71.7% 47.1%;
96
+ --brand-800: 272.9 67.2% 39.4%;
97
+ --brand-900: 273.6 65.6% 32%;
98
+ --brand-950: 273.5 86.9% 21%;
99
+
100
+ --brand-accent-50: 327.3 73.3% 97.1%;
101
+ --brand-accent-100: 325.7 77.8% 94.7%;
102
+ --brand-accent-200: 325.9 84.6% 89.8%;
103
+ --brand-accent-300: 327.4 87.1% 81.8%;
104
+ --brand-accent-400: 328.6 85.5% 70.2%;
105
+ --brand-accent-500: 330.4 81.2% 60.4%;
106
+ --brand-accent-600: 333.3 71.4% 50.6%;
107
+ --brand-accent-700: 335.1 77.6% 42%;
108
+ --brand-accent-800: 335.8 74.4% 35.3%;
109
+ --brand-accent-900: 335.9 69% 30.4%;
110
+ --brand-accent-950: 336.2 83.9% 17.1%;
111
+
69
112
  /* Theme Colors */
70
113
  --background: 0 0% 100%;
71
- --foreground: 222.2 47.4% 11.2%;
114
+ --foreground: 222.2 84% 4.9%;
72
115
  --card: 0 0% 100%;
73
- --card-foreground: 222.2 47.4% 11.2%;
116
+ --card-foreground: 222.2 84% 4.9%;
74
117
  --popover: 0 0% 100%;
75
- --popover-foreground: 222.2 47.4% 11.2%;
76
- --primary: 222.2 47.4% 11.2%;
77
- --primary-foreground: 210 40% 98%;
78
- --secondary: 210 40% 96%;
79
- --secondary-foreground: 222.2 47.4% 11.2%;
80
- --muted: 210 40% 96%;
118
+ --popover-foreground: 222.2 84% 4.9%;
119
+
120
+ /* --primary BILEREK marka rengi DEGILDIR ve degistirilmez.
121
+ *
122
+ * Marka (mor/pembe) ayri bir ad altinda sunulur: --brand-* / --brand-accent-*
123
+ * (Tailwind: bg-brand-600, from-brand-600 to-brand-accent-600).
124
+ *
125
+ * Neden: --primary'yi mora cekmek, paketi kullanan TUM projelerin butonlarini
126
+ * surum yukseltmesinde sessizce maviden mora cevirirdi — kirici bir gorsel
127
+ * degisiklik ve tum renk akislarinin bozulmasi demekti. Marka rengi isteyen
128
+ * tuketici bilerek `bg-brand-600` yazar ya da "brand" preset'ini secer. */
129
+ --primary: 217.2 91.2% 59.8%;
130
+ --primary-foreground: 222.2 47.4% 11.2%;
131
+ --secondary: 217.2 32.6% 94%;
132
+ --secondary-foreground: 217.2 91.2% 59.8%;
133
+ --muted: 217.2 32.6% 96%;
81
134
  --muted-foreground: 215.4 16.3% 46.9%;
82
- --accent: 210 40% 96%;
83
- --accent-foreground: 222.2 47.4% 11.2%;
84
- --destructive: 0 100% 50%;
135
+ --accent: 217.2 32.6% 94%;
136
+ --accent-foreground: 217.2 91.2% 59.8%;
137
+ --destructive: 0 84.2% 60.2%;
85
138
  --destructive-foreground: 210 40% 98%;
86
139
  --border: 214.3 31.8% 91.4%;
87
140
  --input: 214.3 31.8% 91.4%;
88
- --ring: 215 20.2% 65.1%;
141
+ --ring: 217.2 91.2% 59.8%;
142
+
143
+ /* Durum renkleri. Tailwind preset'i bg-success/bg-warning/bg-error/bg-info/
144
+ * bg-caution siniflarini bu degiskenlere bagliyor; tanimsiz kalirlarsa o
145
+ * siniflar renksiz uretilir. */
146
+ --success: 142 76% 36%;
147
+ --success-foreground: 210 40% 98%;
148
+ --warning: 38 92% 50%;
149
+ --warning-foreground: 24 10% 10%;
150
+ --error: 0 84% 60%;
151
+ --error-foreground: 210 40% 98%;
152
+ --info: 217 91% 60%;
153
+ --info-foreground: 210 40% 98%;
154
+ --caution: 38 92% 50%;
155
+ --caution-foreground: 24 10% 10%;
156
+
157
+ --primary-50: 240 249 255;
158
+
159
+ /* Tailwind preset'i rounded-lg/md/sm'yi var(--radius)'a bagliyor.
160
+ * Bu degisken tanimsiz kalirsa o siniflar sessizce etkisiz olur. */
161
+ --radius: 0.5rem;
162
+
89
163
  --chart-1: 12 76% 61%;
90
164
  --chart-2: 173 58% 39%;
91
165
  --chart-3: 197 37% 24%;
@@ -0,0 +1,175 @@
1
+ /**
2
+ * MoonUI Tailwind preset
3
+ *
4
+ * Component'ler `bg-primary`, `border-border`, `rounded-lg` gibi utility'ler kullanir.
5
+ * Bu utility'ler ancak Tailwind renkleri CSS degiskenlerine baglandiginda uretilir —
6
+ * aksi halde siniflar hic olusmaz ve component'ler renksiz gorunur.
7
+ *
8
+ * Kullanim:
9
+ * // tailwind.config.js
10
+ * module.exports = {
11
+ * presets: [require("@moontra/moonui/tailwind-preset")],
12
+ * content: [
13
+ * "./src/**\/*.{ts,tsx}",
14
+ * "./node_modules/@moontra/moonui/dist/**\/*.{js,mjs}",
15
+ * ],
16
+ * };
17
+ *
18
+ * Degiskenlerin kendisi @moontra/moonui/tokens.css icinde tanimlidir; preset tek
19
+ * basina yeterli DEGILDIR, token CSS'i de import edilmelidir.
20
+ *
21
+ * `content` bilerek disarida birakildi: tuketicinin kendi dosya yollarina bagli.
22
+ */
23
+
24
+ /** @type {import('tailwindcss').Config} */
25
+ module.exports = {
26
+ darkMode: "class",
27
+ theme: {
28
+ container: {
29
+ center: true,
30
+ padding: {
31
+ DEFAULT: "1rem",
32
+ sm: "2rem",
33
+ lg: "4rem",
34
+ xl: "5rem",
35
+ "2xl": "6rem",
36
+ },
37
+ },
38
+ extend: {
39
+ colors: {
40
+ /* MoonUI marka paleti — imza gradient: from-brand-600 to-brand-accent-600.
41
+ * Degerleri tokens.css'te; Tailwind'in purple/pink paletiyle birebir ayni,
42
+ * ama artik degistirilebilir token'lar. */
43
+ brand: {
44
+ DEFAULT: "hsl(var(--brand-600) / <alpha-value>)",
45
+ 50: "hsl(var(--brand-50) / <alpha-value>)",
46
+ 100: "hsl(var(--brand-100) / <alpha-value>)",
47
+ 200: "hsl(var(--brand-200) / <alpha-value>)",
48
+ 300: "hsl(var(--brand-300) / <alpha-value>)",
49
+ 400: "hsl(var(--brand-400) / <alpha-value>)",
50
+ 500: "hsl(var(--brand-500) / <alpha-value>)",
51
+ 600: "hsl(var(--brand-600) / <alpha-value>)",
52
+ 700: "hsl(var(--brand-700) / <alpha-value>)",
53
+ 800: "hsl(var(--brand-800) / <alpha-value>)",
54
+ 900: "hsl(var(--brand-900) / <alpha-value>)",
55
+ 950: "hsl(var(--brand-950) / <alpha-value>)",
56
+ },
57
+ "brand-accent": {
58
+ DEFAULT: "hsl(var(--brand-accent-600) / <alpha-value>)",
59
+ 50: "hsl(var(--brand-accent-50) / <alpha-value>)",
60
+ 100: "hsl(var(--brand-accent-100) / <alpha-value>)",
61
+ 200: "hsl(var(--brand-accent-200) / <alpha-value>)",
62
+ 300: "hsl(var(--brand-accent-300) / <alpha-value>)",
63
+ 400: "hsl(var(--brand-accent-400) / <alpha-value>)",
64
+ 500: "hsl(var(--brand-accent-500) / <alpha-value>)",
65
+ 600: "hsl(var(--brand-accent-600) / <alpha-value>)",
66
+ 700: "hsl(var(--brand-accent-700) / <alpha-value>)",
67
+ 800: "hsl(var(--brand-accent-800) / <alpha-value>)",
68
+ 900: "hsl(var(--brand-accent-900) / <alpha-value>)",
69
+ 950: "hsl(var(--brand-accent-950) / <alpha-value>)",
70
+ },
71
+ border: "hsl(var(--border) / <alpha-value>)",
72
+ input: "hsl(var(--input) / <alpha-value>)",
73
+ ring: "hsl(var(--ring) / <alpha-value>)",
74
+ background: "hsl(var(--background) / <alpha-value>)",
75
+ foreground: "hsl(var(--foreground) / <alpha-value>)",
76
+ primary: {
77
+ DEFAULT: "hsl(var(--primary) / <alpha-value>)",
78
+ foreground: "hsl(var(--primary-foreground) / <alpha-value>)",
79
+ },
80
+ secondary: {
81
+ DEFAULT: "hsl(var(--secondary) / <alpha-value>)",
82
+ foreground: "hsl(var(--secondary-foreground) / <alpha-value>)",
83
+ },
84
+ muted: {
85
+ DEFAULT: "hsl(var(--muted) / <alpha-value>)",
86
+ foreground: "hsl(var(--muted-foreground) / <alpha-value>)",
87
+ },
88
+ accent: {
89
+ DEFAULT: "hsl(var(--accent) / <alpha-value>)",
90
+ foreground: "hsl(var(--accent-foreground) / <alpha-value>)",
91
+ },
92
+ destructive: {
93
+ DEFAULT: "hsl(var(--destructive) / <alpha-value>)",
94
+ foreground: "hsl(var(--destructive-foreground) / <alpha-value>)",
95
+ },
96
+ error: "hsl(var(--error) / <alpha-value>)",
97
+ success: {
98
+ DEFAULT: "hsl(var(--success) / <alpha-value>)",
99
+ foreground: "hsl(var(--success-foreground) / <alpha-value>)",
100
+ },
101
+ warning: {
102
+ DEFAULT: "hsl(var(--warning) / <alpha-value>)",
103
+ foreground: "hsl(var(--warning-foreground) / <alpha-value>)",
104
+ },
105
+ caution: {
106
+ DEFAULT: "hsl(var(--caution) / <alpha-value>)",
107
+ foreground: "hsl(var(--caution-foreground) / <alpha-value>)",
108
+ },
109
+ info: {
110
+ DEFAULT: "hsl(var(--info) / <alpha-value>)",
111
+ foreground: "hsl(var(--info-foreground) / <alpha-value>)",
112
+ },
113
+ card: {
114
+ DEFAULT: "hsl(var(--card) / <alpha-value>)",
115
+ foreground: "hsl(var(--card-foreground) / <alpha-value>)",
116
+ },
117
+ popover: {
118
+ DEFAULT: "hsl(var(--popover) / <alpha-value>)",
119
+ foreground: "hsl(var(--popover-foreground) / <alpha-value>)",
120
+ },
121
+ },
122
+ borderRadius: {
123
+ lg: "var(--radius)",
124
+ md: "calc(var(--radius) - 2px)",
125
+ sm: "calc(var(--radius) - 4px)",
126
+ },
127
+ fontFamily: {
128
+ sans: ["var(--font-sans)"],
129
+ mono: ["var(--font-mono)"],
130
+ },
131
+ animation: {
132
+ "accordion-down": "accordion-down 0.2s ease-out",
133
+ "accordion-up": "accordion-up 0.2s ease-out",
134
+ shake: "shake 0.5s ease-in-out",
135
+ rotate: "rotate 0.5s ease-in-out",
136
+ },
137
+ keyframes: {
138
+ "accordion-down": {
139
+ from: { height: "0" },
140
+ to: { height: "var(--radix-accordion-content-height)" },
141
+ },
142
+ "accordion-up": {
143
+ from: { height: "var(--radix-accordion-content-height)" },
144
+ to: { height: "0" },
145
+ },
146
+ shake: {
147
+ "0%, 100%": { transform: "translateX(0)" },
148
+ "10%, 30%, 50%, 70%, 90%": { transform: "translateX(-10px)" },
149
+ "20%, 40%, 60%, 80%": { transform: "translateX(10px)" },
150
+ },
151
+ rotate: {
152
+ "0%": { transform: "rotate(0deg)" },
153
+ "100%": { transform: "rotate(360deg)" },
154
+ },
155
+ },
156
+ boxShadow: {
157
+ "3xl": "0 35px 60px -15px rgba(0, 0, 0, 0.3)",
158
+ },
159
+ backgroundImage: {
160
+ "gradient-to-tr": "linear-gradient(to top right, var(--tw-gradient-stops))",
161
+ "gradient-to-tl": "linear-gradient(to top left, var(--tw-gradient-stops))",
162
+ "gradient-to-br": "linear-gradient(to bottom right, var(--tw-gradient-stops))",
163
+ "gradient-to-bl": "linear-gradient(to bottom left, var(--tw-gradient-stops))",
164
+ },
165
+ borderColor: {
166
+ error: "hsl(var(--error) / <alpha-value>)",
167
+ success: "hsl(var(--success) / <alpha-value>)",
168
+ warning: "hsl(var(--warning) / <alpha-value>)",
169
+ caution: "hsl(var(--caution) / <alpha-value>)",
170
+ info: "hsl(var(--info) / <alpha-value>)",
171
+ },
172
+ },
173
+ },
174
+ plugins: [],
175
+ };