osi-cards-lib 1.5.32 → 1.5.34

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 (87) hide show
  1. package/fesm2022/osi-cards-lib.mjs +31889 -0
  2. package/fesm2022/osi-cards-lib.mjs.map +1 -0
  3. package/index.d.ts +11528 -0
  4. package/package.json +25 -13
  5. package/scripts/setup-angular-styles.js +169 -0
  6. package/styles/_components.scss +38 -0
  7. package/styles/_index.scss +25 -0
  8. package/styles/_osi-cards-mixins.scss +459 -0
  9. package/styles/_osi-cards-tokens.scss +333 -0
  10. package/styles/_styles-scoped.scss +81 -0
  11. package/styles/_styles.scss +26 -0
  12. package/styles/bundles/_ai-card.scss +245 -0
  13. package/styles/bundles/_all.scss +68 -0
  14. package/styles/bundles/_base.scss +60 -0
  15. package/styles/bundles/_card-skeleton.scss +290 -0
  16. package/styles/bundles/_index.scss +25 -0
  17. package/styles/bundles/_sections.scss +48 -0
  18. package/styles/bundles/_tokens-only.scss +139 -0
  19. package/styles/components/_ai-card-renderer.scss +104 -0
  20. package/styles/components/_badges.scss +317 -0
  21. package/styles/components/_card-actions.scss +169 -0
  22. package/styles/components/_card-footer.scss +47 -0
  23. package/styles/components/_component-styles.scss +205 -0
  24. package/styles/components/_empty-state.scss +630 -0
  25. package/styles/components/_hero-card.scss +422 -0
  26. package/styles/components/_image-fallback.scss +28 -0
  27. package/styles/components/_streaming-effects.scss +518 -0
  28. package/styles/components/cards/_ai-card.scss +718 -0
  29. package/styles/components/sections/_all-sections.generated.scss +41 -0
  30. package/styles/components/sections/_all-sections.scss +1086 -0
  31. package/styles/components/sections/_balanced-compact-system.scss +186 -0
  32. package/styles/components/sections/_compact-mixins.scss +180 -0
  33. package/styles/components/sections/_component-mixins.scss +454 -0
  34. package/styles/components/sections/_design-system.scss +477 -0
  35. package/styles/components/sections/_design-tokens.scss +308 -0
  36. package/styles/components/sections/_enhanced-design-variables.scss +147 -0
  37. package/styles/components/sections/_master-compact-system.scss +302 -0
  38. package/styles/components/sections/_master-dense-system.scss +239 -0
  39. package/styles/components/sections/_minimalistic-design.scss +268 -0
  40. package/styles/components/sections/_modern-effects.scss +392 -0
  41. package/styles/components/sections/_modern-sections.scss +351 -0
  42. package/styles/components/sections/_perfect-system.scss +204 -0
  43. package/styles/components/sections/_section-animations.scss +331 -0
  44. package/styles/components/sections/_section-shell.scss +337 -0
  45. package/styles/components/sections/_section-types.generated.scss +30 -0
  46. package/styles/components/sections/_sections-all.scss +26 -0
  47. package/styles/components/sections/_sections-base.scss +334 -0
  48. package/styles/components/sections/_typography-system.scss +327 -0
  49. package/styles/components/sections/_ultra-compact-tokens.scss +375 -0
  50. package/styles/components/sections/_unified-section-style.scss +157 -0
  51. package/styles/components/sections/_utility-classes.scss +567 -0
  52. package/styles/components/sections/_visual-effects-library.scss +374 -0
  53. package/styles/core/_animations.scss +1498 -0
  54. package/styles/core/_bootstrap-reset.scss +445 -0
  55. package/styles/core/_color-helpers.scss +46 -0
  56. package/styles/core/_global-unified.scss +118 -0
  57. package/styles/core/_global.scss +73 -0
  58. package/styles/core/_mixins.scss +491 -0
  59. package/styles/core/_surface-layers.scss +76 -0
  60. package/styles/core/_utilities.scss +326 -0
  61. package/styles/core/_variables-unified.scss +57 -0
  62. package/styles/core/_variables.scss +36 -0
  63. package/styles/core/variables/_colors-source.scss +34 -0
  64. package/styles/core/variables/_colors-unified.scss +26 -0
  65. package/styles/core/variables/_colors.scss +21 -0
  66. package/styles/critical.scss +353 -0
  67. package/styles/design-system/_compact-theme.scss +159 -0
  68. package/styles/design-system/_section-base.scss +426 -0
  69. package/styles/design-system/_tokens.scss +237 -0
  70. package/styles/design-system/_unified-sections.scss +215 -0
  71. package/styles/layout/_feature-grid.scss +322 -0
  72. package/styles/layout/_masonry.scss +734 -0
  73. package/styles/layout/_tilt.scss +244 -0
  74. package/styles/micro-interactions.scss +583 -0
  75. package/styles/mixins/_section-mixins.scss +280 -0
  76. package/styles/non-critical.scss +643 -0
  77. package/styles/reset/_framework-reset.scss +457 -0
  78. package/styles/reset/_index.scss +14 -0
  79. package/styles/reset/_shadow-reset.scss +383 -0
  80. package/styles/responsive.scss +326 -0
  81. package/styles/themes.scss +573 -0
  82. package/styles/tokens/_index.scss +92 -0
  83. package/styles/tokens/_master.scss +1404 -0
  84. package/styles/tokens/_section-tokens.generated.scss +140 -0
  85. package/postcss.config.js +0 -81
  86. package/section-registry.json +0 -3864
  87. package/section-registry.schema.json +0 -264
