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.
Files changed (88) hide show
  1. package/README.md +58 -20
  2. package/package.json +13 -25
  3. package/postcss.config.js +81 -0
  4. package/section-registry.json +3864 -0
  5. package/section-registry.schema.json +264 -0
  6. package/fesm2022/osi-cards-lib.mjs +0 -31878
  7. package/fesm2022/osi-cards-lib.mjs.map +0 -1
  8. package/index.d.ts +0 -11522
  9. package/scripts/setup-angular-styles.js +0 -169
  10. package/styles/_components.scss +0 -38
  11. package/styles/_index.scss +0 -25
  12. package/styles/_osi-cards-mixins.scss +0 -459
  13. package/styles/_osi-cards-tokens.scss +0 -333
  14. package/styles/_styles-scoped.scss +0 -81
  15. package/styles/_styles.scss +0 -26
  16. package/styles/bundles/_ai-card.scss +0 -245
  17. package/styles/bundles/_all.scss +0 -68
  18. package/styles/bundles/_base.scss +0 -60
  19. package/styles/bundles/_card-skeleton.scss +0 -290
  20. package/styles/bundles/_index.scss +0 -25
  21. package/styles/bundles/_sections.scss +0 -48
  22. package/styles/bundles/_tokens-only.scss +0 -139
  23. package/styles/components/_ai-card-renderer.scss +0 -104
  24. package/styles/components/_badges.scss +0 -317
  25. package/styles/components/_card-actions.scss +0 -169
  26. package/styles/components/_card-footer.scss +0 -47
  27. package/styles/components/_component-styles.scss +0 -205
  28. package/styles/components/_empty-state.scss +0 -630
  29. package/styles/components/_hero-card.scss +0 -422
  30. package/styles/components/_image-fallback.scss +0 -28
  31. package/styles/components/_streaming-effects.scss +0 -518
  32. package/styles/components/cards/_ai-card.scss +0 -718
  33. package/styles/components/sections/_all-sections.generated.scss +0 -41
  34. package/styles/components/sections/_all-sections.scss +0 -1086
  35. package/styles/components/sections/_balanced-compact-system.scss +0 -186
  36. package/styles/components/sections/_compact-mixins.scss +0 -180
  37. package/styles/components/sections/_component-mixins.scss +0 -454
  38. package/styles/components/sections/_design-system.scss +0 -477
  39. package/styles/components/sections/_design-tokens.scss +0 -308
  40. package/styles/components/sections/_enhanced-design-variables.scss +0 -147
  41. package/styles/components/sections/_master-compact-system.scss +0 -302
  42. package/styles/components/sections/_master-dense-system.scss +0 -239
  43. package/styles/components/sections/_minimalistic-design.scss +0 -268
  44. package/styles/components/sections/_modern-effects.scss +0 -392
  45. package/styles/components/sections/_modern-sections.scss +0 -351
  46. package/styles/components/sections/_perfect-system.scss +0 -204
  47. package/styles/components/sections/_section-animations.scss +0 -331
  48. package/styles/components/sections/_section-shell.scss +0 -337
  49. package/styles/components/sections/_section-types.generated.scss +0 -30
  50. package/styles/components/sections/_sections-all.scss +0 -26
  51. package/styles/components/sections/_sections-base.scss +0 -334
  52. package/styles/components/sections/_typography-system.scss +0 -327
  53. package/styles/components/sections/_ultra-compact-tokens.scss +0 -375
  54. package/styles/components/sections/_unified-section-style.scss +0 -157
  55. package/styles/components/sections/_utility-classes.scss +0 -567
  56. package/styles/components/sections/_visual-effects-library.scss +0 -374
  57. package/styles/core/_animations.scss +0 -1498
  58. package/styles/core/_bootstrap-reset.scss +0 -445
  59. package/styles/core/_color-helpers.scss +0 -46
  60. package/styles/core/_global-unified.scss +0 -118
  61. package/styles/core/_global.scss +0 -73
  62. package/styles/core/_mixins.scss +0 -491
  63. package/styles/core/_surface-layers.scss +0 -76
  64. package/styles/core/_utilities.scss +0 -326
  65. package/styles/core/_variables-unified.scss +0 -57
  66. package/styles/core/_variables.scss +0 -36
  67. package/styles/core/variables/_colors-source.scss +0 -34
  68. package/styles/core/variables/_colors-unified.scss +0 -26
  69. package/styles/core/variables/_colors.scss +0 -21
  70. package/styles/critical.scss +0 -353
  71. package/styles/design-system/_compact-theme.scss +0 -159
  72. package/styles/design-system/_section-base.scss +0 -426
  73. package/styles/design-system/_tokens.scss +0 -237
  74. package/styles/design-system/_unified-sections.scss +0 -215
  75. package/styles/layout/_feature-grid.scss +0 -322
  76. package/styles/layout/_masonry.scss +0 -734
  77. package/styles/layout/_tilt.scss +0 -244
  78. package/styles/micro-interactions.scss +0 -583
  79. package/styles/mixins/_section-mixins.scss +0 -280
  80. package/styles/non-critical.scss +0 -643
  81. package/styles/reset/_framework-reset.scss +0 -457
  82. package/styles/reset/_index.scss +0 -14
  83. package/styles/reset/_shadow-reset.scss +0 -383
  84. package/styles/responsive.scss +0 -326
  85. package/styles/themes.scss +0 -573
  86. package/styles/tokens/_index.scss +0 -92
  87. package/styles/tokens/_master.scss +0 -1404
  88. package/styles/tokens/_section-tokens.generated.scss +0 -140
