osi-cards-lib 1.5.30 → 1.5.32
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/README.md +58 -20
- package/package.json +13 -25
- package/postcss.config.js +81 -0
- package/section-registry.json +3864 -0
- package/section-registry.schema.json +264 -0
- package/fesm2022/osi-cards-lib.mjs +0 -31878
- package/fesm2022/osi-cards-lib.mjs.map +0 -1
- package/index.d.ts +0 -11522
- package/scripts/setup-angular-styles.js +0 -169
- package/styles/_components.scss +0 -38
- package/styles/_index.scss +0 -25
- package/styles/_osi-cards-mixins.scss +0 -459
- package/styles/_osi-cards-tokens.scss +0 -333
- package/styles/_styles-scoped.scss +0 -81
- package/styles/_styles.scss +0 -26
- package/styles/bundles/_ai-card.scss +0 -245
- package/styles/bundles/_all.scss +0 -68
- package/styles/bundles/_base.scss +0 -60
- package/styles/bundles/_card-skeleton.scss +0 -290
- package/styles/bundles/_index.scss +0 -25
- package/styles/bundles/_sections.scss +0 -48
- package/styles/bundles/_tokens-only.scss +0 -139
- package/styles/components/_ai-card-renderer.scss +0 -104
- package/styles/components/_badges.scss +0 -317
- package/styles/components/_card-actions.scss +0 -169
- package/styles/components/_card-footer.scss +0 -47
- package/styles/components/_component-styles.scss +0 -205
- package/styles/components/_empty-state.scss +0 -630
- package/styles/components/_hero-card.scss +0 -422
- package/styles/components/_image-fallback.scss +0 -28
- package/styles/components/_streaming-effects.scss +0 -518
- package/styles/components/cards/_ai-card.scss +0 -718
- package/styles/components/sections/_all-sections.generated.scss +0 -41
- package/styles/components/sections/_all-sections.scss +0 -1086
- package/styles/components/sections/_balanced-compact-system.scss +0 -186
- package/styles/components/sections/_compact-mixins.scss +0 -180
- package/styles/components/sections/_component-mixins.scss +0 -454
- package/styles/components/sections/_design-system.scss +0 -477
- package/styles/components/sections/_design-tokens.scss +0 -308
- package/styles/components/sections/_enhanced-design-variables.scss +0 -147
- package/styles/components/sections/_master-compact-system.scss +0 -302
- package/styles/components/sections/_master-dense-system.scss +0 -239
- package/styles/components/sections/_minimalistic-design.scss +0 -268
- package/styles/components/sections/_modern-effects.scss +0 -392
- package/styles/components/sections/_modern-sections.scss +0 -351
- package/styles/components/sections/_perfect-system.scss +0 -204
- package/styles/components/sections/_section-animations.scss +0 -331
- package/styles/components/sections/_section-shell.scss +0 -337
- package/styles/components/sections/_section-types.generated.scss +0 -30
- package/styles/components/sections/_sections-all.scss +0 -26
- package/styles/components/sections/_sections-base.scss +0 -334
- package/styles/components/sections/_typography-system.scss +0 -327
- package/styles/components/sections/_ultra-compact-tokens.scss +0 -375
- package/styles/components/sections/_unified-section-style.scss +0 -157
- package/styles/components/sections/_utility-classes.scss +0 -567
- package/styles/components/sections/_visual-effects-library.scss +0 -374
- package/styles/core/_animations.scss +0 -1498
- package/styles/core/_bootstrap-reset.scss +0 -445
- package/styles/core/_color-helpers.scss +0 -46
- package/styles/core/_global-unified.scss +0 -118
- package/styles/core/_global.scss +0 -73
- package/styles/core/_mixins.scss +0 -491
- package/styles/core/_surface-layers.scss +0 -76
- package/styles/core/_utilities.scss +0 -326
- package/styles/core/_variables-unified.scss +0 -57
- package/styles/core/_variables.scss +0 -36
- package/styles/core/variables/_colors-source.scss +0 -34
- package/styles/core/variables/_colors-unified.scss +0 -26
- package/styles/core/variables/_colors.scss +0 -21
- package/styles/critical.scss +0 -353
- package/styles/design-system/_compact-theme.scss +0 -159
- package/styles/design-system/_section-base.scss +0 -426
- package/styles/design-system/_tokens.scss +0 -237
- package/styles/design-system/_unified-sections.scss +0 -215
- package/styles/layout/_feature-grid.scss +0 -322
- package/styles/layout/_masonry.scss +0 -734
- package/styles/layout/_tilt.scss +0 -244
- package/styles/micro-interactions.scss +0 -583
- package/styles/mixins/_section-mixins.scss +0 -280
- package/styles/non-critical.scss +0 -643
- package/styles/reset/_framework-reset.scss +0 -457
- package/styles/reset/_index.scss +0 -14
- package/styles/reset/_shadow-reset.scss +0 -383
- package/styles/responsive.scss +0 -326
- package/styles/themes.scss +0 -573
- package/styles/tokens/_index.scss +0 -92
- package/styles/tokens/_master.scss +0 -1404
- package/styles/tokens/_section-tokens.generated.scss +0 -140
|
@@ -1,308 +0,0 @@
|
|
|
1
|
-
// =====================================================================
|
|
2
|
-
// ENHANCED DESIGN TOKENS
|
|
3
|
-
// =====================================================================
|
|
4
|
-
//
|
|
5
|
-
// Comprehensive token system for consistent, scalable design.
|
|
6
|
-
// All tokens use CSS variables for theme-ability and runtime changes.
|
|
7
|
-
//
|
|
8
|
-
// =====================================================================
|
|
9
|
-
|
|
10
|
-
@use "../../tokens/master" as *;
|
|
11
|
-
|
|
12
|
-
// =====================================================================
|
|
13
|
-
// RESPONSIVE BREAKPOINTS
|
|
14
|
-
// =====================================================================
|
|
15
|
-
|
|
16
|
-
@mixin mobile {
|
|
17
|
-
@media (max-width: 480px) {
|
|
18
|
-
@content;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
@mixin tablet {
|
|
23
|
-
@media (max-width: 768px) {
|
|
24
|
-
@content;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
@mixin desktop {
|
|
29
|
-
@media (min-width: 1024px) {
|
|
30
|
-
@content;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
// =====================================================================
|
|
35
|
-
// SPACING SCALE (8px base)
|
|
36
|
-
// =====================================================================
|
|
37
|
-
|
|
38
|
-
$spacing-scale: (
|
|
39
|
-
"none": 0,
|
|
40
|
-
"xs": 4px,
|
|
41
|
-
"sm": 8px,
|
|
42
|
-
"md": 12px,
|
|
43
|
-
"base": 16px,
|
|
44
|
-
"lg": 24px,
|
|
45
|
-
"xl": 32px,
|
|
46
|
-
"2xl": 48px,
|
|
47
|
-
"3xl": 64px,
|
|
48
|
-
) !default;
|
|
49
|
-
|
|
50
|
-
@function spacing($key) {
|
|
51
|
-
@return map-get($spacing-scale, $key);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
// Export as CSS variables - BALANCED: Compact but Comfortable
|
|
55
|
-
:root {
|
|
56
|
-
--spacing-none: 0;
|
|
57
|
-
--spacing-xs: 4px; // Tight spacing
|
|
58
|
-
--spacing-sm: 8px; // Small spacing
|
|
59
|
-
--spacing-md: 12px; // Medium spacing (comfortable)
|
|
60
|
-
--spacing-base: 16px; // Base spacing
|
|
61
|
-
--spacing-lg: 20px; // Large spacing (comfortable)
|
|
62
|
-
--spacing-xl: 28px; // Extra large
|
|
63
|
-
--spacing-2xl: 40px; // 2XL
|
|
64
|
-
--spacing-3xl: 56px; // 3XL
|
|
65
|
-
|
|
66
|
-
// Compact mode variations (for denser layouts when needed)
|
|
67
|
-
--spacing-compact-xs: 3px;
|
|
68
|
-
--spacing-compact-sm: 6px;
|
|
69
|
-
--spacing-compact-md: 9px;
|
|
70
|
-
--spacing-compact-base: 12px;
|
|
71
|
-
--spacing-compact-lg: 16px;
|
|
72
|
-
|
|
73
|
-
// Section-specific sizing - BALANCED for good UX
|
|
74
|
-
--section-card-min-height: 110px; // Comfortable (was 120px, not 90px)
|
|
75
|
-
--section-card-compact-height: 90px; // Compact variant
|
|
76
|
-
--section-header-gap: var(--spacing-md); // 12px - comfortable readability
|
|
77
|
-
--section-content-gap: var(--spacing-sm); // 8px - good separation
|
|
78
|
-
--section-card-gap: var(--spacing-md); // 12px - visual breathing room
|
|
79
|
-
--section-card-padding: var(--spacing-md); // 12px - comfortable
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
// =====================================================================
|
|
83
|
-
// TYPOGRAPHY SCALE
|
|
84
|
-
// =====================================================================
|
|
85
|
-
|
|
86
|
-
$font-sizes: (
|
|
87
|
-
"xs": 0.625rem,
|
|
88
|
-
// 10px (was 10.4px)
|
|
89
|
-
"sm": 0.7rem,
|
|
90
|
-
// 11.2px (was 12px)
|
|
91
|
-
"base": 0.8125rem,
|
|
92
|
-
// 13px (was 14px)
|
|
93
|
-
"md": 0.9375rem,
|
|
94
|
-
// 15px (was 16px)
|
|
95
|
-
"lg": 1.0625rem,
|
|
96
|
-
// 17px (was 18px)
|
|
97
|
-
"xl": 1.1875rem,
|
|
98
|
-
// 19px (was 20px)
|
|
99
|
-
"2xl": 1.375rem,
|
|
100
|
-
// 22px (was 24px)
|
|
101
|
-
"3xl": 1.75rem,
|
|
102
|
-
// 28px (was 30px)
|
|
103
|
-
"4xl": 2.125rem, // 34px (was 36px)
|
|
104
|
-
) !default;
|
|
105
|
-
|
|
106
|
-
$font-weights: (
|
|
107
|
-
"light": 300,
|
|
108
|
-
"normal": 400,
|
|
109
|
-
"medium": 500,
|
|
110
|
-
"semibold": 600,
|
|
111
|
-
"bold": 700,
|
|
112
|
-
"extrabold": 800,
|
|
113
|
-
) !default;
|
|
114
|
-
|
|
115
|
-
$line-heights: (
|
|
116
|
-
"tight": 1.25,
|
|
117
|
-
"snug": 1.375,
|
|
118
|
-
"normal": 1.5,
|
|
119
|
-
"relaxed": 1.625,
|
|
120
|
-
"loose": 2,
|
|
121
|
-
) !default;
|
|
122
|
-
|
|
123
|
-
:root {
|
|
124
|
-
// Font sizes - BALANCED: Compact but readable hierarchy
|
|
125
|
-
--text-xs: 0.6875rem; // 11px - Small labels, captions
|
|
126
|
-
--text-sm: 0.75rem; // 12px - Secondary text, metadata
|
|
127
|
-
--text-base: 0.8125rem; // 13px - Body text, item titles (H5)
|
|
128
|
-
--text-md: 0.875rem; // 14px - Emphasized text, small headers (H6)
|
|
129
|
-
--text-lg: 1.0625rem; // 17px - Sub-headers (H4)
|
|
130
|
-
--text-xl: 1.1875rem; // 19px - Section headers (H3)
|
|
131
|
-
--text-2xl: 1.375rem; // 22px - Page headers (H2)
|
|
132
|
-
--text-3xl: 1.625rem; // 26px - Large headers (H1)
|
|
133
|
-
--text-4xl: 2rem; // 32px - Hero text
|
|
134
|
-
|
|
135
|
-
// Font weights
|
|
136
|
-
--font-light: 300;
|
|
137
|
-
--font-normal: 400;
|
|
138
|
-
--font-medium: 500;
|
|
139
|
-
--font-semibold: 600;
|
|
140
|
-
--font-bold: 700;
|
|
141
|
-
--font-extrabold: 800;
|
|
142
|
-
|
|
143
|
-
// Line heights - COMPACT MODE (tighter)
|
|
144
|
-
--leading-tight: 1.2; // Was 1.25
|
|
145
|
-
--leading-snug: 1.3; // Was 1.375
|
|
146
|
-
--leading-normal: 1.4; // Was 1.5
|
|
147
|
-
--leading-relaxed: 1.5; // Was 1.625
|
|
148
|
-
--leading-loose: 1.75; // Was 2
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
// =====================================================================
|
|
152
|
-
// BORDER RADIUS SCALE
|
|
153
|
-
// =====================================================================
|
|
154
|
-
|
|
155
|
-
:root {
|
|
156
|
-
--radius-none: 0;
|
|
157
|
-
--radius-xs: 2px;
|
|
158
|
-
--radius-sm: 3px; // Was 4px
|
|
159
|
-
--radius-md: 5px; // Was 6px
|
|
160
|
-
--radius-lg: 7px; // Was 8px
|
|
161
|
-
--radius-xl: 10px; // Was 12px
|
|
162
|
-
--radius-2xl: 14px; // Was 16px
|
|
163
|
-
--radius-full: 9999px;
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
// =====================================================================
|
|
167
|
-
// SHADOWS (Layered, Subtle)
|
|
168
|
-
// =====================================================================
|
|
169
|
-
|
|
170
|
-
:root {
|
|
171
|
-
// Subtle shadows for cards
|
|
172
|
-
--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
|
|
173
|
-
--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1);
|
|
174
|
-
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
|
|
175
|
-
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
|
|
176
|
-
--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
|
|
177
|
-
--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
|
|
178
|
-
|
|
179
|
-
// Inner shadows
|
|
180
|
-
--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.05);
|
|
181
|
-
|
|
182
|
-
// Glow effects
|
|
183
|
-
--glow-sm: 0 0 10px rgba(var(--accent-rgb), 0.15);
|
|
184
|
-
--glow-md: 0 0 20px rgba(var(--accent-rgb), 0.2);
|
|
185
|
-
--glow-lg: 0 0 30px rgba(var(--accent-rgb), 0.25);
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
// Dark mode shadows (stronger)
|
|
189
|
-
@media (prefers-color-scheme: dark) {
|
|
190
|
-
:root {
|
|
191
|
-
--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.2);
|
|
192
|
-
--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.3), 0 1px 2px -1px rgba(0, 0, 0, 0.3);
|
|
193
|
-
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -2px rgba(0, 0, 0, 0.3);
|
|
194
|
-
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -4px rgba(0, 0, 0, 0.4);
|
|
195
|
-
--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.5);
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
// =====================================================================
|
|
200
|
-
// TRANSITIONS & TIMING
|
|
201
|
-
// =====================================================================
|
|
202
|
-
|
|
203
|
-
:root {
|
|
204
|
-
// Durations
|
|
205
|
-
--duration-fast: 150ms;
|
|
206
|
-
--duration-base: 200ms;
|
|
207
|
-
--duration-slow: 300ms;
|
|
208
|
-
--duration-slower: 500ms;
|
|
209
|
-
|
|
210
|
-
// Timing functions
|
|
211
|
-
--ease-in: cubic-bezier(0.4, 0, 1, 1);
|
|
212
|
-
--ease-out: cubic-bezier(0, 0, 0.2, 1);
|
|
213
|
-
--ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
|
|
214
|
-
--ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
|
|
215
|
-
--ease-smooth: cubic-bezier(0.4, 0, 0.6, 1);
|
|
216
|
-
|
|
217
|
-
// Composite transitions
|
|
218
|
-
--transition-base: all var(--duration-base) var(--ease-out);
|
|
219
|
-
--transition-fast: all var(--duration-fast) var(--ease-out);
|
|
220
|
-
--transition-slow: all var(--duration-slow) var(--ease-out);
|
|
221
|
-
--transition-colors:
|
|
222
|
-
background-color var(--duration-base) var(--ease-out),
|
|
223
|
-
border-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);
|
|
224
|
-
--transition-shadow: box-shadow var(--duration-base) var(--ease-out);
|
|
225
|
-
--transition-transform: transform var(--duration-base) var(--ease-out);
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
// =====================================================================
|
|
229
|
-
// Z-INDEX SCALE
|
|
230
|
-
// =====================================================================
|
|
231
|
-
|
|
232
|
-
:root {
|
|
233
|
-
--z-base: 1;
|
|
234
|
-
--z-dropdown: 100;
|
|
235
|
-
--z-sticky: 200;
|
|
236
|
-
--z-fixed: 300;
|
|
237
|
-
--z-modal-backdrop: 400;
|
|
238
|
-
--z-modal: 500;
|
|
239
|
-
--z-popover: 600;
|
|
240
|
-
--z-tooltip: 700;
|
|
241
|
-
--z-toast: 800;
|
|
242
|
-
--z-max: 9999;
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
// =====================================================================
|
|
246
|
-
// BLUR & BACKDROP EFFECTS
|
|
247
|
-
// =====================================================================
|
|
248
|
-
|
|
249
|
-
:root {
|
|
250
|
-
--blur-none: 0;
|
|
251
|
-
--blur-sm: 4px;
|
|
252
|
-
--blur-md: 8px;
|
|
253
|
-
--blur-lg: 16px;
|
|
254
|
-
--blur-xl: 24px;
|
|
255
|
-
|
|
256
|
-
// Glass morphism
|
|
257
|
-
--glass-bg: rgba(255, 255, 255, 0.7);
|
|
258
|
-
--glass-border: rgba(255, 255, 255, 0.2);
|
|
259
|
-
--glass-blur: var(--blur-md);
|
|
260
|
-
}
|
|
261
|
-
|
|
262
|
-
@media (prefers-color-scheme: dark) {
|
|
263
|
-
:root {
|
|
264
|
-
--glass-bg: rgba(0, 0, 0, 0.4);
|
|
265
|
-
--glass-border: rgba(255, 255, 255, 0.1);
|
|
266
|
-
}
|
|
267
|
-
}
|
|
268
|
-
|
|
269
|
-
// =====================================================================
|
|
270
|
-
// OPACITY SCALE
|
|
271
|
-
// =====================================================================
|
|
272
|
-
|
|
273
|
-
:root {
|
|
274
|
-
--opacity-0: 0;
|
|
275
|
-
--opacity-5: 0.05;
|
|
276
|
-
--opacity-10: 0.1;
|
|
277
|
-
--opacity-20: 0.2;
|
|
278
|
-
--opacity-30: 0.3;
|
|
279
|
-
--opacity-40: 0.4;
|
|
280
|
-
--opacity-50: 0.5;
|
|
281
|
-
--opacity-60: 0.6;
|
|
282
|
-
--opacity-70: 0.7;
|
|
283
|
-
--opacity-80: 0.8;
|
|
284
|
-
--opacity-90: 0.9;
|
|
285
|
-
--opacity-100: 1;
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
// =====================================================================
|
|
289
|
-
// ENHANCED COLOR UTILITIES
|
|
290
|
-
// =====================================================================
|
|
291
|
-
|
|
292
|
-
:root {
|
|
293
|
-
// Surface colors
|
|
294
|
-
--surface-base: var(--osi-section-item-background);
|
|
295
|
-
--surface-raised: var(--osi-section-item-background-hover);
|
|
296
|
-
--surface-overlay: var(--glass-bg);
|
|
297
|
-
|
|
298
|
-
// Border colors
|
|
299
|
-
--border-light: rgba(var(--foreground-rgb), 0.08);
|
|
300
|
-
--border-base: var(--border);
|
|
301
|
-
--border-strong: rgba(var(--foreground-rgb), 0.2);
|
|
302
|
-
|
|
303
|
-
// Interactive states
|
|
304
|
-
--state-hover-opacity: 0.08;
|
|
305
|
-
--state-active-opacity: 0.12;
|
|
306
|
-
--state-focus-opacity: 0.16;
|
|
307
|
-
--state-disabled-opacity: 0.5;
|
|
308
|
-
}
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
// =====================================================================
|
|
2
|
-
// ENHANCED DESIGN VARIABLES - Flexible & Customizable
|
|
3
|
-
// =====================================================================
|
|
4
|
-
// More design variables for greater control and beautiful sections
|
|
5
|
-
|
|
6
|
-
@use "design-tokens" as *;
|
|
7
|
-
|
|
8
|
-
// ═══════════════════════════════════════════════════════════════════
|
|
9
|
-
// ENHANCED SPACING - Balanced (Not Too Cramped)
|
|
10
|
-
// ═══════════════════════════════════════════════════════════════════
|
|
11
|
-
|
|
12
|
-
:root {
|
|
13
|
-
// Card/Item padding (comfortable, not cramped)
|
|
14
|
-
--osi-card-padding-comfortable: var(--space-3); // Balanced
|
|
15
|
-
--osi-card-padding-compact: var(--space-2); // Slightly tight
|
|
16
|
-
--osi-card-padding-dense: var(--space-2); // Dense
|
|
17
|
-
|
|
18
|
-
// Grid gaps (visual breathing room)
|
|
19
|
-
--osi-grid-gap-comfortable: var(--space-3); // Good visual separation
|
|
20
|
-
--osi-grid-gap-compact: var(--space-2); // Less separation
|
|
21
|
-
--osi-grid-gap-dense: var(--gap-md); // Tight
|
|
22
|
-
|
|
23
|
-
// Item gaps (within cards)
|
|
24
|
-
--osi-item-internal-gap: var(--gap-md); // Between elements in card
|
|
25
|
-
--osi-item-compact-gap: var(--gap-sm); // Compact
|
|
26
|
-
|
|
27
|
-
// Section gaps
|
|
28
|
-
--osi-section-gap-comfortable: var(--space-4); // Between major sections
|
|
29
|
-
--osi-section-gap-compact: var(--space-2); // Compact
|
|
30
|
-
|
|
31
|
-
// Defaults (comfortable for readability)
|
|
32
|
-
--osi-default-card-padding: var(--osi-card-padding-comfortable);
|
|
33
|
-
--osi-default-grid-gap: var(--osi-grid-gap-comfortable);
|
|
34
|
-
--osi-default-item-gap: var(--osi-item-internal-gap);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
// ═══════════════════════════════════════════════════════════════════
|
|
38
|
-
// TYPOGRAPHY VARIABLES - More Hierarchy Control
|
|
39
|
-
// ═══════════════════════════════════════════════════════════════════
|
|
40
|
-
|
|
41
|
-
:root {
|
|
42
|
-
// Section-level typography
|
|
43
|
-
--osi-section-title-size: var(--text-xl); // 19px
|
|
44
|
-
--osi-section-title-weight: var(--font-bold); // 700
|
|
45
|
-
--osi-section-title-line-height: var(--leading-tight);
|
|
46
|
-
|
|
47
|
-
--osi-section-description-size: var(--text-sm); // 12px
|
|
48
|
-
--osi-section-description-weight: var(--font-normal);
|
|
49
|
-
--osi-section-description-line-height: var(--leading-relaxed);
|
|
50
|
-
|
|
51
|
-
// Item-level typography
|
|
52
|
-
--osi-item-title-size: var(--text-base); // 13px
|
|
53
|
-
--osi-item-title-weight: var(--font-semibold); // 600
|
|
54
|
-
--osi-item-title-line-height: var(--leading-snug);
|
|
55
|
-
|
|
56
|
-
--osi-item-label-size: var(--text-xs); // 11px
|
|
57
|
-
--osi-item-label-weight: var(--font-medium); // 500
|
|
58
|
-
--osi-item-label-line-height: var(--leading-tight);
|
|
59
|
-
|
|
60
|
-
--osi-item-value-size: var(--text-md); // 14px
|
|
61
|
-
--osi-item-value-weight: var(--font-semibold); // 600
|
|
62
|
-
--osi-item-value-line-height: var(--leading-normal);
|
|
63
|
-
|
|
64
|
-
// Metric/Number displays
|
|
65
|
-
--osi-metric-value-size: var(--text-2xl); // 22px
|
|
66
|
-
--osi-metric-value-weight: var(--font-bold); // 700
|
|
67
|
-
--osi-metric-label-size: var(--text-xs); // 11px
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
// ═══════════════════════════════════════════════════════════════════
|
|
71
|
-
// VISUAL EFFECTS VARIABLES - Depth & Polish
|
|
72
|
-
// ═══════════════════════════════════════════════════════════════════
|
|
73
|
-
|
|
74
|
-
:root {
|
|
75
|
-
// Hover transforms
|
|
76
|
-
--osi-hover-lift: calc(var(--motion-distance-sm) * -1); // Lift on hover
|
|
77
|
-
--osi-hover-slide: var(--motion-distance-lg); // Slide on hover
|
|
78
|
-
--osi-hover-scale: var(--motion-scale-soft-end); // Scale on hover
|
|
79
|
-
|
|
80
|
-
// Shadow depths
|
|
81
|
-
--osi-card-shadow-rest: var(--shadow-sm);
|
|
82
|
-
--osi-card-shadow-hover: var(--shadow-md);
|
|
83
|
-
--osi-card-shadow-active: var(--shadow-xs);
|
|
84
|
-
|
|
85
|
-
// Border thickness
|
|
86
|
-
--osi-border-thin: var(--border-width-default);
|
|
87
|
-
--osi-border-medium: var(--border-width-accent-sm);
|
|
88
|
-
--osi-border-thick: var(--border-width-accent);
|
|
89
|
-
|
|
90
|
-
// Transition speeds
|
|
91
|
-
--osi-transition-fast: var(--duration-fast);
|
|
92
|
-
--osi-transition-normal: var(--duration-normal);
|
|
93
|
-
--osi-transition-slow: var(--duration-slow);
|
|
94
|
-
|
|
95
|
-
// Background overlays (for effects)
|
|
96
|
-
--osi-overlay-subtle: #{$white-05};
|
|
97
|
-
--osi-overlay-medium: #{$white-10};
|
|
98
|
-
--osi-overlay-strong: #{$white-15};
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
// ═══════════════════════════════════════════════════════════════════
|
|
102
|
-
// CARD APPEARANCE VARIABLES - Easy Customization
|
|
103
|
-
// ═══════════════════════════════════════════════════════════════════
|
|
104
|
-
|
|
105
|
-
:root {
|
|
106
|
-
// Card backgrounds
|
|
107
|
-
--osi-card-background: var(--surface);
|
|
108
|
-
--osi-card-background-hover: var(--surface-raised);
|
|
109
|
-
|
|
110
|
-
// Card borders
|
|
111
|
-
--osi-card-border-color: var(--border);
|
|
112
|
-
--osi-card-border-width: var(--osi-border-thin);
|
|
113
|
-
--osi-card-border-radius: var(--radius-md);
|
|
114
|
-
|
|
115
|
-
// Accent elements
|
|
116
|
-
--osi-accent-border-width: var(--border-width-accent);
|
|
117
|
-
--osi-accent-line-thickness: var(--border-width-accent-sm);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
// ═══════════════════════════════════════════════════════════════════
|
|
121
|
-
// GRID CUSTOMIZATION VARIABLES
|
|
122
|
-
// ═══════════════════════════════════════════════════════════════════
|
|
123
|
-
|
|
124
|
-
:root {
|
|
125
|
-
// Min widths for different card sizes
|
|
126
|
-
--osi-grid-min-tiny: 100px; // Very small cards
|
|
127
|
-
--osi-grid-min-small: 140px; // Analytics, metrics
|
|
128
|
-
--osi-grid-min-medium: 200px; // Contacts, products
|
|
129
|
-
--osi-grid-min-large: 280px; // Gallery, news
|
|
130
|
-
|
|
131
|
-
// Card heights
|
|
132
|
-
--osi-card-height-small: 100px; // Metrics
|
|
133
|
-
--osi-card-height-medium: 140px; // Standard cards
|
|
134
|
-
--osi-card-height-large: 200px; // Featured cards
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
// ═══════════════════════════════════════════════════════════════════
|
|
138
|
-
// SECTION-SPECIFIC CUSTOMIZATION (Override as needed)
|
|
139
|
-
// ═══════════════════════════════════════════════════════════════════
|
|
140
|
-
|
|
141
|
-
// Allow sections to override these
|
|
142
|
-
:root {
|
|
143
|
-
--osi-custom-accent-color: var(--accent);
|
|
144
|
-
--osi-custom-card-background: var(--osi-card-background);
|
|
145
|
-
--osi-custom-hover-effect: translateY(calc(var(--motion-distance-sm) * -1));
|
|
146
|
-
--osi-custom-border-style: solid;
|
|
147
|
-
}
|