@eric-emg/symphiq-components 1.2.131 → 1.2.133

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/src/styles.css CHANGED
@@ -1,318 +1,318 @@
1
- @import 'tailwindcss';
2
-
3
- @keyframes fadeInUp {
4
- from {
5
- opacity: 0;
6
- transform: translateY(20px);
7
- }
8
- to {
9
- opacity: 1;
10
- transform: translateY(0);
11
- }
12
- }
13
-
14
- @keyframes fadeIn {
15
- from {
16
- opacity: 0;
17
- }
18
- to {
19
- opacity: 1;
20
- }
21
- }
22
-
23
- @keyframes progressBar {
24
- from {
25
- width: 0%;
26
- }
27
- }
28
-
29
- @keyframes pulseGlow {
30
- 0%, 100% {
31
- box-shadow: 0 0 20px rgba(16, 185, 129, 0.5);
32
- }
33
- 50% {
34
- box-shadow: 0 0 30px rgba(16, 185, 129, 0.8);
35
- }
36
- }
37
-
38
- @keyframes valueGlow {
39
- 0% {
40
- text-shadow: 0 0 8px rgba(59, 130, 246, 0);
41
- }
42
- 50% {
43
- text-shadow: 0 0 15px rgba(59, 130, 246, 0.6), 0 0 20px rgba(59, 130, 246, 0.3);
44
- }
45
- 100% {
46
- text-shadow: 0 0 8px rgba(59, 130, 246, 0);
47
- }
48
- }
49
-
50
- @keyframes slideUpFade {
51
- from {
52
- opacity: 0;
53
- transform: translateY(30px) scale(0.95);
54
- }
55
- to {
56
- opacity: 1;
57
- transform: translateY(0) scale(1);
58
- }
59
- }
60
-
61
- @keyframes pulseSubtle {
62
- 0%, 100% {
63
- opacity: 1;
64
- transform: scale(1);
65
- box-shadow: inherit;
66
- }
67
- 50% {
68
- opacity: 0.9;
69
- transform: scale(1.05);
70
- filter: brightness(1.1);
71
- }
72
- }
73
-
74
- @keyframes fadeOut {
75
- from {
76
- opacity: 1;
77
- }
78
- to {
79
- opacity: 0;
80
- }
81
- }
82
-
83
- @keyframes scaleIn {
84
- from {
85
- opacity: 0;
86
- transform: scale(0.95);
87
- }
88
- to {
89
- opacity: 1;
90
- transform: scale(1);
91
- }
92
- }
93
-
94
- @keyframes contentChange {
95
- 0% {
96
- opacity: 1;
97
- }
98
- 50% {
99
- opacity: 0.3;
100
- transform: scale(0.98);
101
- }
102
- 100% {
103
- opacity: 1;
104
- transform: scale(1);
105
- }
106
- }
107
-
108
- .animate-fade-in-up {
109
- opacity: 0;
110
- animation: fadeInUp 0.6s ease-out forwards;
111
- }
112
-
113
- .animate-fade-in {
114
- animation: fadeIn 0.3s ease-out forwards;
115
- }
116
-
117
- .animate-fade-out {
118
- animation: fadeOut 0.2s ease-out forwards;
119
- }
120
-
121
- .animate-slide-up-fade {
122
- animation: slideUpFade 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
123
- }
124
-
125
- .animate-progress-bar {
126
- animation: progressBar 1.2s ease-out forwards;
127
- }
128
-
129
- .animate-pulse-glow {
130
- animation: pulseGlow 2s ease-in-out infinite;
131
- }
132
-
133
- .animate-pulse-subtle {
134
- animation: pulseSubtle 2s ease-in-out infinite;
135
- }
136
-
137
- .animate-value-glow.value-changed {
138
- animation: valueGlow 1.5s ease-out;
139
- }
140
-
141
- .animate-scale-in {
142
- animation: scaleIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
143
- }
144
-
145
- .animate-content-change {
146
- animation: contentChange 0.4s ease-in-out;
147
- }
148
-
149
- .transition-opacity-fast {
150
- transition: opacity 0.2s ease-in-out;
151
- }
152
-
153
- .transition-opacity-slow {
154
- transition: opacity 0.4s ease-in-out;
155
- }
156
-
157
- @keyframes searchHighlight {
158
- 0%, 100% {
159
- background-color: transparent;
160
- box-shadow: none;
161
- }
162
- 50% {
163
- background-color: rgba(59, 130, 246, 0.15);
164
- box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.15);
165
- }
166
- }
167
-
168
- .search-highlight {
169
- animation: searchHighlight 1.5s ease-in-out 2;
170
- border-radius: 12px;
171
- scroll-margin-top: 100px;
172
- }
173
-
174
- @keyframes pulseBorder {
175
- 0%, 100% {
176
- box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.7);
177
- }
178
- 50% {
179
- box-shadow: 0 0 0 8px rgba(59, 130, 246, 0);
180
- }
181
- }
182
-
183
- .animate-pulse-border {
184
- animation: pulseBorder 1s ease-out 3;
185
- }
186
-
187
- /* Radial gradient utility */
188
- .bg-gradient-radial {
189
- background: radial-gradient(circle, var(--tw-gradient-stops));
190
- }
191
-
192
- /* CSS-only animated bubbles - optimized for performance */
193
- @keyframes bubbleFloat1 {
194
- 0%, 100% {
195
- background-position: 0% 0%, 100% 100%, 50% 50%, 20% 80%, 80% 20%;
196
- }
197
- 33% {
198
- background-position: 15% 10%, 85% 90%, 60% 40%, 30% 70%, 70% 30%;
199
- }
200
- 66% {
201
- background-position: 10% 20%, 90% 80%, 45% 55%, 25% 75%, 75% 25%;
202
- }
203
- }
204
-
205
- @keyframes bubbleFloat2 {
206
- 0%, 100% {
207
- background-position: 100% 0%, 0% 100%, 80% 20%, 30% 70%, 60% 50%;
208
- }
209
- 33% {
210
- background-position: 90% 15%, 10% 85%, 70% 30%, 40% 60%, 50% 40%;
211
- }
212
- 66% {
213
- background-position: 85% 10%, 15% 90%, 75% 25%, 35% 65%, 55% 45%;
214
- }
215
- }
216
-
217
- .animated-bubbles {
218
- background-image:
219
- radial-gradient(circle, rgba(59, 130, 246, 0.15) 0%, transparent 50%),
220
- radial-gradient(circle, rgba(147, 51, 234, 0.12) 0%, transparent 50%),
221
- radial-gradient(circle, rgba(59, 130, 246, 0.10) 0%, transparent 60%),
222
- radial-gradient(circle, rgba(99, 102, 241, 0.14) 0%, transparent 45%),
223
- radial-gradient(circle, rgba(168, 85, 247, 0.12) 0%, transparent 55%);
224
- background-size: 300px 300px, 400px 400px, 350px 350px, 280px 280px, 320px 320px;
225
- background-repeat: no-repeat;
226
- animation: bubbleFloat1 35s ease-in-out infinite;
227
- will-change: background-position;
228
- transform: translate3d(0, 0, 0);
229
- pointer-events: none;
230
- }
231
-
232
- .animated-bubbles.light-mode {
233
- background-image:
234
- radial-gradient(circle, rgba(59, 130, 246, 0.20) 0%, transparent 50%),
235
- radial-gradient(circle, rgba(147, 51, 234, 0.16) 0%, transparent 50%),
236
- radial-gradient(circle, rgba(59, 130, 246, 0.14) 0%, transparent 60%),
237
- radial-gradient(circle, rgba(99, 102, 241, 0.18) 0%, transparent 45%),
238
- radial-gradient(circle, rgba(168, 85, 247, 0.15) 0%, transparent 55%);
239
- animation: bubbleFloat2 40s ease-in-out infinite;
240
- }
241
-
242
- /* Expanded item animations */
243
- @keyframes bounceScale {
244
- 0% {
245
- transform: scale(1);
246
- }
247
- 25% {
248
- transform: scale(1.15);
249
- }
250
- 50% {
251
- transform: scale(1.08);
252
- }
253
- 75% {
254
- transform: scale(1.12);
255
- }
256
- 100% {
257
- transform: scale(1.1);
258
- }
259
- }
260
-
261
- @keyframes iconGlow {
262
- 0% {
263
- filter: brightness(1) saturate(1);
264
- }
265
- 100% {
266
- filter: brightness(1.2) saturate(1.3);
267
- }
268
- }
269
-
270
- @keyframes textGrow {
271
- 0% {
272
- transform: scale(1);
273
- }
274
- 50% {
275
- transform: scale(1.02);
276
- }
277
- 100% {
278
- transform: scale(1.05);
279
- }
280
- }
281
-
282
- @keyframes badgePulse {
283
- 0%, 100% {
284
- transform: scale(1);
285
- opacity: 1;
286
- }
287
- 50% {
288
- transform: scale(1.08);
289
- opacity: 0.95;
290
- }
291
- }
292
-
293
- .expanded-icon-bounce {
294
- animation: bounceScale 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards,
295
- iconGlow 0.3s ease-out 0.2s forwards;
296
- }
297
-
298
- .expanded-title-grow {
299
- animation: textGrow 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) 0.15s forwards;
300
- }
301
-
302
- .expanded-badge-pulse {
303
- animation: badgePulse 0.6s ease-in-out 0.3s 2;
304
- }
305
-
306
- /* Smooth transitions for expanded state */
307
- .expand-transition {
308
- transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
309
- }
310
-
311
- @media (prefers-reduced-motion: reduce) {
312
- .expanded-icon-bounce,
313
- .expanded-title-grow,
314
- .expanded-badge-pulse {
315
- animation: none;
316
- transform: scale(1.1);
317
- }
318
- }
1
+ @import 'tailwindcss';
2
+
3
+ @keyframes fadeInUp {
4
+ from {
5
+ opacity: 0;
6
+ transform: translateY(20px);
7
+ }
8
+ to {
9
+ opacity: 1;
10
+ transform: translateY(0);
11
+ }
12
+ }
13
+
14
+ @keyframes fadeIn {
15
+ from {
16
+ opacity: 0;
17
+ }
18
+ to {
19
+ opacity: 1;
20
+ }
21
+ }
22
+
23
+ @keyframes progressBar {
24
+ from {
25
+ width: 0%;
26
+ }
27
+ }
28
+
29
+ @keyframes pulseGlow {
30
+ 0%, 100% {
31
+ box-shadow: 0 0 20px rgba(16, 185, 129, 0.5);
32
+ }
33
+ 50% {
34
+ box-shadow: 0 0 30px rgba(16, 185, 129, 0.8);
35
+ }
36
+ }
37
+
38
+ @keyframes valueGlow {
39
+ 0% {
40
+ text-shadow: 0 0 8px rgba(59, 130, 246, 0);
41
+ }
42
+ 50% {
43
+ text-shadow: 0 0 15px rgba(59, 130, 246, 0.6), 0 0 20px rgba(59, 130, 246, 0.3);
44
+ }
45
+ 100% {
46
+ text-shadow: 0 0 8px rgba(59, 130, 246, 0);
47
+ }
48
+ }
49
+
50
+ @keyframes slideUpFade {
51
+ from {
52
+ opacity: 0;
53
+ transform: translateY(30px) scale(0.95);
54
+ }
55
+ to {
56
+ opacity: 1;
57
+ transform: translateY(0) scale(1);
58
+ }
59
+ }
60
+
61
+ @keyframes pulseSubtle {
62
+ 0%, 100% {
63
+ opacity: 1;
64
+ transform: scale(1);
65
+ box-shadow: inherit;
66
+ }
67
+ 50% {
68
+ opacity: 0.9;
69
+ transform: scale(1.05);
70
+ filter: brightness(1.1);
71
+ }
72
+ }
73
+
74
+ @keyframes fadeOut {
75
+ from {
76
+ opacity: 1;
77
+ }
78
+ to {
79
+ opacity: 0;
80
+ }
81
+ }
82
+
83
+ @keyframes scaleIn {
84
+ from {
85
+ opacity: 0;
86
+ transform: scale(0.95);
87
+ }
88
+ to {
89
+ opacity: 1;
90
+ transform: scale(1);
91
+ }
92
+ }
93
+
94
+ @keyframes contentChange {
95
+ 0% {
96
+ opacity: 1;
97
+ }
98
+ 50% {
99
+ opacity: 0.3;
100
+ transform: scale(0.98);
101
+ }
102
+ 100% {
103
+ opacity: 1;
104
+ transform: scale(1);
105
+ }
106
+ }
107
+
108
+ .animate-fade-in-up {
109
+ opacity: 0;
110
+ animation: fadeInUp 0.6s ease-out forwards;
111
+ }
112
+
113
+ .animate-fade-in {
114
+ animation: fadeIn 0.3s ease-out forwards;
115
+ }
116
+
117
+ .animate-fade-out {
118
+ animation: fadeOut 0.2s ease-out forwards;
119
+ }
120
+
121
+ .animate-slide-up-fade {
122
+ animation: slideUpFade 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
123
+ }
124
+
125
+ .animate-progress-bar {
126
+ animation: progressBar 1.2s ease-out forwards;
127
+ }
128
+
129
+ .animate-pulse-glow {
130
+ animation: pulseGlow 2s ease-in-out infinite;
131
+ }
132
+
133
+ .animate-pulse-subtle {
134
+ animation: pulseSubtle 2s ease-in-out infinite;
135
+ }
136
+
137
+ .animate-value-glow.value-changed {
138
+ animation: valueGlow 1.5s ease-out;
139
+ }
140
+
141
+ .animate-scale-in {
142
+ animation: scaleIn 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
143
+ }
144
+
145
+ .animate-content-change {
146
+ animation: contentChange 0.4s ease-in-out;
147
+ }
148
+
149
+ .transition-opacity-fast {
150
+ transition: opacity 0.2s ease-in-out;
151
+ }
152
+
153
+ .transition-opacity-slow {
154
+ transition: opacity 0.4s ease-in-out;
155
+ }
156
+
157
+ @keyframes searchHighlight {
158
+ 0%, 100% {
159
+ background-color: transparent;
160
+ box-shadow: none;
161
+ }
162
+ 50% {
163
+ background-color: rgba(59, 130, 246, 0.15);
164
+ box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.15);
165
+ }
166
+ }
167
+
168
+ .search-highlight {
169
+ animation: searchHighlight 1.5s ease-in-out 2;
170
+ border-radius: 12px;
171
+ scroll-margin-top: 100px;
172
+ }
173
+
174
+ @keyframes pulseBorder {
175
+ 0%, 100% {
176
+ box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.7);
177
+ }
178
+ 50% {
179
+ box-shadow: 0 0 0 8px rgba(59, 130, 246, 0);
180
+ }
181
+ }
182
+
183
+ .animate-pulse-border {
184
+ animation: pulseBorder 1s ease-out 3;
185
+ }
186
+
187
+ /* Radial gradient utility */
188
+ .bg-gradient-radial {
189
+ background: radial-gradient(circle, var(--tw-gradient-stops));
190
+ }
191
+
192
+ /* CSS-only animated bubbles - optimized for performance */
193
+ @keyframes bubbleFloat1 {
194
+ 0%, 100% {
195
+ background-position: 0% 0%, 100% 100%, 50% 50%, 20% 80%, 80% 20%;
196
+ }
197
+ 33% {
198
+ background-position: 15% 10%, 85% 90%, 60% 40%, 30% 70%, 70% 30%;
199
+ }
200
+ 66% {
201
+ background-position: 10% 20%, 90% 80%, 45% 55%, 25% 75%, 75% 25%;
202
+ }
203
+ }
204
+
205
+ @keyframes bubbleFloat2 {
206
+ 0%, 100% {
207
+ background-position: 100% 0%, 0% 100%, 80% 20%, 30% 70%, 60% 50%;
208
+ }
209
+ 33% {
210
+ background-position: 90% 15%, 10% 85%, 70% 30%, 40% 60%, 50% 40%;
211
+ }
212
+ 66% {
213
+ background-position: 85% 10%, 15% 90%, 75% 25%, 35% 65%, 55% 45%;
214
+ }
215
+ }
216
+
217
+ .animated-bubbles {
218
+ background-image:
219
+ radial-gradient(circle, rgba(59, 130, 246, 0.15) 0%, transparent 50%),
220
+ radial-gradient(circle, rgba(147, 51, 234, 0.12) 0%, transparent 50%),
221
+ radial-gradient(circle, rgba(59, 130, 246, 0.10) 0%, transparent 60%),
222
+ radial-gradient(circle, rgba(99, 102, 241, 0.14) 0%, transparent 45%),
223
+ radial-gradient(circle, rgba(168, 85, 247, 0.12) 0%, transparent 55%);
224
+ background-size: 300px 300px, 400px 400px, 350px 350px, 280px 280px, 320px 320px;
225
+ background-repeat: no-repeat;
226
+ animation: bubbleFloat1 35s ease-in-out infinite;
227
+ will-change: background-position;
228
+ backface-visibility: hidden;
229
+ pointer-events: none;
230
+ }
231
+
232
+ .animated-bubbles.light-mode {
233
+ background-image:
234
+ radial-gradient(circle, rgba(59, 130, 246, 0.20) 0%, transparent 50%),
235
+ radial-gradient(circle, rgba(147, 51, 234, 0.16) 0%, transparent 50%),
236
+ radial-gradient(circle, rgba(59, 130, 246, 0.14) 0%, transparent 60%),
237
+ radial-gradient(circle, rgba(99, 102, 241, 0.18) 0%, transparent 45%),
238
+ radial-gradient(circle, rgba(168, 85, 247, 0.15) 0%, transparent 55%);
239
+ animation: bubbleFloat2 40s ease-in-out infinite;
240
+ }
241
+
242
+ /* Expanded item animations */
243
+ @keyframes bounceScale {
244
+ 0% {
245
+ transform: scale(1);
246
+ }
247
+ 25% {
248
+ transform: scale(1.15);
249
+ }
250
+ 50% {
251
+ transform: scale(1.08);
252
+ }
253
+ 75% {
254
+ transform: scale(1.12);
255
+ }
256
+ 100% {
257
+ transform: scale(1.1);
258
+ }
259
+ }
260
+
261
+ @keyframes iconGlow {
262
+ 0% {
263
+ filter: brightness(1) saturate(1);
264
+ }
265
+ 100% {
266
+ filter: brightness(1.2) saturate(1.3);
267
+ }
268
+ }
269
+
270
+ @keyframes textGrow {
271
+ 0% {
272
+ transform: scale(1);
273
+ }
274
+ 50% {
275
+ transform: scale(1.02);
276
+ }
277
+ 100% {
278
+ transform: scale(1.05);
279
+ }
280
+ }
281
+
282
+ @keyframes badgePulse {
283
+ 0%, 100% {
284
+ transform: scale(1);
285
+ opacity: 1;
286
+ }
287
+ 50% {
288
+ transform: scale(1.08);
289
+ opacity: 0.95;
290
+ }
291
+ }
292
+
293
+ .expanded-icon-bounce {
294
+ animation: bounceScale 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards,
295
+ iconGlow 0.3s ease-out 0.2s forwards;
296
+ }
297
+
298
+ .expanded-title-grow {
299
+ animation: textGrow 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) 0.15s forwards;
300
+ }
301
+
302
+ .expanded-badge-pulse {
303
+ animation: badgePulse 0.6s ease-in-out 0.3s 2;
304
+ }
305
+
306
+ /* Smooth transitions for expanded state */
307
+ .expand-transition {
308
+ transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
309
+ }
310
+
311
+ @media (prefers-reduced-motion: reduce) {
312
+ .expanded-icon-bounce,
313
+ .expanded-title-grow,
314
+ .expanded-badge-pulse {
315
+ animation: none;
316
+ transform: scale(1.1);
317
+ }
318
+ }
package/styles.css CHANGED
@@ -8819,23 +8819,23 @@
8819
8819
  }