@@ -1,375 +0,0 @@
1
- // =====================================================================
2
- // ULTRA-COMPACT DESIGN TOKENS - Master Design System
3
- // =====================================================================
4
- //
5
- // Unified token system for maximum compactness and consistency
6
- // 200px/400px column widths with optimized heights
7
- //
8
- // =====================================================================
9
-
10
- @use "../../tokens/master" as *;
11
-
12
- // =====================================================================
13
- // CORE SPACING - Ultra Compact Scale
14
- // =====================================================================
15
-
16
- :root {
17
- // Ultra-compact spacing (primary scale)
18
- --uc-space-1: 1px;
19
- --uc-space-2: 2px;
20
- --uc-space-3: 3px;
21
- --uc-space-4: 4px;
22
- --uc-space-5: 5px;
23
- --uc-space-6: 6px;
24
- --uc-space-8: 8px;
25
- --uc-space-10: 10px;
26
- --uc-space-12: 12px;
27
-
28
- // Section spacing standards
29
- --uc-section-gap: 8px; // Between sections
30
- --uc-card-padding: 8px; // Card internal padding
31
- --uc-card-padding-sm: 6px; // Mobile card padding
32
- --uc-item-padding: 6px 8px; // List item padding
33
- --uc-item-padding-sm: 5px 6px; // Mobile item padding
34
- --uc-internal-gap: 4px; // Between elements
35
- --uc-internal-gap-sm: 3px; // Tight internal gap
36
- --uc-grid-gap: 8px; // Grid gap
37
- --uc-grid-gap-sm: 6px; // Mobile grid gap
38
- }
39
-
40
- // =====================================================================
41
- // TYPOGRAPHY - Ultra Compact Scale
42
- // =====================================================================
43
-
44
- :root {
45
- // Font sizes (optimized for density)
46
- --uc-text-xs: 0.55rem; // 8.8px - Tiny labels
47
- --uc-text-sm: 0.6rem; // 9.6px - Small labels
48
- --uc-text-base: 0.65rem; // 10.4px - Labels, meta
49
- --uc-text-md: 0.7rem; // 11.2px - Body text
50
- --uc-text-lg: 0.75rem; // 12px - Titles
51
- --uc-text-xl: 0.8rem; // 12.8px - Values
52
- --uc-text-2xl: 0.95rem; // 15.2px - Large values
53
- --uc-text-3xl: 1.1rem; // 17.6px - Metric values
54
- --uc-text-4xl: 1.2rem; // 19.2px - Large metrics
55
-
56
- // Line heights (tight)
57
- --uc-leading-tightest: 1;
58
- --uc-leading-tight: 1.1;
59
- --uc-leading-snug: 1.2;
60
- --uc-leading-normal: 1.3;
61
- --uc-leading-relaxed: 1.4;
62
-
63
- // Font weights
64
- --uc-font-normal: 400;
65
- --uc-font-medium: 500;
66
- --uc-font-semibold: 600;
67
- --uc-font-bold: 700;
68
- }
69
-
70
- // =====================================================================
71
- // COMPONENT HEIGHTS - Optimized for 200px/400px Columns
72
- // =====================================================================
73
-
74
- :root {
75
- // 200px column cards
76
- --uc-card-height-200px: 80px; // Analytics, Financials
77
- --uc-card-height-contact: 140px; // Contact cards
78
- --uc-card-height-gallery: 150px; // Gallery items
79
- --uc-card-height-social: 105px; // Social media
80
- --uc-card-height-network: 105px; // Network cards
81
- --uc-card-height-news: 210px; // News cards
82
- --uc-card-height-quote: 130px; // Quotations
83
- --uc-card-height-color: 110px; // Brand colors
84
-
85
- // 400px full-width items
86
- --uc-item-height-info: 42px; // Info items
87
- --uc-item-height-list: 44px; // List items
88
- --uc-item-height-event: 52px; // Event items
89
- --uc-item-height-overview: 48px; // Overview items
90
- --uc-item-height-product: 54px; // Product items
91
- --uc-item-height-faq: 42px; // FAQ items
92
-
93
- // Component-specific
94
- --uc-avatar-size: 42px; // Compact avatars
95
- --uc-icon-size: 1rem; // Standard icons
96
- --uc-icon-size-lg: 1.6rem; // Large icons
97
- --uc-button-height: 24px; // Compact buttons
98
- --uc-date-badge: 44px; // Date badges
99
- }
100
-
101
- // =====================================================================
102
- // BORDERS & RADIUS - Consistent System
103
- // =====================================================================
104
-
105
- :root {
106
- // Border widths
107
- --uc-border-width: 1px;
108
- --uc-border-width-thick: 2px;
109
-
110
- // Border colors
111
- --uc-border: rgba(255, 255, 255, 0.06);
112
- --uc-border-hover: rgba(255, 255, 255, 0.12);
113
- --uc-border-separator: rgba(255, 255, 255, 0.04);
114
- --uc-border-accent: var(--accent, #ff7900);
115
-
116
- // Border radius
117
- --uc-radius-sm: 4px;
118
- --uc-radius-md: 8px;
119
- --uc-radius-lg: 12px;
120
- --uc-radius-full: 9999px;
121
- }
122
-
123
- // =====================================================================
124
- // COLORS - Unified Palette
125
- // =====================================================================
126
-
127
- :root {
128
- // Base colors
129
- --uc-bg: var(--background, #0c0c0c);
130
- --uc-card: var(--card, var(--background, #0c0c0c));
131
- --uc-surface: var(--surface, rgba(255, 255, 255, 0.02));
132
- --uc-surface-hover: rgba(255, 255, 255, 0.02);
133
-
134
- // Text colors
135
- --uc-text-primary: var(--foreground, #fff);
136
- --uc-text-secondary: var(--muted-foreground, #999);
137
- --uc-accent: var(--accent, #ff7900);
138
- --uc-accent-bright: var(--accent-bright, #ffa347);
139
-
140
- // Opacity levels
141
- --uc-opacity-subtle: 0.5;
142
- --uc-opacity-muted: 0.7;
143
- --uc-opacity-medium: 0.8;
144
- --uc-opacity-strong: 0.85;
145
- }
146
-
147
- // =====================================================================
148
- // TRANSITIONS - Fast & Smooth
149
- // =====================================================================
150
-
151
- :root {
152
- --uc-transition-fast: 150ms ease-out;
153
- --uc-transition-base: 200ms ease-out;
154
- --uc-transition-all: all 200ms ease-out;
155
- --uc-transition-color: color 150ms ease-out;
156
- --uc-transition-bg: background 150ms ease-out;
157
- --uc-transition-transform: transform 200ms ease-out;
158
- }
159
-
160
- // =====================================================================
161
- // SHADOWS - Subtle System
162
- // =====================================================================
163
-
164
- :root {
165
- --uc-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.2);
166
- --uc-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.3);
167
- --uc-shadow-hover: 0 4px 12px rgba(0, 0, 0, 0.3);
168
- }
169
-
170
- // =====================================================================
171
- // GRID SYSTEM - 200px/400px Standards
172
- // =====================================================================
173
-
174
- :root {
175
- // Column widths
176
- --uc-col-200px: 200px; // Compact sections
177
- --uc-col-400px: 400px; // Full-width sections
178
-
179
- // Breakpoints
180
- --uc-bp-tiny: 420px;
181
- --uc-bp-mobile: 480px;
182
- --uc-bp-tablet: 640px;
183
- --uc-bp-desktop: 768px;
184
- }
185
-
186
- // =====================================================================
187
- // REUSABLE MIXINS
188
- // =====================================================================
189
-
190
- // Card base (200px compatible)
191
- @mixin uc-card-200px {
192
- position: relative;
193
- display: flex;
194
- flex-direction: column;
195
- padding: var(--uc-card-padding);
196
- background: var(--uc-card);
197
- border: var(--uc-border-width) solid var(--uc-border);
198
- border-radius: var(--uc-radius-md);
199
- transition: var(--uc-transition-all);
200
-
201
- &::before {
202
- content: "";
203
- position: absolute;
204
- top: 0;
205
- left: 0;
206
- right: 0;
207
- height: 1px;
208
- background: var(--uc-border-accent);
209
- opacity: 0;
210
- transition: var(--uc-transition-fast);
211
- }
212
-
213
- &:hover {
214
- border-color: var(--uc-border-hover);
215
- transform: translateY(-1px);
216
- box-shadow: var(--uc-shadow-hover);
217
-
218
- &::before {
219
- opacity: 0.6;
220
- }
221
- }
222
- }
223
-
224
- // List container (400px compatible)
225
- @mixin uc-list-400px {
226
- display: flex;
227
- flex-direction: column;
228
- gap: 0;
229
- padding: var(--uc-space-4);
230
- background: var(--uc-card);
231
- border: var(--uc-border-width) solid var(--uc-border);
232
- border-radius: var(--uc-radius-md);
233
- }
234
-
235
- // List item
236
- @mixin uc-list-item {
237
- padding: var(--uc-item-padding);
238
- border-radius: var(--uc-radius-sm);
239
- transition: var(--uc-transition-bg);
240
-
241
- &:not(:last-child) {
242
- border-bottom: var(--uc-border-width) solid var(--uc-border-separator);
243
- }
244
-
245
- &:hover {
246
- background: var(--uc-surface-hover);
247
- }
248
- }
249
-
250
- // Label text
251
- @mixin uc-label {
252
- font-size: var(--uc-text-sm);
253
- font-weight: var(--uc-font-semibold);
254
- letter-spacing: 0.05em;
255
- text-transform: uppercase;
256
- color: var(--uc-text-secondary);
257
- line-height: var(--uc-leading-tight);
258
- }
259
-
260
- // Value text
261
- @mixin uc-value {
262
- font-size: var(--uc-text-xl);
263
- font-weight: var(--uc-font-semibold);
264
- color: var(--uc-text-primary);
265
- line-height: var(--uc-leading-tight);
266
- transition: var(--uc-transition-color);
267
- }
268
-
269
- // Title text
270
- @mixin uc-title {
271
- font-size: var(--uc-text-lg);
272
- font-weight: var(--uc-font-semibold);
273
- color: var(--uc-text-primary);
274
- line-height: var(--uc-leading-snug);
275
- transition: var(--uc-transition-color);
276
- }
277
-
278
- // Body text
279
- @mixin uc-body {
280
- font-size: var(--uc-text-md);
281
- font-weight: var(--uc-font-normal);
282
- color: var(--uc-text-secondary);
283
- line-height: var(--uc-leading-normal);
284
- }
285
-
286
- // Grid 200px
287
- @mixin uc-grid-200px {
288
- display: grid;
289
- grid-template-columns: repeat(auto-fit, minmax(var(--uc-col-200px), 1fr));
290
- gap: var(--uc-grid-gap);
291
-
292
- @media (max-width: 640px) {
293
- grid-template-columns: repeat(2, 1fr);
294
- gap: var(--uc-grid-gap-sm);
295
- }
296
-
297
- @media (max-width: 420px) {
298
- grid-template-columns: 1fr;
299
- }
300
- }
301
-
302
- // Host min-width 400px
303
- @mixin uc-host-400px {
304
- display: block;
305
- width: 100%;
306
- min-width: var(--uc-col-400px);
307
-
308
- @media (max-width: 640px) {
309
- min-width: 100%;
310
- }
311
- }
312
-
313
- // Responsive mobile
314
- @mixin uc-mobile {
315
- @media (max-width: 640px) {
316
- @content;
317
- }
318
- }
319
-
320
- // Reduced motion
321
- @mixin uc-reduced-motion {
322
- @media (prefers-reduced-motion: reduce) {
323
- transition: none;
324
-
325
- &:hover {
326
- transform: none;
327
- }
328
- }
329
- }
330
-
331
- // =====================================================================
332
- // UTILITY CLASSES (Optional)
333
- // =====================================================================
334
-
335
- // Gap utilities
336
- .uc-gap-2 {
337
- gap: var(--uc-space-2);
338
- }
339
- .uc-gap-3 {
340
- gap: var(--uc-space-3);
341
- }
342
- .uc-gap-4 {
343
- gap: var(--uc-space-4);
344
- }
345
- .uc-gap-6 {
346
- gap: var(--uc-space-6);
347
- }
348
- .uc-gap-8 {
349
- gap: var(--uc-space-8);
350
- }
351
-
352
- // Padding utilities
353
- .uc-p-4 {
354
- padding: var(--uc-space-4);
355
- }
356
- .uc-p-6 {
357
- padding: var(--uc-space-6);
358
- }
359
- .uc-p-8 {
360
- padding: var(--uc-space-8);
361
- }
362
-
363
- // Flex utilities
364
- .uc-flex {
365
- display: flex;
366
- }
367
- .uc-flex-col {
368
- flex-direction: column;
369
- }
370
- .uc-items-center {
371
- align-items: center;
372
- }
373
- .uc-justify-between {
374
- justify-content: space-between;
375
- }
@@ -1,157 +0,0 @@
1
- // =====================================================================
2
- // UNIFIED SECTION STYLE - Based on Original Product Section
3
- // =====================================================================
4
- //
5
- // This is the ORIGINAL style that worked well
6
- // Clean structure, good spacing, proper hierarchy
7
- //
8
- // =====================================================================
9
-
10
- @use "../../tokens/master" as *;
11
-
12
- // =====================================================================
13
- // STANDARD SPACING (Good balance)
14
- // =====================================================================
15
- // NOTE: All spacing variables are now defined in tokens/_master.scss
16
- // Use --osi-section-* and --osi-section-item-* variables
17
- // This file only contains mixins, no variable definitions
18
-
19
- // =====================================================================
20
- // STANDARD CARD (For 200px grids)
21
- // =====================================================================
22
-
23
- @mixin section-card {
24
- @include card;
25
- padding: var(--spacing-md);
26
- display: flex;
27
- flex-direction: column;
28
- gap: var(--spacing-sm);
29
- background: var(--surface);
30
- border-radius: var(--radius-md);
31
- transition:
32
- box-shadow var(--duration-slow) var(--ease-out),
33
- background var(--duration-slow) var(--ease-out);
34
-
35
- &:hover {
36
- box-shadow: var(--shadow-lg);
37
- background: var(--osi-section-item-background-hover);
38
- }
39
- }
40
-
41
- // =====================================================================
42
- // STANDARD LIST (For 400px width sections)
43
- // =====================================================================
44
-
45
- @mixin section-list-container {
46
- @include card;
47
- padding: var(--spacing-md);
48
- display: flex;
49
- flex-direction: column;
50
- gap: var(--spacing-md);
51
- background: var(--surface);
52
- border-radius: var(--radius-md);
53
- transition: box-shadow 300ms var(--ease-out);
54
-
55
- &:hover {
56
- box-shadow: var(--shadow-lg);
57
- }
58
- }
59
-
60
- @mixin section-list-item {
61
- padding: var(--spacing-sm);
62
- border-radius: var(--radius-sm);
63
- display: flex;
64
- flex-direction: column;
65
- gap: var(--spacing-sm);
66
- transition:
67
- background var(--duration-base) var(--ease-out),
68
- color var(--duration-base) var(--ease-out);
69
-
70
- &:not(:last-child) {
71
- margin-bottom: var(--spacing-xs);
72
- }
73
-
74
- &:hover {
75
- background: var(--surface-hover);
76
- color: var(--accent);
77
- }
78
- }
79
-
80
- // =====================================================================
81
- // TYPOGRAPHY MIXINS (Original hierarchy)
82
- // =====================================================================
83
-
84
- @mixin section-field-label {
85
- font-size: 0.7rem;
86
- text-transform: uppercase;
87
- letter-spacing: 0.5px;
88
- color: var(--muted-foreground);
89
- font-weight: var(--font-semibold);
90
- line-height: 1.3;
91
- }
92
-
93
- @mixin section-field-value {
94
- color: var(--foreground);
95
- font-size: var(--text-base);
96
- line-height: var(--leading-relaxed);
97
- }
98
-
99
- @mixin section-metric-value {
100
- font-size: var(--text-2xl);
101
- font-weight: var(--font-bold);
102
- color: var(--foreground);
103
- line-height: 1.2;
104
- font-variant-numeric: tabular-nums;
105
- }
106
-
107
- // =====================================================================
108
- // GRID SYSTEMS
109
- // =====================================================================
110
-
111
- @mixin section-grid-200px {
112
- display: grid;
113
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
114
- gap: var(--spacing-md);
115
-
116
- @media (max-width: 768px) {
117
- gap: var(--spacing-sm);
118
- }
119
-
120
- @media (max-width: 640px) {
121
- grid-template-columns: repeat(2, 1fr);
122
- }
123
-
124
- @media (max-width: 420px) {
125
- grid-template-columns: 1fr;
126
- }
127
- }
128
-
129
- @mixin section-grid-280px {
130
- display: grid;
131
- grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
132
- gap: var(--spacing-md);
133
-
134
- @media (max-width: 768px) {
135
- grid-template-columns: repeat(2, 1fr);
136
- gap: var(--spacing-sm);
137
- }
138
-
139
- @media (max-width: 480px) {
140
- grid-template-columns: 1fr;
141
- }
142
- }
143
-
144
- // =====================================================================
145
- // UTILITIES
146
- // =====================================================================
147
-
148
- @mixin section-reduced-motion {
149
- @media (prefers-reduced-motion: reduce) {
150
- transition: none;
151
- animation: none;
152
-
153
- &:hover {
154
- transform: none;
155
- }
156
- }
157
- }