@mks2508/sidebar-headless 0.3.1 → 0.4.0

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.
@@ -0,0 +1,570 @@
1
+ /**
2
+ * Mobile Optimizations CSS
3
+ *
4
+ * This file contains CSS optimizations for mobile devices,
5
+ * specifically targeting iOS Safari and Android Chrome.
6
+ * Updated for 2025 with modern viewport units and safe area handling.
7
+ *
8
+ * CRITICAL: iOS 26 Safari has major bugs with fixed/sticky positioning.
9
+ * This file includes workarounds for these issues.
10
+ *
11
+ * Known iOS 26 Issues (as of December 2025):
12
+ * - Fixed elements shift when address bar shrinks/expands
13
+ * - visualViewport.offsetTop doesn't reset after keyboard dismissal
14
+ * - 100dvh creates gaps at bottom for overlays
15
+ * - position: fixed breaks after keyboard interaction
16
+ *
17
+ * @fileoverview Mobile-first CSS optimizations for bottom navigation
18
+ * @author v0
19
+ * @version 2.0.0 - iOS 26 compatibility update
20
+ */
21
+
22
+ /* ============================================
23
+ CSS Custom Properties for Mobile Navigation
24
+ ============================================ */
25
+
26
+ :root {
27
+ /* Navigation dimensions */
28
+ --mobile-nav-height: 4.5rem; /* 72px - optimal touch target */
29
+ --mobile-nav-padding-x: 1rem;
30
+ --mobile-nav-padding-y: 0.5rem;
31
+ --mobile-nav-gap: 0.25rem;
32
+
33
+ /* Safe area handling for notched devices */
34
+ --safe-area-bottom: env(safe-area-inset-bottom, 0px);
35
+ --safe-area-left: env(safe-area-inset-left, 0px);
36
+ --safe-area-right: env(safe-area-inset-right, 0px);
37
+
38
+ /* Touch target sizes (WCAG 2.2 Level AAA) */
39
+ --touch-target-min: 44px;
40
+ --touch-target-optimal: 48px;
41
+
42
+ /* Glassmorphism properties */
43
+ --glass-blur: 20px;
44
+ --glass-saturation: 180%;
45
+ --glass-bg-light: rgba(255, 255, 255, 0.72);
46
+ --glass-bg-dark: rgba(17, 17, 17, 0.72);
47
+ --glass-border-light: rgba(255, 255, 255, 0.18);
48
+ --glass-border-dark: rgba(255, 255, 255, 0.08);
49
+
50
+ /* Animation timing */
51
+ --nav-transition-duration: 200ms;
52
+ --nav-transition-easing: cubic-bezier(0.4, 0, 0.2, 1);
53
+
54
+ /* iOS 26 Safari workaround: extra padding for floating bar */
55
+ --ios26-bottom-offset: 0px;
56
+ }
57
+
58
+ /* ============================================
59
+ iOS 26 Safari Critical Workarounds
60
+ ============================================
61
+
62
+ iOS 26 has major bugs with position: fixed elements:
63
+ 1. Elements shift when scrolling and address bar changes
64
+ 2. After keyboard dismissal, visualViewport doesn't reset
65
+ 3. 100dvh doesn't cover full screen in some cases
66
+
67
+ The workaround from Apple's own website:
68
+ - Use a wrapper with fixed positioning
69
+ - Apply 100vh to inner content
70
+ - This creates proper stacking under the floating URL bar
71
+ */
72
+
73
+ /* Detect iOS Safari using feature queries */
74
+ @supports (-webkit-touch-callout: none) {
75
+ /*
76
+ * iOS 26 Safari Fix:
77
+ * Move scroll from window to body to prevent fixed element drift.
78
+ * This is the most reliable workaround as of iOS 26.1
79
+ */
80
+ html.ios-safari-fix {
81
+ height: 100%;
82
+ height: 100dvh;
83
+ overflow: hidden;
84
+ }
85
+
86
+ html.ios-safari-fix body {
87
+ height: 100%;
88
+ height: 100dvh;
89
+ overflow: auto;
90
+ overscroll-behavior: contain;
91
+ /* Prevent momentum scroll affecting fixed elements */
92
+ -webkit-overflow-scrolling: touch;
93
+ }
94
+ }
95
+
96
+ /* ============================================
97
+ Modern Viewport Units Support
98
+ ============================================ */
99
+
100
+ /**
101
+ * Dynamic Viewport Height (dvh) - Adjusts as browser UI appears/disappears
102
+ * Small Viewport Height (svh) - Minimum viewport when browser UI is visible
103
+ * Large Viewport Height (lvh) - Maximum viewport when browser UI is hidden
104
+ *
105
+ * IMPORTANT for iOS 26:
106
+ * - dvh has inconsistent behavior after keyboard dismissal
107
+ * - svh is more reliable for bottom navigation
108
+ * - Consider using 100% with proper parent height chains
109
+ */
110
+
111
+ /* Fallback for older browsers (iOS < 15.4) */
112
+ @supports not (height: 100dvh) {
113
+ .mobile-nav-container {
114
+ bottom: 0;
115
+ /* iOS 11.0-11.2 legacy support */
116
+ bottom: constant(safe-area-inset-bottom);
117
+ }
118
+ }
119
+
120
+ /* Modern browsers with dynamic viewport units */
121
+ @supports (height: 100dvh) {
122
+ .mobile-nav-container {
123
+ position: fixed;
124
+ bottom: 0;
125
+ left: 0;
126
+ right: 0;
127
+ }
128
+ }
129
+
130
+ /* ============================================
131
+ Base Mobile Navigation Styles
132
+ ============================================ */
133
+
134
+ .mobile-nav-root {
135
+ /* Positioning - using fixed with iOS 26 considerations */
136
+ position: fixed;
137
+ bottom: 0;
138
+ left: 0;
139
+ right: 0;
140
+ z-index: 50;
141
+
142
+ /* Safe area padding for notched devices */
143
+ padding-bottom: var(--safe-area-bottom);
144
+ padding-left: var(--safe-area-left);
145
+ padding-right: var(--safe-area-right);
146
+
147
+ /*
148
+ * iOS 26 Fix: Force GPU layer to prevent drift
149
+ * translateZ(0) creates a new stacking context and compositing layer
150
+ */
151
+ transform: translateZ(0);
152
+ -webkit-transform: translateZ(0);
153
+
154
+ /* Hardware acceleration hints */
155
+ will-change: transform;
156
+ backface-visibility: hidden;
157
+ -webkit-backface-visibility: hidden;
158
+
159
+ /*
160
+ * iOS 26 Fix: contain property helps isolate layout
161
+ * This prevents the element from being affected by parent layout changes
162
+ */
163
+ contain: layout style;
164
+ }
165
+
166
+ /*
167
+ * Alternative iOS 26 workaround using sticky positioning
168
+ * Some developers report sticky works better than fixed in iOS 26
169
+ * Uncomment if fixed positioning continues to have issues
170
+ */
171
+ .mobile-nav-root--sticky-fallback {
172
+ position: sticky;
173
+ bottom: 0;
174
+ /* Sticky requires a positioned ancestor or viewport */
175
+ }
176
+
177
+ /* ============================================
178
+ Glassmorphism Effect
179
+ ============================================ */
180
+
181
+ .mobile-nav-glass {
182
+ /* Glassmorphism background */
183
+ background: var(--glass-bg-light);
184
+
185
+ /*
186
+ * Backdrop blur with vendor prefix for Safari
187
+ * Note: backdrop-filter can cause performance issues on older devices
188
+ */
189
+ -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturation));
190
+ backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-saturation));
191
+
192
+ /* Border for depth perception */
193
+ border-top: 1px solid var(--glass-border-light);
194
+
195
+ /* Text rendering optimization */
196
+ -webkit-font-smoothing: antialiased;
197
+ -moz-osx-font-smoothing: grayscale;
198
+ }
199
+
200
+ /* Dark mode glassmorphism */
201
+ .dark .mobile-nav-glass,
202
+ [data-theme="dark"] .mobile-nav-glass {
203
+ background: var(--glass-bg-dark);
204
+ border-top-color: var(--glass-border-dark);
205
+ }
206
+
207
+ /* Fallback for browsers without backdrop-filter support */
208
+ @supports not (backdrop-filter: blur(1px)) {
209
+ .mobile-nav-glass {
210
+ background: rgba(255, 255, 255, 0.95);
211
+ }
212
+
213
+ .dark .mobile-nav-glass,
214
+ [data-theme="dark"] .mobile-nav-glass {
215
+ background: rgba(17, 17, 17, 0.95);
216
+ }
217
+ }
218
+
219
+ /* ============================================
220
+ Navigation List Styles
221
+ ============================================ */
222
+
223
+ .mobile-nav-list {
224
+ /* Flexbox layout */
225
+ display: flex;
226
+ align-items: center;
227
+ justify-content: space-around;
228
+
229
+ /* Dimensions */
230
+ height: var(--mobile-nav-height);
231
+ width: 100%;
232
+ max-width: 100%;
233
+
234
+ /* Padding */
235
+ padding: var(--mobile-nav-padding-y) var(--mobile-nav-padding-x);
236
+
237
+ /* Reset list styles */
238
+ list-style: none;
239
+ margin: 0;
240
+ }
241
+
242
+ /* ============================================
243
+ Navigation Item Styles
244
+ ============================================ */
245
+
246
+ .mobile-nav-item {
247
+ /* Flexbox centering */
248
+ display: flex;
249
+ flex-direction: column;
250
+ align-items: center;
251
+ justify-content: center;
252
+ gap: var(--mobile-nav-gap);
253
+
254
+ /* Touch target (minimum 44x44px per WCAG 2.2) */
255
+ min-width: var(--touch-target-min);
256
+ min-height: var(--touch-target-min);
257
+ padding: 0.5rem 0.75rem;
258
+
259
+ /* Reset button/anchor styles */
260
+ background: transparent;
261
+ border: none;
262
+ cursor: pointer;
263
+ text-decoration: none;
264
+
265
+ /* Typography - 16px minimum to prevent iOS zoom on focus */
266
+ font-size: 0.75rem; /* 12px for labels */
267
+ line-height: 1;
268
+
269
+ /* Transition */
270
+ transition: color var(--nav-transition-duration) var(--nav-transition-easing), transform
271
+ var(--nav-transition-duration) var(--nav-transition-easing);
272
+
273
+ /* Prevent text selection on touch */
274
+ -webkit-user-select: none;
275
+ user-select: none;
276
+
277
+ /* Prevent double-tap zoom */
278
+ touch-action: manipulation;
279
+
280
+ /* Remove tap highlight on mobile */
281
+ -webkit-tap-highlight-color: transparent;
282
+ }
283
+
284
+ /* Active/pressed state */
285
+ .mobile-nav-item:active {
286
+ transform: scale(0.95);
287
+ }
288
+
289
+ /* Focus visible for accessibility (keyboard navigation) */
290
+ .mobile-nav-item:focus-visible {
291
+ outline: 2px solid currentColor;
292
+ outline-offset: 2px;
293
+ border-radius: 0.5rem;
294
+ }
295
+
296
+ /* Icon container */
297
+ .mobile-nav-icon {
298
+ display: flex;
299
+ align-items: center;
300
+ justify-content: center;
301
+ width: 1.5rem; /* 24px */
302
+ height: 1.5rem; /* 24px */
303
+ }
304
+
305
+ /* Label text */
306
+ .mobile-nav-label {
307
+ font-weight: 500;
308
+ white-space: nowrap;
309
+ overflow: hidden;
310
+ text-overflow: ellipsis;
311
+ max-width: 4rem;
312
+ }
313
+
314
+ /* ============================================
315
+ iOS Safari Specific Fixes (All versions)
316
+ ============================================ */
317
+
318
+ @supports (-webkit-touch-callout: none) {
319
+ .mobile-nav-root {
320
+ /* Prevent rubber-banding effect on the nav */
321
+ overscroll-behavior: none;
322
+
323
+ /* Ensure proper stacking above Safari's UI */
324
+ position: fixed;
325
+ bottom: 0;
326
+ }
327
+
328
+ /* Spacer component to prevent content from going under navigation */
329
+ .mobile-nav-spacer {
330
+ height: calc(var(--mobile-nav-height) + var(--safe-area-bottom));
331
+ /* Add extra space for iOS 26 floating bar when needed */
332
+ padding-bottom: var(--ios26-bottom-offset);
333
+ }
334
+ }
335
+
336
+ /* ============================================
337
+ iOS 26+ Specific Workarounds
338
+ ============================================
339
+
340
+ These are specifically for iOS 26 Safari bugs.
341
+ The main issues are:
342
+ 1. Fixed elements drift when address bar shrinks
343
+ 2. visualViewport doesn't reset after keyboard
344
+ 3. 100dvh doesn't account for floating tab bar
345
+ */
346
+
347
+ /*
348
+ * iOS 26 Detection Hack:
349
+ * iOS 26 introduced the floating tab bar which affects layout.
350
+ * We use a combination of feature detection and JS-added classes.
351
+ */
352
+
353
+ /* When JS detects iOS 26, it adds this class to html */
354
+ html.ios-26-fix .mobile-nav-root {
355
+ /*
356
+ * Apple's workaround: Use a pseudo-element that extends beyond
357
+ * the visible area to account for the floating bar
358
+ */
359
+ position: fixed;
360
+ bottom: 0;
361
+ }
362
+
363
+ html.ios-26-fix .mobile-nav-root::after {
364
+ content: "";
365
+ position: absolute;
366
+ bottom: calc(-1 * var(--safe-area-bottom) - 20px);
367
+ left: 0;
368
+ right: 0;
369
+ height: calc(var(--safe-area-bottom) + 20px);
370
+ background: inherit;
371
+ -webkit-backdrop-filter: inherit;
372
+ backdrop-filter: inherit;
373
+ }
374
+
375
+ /*
376
+ * Alternative: Force recalculation on scroll
377
+ * This class is toggled by JS when scroll events occur
378
+ */
379
+ .mobile-nav-root--ios26-scroll-fix {
380
+ /* Trigger repaint */
381
+ transform: translateZ(0) translateY(0);
382
+ }
383
+
384
+ /* ============================================
385
+ Android Chrome Specific Fixes
386
+ ============================================ */
387
+
388
+ @supports not (-webkit-touch-callout: none) {
389
+ .mobile-nav-root {
390
+ /* Android uses standard fixed positioning well */
391
+ bottom: 0;
392
+ }
393
+
394
+ /* Android gesture navigation safe area */
395
+ .mobile-nav-spacer {
396
+ height: calc(var(--mobile-nav-height) + var(--safe-area-bottom));
397
+ }
398
+ }
399
+
400
+ /* ============================================
401
+ Keyboard Visibility Handling
402
+ ============================================
403
+
404
+ iOS 26 Bug: After keyboard dismissal, fixed elements
405
+ remain offset. This requires JS intervention.
406
+ */
407
+
408
+ /* When keyboard is visible, optionally hide nav */
409
+ html.keyboard-visible .mobile-nav-root--hide-on-keyboard {
410
+ transform: translateY(100%);
411
+ transition: transform 0.2s ease-out;
412
+ }
413
+
414
+ /* Force reset after keyboard dismissal (JS adds this class) */
415
+ html.keyboard-dismissed .mobile-nav-root {
416
+ /* Force layout recalculation */
417
+ transform: translateZ(0);
418
+ animation: ios26-reset 0.01s forwards;
419
+ }
420
+
421
+ @keyframes ios26-reset {
422
+ from {
423
+ transform: translateZ(0) translateY(0.01px);
424
+ }
425
+ to {
426
+ transform: translateZ(0) translateY(0);
427
+ }
428
+ }
429
+
430
+ /* ============================================
431
+ Reduced Motion Support
432
+ ============================================ */
433
+
434
+ @media (prefers-reduced-motion: reduce) {
435
+ .mobile-nav-item {
436
+ transition: none;
437
+ }
438
+
439
+ .mobile-nav-item:active {
440
+ transform: none;
441
+ }
442
+
443
+ html.keyboard-visible .mobile-nav-root--hide-on-keyboard {
444
+ transition: none;
445
+ }
446
+ }
447
+
448
+ /* ============================================
449
+ High Contrast Mode Support
450
+ ============================================ */
451
+
452
+ @media (prefers-contrast: high) {
453
+ .mobile-nav-glass {
454
+ background: Canvas;
455
+ border-top: 2px solid CanvasText;
456
+ -webkit-backdrop-filter: none;
457
+ backdrop-filter: none;
458
+ }
459
+
460
+ .mobile-nav-item {
461
+ color: CanvasText;
462
+ }
463
+
464
+ .mobile-nav-item:focus-visible {
465
+ outline-width: 3px;
466
+ }
467
+ }
468
+
469
+ /* ============================================
470
+ Landscape Orientation Adjustments
471
+ ============================================ */
472
+
473
+ @media (orientation: landscape) and (max-height: 500px) {
474
+ :root {
475
+ --mobile-nav-height: 3.5rem;
476
+ }
477
+
478
+ .mobile-nav-label {
479
+ display: none;
480
+ }
481
+
482
+ .mobile-nav-item {
483
+ padding: 0.25rem 0.5rem;
484
+ }
485
+ }
486
+
487
+ /* ============================================
488
+ Foldable/Dual Screen Support
489
+ ============================================ */
490
+
491
+ @media (horizontal-viewport-segments: 2) {
492
+ .mobile-nav-root {
493
+ width: 100%;
494
+ }
495
+
496
+ .mobile-nav-list {
497
+ /* Adjust for fold in the middle */
498
+ padding-left: max(var(--mobile-nav-padding-x), env(fold-left, 0px));
499
+ padding-right: max(var(--mobile-nav-padding-x), env(fold-right, 0px));
500
+ }
501
+ }
502
+
503
+ /* Samsung Galaxy Fold specific */
504
+ @media (min-width: 280px) and (max-width: 320px) {
505
+ .mobile-nav-list {
506
+ padding-left: 0.5rem;
507
+ padding-right: 0.5rem;
508
+ }
509
+ }
510
+
511
+ /* ============================================
512
+ Very Small Screens (older devices)
513
+ ============================================ */
514
+
515
+ @media (max-width: 320px) {
516
+ :root {
517
+ --mobile-nav-height: 4rem;
518
+ --mobile-nav-padding-x: 0.5rem;
519
+ }
520
+
521
+ .mobile-nav-label {
522
+ font-size: 0.625rem;
523
+ max-width: 3rem;
524
+ }
525
+ }
526
+
527
+ /* ============================================
528
+ Print Styles
529
+ ============================================ */
530
+
531
+ @media print {
532
+ .mobile-nav-root,
533
+ .mobile-nav-spacer {
534
+ display: none !important;
535
+ }
536
+ }
537
+
538
+ /* ============================================
539
+ Utility Classes
540
+ ============================================ */
541
+
542
+ /* Hide visually but keep accessible to screen readers */
543
+ .mobile-nav-sr-only {
544
+ position: absolute;
545
+ width: 1px;
546
+ height: 1px;
547
+ padding: 0;
548
+ margin: -1px;
549
+ overflow: hidden;
550
+ clip: rect(0, 0, 0, 0);
551
+ white-space: nowrap;
552
+ border: 0;
553
+ }
554
+
555
+ /* Skip to content link for keyboard users */
556
+ .mobile-nav-skip-link {
557
+ position: absolute;
558
+ top: -100%;
559
+ left: 50%;
560
+ transform: translateX(-50%);
561
+ z-index: 100;
562
+ padding: 0.5rem 1rem;
563
+ background: var(--glass-bg-light);
564
+ border-radius: 0.5rem;
565
+ transition: top 0.2s;
566
+ }
567
+
568
+ .mobile-nav-skip-link:focus {
569
+ top: 0.5rem;
570
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"SidebarToggle.d.ts","sourceRoot":"","sources":["../../../src/components/Sidebar/SidebarToggle.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAgD,MAAM,iBAAiB,CAAA;AAoEvG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,eAAO,MAAM,aAAa,qIA6EzB,CAAA"}
1
+ {"version":3,"file":"SidebarToggle.d.ts","sourceRoot":"","sources":["../../../src/components/Sidebar/SidebarToggle.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAgD,MAAM,iBAAiB,CAAA;AAuBvG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,eAAO,MAAM,aAAa,qIA6EzB,CAAA"}
@@ -13,6 +13,26 @@ interface LocalVisualConfig {
13
13
  }
14
14
  type GeometryConfig = LocalGeometryConfig;
15
15
  type VisualConfig = LocalVisualConfig;
16
+ export interface DefaultFilterAttributes {
17
+ red: {
18
+ xChannelSelector: string;
19
+ yChannelSelector: string;
20
+ scale: number;
21
+ };
22
+ green: {
23
+ xChannelSelector: string;
24
+ yChannelSelector: string;
25
+ scale: number;
26
+ };
27
+ blue: {
28
+ xChannelSelector: string;
29
+ yChannelSelector: string;
30
+ scale: number;
31
+ };
32
+ gaussianBlur: {
33
+ stdDeviation: number;
34
+ };
35
+ }
16
36
  /**
17
37
  * Hook genérico para crear efectos liquid glass
18
38
  *
@@ -20,6 +40,9 @@ type VisualConfig = LocalVisualConfig;
20
40
  * Genera un displacement map SVG y atributos de filtro usando la librería @liquid-svg-glass/core.
21
41
  * Memoiza el resultado para evitar recalcular en cada render.
22
42
  *
43
+ * NOTE: This is an optional feature. If @liquid-svg-glass/core is not installed,
44
+ * this hook will return empty/default values.
45
+ *
23
46
  * @example
24
47
  * ```tsx
25
48
  * const glass = useLiquidGlass(
@@ -31,10 +54,10 @@ type VisualConfig = LocalVisualConfig;
31
54
  * ```
32
55
  */
33
56
  export declare function useLiquidGlass(geometry: GeometryConfig, visual: VisualConfig, enableChromaticAberration?: boolean): {
34
- dataUri: any;
35
- filterAttributes: any;
36
- chromaticAberrationSVG: any;
37
- calculatedGeometry: any;
57
+ dataUri: string;
58
+ filterAttributes: DefaultFilterAttributes;
59
+ chromaticAberrationSVG: null;
60
+ calculatedGeometry: null;
38
61
  };
39
62
  export {};
40
63
  //# sourceMappingURL=use-liquid-glass.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-liquid-glass.d.ts","sourceRoot":"","sources":["../../src/hooks/use-liquid-glass.ts"],"names":[],"mappings":"AAMA,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,UAAU,iBAAiB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,KAAK,cAAc,GAAG,mBAAmB,CAAA;AACzC,KAAK,YAAY,GAAG,iBAAiB,CAAA;AAUrC;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,YAAY,EACpB,yBAAyB,UAAQ;;;;;EAiClC"}
1
+ {"version":3,"file":"use-liquid-glass.d.ts","sourceRoot":"","sources":["../../src/hooks/use-liquid-glass.ts"],"names":[],"mappings":"AAGA,UAAU,mBAAmB;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,UAAU,iBAAiB;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CACnB;AAED,KAAK,cAAc,GAAG,mBAAmB,CAAA;AACzC,KAAK,YAAY,GAAG,iBAAiB,CAAA;AAGrC,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC1E,KAAK,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC5E,IAAI,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC3E,YAAY,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAA;CACvC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,YAAY,EACpB,yBAAyB,UAAQ;;;;;EAqClC"}
@@ -34,10 +34,10 @@ import { type SidebarLiquidPreset, type SidebarLiquidConfig } from '@/lib/liquid
34
34
  * ```
35
35
  */
36
36
  export declare function useSidebarLiquidGlass(preset: SidebarLiquidPreset, overrides?: Partial<SidebarLiquidConfig>): {
37
- dataUri: any;
38
- filterAttributes: any;
39
- chromaticAberrationSVG: any;
40
- calculatedGeometry: any;
37
+ dataUri: string;
38
+ filterAttributes: import("./use-liquid-glass").DefaultFilterAttributes;
39
+ chromaticAberrationSVG: null;
40
+ calculatedGeometry: null;
41
41
  containerRef: import("react").RefObject<HTMLElement | null>;
42
42
  preset: SidebarLiquidPreset;
43
43
  config: {