8820
8820
  }
8821
8821
  .animated-bubbles {
8822
- background-image: radial-gradient(circle, rgba(59, 130, 246, 0.15) 0%, transparent 50%),
8823
- radial-gradient(circle, rgba(147, 51, 234, 0.12) 0%, transparent 50%),
8824
- radial-gradient(circle, rgba(59, 130, 246, 0.10) 0%, transparent 60%),
8825
- radial-gradient(circle, rgba(99, 102, 241, 0.14) 0%, transparent 45%),
8822
+ background-image: radial-gradient(circle, rgba(59, 130, 246, 0.15) 0%, transparent 50%),
8823
+ radial-gradient(circle, rgba(147, 51, 234, 0.12) 0%, transparent 50%),
8824
+ radial-gradient(circle, rgba(59, 130, 246, 0.10) 0%, transparent 60%),
8825
+ radial-gradient(circle, rgba(99, 102, 241, 0.14) 0%, transparent 45%),
8826
8826
  radial-gradient(circle, rgba(168, 85, 247, 0.12) 0%, transparent 55%);
8827
8827
  background-size: 300px 300px, 400px 400px, 350px 350px, 280px 280px, 320px 320px;
8828
8828
  background-repeat: no-repeat;
8829
8829
  animation: bubbleFloat1 35s ease-in-out infinite;
8830
8830
  will-change: background-position;
8831
- transform: translate3d(0, 0, 0);
8831
+ backface-visibility: hidden;
8832
8832
  pointer-events: none;
8833
8833
  }
