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,477 +0,0 @@
1
- // =====================================================================
2
- // DESIGN SYSTEM - Enhanced Modern Design System
3
- // =====================================================================
4
- //
5
- // Comprehensive design system with:
6
- // - Design tokens (spacing, typography, colors, effects)
7
- // - Modern effects (glass morphism, gradients, animations)
8
- // - Component mixins (pre-built patterns)
9
- // - Typography system (semantic text styles)
10
- // - Utility classes (optional rapid development)
11
- //
12
- // All styles use CSS variables for theme-ability.
13
- //
14
- // =====================================================================
15
-
16
- @use "../../tokens/master" as *;
17
-
18
- // Import enhanced modules
19
- @use "design-tokens" as tokens;
20
- @use "modern-effects" as effects;
21
- @use "component-mixins" as components;
22
- @use "typography-system" as typo;
23
- @use "compact-mixins" as compact;
24
-
25
- // Import base styles (legacy compatibility)
26
- @import "sections-base";
27
-
28
- // =====================================================================
29
- // GRID LAYOUTS
30
- // =====================================================================
31
-
32
- @mixin section-responsive-grid(
33
- $min-width: var(--section-grid-min-width),
34
- $gap: var(--section-card-gap)
35
- ) {
36
- display: grid;
37
- grid-template-columns: repeat(auto-fit, minmax($min-width, 1fr));
38
- gap: $gap;
39
- width: 100%;
40
- box-sizing: border-box;
41
-
42
- @media (max-width: 420px) {
43
- grid-template-columns: 1fr;
44
- }
45
- }
46
-
47
- @mixin grid-2col($gap: var(--section-card-gap), $min-width: var(--section-grid-min-width)) {
48
- @include section-responsive-grid($min-width, $gap);
49
- }
50
-
51
- @mixin grid-auto-fit($min-width: var(--section-grid-min-width), $gap: var(--section-card-gap)) {
52
- @include section-responsive-grid($min-width, $gap);
53
- }
54
-
55
- @mixin list-stack($gap: var(--section-card-gap)) {
56
- display: flex;
57
- flex-direction: column;
58
- gap: $gap;
59
- width: 100%;
60
- box-sizing: border-box;
61
- }
62
-
63
- // Section header layout
64
- @mixin section-header($direction: row, $gap: var(--section-card-gap)) {
65
- display: flex;
66
- flex-direction: $direction;
67
- gap: $gap;
68
- width: 100%;
69
- box-sizing: border-box;
70
- }
71
-
72
- // Section heading text
73
- @mixin section-heading-text {
74
- font-size: var(--section-title-font-size, 1.1rem);
75
- font-weight: var(--section-title-font-weight, 700);
76
- letter-spacing: var(--section-title-letter-spacing, -0.02em);
77
- line-height: var(--section-title-line-height, 1.3);
78
- color: var(--card-text-primary, #{$foreground-color});
79
- margin: 0;
80
- }
81
-
82
- // Section description text
83
- @mixin section-description-text {
84
- font-size: var(--section-description-font-size, 0.8rem);
85
- font-weight: 400;
86
- color: var(--card-text-secondary, #{$foreground-60});
87
- line-height: 1.4;
88
- margin: 0;
89
- }
90
-
91
- // Section body
92
- @mixin section-body($gap: var(--section-card-gap)) {
93
- display: flex;
94
- flex-direction: column;
95
- gap: $gap;
96
- width: 100%;
97
- box-sizing: border-box;
98
- }
99
-
100
- // Standard badge
101
- @mixin standard-badge {
102
- display: inline-flex;
103
- align-items: center;
104
- gap: 3px;
105
- padding: 2px 6px;
106
- font-size: 0.55rem;
107
- font-weight: 600;
108
- letter-spacing: 0.03em;
109
- text-transform: uppercase;
110
- color: #{$brand-color};
111
- background: #{$brand-color-10};
112
- border-radius: 4px;
113
- white-space: nowrap;
114
- }
115
-
116
- @mixin section-compact-grid($min-width: 220px, $gap: var(--section-card-gap)) {
117
- @include section-responsive-grid($min-width, $gap);
118
- }
119
-
120
- // =====================================================================
121
- // CARD LAYOUT HELPERS
122
- // =====================================================================
123
-
124
- @mixin compact-card-layout {
125
- gap: var(--card-gap);
126
- padding: var(--card-padding);
127
- min-height: auto;
128
- box-sizing: border-box;
129
- }
130
-
131
- @mixin compact-card-header($gap: var(--card-gap)) {
132
- display: flex;
133
- align-items: baseline;
134
- justify-content: space-between;
135
- gap: $gap;
136
- width: 100%;
137
- }
138
-
139
- @mixin compact-card-meta($gap: var(--card-gap)) {
140
- display: flex;
141
- justify-content: flex-start;
142
- flex-wrap: wrap;
143
- gap: $gap;
144
- width: 100%;
145
- font-size: var(--card-meta-font-size);
146
- color: var(--muted-foreground);
147
- }
148
-
149
- // =====================================================================
150
- // TYPOGRAPHY - Uses CSS Variables
151
- // =====================================================================
152
-
153
- @mixin label-text {
154
- font-size: var(--card-label-font-size);
155
- font-weight: 600;
156
- letter-spacing: 0.04em;
157
- text-transform: uppercase;
158
- color: var(--muted-foreground);
159
- line-height: 1.3;
160
- font-family: inherit;
161
- }
162
-
163
- @mixin value-text {
164
- font-size: var(--card-value-font-size);
165
- font-weight: 600;
166
- color: var(--foreground);
167
- letter-spacing: -0.01em;
168
- line-height: 1.3;
169
- font-family: inherit;
170
- }
171
-
172
- @mixin value-text-lg {
173
- font-size: var(--card-value-font-size-large);
174
- font-weight: 600;
175
- color: var(--foreground);
176
- letter-spacing: -0.01em;
177
- line-height: 1.2;
178
- font-family: inherit;
179
- }
180
-
181
- @mixin card-title-text {
182
- font-size: var(--card-title-font-size);
183
- font-weight: 600;
184
- color: var(--foreground);
185
- line-height: 1.4;
186
- font-family: inherit;
187
- }
188
-
189
- @mixin card-subtitle-text {
190
- font-size: var(--card-subtitle-font-size);
191
- font-weight: 400;
192
- color: var(--muted-foreground);
193
- line-height: 1.5;
194
- font-family: inherit;
195
- }
196
-
197
- @mixin card-meta-text {
198
- font-size: var(--card-meta-font-size);
199
- font-weight: 500;
200
- color: var(--muted-foreground);
201
- line-height: 1.3;
202
- font-family: inherit;
203
- }
204
-
205
- // Legacy alias
206
- @mixin section-title-text {
207
- @include card-title-text;
208
- }
209
-
210
- // =====================================================================
211
- // SECTION CONTAINER
212
- // =====================================================================
213
-
214
- @mixin section-wrapper {
215
- position: relative;
216
- display: flex;
217
- flex-direction: column;
218
- gap: var(--section-card-gap);
219
- padding: var(--section-padding);
220
- border-radius: var(--osi-section-item-border-radius);
221
- background: var(--section-background);
222
- border: var(--section-border);
223
- box-shadow: var(--section-box-shadow);
224
- }
225
-
226
- // =====================================================================
227
- // ICON
228
- // =====================================================================
229
-
230
- @mixin icon-base($size: 16px) {
231
- width: $size;
232
- height: $size;
233
- flex-shrink: 0;
234
- color: var(--accent);
235
- }
236
-
237
- @mixin icon-button-base($size: 20px) {
238
- width: $size;
239
- height: $size;
240
- display: flex;
241
- align-items: center;
242
- justify-content: center;
243
- border-radius: 50%;
244
- color: var(--accent);
245
- background: transparent;
246
- cursor: pointer;
247
- transition: background 0.2s ease;
248
-
249
- &:hover {
250
- background: var(--muted);
251
- }
252
- }
253
-
254
- // =====================================================================
255
- // PROGRESS BAR
256
- // =====================================================================
257
-
258
- @mixin progress-bar-track {
259
- width: 100%;
260
- height: 4px;
261
- background: var(--border);
262
- border-radius: 2px;
263
- overflow: hidden;
264
- }
265
-
266
- @mixin progress-bar-fill {
267
- height: 100%;
268
- background: var(--accent);
269
- border-radius: inherit;
270
- transition: width 0.3s ease;
271
- }
272
-
273
- // =====================================================================
274
- // AVATAR
275
- // =====================================================================
276
-
277
- @mixin avatar-base($size: 36px) {
278
- width: $size;
279
- height: $size;
280
- border-radius: 50%;
281
- background: #{$brand-color-15};
282
- display: flex;
283
- align-items: center;
284
- justify-content: center;
285
- flex-shrink: 0;
286
- overflow: hidden;
287
-
288
- img {
289
- width: 100%;
290
- height: 100%;
291
- object-fit: cover;
292
- }
293
-
294
- lucide-icon,
295
- svg {
296
- width: calc($size * 0.5);
297
- height: calc($size * 0.5);
298
- color: var(--accent);
299
- }
300
- }
301
-
302
- // =====================================================================
303
- // EMPTY STATE
304
- // =====================================================================
305
-
306
- @mixin empty-state-base {
307
- display: flex;
308
- flex-direction: column;
309
- align-items: center;
310
- justify-content: center;
311
- gap: var(--card-gap);
312
- padding: calc(var(--card-padding) * 2);
313
- text-align: center;
314
- color: var(--muted-foreground);
315
- background: var(--osi-section-item-background);
316
- border: 1px dashed var(--border);
317
- border-radius: var(--osi-section-item-border-radius);
318
-
319
- lucide-icon,
320
- svg {
321
- opacity: 0.4;
322
- width: 32px;
323
- height: 32px;
324
- }
325
-
326
- p {
327
- margin: 0;
328
- font-size: var(--card-subtitle-font-size);
329
- }
330
- }
331
-
332
- // =====================================================================
333
- // CARD BASE (Legacy support)
334
- // =====================================================================
335
-
336
- @mixin section-card-base {
337
- @include card;
338
- }
339
-
340
- // =====================================================================
341
- // MODERN ICON (Legacy support)
342
- // =====================================================================
343
-
344
- @mixin modern-icon($size: 40px) {
345
- display: flex;
346
- align-items: center;
347
- justify-content: center;
348
- width: $size;
349
- height: $size;
350
- border-radius: 50%;
351
- background: #{$brand-color-10};
352
- flex-shrink: 0;
353
-
354
- lucide-icon,
355
- svg {
356
- width: calc($size * 0.5);
357
- height: calc($size * 0.5);
358
- color: var(--accent);
359
- }
360
- }
361
-
362
- // =====================================================================
363
- // ENHANCED MIXINS - Quick Access Aliases
364
- // =====================================================================
365
-
366
- // Modern card variants
367
- @mixin card-elevated {
368
- @include components.card-elevated;
369
- }
370
-
371
- @mixin card-glass {
372
- @include components.card-glass;
373
- }
374
-
375
- // Typography quick access
376
- @mixin heading($level: 1) {
377
- @if $level == 1 {
378
- @include typo.heading-1;
379
- } @else if $level == 2 {
380
- @include typo.heading-2;
381
- } @else if $level == 3 {
382
- @include typo.heading-3;
383
- } @else if $level == 4 {
384
- @include typo.heading-4;
385
- } @else if $level == 5 {
386
- @include typo.heading-5;
387
- } @else {
388
- @include typo.heading-6;
389
- }
390
- }
391
-
392
- @mixin body-text($size: "base") {
393
- @if $size == "large" {
394
- @include typo.body-large;
395
- } @else if $size == "small" {
396
- @include typo.body-small;
397
- } @else if $size == "xs" {
398
- @include typo.body-xs;
399
- } @else {
400
- @include typo.body-base;
401
- }
402
- }
403
-
404
- // =====================================================================
405
- // DESIGN SYSTEM USAGE DOCUMENTATION
406
- // =====================================================================
407
- //
408
- // ## Quick Examples
409
- //
410
- // ### 1. Enhanced Card with Effects
411
- // ```scss
412
- // .my-card {
413
- // @include card-elevated; // Card with lift effect
414
- // @include effects.shimmer-effect; // Add shimmer
415
- // }
416
- // ```
417
- //
418
- // ### 2. Glass Morphism Card
419
- // ```scss
420
- // .glass-panel {
421
- // @include card-glass; // Frosted glass effect
422
- // }
423
- // ```
424
- //
425
- // ### 3. Stat/Metric Display
426
- // ```scss
427
- // .stat-card {
428
- // @include components.stat-card;
429
- //
430
- // .label {
431
- // @include components.stat-label;
432
- // }
433
- //
434
- // .value {
435
- // @include components.stat-value;
436
- // }
437
- // }
438
- // ```
439
- //
440
- // ### 4. Modern Badge
441
- // ```scss
442
- // .status-badge {
443
- // @include components.badge-modern('success');
444
- // }
445
- // ```
446
- //
447
- // ### 5. Typography
448
- // ```scss
449
- // .title {
450
- // @include heading(2); // H2 styling
451
- // }
452
- //
453
- // .description {
454
- // @include body-text('small');
455
- // }
456
- // ```
457
- //
458
- // ### 6. Using Design Tokens
459
- // ```scss
460
- // .custom-element {
461
- // margin: var(--spacing-md);
462
- // padding: var(--spacing-base);
463
- // border-radius: var(--radius-lg);
464
- // box-shadow: var(--shadow-md);
465
- // transition: var(--transition-base);
466
- // }
467
- // ```
468
- //
469
- // ### 7. Interactive Surface
470
- // ```scss
471
- // .clickable-card {
472
- // @include card;
473
- // @include effects.interactive-surface;
474
- // }
475
- // ```
476
- //
477
- // =====================================================================