@mks2508/sidebar-headless 0.2.0 → 0.3.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.
Files changed (130) hide show
  1. package/CHANGELOG.md +53 -53
  2. package/LICENSE +21 -21
  3. package/README.md +165 -165
  4. package/dist/components/BottomNavBar/MobileBottomNav.d.ts +65 -0
  5. package/dist/components/BottomNavBar/MobileBottomNav.d.ts.map +1 -0
  6. package/dist/components/BottomNavBar/MobileBottomNav.styles.d.ts +94 -0
  7. package/dist/components/BottomNavBar/MobileBottomNav.styles.d.ts.map +1 -0
  8. package/dist/components/BottomNavBar/index.d.ts +10 -0
  9. package/dist/components/BottomNavBar/index.d.ts.map +1 -0
  10. package/dist/components/BottomNavBar/types.d.ts +363 -0
  11. package/dist/components/BottomNavBar/types.d.ts.map +1 -0
  12. package/dist/components/BottomNavBar/useIOSSafariFix.d.ts +74 -0
  13. package/dist/components/BottomNavBar/useIOSSafariFix.d.ts.map +1 -0
  14. package/dist/components/Sidebar/Sidebar.constants.d.ts +285 -0
  15. package/dist/components/Sidebar/Sidebar.constants.d.ts.map +1 -0
  16. package/dist/components/Sidebar/Sidebar.d.ts +80 -0
  17. package/dist/components/Sidebar/Sidebar.d.ts.map +1 -0
  18. package/dist/components/Sidebar/Sidebar.styles.d.ts +77 -0
  19. package/dist/components/Sidebar/Sidebar.styles.d.ts.map +1 -0
  20. package/dist/components/Sidebar/Sidebar.types.d.ts +638 -0
  21. package/dist/components/Sidebar/Sidebar.types.d.ts.map +1 -0
  22. package/dist/components/Sidebar/SidebarContent.d.ts +46 -0
  23. package/dist/components/Sidebar/SidebarContent.d.ts.map +1 -0
  24. package/dist/components/Sidebar/SidebarContext.d.ts +87 -0
  25. package/dist/components/Sidebar/SidebarContext.d.ts.map +1 -0
  26. package/dist/components/Sidebar/SidebarFluidIndicator.d.ts +37 -0
  27. package/dist/components/Sidebar/SidebarFluidIndicator.d.ts.map +1 -0
  28. package/dist/components/Sidebar/SidebarIndicator.d.ts +59 -0
  29. package/dist/components/Sidebar/SidebarIndicator.d.ts.map +1 -0
  30. package/dist/components/Sidebar/SidebarItem.d.ts +82 -0
  31. package/dist/components/Sidebar/SidebarItem.d.ts.map +1 -0
  32. package/dist/components/Sidebar/SidebarNav.d.ts +48 -0
  33. package/dist/components/Sidebar/SidebarNav.d.ts.map +1 -0
  34. package/dist/components/Sidebar/SidebarSafeArea.d.ts +56 -0
  35. package/dist/components/Sidebar/SidebarSafeArea.d.ts.map +1 -0
  36. package/dist/components/Sidebar/SidebarSubContent.d.ts +10 -0
  37. package/dist/components/Sidebar/SidebarSubContent.d.ts.map +1 -0
  38. package/dist/components/Sidebar/SidebarSubLink.d.ts +18 -0
  39. package/dist/components/Sidebar/SidebarSubLink.d.ts.map +1 -0
  40. package/dist/components/Sidebar/SidebarToggle.d.ts +52 -0
  41. package/dist/components/Sidebar/SidebarToggle.d.ts.map +1 -0
  42. package/dist/components/Sidebar/SidebarTooltip.d.ts +26 -0
  43. package/dist/components/Sidebar/SidebarTooltip.d.ts.map +1 -0
  44. package/dist/components/Sidebar/TooltipTitle3D.d.ts +42 -0
  45. package/dist/components/Sidebar/TooltipTitle3D.d.ts.map +1 -0
  46. package/dist/components/Sidebar/TooltipTitle3DCrossfade.d.ts +46 -0
  47. package/dist/components/Sidebar/TooltipTitle3DCrossfade.d.ts.map +1 -0
  48. package/dist/components/Sidebar/TooltipTitleCylinder.d.ts +9 -0
  49. package/dist/components/Sidebar/TooltipTitleCylinder.d.ts.map +1 -0
  50. package/dist/components/Sidebar/hooks/useSidebarContext.d.ts +48 -0
  51. package/dist/components/Sidebar/hooks/useSidebarContext.d.ts.map +1 -0
  52. package/dist/components/Sidebar/hooks/useSidebarIndicator.d.ts +72 -0
  53. package/dist/components/Sidebar/hooks/useSidebarIndicator.d.ts.map +1 -0
  54. package/dist/components/Sidebar/hooks/useSidebarKeyboard.d.ts +51 -0
  55. package/dist/components/Sidebar/hooks/useSidebarKeyboard.d.ts.map +1 -0
  56. package/dist/components/Sidebar/hooks/useSubContent.d.ts +7 -0
  57. package/dist/components/Sidebar/hooks/useSubContent.d.ts.map +1 -0
  58. package/dist/components/Sidebar/hooks/useTitleHistory.d.ts +41 -0
  59. package/dist/components/Sidebar/hooks/useTitleHistory.d.ts.map +1 -0
  60. package/dist/components/Sidebar/hooks/useTooltipDirection.d.ts +29 -0
  61. package/dist/components/Sidebar/hooks/useTooltipDirection.d.ts.map +1 -0
  62. package/dist/components/Sidebar/hooks/useTooltipTransition.d.ts +60 -0
  63. package/dist/components/Sidebar/hooks/useTooltipTransition.d.ts.map +1 -0
  64. package/dist/components/Sidebar/index.d.ts +163 -0
  65. package/dist/components/Sidebar/index.d.ts.map +1 -0
  66. package/dist/components/Sidebar/sidebar-defaults.d.ts +54 -0
  67. package/dist/components/Sidebar/sidebar-defaults.d.ts.map +1 -0
  68. package/dist/components/animate-ui/components/base/switch.d.ts +11 -0
  69. package/dist/components/animate-ui/components/base/switch.d.ts.map +1 -0
  70. package/dist/components/animate-ui/primitives/base/switch.d.ts +23 -0
  71. package/dist/components/animate-ui/primitives/base/switch.d.ts.map +1 -0
  72. package/dist/components/fluid-hover-indicator-v2.d.ts +46 -0
  73. package/dist/components/fluid-hover-indicator-v2.d.ts.map +1 -0
  74. package/dist/components/fluid-hover-indicator.d.ts +28 -0
  75. package/dist/components/fluid-hover-indicator.d.ts.map +1 -0
  76. package/dist/components/ui/TextCylinder.d.ts +21 -0
  77. package/dist/components/ui/TextCylinder.d.ts.map +1 -0
  78. package/dist/components/ui/button.d.ts +11 -0
  79. package/dist/components/ui/button.d.ts.map +1 -0
  80. package/dist/components/ui/card.d.ts +10 -0
  81. package/dist/components/ui/card.d.ts.map +1 -0
  82. package/dist/components/ui/custom-icon.d.ts +45 -0
  83. package/dist/components/ui/custom-icon.d.ts.map +1 -0
  84. package/dist/components/ui/dotted-glow-background.d.ts +42 -0
  85. package/dist/components/ui/dotted-glow-background.d.ts.map +1 -0
  86. package/dist/components/ui/input.d.ts +4 -0
  87. package/dist/components/ui/input.d.ts.map +1 -0
  88. package/dist/components/ui/label.d.ts +5 -0
  89. package/dist/components/ui/label.d.ts.map +1 -0
  90. package/dist/components/ui/optimized-image.d.ts +12 -0
  91. package/dist/components/ui/optimized-image.d.ts.map +1 -0
  92. package/dist/components/ui/select.d.ts +16 -0
  93. package/dist/components/ui/select.d.ts.map +1 -0
  94. package/dist/components/ui/slider.d.ts +5 -0
  95. package/dist/components/ui/slider.d.ts.map +1 -0
  96. package/dist/components/ui/textarea.d.ts +4 -0
  97. package/dist/components/ui/textarea.d.ts.map +1 -0
  98. package/dist/{index.css → dist/index.css} +945 -908
  99. package/dist/dist/index.css.map +1 -0
  100. package/dist/hooks/use-controlled-state.d.ts +9 -0
  101. package/dist/hooks/use-controlled-state.d.ts.map +1 -0
  102. package/dist/hooks/use-fluid-animation.d.ts +18 -0
  103. package/dist/hooks/use-fluid-animation.d.ts.map +1 -0
  104. package/dist/hooks/use-liquid-glass.d.ts +40 -0
  105. package/dist/hooks/use-liquid-glass.d.ts.map +1 -0
  106. package/dist/hooks/use-sidebar-liquid-glass.d.ts +48 -0
  107. package/dist/hooks/use-sidebar-liquid-glass.d.ts.map +1 -0
  108. package/dist/hooks/use-text-cylinder.d.ts +67 -0
  109. package/dist/hooks/use-text-cylinder.d.ts.map +1 -0
  110. package/dist/index.cjs +14087 -0
  111. package/dist/index.cjs.map +1 -0
  112. package/dist/index.d.ts +10 -2231
  113. package/dist/index.d.ts.map +1 -0
  114. package/dist/index.js +13132 -52336
  115. package/dist/index.js.map +1 -1
  116. package/dist/lib/get-strict-context.d.ts +10 -0
  117. package/dist/lib/get-strict-context.d.ts.map +1 -0
  118. package/dist/lib/liquid-glass-presets.d.ts +43 -0
  119. package/dist/lib/liquid-glass-presets.d.ts.map +1 -0
  120. package/dist/lib/utils.d.ts +3 -0
  121. package/dist/lib/utils.d.ts.map +1 -0
  122. package/dist/types/sidebar-minimal.d.ts +21 -0
  123. package/dist/types/sidebar-minimal.d.ts.map +1 -0
  124. package/dist/utils/TooltipAnimationController.d.ts +122 -0
  125. package/dist/utils/TooltipAnimationController.d.ts.map +1 -0
  126. package/package.json +12 -6
  127. package/dist/MobileOptimizations.css +0 -570
  128. package/dist/index.css.map +0 -1
  129. package/dist/index.d.cts +0 -2235
  130. package/dist/tooltip-keyframes.css +0 -329
