UNPKG

@club-employes/utopia

Version:

🎨 Modern Vue 3 design system with multi-brand theming, design tokens, and 30+ components. Supports Club Employés & Gifteo brands with light/dark modes.

47 lines (46 loc) • 1.8 kB
import { Ref } from 'vue'; export interface UseScrollShadowsOptions { /** Délai avant la première vérification (ms) */ initialDelay?: number; /** Tolérance en pixels pour détecter le bas */ bottomTolerance?: number; /** Tolérance en pixels pour détecter le haut */ topTolerance?: number; /** Configuration des ombres */ shadowConfig?: { /** Offset du haut en px */ topOffset?: number; /** Offset du bas en px */ bottomOffset?: number; /** Hauteur des ombres en px */ height?: number; /** Opacité des ombres (0-1) */ opacity?: number; /** Z-index des ombres */ zIndex?: number; }; /** Injecter automatiquement les styles CSS */ injectStyles?: boolean; } export interface UseScrollShadowsReturn { /** Ref de l'élément scrollable */ scrollElementRef: Ref<HTMLElement | undefined>; /** État de l'ombre du haut */ showTopShadow: Ref<boolean>; /** État de l'ombre du bas */ showBottomShadow: Ref<boolean>; /** Fonction à appeler sur l'événement scroll */ handleScroll: () => void; /** Fonction pour vérifier manuellement la position */ checkScrollPosition: () => void; /** Fonction d'initialisation à appeler dans onMounted */ initialize: () => void; /** Classes CSS calculées pour le conteneur */ containerClasses: Ref<string[]>; /** Classes CSS pour l'élément scrollable */ scrollClasses: Ref<string[]>; /** Fonction pour initialiser avec un watcher */ initializeOnChange: (trigger: () => any) => () => void; } export declare function useScrollShadows(options?: UseScrollShadowsOptions): UseScrollShadowsReturn; export type ScrollShadowsComposable = ReturnType<typeof useScrollShadows>;