@@ -0,0 +1,326 @@
1
+ /**
2
+ * CONSOLIDATED CUSTOM UTILITIES
3
+ *
4
+ * NOTE: Most standard utilities (flex, grid, gap, padding, margin, colors, sizing, text styles, etc.)
5
+ * are generated by Tailwind from tailwind.config.js and @tailwind directives.
6
+ *
7
+ * This file contains ONLY custom utilities not covered by Tailwind CSS.
8
+ *
9
+ * For standard utilities, use Tailwind classes directly:
10
+ * - Layout: .flex, .grid, .gap-4, .p-6, .m-2, etc.
11
+ * - Colors: .bg-card, .text-foreground, .border-primary, etc.
12
+ * - Sizing: .w-full, .h-auto, .text-lg, .font-bold, etc.
13
+ * - Spacing: .mb-4, .px-3, .py-6, etc.
14
+ * - Transitions: .transition-all, .duration-200, etc.
15
+ */
16
+
17
+ /* Align icon pseudo-elements with text */
18
+ div [class$="-icon"]::before {
19
+ vertical-align: middle;
20
+ }
21
+
22
+ /* Component-specific error/warning state backgrounds (not in Tailwind config) */
23
+ .bg-red-500\/10 {
24
+ background-color: rgba(239, 68, 68, 0.1);
25
+ }
26
+
27
+ .bg-yellow-500\/10 {
28
+ background-color: rgba(236, 175, 34, 0.1);
29
+ }
30
+
31
+ /* Component-specific error/warning state borders (not in Tailwind config) */
32
+ .border-red-500\/50 {
33
+ border-color: rgba(239, 68, 68, 0.5);
34
+ }
35
+
36
+ .border-red-500\/20 {
37
+ border-color: rgba(239, 68, 68, 0.2);
38
+ }
39
+
40
+ .border-yellow-500\/50 {
41
+ border-color: rgba(236, 175, 34, 0.5);
42
+ }
43
+
44
+ /* ===================================================================
45
+ ANIMATION UTILITIES
46
+ =================================================================== */
47
+
48
+ /*
49
+ Animation utilities are now defined in _animations.scss
50
+ Available classes:
51
+
52
+ Entry Animations:
53
+ - .animate-fade-in
54
+ - .animate-fade-in-up
55
+ - .animate-slide-up
56
+ - .animate-slide-down
57
+ - .animate-slide-in-left
58
+ - .animate-slide-in-right
59
+
60
+ Scale Animations:
61
+ - .animate-scale
62
+ - .animate-scale-in
63
+ - .animate-pulse
64
+
65
+ Rotation Animations:
66
+ - .animate-spin
67
+ - .animate-spin-slow
68
+
69
+ Attention Animations:
70
+ - .animate-shake
71
+ - .animate-bounce
72
+
73
+ Stagger Delays:
74
+ - .animate-delay-1 through .animate-delay-5
75
+
76
+ Performance Helpers:
77
+ - .will-animate
78
+ - .will-animate-transform
79
+ - .will-animate-opacity
80
+ - .gpu-accelerated
81
+ */
82
+
83
+ /* ===================================================================
84
+ TRANSITION UTILITIES
85
+ Smooth transitions using design system variables
86
+ =================================================================== */
87
+
88
+ /* Standard transitions */
89
+ .transition-smooth {
90
+ transition:
91
+ transform var(--duration-normal) var(--ease-out-smooth),
92
+ opacity var(--duration-normal) var(--ease-out-smooth);
93
+ }
94
+
95
+ .transition-fast {
96
+ transition:
97
+ transform var(--duration-fast) var(--ease-out-smooth),
98
+ opacity var(--duration-fast) var(--ease-out-smooth);
99
+ }
100
+
101
+ .transition-slow {
102
+ transition:
103
+ transform var(--duration-slow) var(--ease-out-smooth),
104
+ opacity var(--duration-slow) var(--ease-out-smooth);
105
+ }
106
+
107
+ /* Transform-specific transitions */
108
+ .transition-transform {
109
+ transition: transform var(--duration-normal) var(--ease-out-smooth);
110
+ }
111
+
112
+ .transition-transform-fast {
113
+ transition: transform var(--duration-fast) var(--ease-out-smooth);
114
+ }
115
+
116
+ /* Opacity transitions */
117
+ .transition-opacity {
118
+ transition: opacity var(--duration-normal) var(--ease-out-smooth);
119
+ }
120
+
121
+ .transition-opacity-fast {
122
+ transition: opacity var(--duration-fast) var(--ease-out-smooth);
123
+ }
124
+
125
+ /* Color transitions - smooth 300ms transitions */
126
+ .transition-colors {
127
+ transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
128
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
129
+ transition-duration: 300ms;
130
+ }
131
+
132
+ /* ===================================================================
133
+ INTERACTION UTILITIES
134
+ Hover, active, and focus states
135
+ =================================================================== */
136
+
137
+ /* Hover lift effect - DISABLED: Cards should not move vertically */
138
+ .hover-lift {
139
+ transition: transform var(--duration-normal) var(--ease-out-smooth);
140
+ }
141
+
142
+ .hover-lift:hover {
143
+ /* No vertical movement, only GPU acceleration */
144
+ transform: translateZ(0);
145
+ }
146
+
147
+ /* Hover scale effect */
148
+ .hover-scale {
149
+ transition: transform var(--duration-normal) var(--ease-out-smooth);
150
+ }
151
+
152
+ .hover-scale:hover {
153
+ transform: scale(1.05) translateZ(0);
154
+ }
155
+
156
+ /* Hover glow effect */
157
+ .hover-glow {
158
+ transition: box-shadow var(--duration-normal) var(--ease-out-smooth);
159
+ }
160
+
161
+ .hover-glow:hover {
162
+ box-shadow: 0 0 20px color-mix(in srgb, var(--primary) 40%, transparent);
163
+ }
164
+
165
+ /* Active state - press effect */
166
+ .active-press:active {
167
+ transform: scale(0.98) translateZ(0);
168
+ }
169
+
170
+ /* Focus visible outline */
171
+ .focus-ring:focus-visible {
172
+ outline: 2px solid var(--ring);
173
+ outline-offset: 2px;
174
+ }
175
+
176
+ /* ===================================================================
177
+ BACKDROP BLUR UTILITIES
178
+ Glass-morphism and blur effects
179
+ =================================================================== */
180
+
181
+ /* Backdrop blur - small (4px) */
182
+ .backdrop-blur-sm {
183
+ backdrop-filter: blur(4px);
184
+ -webkit-backdrop-filter: blur(4px);
185
+ }
186
+
187
+ /* Backdrop blur - medium (12px) */
188
+ .backdrop-blur-md {
189
+ backdrop-filter: blur(12px);
190
+ -webkit-backdrop-filter: blur(12px);
191
+ }
192
+
193
+ /* Backdrop blur - large (20px) */
194
+ .backdrop-blur-lg {
195
+ backdrop-filter: blur(20px);
196
+ -webkit-backdrop-filter: blur(20px);
197
+ }
198
+
199
+ /* Backdrop blur - extra large (32px) */
200
+ .backdrop-blur-xl {
201
+ backdrop-filter: blur(32px);
202
+ -webkit-backdrop-filter: blur(32px);
203
+ }
204
+
205
+ /* Backdrop blur - none (remove blur) */
206
+ .backdrop-blur-none {
207
+ backdrop-filter: none;
208
+ -webkit-backdrop-filter: none;
209
+ }
210
+
211
+ /* ===================================================================
212
+ GLASS PANEL UTILITIES
213
+ Ready-to-use glass effect classes
214
+ =================================================================== */
215
+
216
+ /* Glass panel - standard */
217
+ .glass-panel {
218
+ background: color-mix(in srgb, var(--background, #0c0c0c) 80%, transparent);
219
+ backdrop-filter: blur(12px);
220
+ -webkit-backdrop-filter: blur(12px);
221
+ border: 1px solid color-mix(in srgb, var(--border, rgba(255, 255, 255, 0.1)) 50%, transparent);
222
+ }
223
+
224
+ /* Glass panel - dark */
225
+ .glass-panel-dark {
226
+ background: color-mix(in srgb, rgba(16, 16, 24, 0.86) 90%, transparent);
227
+ backdrop-filter: blur(18px);
228
+ -webkit-backdrop-filter: blur(18px);
229
+ border: 1px solid rgba(255, 255, 255, 0.08);
230
+ box-shadow: 0 28px 70px rgba(0, 0, 0, 0.5);
231
+ }
232
+
233
+ /* Glass panel - light */
234
+ .glass-panel-light {
235
+ background: color-mix(in srgb, rgba(255, 255, 255, 0.8) 90%, transparent);
236
+ backdrop-filter: blur(12px);
237
+ -webkit-backdrop-filter: blur(12px);
238
+ border: 1px solid rgba(0, 0, 0, 0.1);
239
+ }
240
+
241
+ /* Glass panel - branded */
242
+ .glass-panel-brand {
243
+ background: color-mix(in srgb, var(--background, #0c0c0c) 85%, var(--color-brand, #ff7900) 5%);
244
+ backdrop-filter: blur(16px);
245
+ -webkit-backdrop-filter: blur(16px);
246
+ border: 1px solid color-mix(in srgb, var(--color-brand, #ff7900) 20%, transparent);
247
+ }
248
+
249
+ /* ===================================================================
250
+ STAGGER ANIMATION UTILITIES
251
+ Pre-built staggered animation delays
252
+ =================================================================== */
253
+
254
+ /* Stagger delay utilities - 80ms increment (matches homepage) */
255
+ .stagger-delay-1 {
256
+ animation-delay: 80ms;
257
+ }
258
+ .stagger-delay-2 {
259
+ animation-delay: 160ms;
260
+ }
261
+ .stagger-delay-3 {
262
+ animation-delay: 240ms;
263
+ }
264
+ .stagger-delay-4 {
265
+ animation-delay: 320ms;
266
+ }
267
+ .stagger-delay-5 {
268
+ animation-delay: 400ms;
269
+ }
270
+ .stagger-delay-6 {
271
+ animation-delay: 480ms;
272
+ }
273
+ .stagger-delay-7 {
274
+ animation-delay: 560ms;
275
+ }
276
+ .stagger-delay-8 {
277
+ animation-delay: 640ms;
278
+ }
279
+ .stagger-delay-9 {
280
+ animation-delay: 720ms;
281
+ }
282
+ .stagger-delay-10 {
283
+ animation-delay: 800ms;
284
+ }
285
+
286
+ /* Transition delay utilities - for staggered transitions */
287
+ .transition-delay-1 {
288
+ transition-delay: 80ms;
289
+ }
290
+ .transition-delay-2 {
291
+ transition-delay: 160ms;
292
+ }
293
+ .transition-delay-3 {
294
+ transition-delay: 240ms;
295
+ }
296
+ .transition-delay-4 {
297
+ transition-delay: 320ms;
298
+ }
299
+ .transition-delay-5 {
300
+ transition-delay: 400ms;
301
+ }
302
+
303
+ /* ===================================================================
304
+ REDUCED MOTION SUPPORT
305
+ =================================================================== */
306
+
307
+ @media (prefers-reduced-motion: reduce) {
308
+ .transition-smooth,
309
+ .transition-fast,
310
+ .transition-slow,
311
+ .transition-transform,
312
+ .transition-transform-fast,
313
+ .transition-opacity,
314
+ .transition-opacity-fast,
315
+ .transition-colors,
316
+ .hover-lift,
317
+ .hover-scale,
318
+ .hover-glow {
319
+ transition: none !important;
320
+ }
321
+
322
+ .hover-scale:hover,
323
+ .active-press:active {
324
+ transform: none !important;
325
+ }
326
+ }
@@ -0,0 +1,57 @@
1
+ // ===================================================================
2
+ // DESIGN TOKENS - Scoped for .osi-cards-container Integration
3
+ // Generated from master tokens
4
+ //
5
+ // Used when integrating into external apps (like Orange Sales Assistance)
6
+ // to prevent CSS variable conflicts with the host application.
7
+ //
8
+ // This file is designed to be imported INSIDE .osi-cards-container { }
9
+ // ===================================================================
10
+
11
+ @use "../tokens/master" as *;
12
+
13
+ @import "variables/colors-unified";
14
+
15
+ // Additional design tokens that extend the theme system
16
+ &,
17
+ &[data-theme="night"],
18
+ &[data-theme="day"] {
19
+ @include osi-tokens("integration", true);
20
+ }
21
+
22
+ // ===== HIGH CONTRAST MODE SUPPORT =====
23
+ @media (prefers-contrast: high) {
24
+ &,
25
+ &[data-theme="night"],
26
+ &[data-theme="day"] {
27
+ @include osi-tokens-high-contrast();
28
+ }
29
+ }
30
+
31
+ // Windows High Contrast Mode detection
32
+ @media (forced-colors: active) {
33
+ &,
34
+ &[data-theme="night"],
35
+ &[data-theme="day"] {
36
+ @include osi-tokens-forced-colors();
37
+ }
38
+ }
39
+
40
+ // ===== RESPONSIVE ANIMATION PREFERENCES =====
41
+ // Reduced motion support for accessibility
42
+ @media (prefers-reduced-motion: reduce) {
43
+ &,
44
+ &[data-theme="night"],
45
+ &[data-theme="day"] {
46
+ @include osi-tokens-reduced-motion();
47
+ }
48
+
49
+ *,
50
+ *::before,
51
+ *::after {
52
+ animation-duration: 1ms !important;
53
+ animation-iteration-count: 1 !important;
54
+ transition-duration: 1ms !important;
55
+ scroll-behavior: auto !important;
56
+ }
57
+ }
@@ -0,0 +1,36 @@
1
+ // ===================================================================
2
+ // DESIGN TOKENS - For Demo App (applies to :root)
3
+ // Generated from master tokens
4
+ // ===================================================================
5
+
6
+ @use "../tokens/master" as *;
7
+
8
+ // Import theme colors (applies to :root with theme variants)
9
+ // Note: Using @import as colors file exports CSS rules directly
10
+ @import "variables/colors";
11
+
12
+ // Additional design tokens that extend the theme system
13
+ :root,
14
+ :root[data-theme="night"],
15
+ :root[data-theme="day"] {
16
+ @include osi-tokens("demo", false);
17
+ }
18
+
19
+ // ===== RESPONSIVE ANIMATION PREFERENCES =====
20
+ // Reduced motion support for accessibility
21
+ @media (prefers-reduced-motion: reduce) {
22
+ :root,
23
+ :root[data-theme="night"],
24
+ :root[data-theme="day"] {
25
+ @include osi-tokens-reduced-motion();
26
+ }
27
+
28
+ *,
29
+ *::before,
30
+ *::after {
31
+ animation-duration: 1ms !important;
32
+ animation-iteration-count: 1 !important;
33
+ transition-duration: 1ms !important;
34
+ scroll-behavior: auto !important;
35
+ }
36
+ }
@@ -0,0 +1,34 @@
1
+ // ===================================================================
2
+ // SHARED COLOR SOURCE - Re-exports from Master Tokens
3
+ // ===================================================================
4
+ //
5
+ // This file re-exports theme color mixins from the master tokens file.
6
+ // All color definitions have been consolidated into ../tokens/_master.scss
7
+ //
8
+ // ===================================================================
9
+
10
+ @use "../../tokens/master" as *;
11
+
12
+ // Theme color mixins are now defined in master tokens:
13
+ //
14
+ // Base theme:
15
+ // @include osi-theme-base($variant, $is-scoped);
16
+ //
17
+ // Dark theme:
18
+ // @include osi-theme-dark($variant, $is-scoped);
19
+ //
20
+ // Light theme:
21
+ // @include osi-theme-light($variant, $is-scoped);
22
+
23
+ // Legacy mixin aliases for backward compatibility
24
+ @mixin osi-colors($variant: "demo", $is-scoped: false) {
25
+ @include osi-theme-base($variant, $is-scoped);
26
+ }
27
+
28
+ @mixin osi-colors-dark($variant: "demo", $is-scoped: false) {
29
+ @include osi-theme-dark($variant, $is-scoped);
30
+ }
31
+
32
+ @mixin osi-colors-light($variant: "demo", $is-scoped: false) {
33
+ @include osi-theme-light($variant, $is-scoped);
34
+ }
@@ -0,0 +1,26 @@
1
+ // ===================================================================
2
+ // COLOR VARIABLES - Scoped for .osi-cards-container Integration
3
+ // Generated from master tokens
4
+ //
5
+ // Used when integrating into external apps (like Orange Sales Assistance)
6
+ // to prevent CSS variable conflicts with the host application.
7
+ //
8
+ // This file is designed to be imported INSIDE .osi-cards-container { }
9
+ // ===================================================================
10
+
11
+ @use "../../tokens/master" as *;
12
+
13
+ // Base colors for scoped container (& refers to .osi-cards-container)
14
+ & {
15
+ @include osi-theme-base("integration", true);
16
+ }
17
+
18
+ // Dark theme (Night Mode) - scoped
19
+ &[data-theme="night"] {
20
+ @include osi-theme-dark("integration", true);
21
+ }
22
+
23
+ // Light theme (Day Mode) - scoped
24
+ &[data-theme="day"] {
25
+ @include osi-theme-light("integration", true);
26
+ }
@@ -0,0 +1,21 @@
1
+ // ===================================================================
2
+ // COLOR VARIABLES - For Demo App (applies to :root)
3
+ // Generated from master tokens
4
+ // ===================================================================
5
+
6
+ @use "../../tokens/master" as *;
7
+
8
+ // Base colors for :root
9
+ :root {
10
+ @include osi-theme-base("demo", false);
11
+ }
12
+
13
+ // Dark theme (Night Mode)
14
+ :root[data-theme="night"] {
15
+ @include osi-theme-dark("demo", false);
16
+ }
17
+
18
+ // Light theme (Day Mode)
19
+ :root[data-theme="day"] {
20
+ @include osi-theme-light("demo", false);
21
+ }