PluginProbe
ThinkRank AI SEO – AI SEO Plugin for WordPress: Schema, XML Sitemaps, Meta Tags, Search Console & Local SEO / 1.0.0
ThinkRank AI SEO – AI SEO Plugin for WordPress: Schema, XML Sitemaps, Meta Tags, Search Console & Local SEO v1.0.0
2.7.0 2.6.0 2.5.0 2.4.0 2.3.0 2.2.0 2.1.1 2.1.0 2.0.2 2.0.1 2.0.0 1.32.0 1.31.0 1.30.0 1.29.0 1.28.0 1.27.0 1.26.0 1.25.0 trunk 1.0.0 1.0.1 1.0.2 1.1.0 1.10.0 All 48 releases
thinkrank / src / admin / styles / _variables.scss

_variables.scss in ThinkRank AI SEO – AI SEO Plugin for WordPress: Schema, XML Sitemaps, Meta Tags, Search Console & Local SEO 1.0.0, at src/admin/styles/_variables.scss

280 lines 6.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * SCSS Variables
3 *
4 * Centralized design tokens for consistent theming
5 *
6 * @package ThinkRank
7 * @since 1.0.0
8 */
9
10 // Color Palette
11 $primary-blue: #2563eb;
12 $primary-blue-dark: #1d4ed8;
13 $primary-blue-light: #3b82f6;
14
15 $success-green: #22c55e;
16 $success-green-dark: #16a34a;
17 $success-green-light: #34d399;
18
19 $warning-orange: #f59e0b;
20 $warning-orange-dark: #d97706;
21 $warning-orange-light: #fbbf24;
22
23 $error-red: #ef4444;
24 $error-red-dark: #dc2626;
25 $error-red-light: #f87171;
26
27 $purple: #8b5cf6;
28 $purple-dark: #7c3aed;
29 $purple-light: #a78bfa;
30
31 // Neutral Colors
32 $gray-50: #f9fafb;
33 $gray-100: #f3f4f6;
34 $gray-200: #e5e7eb;
35 $gray-300: #d1d5db;
36 $gray-400: #9ca3af;
37 $gray-500: #6b7280;
38 $gray-600: #4b5563;
39 $gray-700: #374151;
40 $gray-800: #1f2937;
41 $gray-900: #111827;
42
43 $white: #ffffff;
44 $black: #000000;
45
46 // Provider Colors
47 $openai-green: #10a37f;
48 $openai-green-dark: #0d8f6f;
49 $claude-orange: #d97757;
50 $claude-orange-dark: #c96643;
51
52 // Background Colors
53 $bg-primary: $white;
54 $bg-secondary: $gray-50;
55 $bg-tertiary: $gray-100;
56
57 // Text Colors
58 $text-primary: $gray-900;
59 $text-secondary: $gray-700;
60 $text-tertiary: $gray-500;
61 $text-muted: $gray-400;
62
63 // Border Colors
64 $border-light: $gray-200;
65 $border-medium: $gray-300;
66 $border-dark: $gray-400;
67
68 // Spacing Scale
69 $spacing-xs: 0.25rem; // 4px
70 $spacing-sm: 0.5rem; // 8px
71 $spacing-md: 0.75rem; // 12px
72 $spacing-lg: 1rem; // 16px
73 $spacing-xl: 1.25rem; // 20px
74 $spacing-2xl: 1.5rem; // 24px
75 $spacing-3xl: 2rem; // 32px
76 $spacing-4xl: 2.5rem; // 40px
77 $spacing-5xl: 3rem; // 48px
78
79 // Enhanced Spacing Scale Map (for utility generation)
80 $spacing-scale: (
81 0: 0,
82 1: $spacing-xs, // 0.25rem
83 2: $spacing-sm, // 0.5rem
84 3: $spacing-md, // 0.75rem
85 4: $spacing-lg, // 1rem
86 5: $spacing-xl, // 1.25rem
87 6: $spacing-2xl, // 1.5rem
88 8: $spacing-3xl, // 2rem
89 10: $spacing-4xl, // 2.5rem
90 12: $spacing-5xl, // 3rem
91 16: 4rem, // 64px
92 20: 5rem, // 80px
93 24: 6rem // 96px
94 );
95
96 // Typography
97 $font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
98 $font-family-mono: 'SFMono-Regular', 'Monaco', 'Inconsolata', 'Roboto Mono', monospace;
99
100 $font-size-xs: 0.75rem; // 12px
101 $font-size-sm: 0.875rem; // 14px
102 $font-size-base: 1rem; // 16px
103 $font-size-lg: 1.125rem; // 18px
104 $font-size-xl: 1.25rem; // 20px
105 $font-size-2xl: 1.5rem; // 24px
106 $font-size-3xl: 1.875rem; // 30px
107 $font-size-4xl: 2.25rem; // 36px
108
109 // Enhanced Typography Scale Map (for utility generation)
110 $font-sizes: (
111 xs: $font-size-xs,
112 sm: $font-size-sm,
113 base: $font-size-base,
114 lg: $font-size-lg,
115 xl: $font-size-xl,
116 2xl: $font-size-2xl,
117 3xl: $font-size-3xl,
118 4xl: $font-size-4xl
119 );
120
121 $font-weight-normal: 400;
122 $font-weight-medium: 500;
123 $font-weight-semibold: 600;
124 $font-weight-bold: 700;
125
126 $line-height-tight: 1.25;
127 $line-height-normal: 1.5;
128 $line-height-relaxed: 1.75;
129
130 // Border Radius
131 $radius-sm: 4px;
132 $radius-md: 6px;
133 $radius-lg: 8px;
134 $radius-xl: 12px;
135 $radius-2xl: 16px;
136 $radius-3xl: 20px;
137 $radius-full: 9999px;
138
139 // Enhanced Border Radius Scale Map (for utility generation)
140 $border-radius: (
141 none: 0,
142 sm: $radius-sm,
143 base: $radius-md,
144 md: $radius-md,
145 lg: $radius-lg,
146 xl: $radius-xl,
147 2xl: $radius-2xl,
148 3xl: $radius-3xl,
149 full: $radius-full
150 );
151
152 // Shadows
153 $shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
154 $shadow-md: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
155 $shadow-lg: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
156 $shadow-xl: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
157 $shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
158
159 // Transitions
160 $transition-fast: 0.15s ease-in-out;
161 $transition-normal: 0.2s ease-in-out;
162 $transition-slow: 0.3s ease-in-out;
163
164 // Z-index Scale
165 $z-dropdown: 1000;
166 $z-sticky: 1020;
167 $z-fixed: 1030;
168 $z-modal-backdrop: 1040;
169 $z-modal: 1050;
170 $z-popover: 1060;
171 $z-tooltip: 1070;
172
173 // Breakpoints
174 $breakpoint-sm: 640px;
175 $breakpoint-md: 768px;
176 $breakpoint-lg: 1024px;
177 $breakpoint-xl: 1280px;
178 $breakpoint-2xl: 1536px;
179
180 // Container Widths
181 $container-sm: 640px;
182 $container-md: 768px;
183 $container-lg: 1024px;
184 $container-xl: 1280px;
185 $container-2xl: 1400px;
186
187 // Component Specific Variables
188
189 // Buttons
190 $button-height-sm: 2rem;
191 $button-height-md: 2.5rem;
192 $button-height-lg: 3rem;
193
194 $button-padding-sm: $spacing-sm $spacing-md;
195 $button-padding-md: $spacing-md $spacing-lg;
196 $button-padding-lg: $spacing-lg $spacing-xl;
197
198 // Cards
199 $card-padding: $spacing-2xl;
200 $card-border-radius: $radius-xl;
201 $card-shadow: $shadow-md;
202
203 // Forms
204 $input-height: 2.75rem;
205 $input-padding: $spacing-md $spacing-lg;
206 $input-border-radius: $radius-md;
207
208 // Dashboard
209 $dashboard-card-min-height: 140px;
210 $dashboard-gap: $spacing-2xl;
211 $dashboard-icon-size: 3rem;
212
213 // Header
214 $header-height: 4rem;
215 $header-padding: $spacing-lg $spacing-xl;
216
217 // Sidebar
218 $sidebar-width: 200px;
219 $sidebar-gap: $spacing-md;
220
221 // Animation Curves
222 $ease-in-out-cubic: cubic-bezier(0.4, 0, 0.2, 1);
223 $ease-out-cubic: cubic-bezier(0, 0, 0.2, 1);
224 $ease-in-cubic: cubic-bezier(0.4, 0, 1, 1);
225
226 // Gradients
227 $gradient-primary: linear-gradient(135deg, #{$primary-blue} 0%, #{$primary-blue-light} 100%);
228 $gradient-success: linear-gradient(135deg, #{$success-green} 0%, #{$success-green-light} 100%);
229 $gradient-warning: linear-gradient(135deg, #{$warning-orange} 0%, #{$warning-orange-light} 100%);
230 $gradient-card: linear-gradient(135deg, #{$white} 0%, #{$gray-50} 100%);
231
232 // Provider Gradients
233 $gradient-openai: linear-gradient(135deg, #{$openai-green} 0%, #{$openai-green-dark} 100%);
234 $gradient-claude: linear-gradient(135deg, #{$claude-orange} 0%, #{$claude-orange-dark} 100%);
235
236 // Utility Mixins
237 @mixin flex-center {
238 display: flex;
239 align-items: center;
240 justify-content: center;
241 }
242
243 @mixin flex-between {
244 display: flex;
245 align-items: center;
246 justify-content: space-between;
247 }
248
249 @mixin truncate {
250 overflow: hidden;
251 text-overflow: ellipsis;
252 white-space: nowrap;
253 }
254
255 @mixin visually-hidden {
256 position: absolute;
257 width: 1px;
258 height: 1px;
259 padding: 0;
260 margin: -1px;
261 overflow: hidden;
262 clip: rect(0, 0, 0, 0);
263 white-space: nowrap;
264 border: 0;
265 }
266
267 @mixin focus-ring {
268 outline: none;
269 box-shadow: 0 0 0 2px $primary-blue;
270 }
271
272 @mixin card-hover {
273 transition: all $transition-normal;
274
275 &:hover {
276 transform: translateY(-2px);
277 box-shadow: $shadow-lg;
278 }
279 }
280