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,374 +0,0 @@
1
- // =====================================================================
2
- // VISUAL EFFECTS LIBRARY - Reusable Card & Item Effects
3
- // =====================================================================
4
- // Beautiful, polished effects that sections can apply
5
- // Extracted from best-looking sections (like analytics)
6
-
7
- @use "design-tokens" as *;
8
-
9
- // ═══════════════════════════════════════════════════════════════════
10
- // CARD HOVER EFFECTS - Analytics-Style Polish
11
- // ═══════════════════════════════════════════════════════════════════
12
-
13
- // The beautiful analytics card effect (shadow + accent line)
14
- @mixin analytics-card-effect {
15
- position: relative;
16
- transition:
17
- box-shadow var(--duration-slow) var(--ease-out),
18
- background var(--duration-slow) var(--ease-out);
19
- cursor: default;
20
-
21
- // Subtle gradient overlay for depth
22
- &::before {
23
- content: "";
24
- position: absolute;
25
- top: 0;
26
- left: 0;
27
- right: 0;
28
- height: 2px;
29
- background: linear-gradient(90deg, var(--accent) 0%, transparent 100%);
30
- opacity: 0;
31
- transition: opacity var(--duration-slow) var(--ease-out);
32
- }
33
-
34
- &:hover {
35
- box-shadow: var(--shadow-xl);
36
- background: var(--osi-section-item-background-hover);
37
-
38
- &::before {
39
- opacity: 1;
40
- }
41
- }
42
-
43
- &:focus-visible {
44
- outline: 2px solid var(--accent);
45
- outline-offset: 2px;
46
- }
47
- }
48
-
49
- // Enhanced shadow effect
50
- @mixin card-scale-lift {
51
- transition:
52
- box-shadow var(--duration-base) var(--ease-out),
53
- background var(--duration-base) var(--ease-out);
54
-
55
- &:hover {
56
- box-shadow: var(--shadow-lg);
57
- background: var(--osi-section-item-background-hover);
58
- }
59
- }
60
-
61
- // List item hover effect (background + shadow)
62
- @mixin item-slide-right {
63
- transition:
64
- background var(--duration-base) var(--ease-out),
65
- box-shadow var(--duration-base) var(--ease-out),
66
- color var(--duration-base) var(--ease-out);
67
-
68
- &:hover {
69
- background: var(--surface-raised);
70
- box-shadow: var(--shadow-sm);
71
- color: var(--accent);
72
- }
73
- }
74
-
75
- // Glow effect on hover
76
- @mixin card-glow-hover {
77
- transition: all 300ms var(--ease-out);
78
-
79
- &:hover {
80
- box-shadow:
81
- var(--shadow-md),
82
- 0 0 20px rgba(var(--accent-rgb, 255, 121, 0), 0.2);
83
- border-color: var(--accent);
84
- }
85
- }
86
-
87
- // ═══════════════════════════════════════════════════════════════════
88
- // METRIC VALUE ANIMATIONS - Analytics-Style
89
- // ═══════════════════════════════════════════════════════════════════
90
-
91
- // The nice metric value scale effect
92
- @mixin metric-value-effect {
93
- transition: all 300ms var(--ease-out);
94
-
95
- .metric-card:hover &,
96
- .analytics-card:hover & {
97
- transform: scale(1.05);
98
- color: var(--accent);
99
- }
100
- }
101
-
102
- // Number pulse effect
103
- @mixin number-pulse-effect {
104
- animation: numberPulse 2s ease-in-out infinite;
105
-
106
- @keyframes numberPulse {
107
- 0%,
108
- 100% {
109
- opacity: 1;
110
- }
111
- 50% {
112
- opacity: 0.85;
113
- }
114
- }
115
- }
116
-
117
- // ═══════════════════════════════════════════════════════════════════
118
- // PROGRESS BAR EFFECTS
119
- // ═══════════════════════════════════════════════════════════════════
120
-
121
- // Shimmer effect (from analytics)
122
- @mixin progress-shimmer {
123
- position: relative;
124
- overflow: hidden;
125
-
126
- &::after {
127
- content: "";
128
- position: absolute;
129
- top: 0;
130
- left: -100%;
131
- width: 100%;
132
- height: 100%;
133
- background: linear-gradient(
134
- 90deg,
135
- transparent 0%,
136
- rgba(255, 255, 255, 0.3) 50%,
137
- transparent 100%
138
- );
139
- animation: shimmer 2s infinite;
140
- }
141
-
142
- @keyframes shimmer {
143
- 0% {
144
- left: -100%;
145
- }
146
- 100% {
147
- left: 100%;
148
- }
149
- }
150
- }
151
-
152
- // Progress pulse on hover
153
- @mixin progress-pulse-hover {
154
- .metric-card:hover &,
155
- .card:hover & {
156
- animation: progressPulse 1s ease-in-out;
157
- }
158
-
159
- @keyframes progressPulse {
160
- 0%,
161
- 100% {
162
- opacity: 1;
163
- }
164
- 50% {
165
- opacity: 0.8;
166
- }
167
- }
168
- }
169
-
170
- // ═══════════════════════════════════════════════════════════════════
171
- // ACCENT LINE EFFECTS
172
- // ═══════════════════════════════════════════════════════════════════
173
-
174
- // Animated top accent line (analytics style)
175
- @mixin accent-line-top {
176
- position: relative;
177
-
178
- &::before {
179
- content: "";
180
- position: absolute;
181
- top: 0;
182
- left: 0;
183
- right: 0;
184
- height: 2px;
185
- background: linear-gradient(90deg, var(--accent) 0%, transparent 100%);
186
- opacity: 0;
187
- transition: opacity 300ms var(--ease-out);
188
- }
189
-
190
- &:hover::before {
191
- opacity: 1;
192
- }
193
- }
194
-
195
- // Left accent border (quotations, highlights)
196
- @mixin accent-line-left {
197
- border-left: 3px solid var(--accent);
198
- padding-left: calc(var(--osi-default-card-padding) - 3px);
199
- }
200
-
201
- // ═══════════════════════════════════════════════════════════════════
202
- // TREND ANIMATIONS
203
- // ═══════════════════════════════════════════════════════════════════
204
-
205
- @mixin trend-bounce-animation {
206
- .trend-icon,
207
- .trend-arrow {
208
- display: inline-block;
209
- animation: trendBounce 1.5s ease-in-out infinite;
210
- }
211
-
212
- @keyframes trendBounce {
213
- 0%,
214
- 100% {
215
- transform: translate3d(0, 0, 0);
216
- }
217
- 50% {
218
- transform: translate3d(0, -2px, 0);
219
- }
220
- }
221
-
222
- &:hover .trend-icon,
223
- &:hover .trend-arrow {
224
- animation-play-state: paused;
225
- transform: scale(1.1);
226
- }
227
- }
228
-
229
- // ═══════════════════════════════════════════════════════════════════
230
- // ZEBRA STRIPING (for lists)
231
- // ═══════════════════════════════════════════════════════════════════
232
-
233
- @mixin zebra-striping {
234
- &:nth-child(even) {
235
- background: var(--surface-subtle);
236
- }
237
-
238
- &:hover {
239
- background: var(--surface-raised);
240
- }
241
- }
242
-
243
- // ═══════════════════════════════════════════════════════════════════
244
- // GLASS MORPHISM EFFECT
245
- // ═══════════════════════════════════════════════════════════════════
246
-
247
- @mixin glass-card {
248
- background: var(--glass-bg);
249
- -webkit-backdrop-filter: blur(var(--blur-md));
250
- backdrop-filter: blur(var(--blur-md));
251
- border: 1px solid var(--glass-border);
252
- box-shadow: var(--shadow-sm);
253
-
254
- &:hover {
255
- background: rgba(255, 255, 255, 0.12);
256
- -webkit-backdrop-filter: blur(var(--blur-lg));
257
- backdrop-filter: blur(var(--blur-lg));
258
- box-shadow: var(--shadow-lg);
259
- }
260
- }
261
-
262
- // ═══════════════════════════════════════════════════════════════════
263
- // ICON ANIMATIONS
264
- // ═══════════════════════════════════════════════════════════════════
265
-
266
- @mixin icon-hover-scale {
267
- .item-icon,
268
- .card-icon {
269
- transition: all 200ms var(--ease-out);
270
- }
271
-
272
- &:hover .item-icon,
273
- &:hover .card-icon {
274
- transform: scale(1.15);
275
- color: var(--accent);
276
- }
277
- }
278
-
279
- // ═══════════════════════════════════════════════════════════════════
280
- // GRADIENT BACKGROUNDS
281
- // ═══════════════════════════════════════════════════════════════════
282
-
283
- @mixin gradient-background {
284
- background: linear-gradient(135deg, var(--surface) 0%, var(--surface-raised) 100%);
285
- }
286
-
287
- @mixin gradient-hover {
288
- &:hover {
289
- background: linear-gradient(135deg, var(--surface-raised) 0%, var(--surface-hover) 100%);
290
- }
291
- }
292
-
293
- // ═══════════════════════════════════════════════════════════════════
294
- // FOCUS RING (Accessibility)
295
- // ═══════════════════════════════════════════════════════════════════
296
-
297
- @mixin focus-ring {
298
- &:focus-visible {
299
- outline: 2px solid var(--accent);
300
- outline-offset: 2px;
301
- border-radius: var(--radius-sm);
302
- }
303
- }
304
-
305
- // ═══════════════════════════════════════════════════════════════════
306
- // LOADING STATE EFFECT
307
- // ═══════════════════════════════════════════════════════════════════
308
-
309
- @mixin loading-shimmer {
310
- position: relative;
311
- overflow: hidden;
312
-
313
- &::after {
314
- content: "";
315
- position: absolute;
316
- inset: 0;
317
- background: linear-gradient(
318
- 90deg,
319
- transparent 0%,
320
- var(--osi-overlay-medium) 50%,
321
- transparent 100%
322
- );
323
- transform: translateX(-100%);
324
- animation: loadingShimmer 1.5s infinite;
325
- }
326
-
327
- @keyframes loadingShimmer {
328
- 0% {
329
- transform: translate3d(-100%, 0, 0);
330
- }
331
- 100% {
332
- transform: translate3d(100%, 0, 0);
333
- }
334
- }
335
- }
336
-
337
- // ═══════════════════════════════════════════════════════════════════
338
- // COMBINED EFFECTS - Pre-built Combinations
339
- // ═══════════════════════════════════════════════════════════════════
340
-
341
- // Premium card effect (analytics-style)
342
- @mixin premium-card {
343
- @include analytics-card-effect;
344
- @include focus-ring;
345
-
346
- // Additional polish
347
- background: var(--osi-card-background);
348
- border: var(--osi-card-border-width) solid var(--osi-card-border-color);
349
- border-radius: var(--osi-card-border-radius);
350
- padding: var(--osi-default-card-padding);
351
- }
352
-
353
- // Interactive list item
354
- @mixin interactive-list-item {
355
- @include item-slide-right;
356
- @include zebra-striping;
357
- @include focus-ring;
358
-
359
- cursor: pointer;
360
- border-radius: var(--radius-sm);
361
- padding: var(--osi-default-card-padding);
362
- }
363
-
364
- // Feature card (gallery, products)
365
- @mixin feature-card {
366
- @include card-scale-lift;
367
- @include accent-line-top;
368
- @include focus-ring;
369
-
370
- background: var(--osi-card-background);
371
- border: var(--osi-card-border-width) solid var(--osi-card-border-color);
372
- border-radius: var(--osi-card-border-radius);
373
- padding: var(--osi-default-card-padding);
374
- }