8834
8834
  .animated-bubbles.light-mode {
8835
- background-image: radial-gradient(circle, rgba(59, 130, 246, 0.20) 0%, transparent 50%),
8836
- radial-gradient(circle, rgba(147, 51, 234, 0.16) 0%, transparent 50%),
8837
- radial-gradient(circle, rgba(59, 130, 246, 0.14) 0%, transparent 60%),
8838
- radial-gradient(circle, rgba(99, 102, 241, 0.18) 0%, transparent 45%),
8835
+ background-image: radial-gradient(circle, rgba(59, 130, 246, 0.20) 0%, transparent 50%),
8836
+ radial-gradient(circle, rgba(147, 51, 234, 0.16) 0%, transparent 50%),
8837
+ radial-gradient(circle, rgba(59, 130, 246, 0.14) 0%, transparent 60%),
8838
+ radial-gradient(circle, rgba(99, 102, 241, 0.18) 0%, transparent 45%),
8839
8839
  radial-gradient(circle, rgba(168, 85, 247, 0.15) 0%, transparent 55%);
8840
8840
  animation: bubbleFloat2 40s ease-in-out infinite;
8841
8841
  }
@@ -8886,7 +8886,7 @@
8886
8886
  }
8887
8887
  }
8888
8888
  .expanded-icon-bounce {
8889
- animation: bounceScale 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards,
8889
+ animation: bounceScale 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards,
8890
8890
  iconGlow 0.3s ease-out 0.2s forwards;
8891
8891
  }
8892
8892
  .expanded-title-grow {
@@ -8899,8 +8899,8 @@
8899
8899
  transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
8900
8900
  }
8901
8901
  @media (prefers-reduced-motion: reduce) {
8902
- .expanded-icon-bounce,
8903
- .expanded-title-grow,
8902
+ .expanded-icon-bounce,
8903
+ .expanded-title-grow,
8904
8904
  .expanded-badge-pulse {
8905
8905
  animation: none;
8906
8906
  transform: scale(1.1);
@@ -9307,4 +9307,4 @@
9307
9307
  --tw-scale-z: 1;
9308
9308
  }
9309
9309
  }
9310
- }
9310
+ }