@@ -0,0 +1,87 @@
1
+ import type { ReactNode } from "react";
2
+ export interface SubContentData {
3
+ itemId: string;
4
+ subContent: ReactNode;
5
+ title?: string;
6
+ }
7
+ export declare const SubContentContext: import("react").Context<{
8
+ subContentMap: Map<string, SubContentData>;
9
+ registerSubContent: (itemId: string, data: SubContentData) => void;
10
+ unregisterSubContent: (itemId: string) => void;
11
+ getSubContent: (itemId: string) => SubContentData | undefined;
12
+ } | null>;
13
+ import type { SidebarContextValue, SidebarCollapseMode, SidebarHideBehaviour, SidebarHideOpensBehavior, SidebarLayoutBehaviour, SidebarDimensions, SidebarSafeAreas, SidebarAnimations, SidebarLiquidGlassConfig } from "./Sidebar.types";
14
+ /**
15
+ * Contexto del Sidebar para compartir estado entre componentes primitivos
16
+ * @constant
17
+ */
18
+ export declare const SidebarContext: import("react").Context<SidebarContextValue | null>;
19
+ /**
20
+ * Props del SidebarProvider
21
+ * @interface
22
+ */
23
+ interface SidebarProviderProps {
24
+ /** Contenido hijo (componentes primitivos del sidebar) */
25
+ children: ReactNode;
26
+ /** Estado inicial abierto (modo uncontrolled) */
27
+ defaultOpen?: boolean;
28
+ /** Estado abierto (modo controlled) */
29
+ open?: boolean;
30
+ /** Callback cuando cambia el estado open */
31
+ onOpenChange?: (open: boolean) => void;
32
+ /** Modo de colapso del sidebar */
33
+ collapseMode?: SidebarCollapseMode;
34
+ /** Comportamiento en modo hide */
35
+ hideBehaviour?: SidebarHideBehaviour;
36
+ /** Comportamiento al abrir desde hide */
37
+ hideOpensBehavior?: SidebarHideOpensBehavior;
38
+ /** Comportamiento de layout del sidebar */
39
+ layoutBehaviour?: SidebarLayoutBehaviour;
40
+ /** Configuración de dimensiones */
41
+ dimensions?: Partial<SidebarDimensions>;
42
+ /** Configuración de safe areas */
43
+ safeAreas?: Partial<SidebarSafeAreas>;
44
+ /** Configuración de animaciones */
45
+ animations?: Partial<SidebarAnimations>;
46
+ /** ID del toggle input */
47
+ toggleId?: string;
48
+ /** Modo debug para visualizar safe areas */
49
+ debug?: boolean;
50
+ /** Habilitar FluidHoverIndicator (glassmorphism + spring physics) */
51
+ enableFluidIndicator?: boolean;
52
+ /** Habilitar tooltip en hover (muestra label o subcategorías) */
53
+ enableTooltip?: boolean;
54
+ /** Configuración experimental de Liquid Glass V2 */
55
+ liquidGlass?: Partial<SidebarLiquidGlassConfig>;
56
+ }
57
+ /**
58
+ * Provider del contexto del Sidebar
59
+ *
60
+ * @description
61
+ * Componente que provee el contexto compartido a todos los componentes
62
+ * primitivos del sidebar. Gestiona el estado global (open/closed) y
63
+ * referencias a elementos DOM necesarios para funcionalidades como
64
+ * el indicador visual y navegación por teclado.
65
+ *
66
+ * Soporta tanto modo controlled (pasando prop `open`) como uncontrolled
67
+ * (usando `defaultOpen`).
68
+ *
69
+ * @example
70
+ * ```tsx
71
+ * // Modo uncontrolled
72
+ * <SidebarProvider defaultOpen={true}>
73
+ * <SidebarNav>...</SidebarNav>
74
+ * </SidebarProvider>
75
+ *
76
+ * // Modo controlled
77
+ * <SidebarProvider
78
+ * open={isOpen}
79
+ * onOpenChange={setIsOpen}
80
+ * >
81
+ * <SidebarNav>...</SidebarNav>
82
+ * </SidebarProvider>
83
+ * ```
84
+ */
85
+ export declare function SidebarProvider({ children, defaultOpen, open: controlledOpen, onOpenChange, collapseMode, hideBehaviour, hideOpensBehavior, layoutBehaviour, dimensions: dimensionsProp, safeAreas: safeAreasProp, animations: animationsProp, toggleId, debug, enableFluidIndicator, enableTooltip, liquidGlass: liquidGlassProp }: SidebarProviderProps): import("react/jsx-runtime").JSX.Element;
86
+ export {};
87
+ //# sourceMappingURL=SidebarContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarContext.d.ts","sourceRoot":"","sources":["../../../src/components/Sidebar/SidebarContext.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAa,MAAM,OAAO,CAAA;AAEjD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,SAAS,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,iBAAiB;;;;;SAKf,CAAA;AACf,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EACzB,MAAM,iBAAiB,CAAA;AAUxB;;;GAGG;AACH,eAAO,MAAM,cAAc,qDAAkD,CAAA;AAE7E;;;GAGG;AACH,UAAU,oBAAoB;IAC5B,0DAA0D;IAC1D,QAAQ,EAAE,SAAS,CAAA;IACnB,iDAAiD;IACjD,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,uCAAuC;IACvC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,4CAA4C;IAC5C,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACtC,kCAAkC;IAClC,YAAY,CAAC,EAAE,mBAAmB,CAAA;IAClC,kCAAkC;IAClC,aAAa,CAAC,EAAE,oBAAoB,CAAA;IACpC,yCAAyC;IACzC,iBAAiB,CAAC,EAAE,wBAAwB,CAAA;IAC5C,2CAA2C;IAC3C,eAAe,CAAC,EAAE,sBAAsB,CAAA;IACxC,oCAAmC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAA;IACvC,mCAAkC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACrC,oCAAmC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAA;IACvC,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,qEAAqE;IACrE,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,kEAAiE;IACjE,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,qDAAoD;IACpD,WAAW,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAA;CAChD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,WAAwC,EACxC,IAAI,EAAE,cAAc,EACpB,YAAY,EACZ,YAA0C,EAC1C,aAA4C,EAC5C,iBAAoD,EACpD,eAAgD,EAChD,UAAU,EAAE,cAAc,EAC1B,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,cAAc,EAC1B,QAAkC,EAClC,KAA4B,EAC5B,oBAA4B,EAC5B,aAAoB,EACpB,WAAW,EAAE,eAAe,EAC7B,EAAE,oBAAoB,2CAwLtB"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Props del SidebarFluidIndicator
3
+ * @interface
4
+ */
5
+ interface SidebarFluidIndicatorProps {
6
+ /** Elemento del item actualmente hovered/focused */
7
+ targetElement: HTMLElement | null;
8
+ /** Indica si el indicador está visible */
9
+ isVisible: boolean;
10
+ }
11
+ /**
12
+ * Componente wrapper de FluidHoverIndicator para Sidebar
13
+ *
14
+ * @description
15
+ * Wrapper que conecta el FluidHoverIndicator (glassmorphism + spring physics)
16
+ * con el sistema de estado del Sidebar. Este componente decide automáticamente
17
+ * qué versión renderizar basándose en las feature flags:
18
+ *
19
+ * - **V1 (default)**: FluidHoverIndicator con backdrop-blur CSS básico
20
+ * - **V2 (experimental)**: FluidHoverIndicatorV2 con SVG displacement mapping
21
+ *
22
+ * Feature flags del contexto:
23
+ * - `liquidGlass.enableLiquidGlassV2`: Activa la versión V2
24
+ * - `liquidGlass.enableChromaticAberration`: Activa chromatic aberration (Phase 2)
25
+ *
26
+ * @example
27
+ * ```tsx
28
+ * <SidebarNav>
29
+ * <SidebarIndicator />
30
+ * <SidebarFluidIndicator targetElement={currentItemElement} isVisible={isVisible} />
31
+ * <SidebarContent>...</SidebarContent>
32
+ * </SidebarNav>
33
+ * ```
34
+ */
35
+ export declare function SidebarFluidIndicator({ targetElement, isVisible }: SidebarFluidIndicatorProps): import("react/jsx-runtime").JSX.Element;
36
+ export {};
37
+ //# sourceMappingURL=SidebarFluidIndicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarFluidIndicator.d.ts","sourceRoot":"","sources":["../../../src/components/Sidebar/SidebarFluidIndicator.tsx"],"names":[],"mappings":"AAMA;;;GAGG;AACH,UAAU,0BAA0B;IAClC,oDAAoD;IACpD,aAAa,EAAE,WAAW,GAAG,IAAI,CAAA;IACjC,2CAA0C;IAC1C,SAAS,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,0BAA0B,2CAyB7F"}
@@ -0,0 +1,59 @@
1
+ import type { SidebarIndicatorProps } from "./Sidebar.types";
2
+ /**
3
+ * Componente de indicador visual del Sidebar
4
+ *
5
+ * @description
6
+ * Indicador visual que sigue al cursor del mouse (o item enfocado) dentro
7
+ * del área de navegación. Proporciona feedback visual claro al usuario.
8
+ *
9
+ * Características:
10
+ * - Se muestra solo cuando el mouse está sobre el área de items
11
+ * - Sigue al cursor con animación suave
12
+ * - Se posiciona en el item enfocado al navegar por teclado
13
+ * - Totalmente customizable con className y style
14
+ * - Soporta render props para control total del contenido
15
+ * - Color y dimensiones configurables via contexto
16
+ *
17
+ * El indicador se oculta automáticamente cuando:
18
+ * - El mouse sale del sidebar
19
+ * - El cursor está fuera del área de items
20
+ * - Se pierde el focus del sidebar
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * // Uso básico con estilos por defecto
25
+ * <SidebarNav>
26
+ * <SidebarIndicator />
27
+ * <SidebarContent>...</SidebarContent>
28
+ * </SidebarNav>
29
+ * ```
30
+ *
31
+ * @example
32
+ * ```tsx
33
+ * // Con estilos custom
34
+ * <SidebarIndicator className="bg-red-500 w-1" />
35
+ * ```
36
+ *
37
+ * @example
38
+ * ```tsx
39
+ * // Con render props
40
+ * <SidebarIndicator>
41
+ * {({ visible, position }) => (
42
+ * <div
43
+ * className={cn('indicator', visible && 'opacity-100')}
44
+ * style={{ top: position }}
45
+ * >
46
+ * <span>→</span>
47
+ * </div>
48
+ * )}
49
+ * </SidebarIndicator>
50
+ * ```
51
+ *
52
+ * @example
53
+ * ```tsx
54
+ * // Como elemento custom
55
+ * <SidebarIndicator as={motion.div} animate={{ opacity: 1 }} />
56
+ * ```
57
+ */
58
+ export declare const SidebarIndicator: import("react").ForwardRefExoticComponent<SidebarIndicatorProps & import("react").RefAttributes<HTMLDivElement>>;
59
+ //# sourceMappingURL=SidebarIndicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarIndicator.d.ts","sourceRoot":"","sources":["../../../src/components/Sidebar/SidebarIndicator.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,qBAAqB,EAA8B,MAAM,iBAAiB,CAAA;AAGxF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,eAAO,MAAM,gBAAgB,kHAkE5B,CAAA"}
@@ -0,0 +1,82 @@
1
+ import type { SidebarItemProps } from "./Sidebar.types";
2
+ /**
3
+ * Componente item de navegación del Sidebar
4
+ *
5
+ * @description
6
+ * Item individual de navegación dentro del sidebar.
7
+ * Renderiza un `<a>` por defecto, pero puede ser cualquier elemento
8
+ * o componente (ej: React Router Link, Next.js Link).
9
+ *
10
+ * Características:
11
+ * - Soporta iconos y labels
12
+ * - Gestiona estados de hover y focus
13
+ * - Se registra automáticamente para navegación por teclado
14
+ * - Aplica data attributes para styling
15
+ * - Soporta render props para control total
16
+ * - Compatible con React Router, Next.js, etc. via prop `as`
17
+ * - Label oculto automáticamente cuando sidebar está colapsado (via CSS container queries)
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * // Uso básico
22
+ * <SidebarItem
23
+ * href="/"
24
+ * icon={<HomeIcon />}
25
+ * label="Home"
26
+ * />
27
+ * ```
28
+ *
29
+ * @example
30
+ * ```tsx
31
+ * // Con React Router
32
+ * <SidebarItem
33
+ * as={Link}
34
+ * to="/dashboard"
35
+ * icon={<DashboardIcon />}
36
+ * label="Dashboard"
37
+ * />
38
+ * ```
39
+ *
40
+ * @example
41
+ * ```tsx
42
+ * // Con Next.js Link
43
+ * <SidebarItem
44
+ * LinkComponent={Link}
45
+ * href="/profile"
46
+ * icon={<UserIcon />}
47
+ * label="Profile"
48
+ * />
49
+ * ```
50
+ *
51
+ * @example
52
+ * ```tsx
53
+ * // Con render props
54
+ * <SidebarItem href="/settings">
55
+ * {({ focused, hovered, disabled }) => (
56
+ * <div className={cn(
57
+ * 'flex items-center gap-2',
58
+ * focused && 'ring-2',
59
+ * hovered && 'bg-zinc-800',
60
+ * disabled && 'opacity-50'
61
+ * )}>
62
+ * <SettingsIcon />
63
+ * <span>Settings</span>
64
+ * </div>
65
+ * )}
66
+ * </SidebarItem>
67
+ * ```
68
+ *
69
+ * @example
70
+ * ```tsx
71
+ * // Con callbacks
72
+ * <SidebarItem
73
+ * href="/analytics"
74
+ * icon={<ChartIcon />}
75
+ * label="Analytics"
76
+ * onHover={() => prefetchAnalytics()}
77
+ * onClick={() => trackNavigation('analytics')}
78
+ * />
79
+ * ```
80
+ */
81
+ export declare const SidebarItem: import("react").ForwardRefExoticComponent<SidebarItemProps & import("react").RefAttributes<HTMLAnchorElement>>;
82
+ //# sourceMappingURL=SidebarItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarItem.d.ts","sourceRoot":"","sources":["../../../src/components/Sidebar/SidebarItem.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAyB,MAAM,iBAAiB,CAAA;AAQ9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8EG;AACH,eAAO,MAAM,WAAW,gHAwKtB,CAAA"}
@@ -0,0 +1,48 @@
1
+ import type { SidebarNavProps } from "./Sidebar.types";
2
+ /**
3
+ * Componente de navegación del Sidebar
4
+ *
5
+ * @description
6
+ * Contenedor de navegación que renderiza un elemento `<nav>` por defecto.
7
+ * Gestiona los eventos de mouse y teclado para el indicador visual y
8
+ * la navegación accesible.
9
+ *
10
+ * Este componente:
11
+ * - Aplica data attributes para reflejar el estado (open/collapsed)
12
+ * - Gestiona eventos de mouse para el indicador visual
13
+ * - Gestiona navegación por teclado (arrows, home, end)
14
+ * - Expone una ref al elemento DOM para mediciones
15
+ *
16
+ * Usa forwardRef para permitir acceso al elemento DOM desde componentes padre.
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * <Sidebar>
21
+ * <SidebarNav className="bg-zinc-900 border-zinc-800">
22
+ * <SidebarToggle />
23
+ * <SidebarIndicator />
24
+ * <SidebarContent>
25
+ * <SidebarItem href="/" />
26
+ * </SidebarContent>
27
+ * </SidebarNav>
28
+ * </Sidebar>
29
+ * ```
30
+ *
31
+ * @example
32
+ * ```tsx
33
+ * // Con data attributes para styling
34
+ * <SidebarNav className="data-[open=true]:w-64 data-[open=false]:w-16">
35
+ * {children}
36
+ * </SidebarNav>
37
+ * ```
38
+ *
39
+ * @example
40
+ * ```tsx
41
+ * // Con elemento personalizado
42
+ * <SidebarNav as="aside" aria-label="Navegación lateral">
43
+ * {children}
44
+ * </SidebarNav>
45
+ * ```
46
+ */
47
+ export declare const SidebarNav: import("react").ForwardRefExoticComponent<SidebarNavProps & import("react").RefAttributes<HTMLElement>>;
48
+ //# sourceMappingURL=SidebarNav.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarNav.d.ts","sourceRoot":"","sources":["../../../src/components/Sidebar/SidebarNav.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAYtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,eAAO,MAAM,UAAU,yGA6erB,CAAA"}
@@ -0,0 +1,56 @@
1
+ import type { SidebarSafeAreaProps } from "./Sidebar.types";
2
+ /**
3
+ * Componente de área segura del Sidebar
4
+ *
5
+ * @description
6
+ * Área reservada en la parte superior o inferior del sidebar para
7
+ * contenido especial como logos, usuario, configuración, etc.
8
+ *
9
+ * Las áreas seguras:
10
+ * - No contienen items de navegación
11
+ * - Tienen altura porcentual configurable
12
+ * - Pueden mostrar patrones de debug
13
+ * - Son completamente customizables
14
+ *
15
+ * Casos de uso comunes:
16
+ * - Top: Logo, título de la aplicación, búsqueda
17
+ * - Bottom: Usuario, configuración, logout
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * <SidebarNav>
22
+ * <SidebarSafeArea position="top" percent={20}>
23
+ * <img src="/logo.png" alt="Logo" />
24
+ * </SidebarSafeArea>
25
+ *
26
+ * <SidebarContent>
27
+ * <SidebarItem href="/" />
28
+ * </SidebarContent>
29
+ *
30
+ * <SidebarSafeArea position="bottom" percent={15}>
31
+ * <UserProfile />
32
+ * </SidebarSafeArea>
33
+ * </SidebarNav>
34
+ * ```
35
+ *
36
+ * @example
37
+ * ```tsx
38
+ * // Con estilos custom
39
+ * <SidebarSafeArea
40
+ * position="top"
41
+ * className="bg-zinc-950 border-b border-zinc-800"
42
+ * >
43
+ * <h1>Mi App</h1>
44
+ * </SidebarSafeArea>
45
+ * ```
46
+ *
47
+ * @example
48
+ * ```tsx
49
+ * // Override de porcentaje
50
+ * <SidebarSafeArea position="bottom" percent={30}>
51
+ * <ExtendedFooter />
52
+ * </SidebarSafeArea>
53
+ * ```
54
+ */
55
+ export declare const SidebarSafeArea: import("react").ForwardRefExoticComponent<SidebarSafeAreaProps & import("react").RefAttributes<HTMLDivElement>>;
56
+ //# sourceMappingURL=SidebarSafeArea.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarSafeArea.d.ts","sourceRoot":"","sources":["../../../src/components/Sidebar/SidebarSafeArea.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAO3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,eAAO,MAAM,eAAe,iHAsE3B,CAAA"}
@@ -0,0 +1,10 @@
1
+ import type { ReactNode } from "react";
2
+ export interface SidebarSubContentProps {
3
+ children: ReactNode;
4
+ title?: string;
5
+ }
6
+ export declare function SidebarSubContent({ children, title }: SidebarSubContentProps): null;
7
+ export declare namespace SidebarSubContent {
8
+ var displayName: string;
9
+ }
10
+ //# sourceMappingURL=SidebarSubContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarSubContent.d.ts","sourceRoot":"","sources":["../../../src/components/Sidebar/SidebarSubContent.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,SAAS,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,sBAAsB,QAE5E"}
@@ -0,0 +1,18 @@
1
+ import type { ReactNode, ComponentType, MouseEvent as ReactMouseEvent, CSSProperties } from "react";
2
+ export interface SidebarSubLinkProps {
3
+ href: string;
4
+ children: ReactNode;
5
+ icon?: ReactNode;
6
+ LinkComponent?: ComponentType<any>;
7
+ linkProps?: Record<string, any>;
8
+ className?: string;
9
+ onClick?: (e: ReactMouseEvent<HTMLAnchorElement>) => void;
10
+ animationOrder?: number;
11
+ animationState?: 'entering' | 'leaving' | 'static';
12
+ style?: CSSProperties;
13
+ }
14
+ export declare function SidebarSubLink({ href, children, icon, LinkComponent, linkProps, className, onClick, animationOrder, animationState, style }: SidebarSubLinkProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare namespace SidebarSubLink {
16
+ var displayName: string;
17
+ }
18
+ //# sourceMappingURL=SidebarSubLink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarSubLink.d.ts","sourceRoot":"","sources":["../../../src/components/Sidebar/SidebarSubLink.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,IAAI,eAAe,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAGnG,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,SAAS,CAAA;IACnB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,aAAa,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAA;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,eAAe,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAA;IACzD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAA;IAClD,KAAK,CAAC,EAAE,aAAa,CAAA;CACtB;AAED,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,aAAa,EACb,SAAc,EACd,SAAS,EACT,OAAO,EACP,cAAc,EACd,cAAc,EACd,KAAK,EACN,EAAE,mBAAmB,2CA0BrB"}
@@ -0,0 +1,52 @@
1
+ import type { SidebarToggleProps } from "./Sidebar.types";
2
+ /**
3
+ * Componente de botón toggle del Sidebar
4
+ *
5
+ * @description
6
+ * Botón que controla el estado abierto/cerrado del sidebar.
7
+ * Renderiza un `<label>` por defecto que controla un checkbox oculto,
8
+ * permitiendo gestionar el estado con CSS puro (:checked selector).
9
+ *
10
+ * Características:
11
+ * - Soporta render props para acceso al estado (open, active)
12
+ * - Renderiza icono de chevron por defecto (customizable)
13
+ * - Aplica data attributes para styling CSS
14
+ * - Accesibilidad completa (aria-label, aria-expanded)
15
+ * - Soporta prop `as` para usar elemento/componente custom
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * // Uso básico con icono por defecto
20
+ * <SidebarToggle />
21
+ * ```
22
+ *
23
+ * @example
24
+ * ```tsx
25
+ * // Con render props para estado
26
+ * <SidebarToggle>
27
+ * {({ open, active }) => (
28
+ * <div className={cn(active && 'bg-blue-500')}>
29
+ * {open ? <CloseIcon /> : <MenuIcon />}
30
+ * </div>
31
+ * )}
32
+ * </SidebarToggle>
33
+ * ```
34
+ *
35
+ * @example
36
+ * ```tsx
37
+ * // Con icono custom
38
+ * <SidebarToggle className="bg-zinc-800">
39
+ * <CustomChevronIcon />
40
+ * </SidebarToggle>
41
+ * ```
42
+ *
43
+ * @example
44
+ * ```tsx
45
+ * // Como botón real (sin checkbox)
46
+ * <SidebarToggle as="button" onClick={() => setOpen(!open)}>
47
+ * Toggle
48
+ * </SidebarToggle>
49
+ * ```
50
+ */
51
+ export declare const SidebarToggle: import("react").ForwardRefExoticComponent<SidebarToggleProps & import("react").RefAttributes<HTMLButtonElement | HTMLLabelElement>>;
52
+ //# sourceMappingURL=SidebarToggle.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,26 @@
1
+ import type { ReactNode } from "react";
2
+ import '@/animations/tooltip-keyframes.css';
3
+ export interface SidebarTooltipProps {
4
+ /** Contenido del tooltip */
5
+ children: ReactNode;
6
+ /** Título opcional del tooltip */
7
+ title?: string;
8
+ /** Modo debug para visualizar safety triangle y layers */
9
+ debug?: boolean;
10
+ /** Handler llamado cuando el mouse sale del tooltip */
11
+ onMouseLeave?: () => void;
12
+ /** Habilitar liquid glass con SVG displacement filters (false = backdrop-blur básico) */
13
+ enableLiquidGlass?: boolean;
14
+ /** Habilitar Edge Glass 3D (dual backdrop layers para profundidad) */
15
+ enableEdgeGlass3D?: boolean;
16
+ /** Habilitar Backdrop Extension (Josh Comeau technique - 200% height) */
17
+ enableBackdropExtension?: boolean;
18
+ /** Habilitar chromatic aberration RGB (requiere enableLiquidGlass) */
19
+ enableChromaticAberration?: boolean;
20
+ /** Habilitar animaciones staggered de items (entrada/salida escalonada) */
21
+ enableTooltipItemAnimations?: boolean;
22
+ /** Habilitar animación 3D de cilindro para el título del tooltip */
23
+ enableCylinderTitle?: boolean;
24
+ }
25
+ export declare const SidebarTooltip: import("react").NamedExoticComponent<SidebarTooltipProps>;
26
+ //# sourceMappingURL=SidebarTooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarTooltip.d.ts","sourceRoot":"","sources":["../../../src/components/Sidebar/SidebarTooltip.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,OAAO,CAAA;AAKpD,OAAO,oCAAoC,CAAA;AAY3C,MAAM,WAAW,mBAAmB;IAClC,4BAA4B;IAC5B,QAAQ,EAAE,SAAS,CAAA;IACnB,mCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,0DAA0D;IAC1D,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;IAEzB,0FAAyF;IACzF,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,sEAAsE;IACtE,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,yEAAyE;IACzE,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,sEAAsE;IACtE,yBAAyB,CAAC,EAAE,OAAO,CAAA;IAEnC,2EAA2E;IAC3E,2BAA2B,CAAC,EAAE,OAAO,CAAA;IACrC,sEAAoE;IACpE,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B;AAED,eAAO,MAAM,cAAc,2DA+VzB,CAAA"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * TooltipTitle3D
3
+ *
4
+ * Enfoque A: Cubo 3D Multi-cara con preserve-3d
5
+ *
6
+ * Implementa un cubo 3D CSS con 4 caras (front, top, bottom, back) que contienen
7
+ * títulos pre-renderizados. La rotación del cubo muestra la cara apropiada
8
+ * basada en la dirección de navegación.
9
+ *
10
+ * Ventajas:
11
+ * - True 3D effect con hardware acceleration
12
+ * - Smooth rotation entre caras
13
+ * - No flickering (títulos pre-renderizados)
14
+ * - Soporte para múltiples títulos (4 caras disponibles)
15
+ *
16
+ * Desventajas:
17
+ * - Require pre-renderizar títulos en todas las caras
18
+ * - Más complejo que crossfade approach
19
+ * - Limitado a 4 títulos diferentes sin regenerar caras
20
+ *
21
+ * @example
22
+ * ```tsx
23
+ * <TooltipTitle3D
24
+ * titles={['Home', 'Search', 'Settings', 'Profile']}
25
+ * currentFaceIndex={0}
26
+ * debug={false}
27
+ * />
28
+ * ```
29
+ */
30
+ export interface TooltipTitle3DProps {
31
+ titles: string[];
32
+ currentFaceIndex?: number;
33
+ debug?: boolean;
34
+ className?: string;
35
+ }
36
+ export interface TooltipTitle3DRef {
37
+ scene: HTMLDivElement | null;
38
+ cube: HTMLDivElement | null;
39
+ }
40
+ export declare const TooltipTitle3D: import("react").ForwardRefExoticComponent<TooltipTitle3DProps & import("react").RefAttributes<TooltipTitle3DRef>>;
41
+ export default TooltipTitle3D;
42
+ //# sourceMappingURL=TooltipTitle3D.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TooltipTitle3D.d.ts","sourceRoot":"","sources":["../../../src/components/Sidebar/TooltipTitle3D.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAKH,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7B,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;CAC7B;AAED,eAAO,MAAM,cAAc,mHAgD1B,CAAC;AAIF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * TooltipTitle3DCrossfade
3
+ *
4
+ * Enfoque B: Rotación 3D con Crossfade
5
+ *
6
+ * Implementa transición de título con dos elementos (old/new) que rotan en 3D
7
+ * con crossfade simultáneo. Más simple y flexible que el enfoque de cubo.
8
+ *
9
+ * Ventajas:
10
+ * - Más simple que cubo multi-cara
11
+ * - No requiere pre-renderizar títulos
12
+ * - Flexible para cualquier número de títulos
13
+ * - Mejor performance (solo 2 elementos animados)
14
+ *
15
+ * Desventajas:
16
+ * - Requiere gestión de estado old/new title
17
+ * - Posible flickering si no se maneja bien el timing
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * <TooltipTitle3DCrossfade
22
+ * oldTitle="Home"
23
+ * newTitle="Search"
24
+ * direction="down"
25
+ * isTransitioning={true}
26
+ * debug={false}
27
+ * />
28
+ * ```
29
+ */
30
+ import type { TooltipDirection } from './hooks/useTooltipDirection';
31
+ export interface TooltipTitle3DCrossfadeProps {
32
+ oldTitle?: string;
33
+ newTitle: string;
34
+ direction?: TooltipDirection;
35
+ isTransitioning?: boolean;
36
+ debug?: boolean;
37
+ className?: string;
38
+ }
39
+ export interface TooltipTitle3DCrossfadeRef {
40
+ container: HTMLDivElement | null;
41
+ oldTitleEl: HTMLDivElement | null;
42
+ newTitleEl: HTMLDivElement | null;
43
+ }
44
+ export declare const TooltipTitle3DCrossfade: import("react").ForwardRefExoticComponent<TooltipTitle3DCrossfadeProps & import("react").RefAttributes<TooltipTitle3DCrossfadeRef>>;
45
+ export default TooltipTitle3DCrossfade;
46
+ //# sourceMappingURL=TooltipTitle3DCrossfade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TooltipTitle3DCrossfade.d.ts","sourceRoot":"","sources":["../../../src/components/Sidebar/TooltipTitle3DCrossfade.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE,cAAc,GAAG,IAAI,CAAC;IAClC,UAAU,EAAE,cAAc,GAAG,IAAI,CAAC;CACnC;AAED,eAAO,MAAM,uBAAuB,qIAqElC,CAAC;AAIH,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { TooltipDirection } from './hooks/useTooltipDirection';
2
+ export interface TooltipTitleCylinderProps {
3
+ title: string;
4
+ direction: TooltipDirection;
5
+ className?: string;
6
+ maxHistory?: number;
7
+ }
8
+ export declare function TooltipTitleCylinder({ title, direction, className, maxHistory }: TooltipTitleCylinderProps): import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=TooltipTitleCylinder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TooltipTitleCylinder.d.ts","sourceRoot":"","sources":["../../../src/components/Sidebar/TooltipTitleCylinder.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAEnE,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,gBAAgB,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,SAAS,EACT,SAAS,EACT,UAAe,EAChB,EAAE,yBAAyB,2CA8B3B"}