@mks2508/mks-ui 0.6.7 → 0.7.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 (397) hide show
  1. package/dist/css/blocks-Sidebar-animations-tooltip.css +330 -0
  2. package/dist/index.css +1058 -128
  3. package/dist/react-ui/blocks/BottomNavBar/MobileBottomNav.d.ts +64 -0
  4. package/dist/react-ui/blocks/BottomNavBar/MobileBottomNav.d.ts.map +1 -0
  5. package/dist/react-ui/blocks/BottomNavBar/MobileBottomNav.js +301 -0
  6. package/dist/react-ui/blocks/BottomNavBar/MobileBottomNav.styles.d.ts +94 -0
  7. package/dist/react-ui/blocks/BottomNavBar/MobileBottomNav.styles.d.ts.map +1 -0
  8. package/dist/react-ui/blocks/BottomNavBar/MobileBottomNav.styles.js +216 -0
  9. package/dist/react-ui/blocks/BottomNavBar/index.d.ts +10 -0
  10. package/dist/react-ui/blocks/BottomNavBar/index.d.ts.map +1 -0
  11. package/dist/react-ui/blocks/BottomNavBar/index.js +4 -0
  12. package/dist/react-ui/blocks/BottomNavBar/types.d.ts +362 -0
  13. package/dist/react-ui/blocks/BottomNavBar/types.d.ts.map +1 -0
  14. package/dist/react-ui/blocks/BottomNavBar/types.js +175 -0
  15. package/dist/react-ui/blocks/BottomNavBar/useIOSSafariFix.d.ts +73 -0
  16. package/dist/react-ui/blocks/BottomNavBar/useIOSSafariFix.d.ts.map +1 -0
  17. package/dist/react-ui/blocks/BottomNavBar/useIOSSafariFix.js +178 -0
  18. package/dist/react-ui/blocks/Sidebar/Sidebar.constants.d.ts +285 -0
  19. package/dist/react-ui/blocks/Sidebar/Sidebar.constants.d.ts.map +1 -0
  20. package/dist/react-ui/blocks/Sidebar/Sidebar.constants.js +208 -0
  21. package/dist/react-ui/blocks/Sidebar/Sidebar.d.ts +80 -0
  22. package/dist/react-ui/blocks/Sidebar/Sidebar.d.ts.map +1 -0
  23. package/dist/react-ui/blocks/Sidebar/Sidebar.js +114 -0
  24. package/dist/react-ui/blocks/Sidebar/Sidebar.styles.d.ts +77 -0
  25. package/dist/react-ui/blocks/Sidebar/Sidebar.styles.d.ts.map +1 -0
  26. package/dist/react-ui/blocks/Sidebar/Sidebar.styles.js +274 -0
  27. package/dist/react-ui/blocks/Sidebar/Sidebar.types.d.ts +546 -0
  28. package/dist/react-ui/blocks/Sidebar/Sidebar.types.d.ts.map +1 -0
  29. package/dist/react-ui/blocks/Sidebar/Sidebar.types.js +149 -0
  30. package/dist/react-ui/blocks/Sidebar/SidebarContent.d.ts +46 -0
  31. package/dist/react-ui/blocks/Sidebar/SidebarContent.d.ts.map +1 -0
  32. package/dist/react-ui/blocks/Sidebar/SidebarContent.js +86 -0
  33. package/dist/react-ui/blocks/Sidebar/SidebarContext.d.ts +85 -0
  34. package/dist/react-ui/blocks/Sidebar/SidebarContext.d.ts.map +1 -0
  35. package/dist/react-ui/blocks/Sidebar/SidebarContext.js +178 -0
  36. package/dist/react-ui/blocks/Sidebar/SidebarFluidIndicator.d.ts +31 -0
  37. package/dist/react-ui/blocks/Sidebar/SidebarFluidIndicator.d.ts.map +1 -0
  38. package/dist/react-ui/blocks/Sidebar/SidebarFluidIndicator.js +37 -0
  39. package/dist/react-ui/blocks/Sidebar/SidebarIndicator.d.ts +59 -0
  40. package/dist/react-ui/blocks/Sidebar/SidebarIndicator.d.ts.map +1 -0
  41. package/dist/react-ui/blocks/Sidebar/SidebarIndicator.js +106 -0
  42. package/dist/react-ui/blocks/Sidebar/SidebarItem.d.ts +82 -0
  43. package/dist/react-ui/blocks/Sidebar/SidebarItem.d.ts.map +1 -0
  44. package/dist/react-ui/blocks/Sidebar/SidebarItem.js +209 -0
  45. package/dist/react-ui/blocks/Sidebar/SidebarNav.d.ts +48 -0
  46. package/dist/react-ui/blocks/Sidebar/SidebarNav.d.ts.map +1 -0
  47. package/dist/react-ui/blocks/Sidebar/SidebarNav.js +317 -0
  48. package/dist/react-ui/blocks/Sidebar/SidebarSafeArea.d.ts +56 -0
  49. package/dist/react-ui/blocks/Sidebar/SidebarSafeArea.d.ts.map +1 -0
  50. package/dist/react-ui/blocks/Sidebar/SidebarSafeArea.js +105 -0
  51. package/dist/react-ui/blocks/Sidebar/SidebarSubContent.d.ts +27 -0
  52. package/dist/react-ui/blocks/Sidebar/SidebarSubContent.d.ts.map +1 -0
  53. package/dist/react-ui/blocks/Sidebar/SidebarSubContent.js +31 -0
  54. package/dist/react-ui/blocks/Sidebar/SidebarSubLink.d.ts +20 -0
  55. package/dist/react-ui/blocks/Sidebar/SidebarSubLink.d.ts.map +1 -0
  56. package/dist/react-ui/blocks/Sidebar/SidebarSubLink.js +44 -0
  57. package/dist/react-ui/blocks/Sidebar/SidebarToggle.d.ts +52 -0
  58. package/dist/react-ui/blocks/Sidebar/SidebarToggle.d.ts.map +1 -0
  59. package/dist/react-ui/blocks/Sidebar/SidebarToggle.js +119 -0
  60. package/dist/react-ui/blocks/Sidebar/SidebarTooltip.d.ts +15 -0
  61. package/dist/react-ui/blocks/Sidebar/SidebarTooltip.d.ts.map +1 -0
  62. package/dist/react-ui/blocks/Sidebar/SidebarTooltip.js +177 -0
  63. package/dist/react-ui/blocks/Sidebar/animations/tooltip.css +330 -0
  64. package/dist/react-ui/blocks/Sidebar/components/FluidHoverIndicator.d.ts +28 -0
  65. package/dist/react-ui/blocks/Sidebar/components/FluidHoverIndicator.d.ts.map +1 -0
  66. package/dist/react-ui/blocks/Sidebar/components/FluidHoverIndicator.js +74 -0
  67. package/dist/react-ui/blocks/Sidebar/hooks/use-fluid-animation.d.ts +18 -0
  68. package/dist/react-ui/blocks/Sidebar/hooks/use-fluid-animation.d.ts.map +1 -0
  69. package/dist/react-ui/blocks/Sidebar/hooks/use-fluid-animation.js +166 -0
  70. package/dist/react-ui/blocks/Sidebar/hooks/useSidebarContext.d.ts +48 -0
  71. package/dist/react-ui/blocks/Sidebar/hooks/useSidebarContext.d.ts.map +1 -0
  72. package/dist/react-ui/blocks/Sidebar/hooks/useSidebarContext.js +59 -0
  73. package/dist/react-ui/blocks/Sidebar/hooks/useSidebarIndicator.d.ts +72 -0
  74. package/dist/react-ui/blocks/Sidebar/hooks/useSidebarIndicator.d.ts.map +1 -0
  75. package/dist/react-ui/blocks/Sidebar/hooks/useSidebarIndicator.js +159 -0
  76. package/dist/react-ui/blocks/Sidebar/hooks/useSidebarKeyboard.d.ts +51 -0
  77. package/dist/react-ui/blocks/Sidebar/hooks/useSidebarKeyboard.d.ts.map +1 -0
  78. package/dist/react-ui/blocks/Sidebar/hooks/useSidebarKeyboard.js +150 -0
  79. package/dist/react-ui/blocks/Sidebar/hooks/useSubContent.d.ts +42 -0
  80. package/dist/react-ui/blocks/Sidebar/hooks/useSubContent.d.ts.map +1 -0
  81. package/dist/react-ui/blocks/Sidebar/hooks/useSubContent.js +49 -0
  82. package/dist/react-ui/blocks/Sidebar/index.d.ts +163 -0
  83. package/dist/react-ui/blocks/Sidebar/index.d.ts.map +1 -0
  84. package/dist/react-ui/blocks/Sidebar/index.js +19 -0
  85. package/dist/react-ui/blocks/Terminal/Terminal.tokens.d.ts +219 -0
  86. package/dist/react-ui/blocks/Terminal/Terminal.tokens.d.ts.map +1 -0
  87. package/dist/react-ui/blocks/Terminal/Terminal.tokens.js +253 -0
  88. package/dist/react-ui/blocks/Terminal/Terminal.types.d.ts +2 -1
  89. package/dist/react-ui/blocks/Terminal/Terminal.types.d.ts.map +1 -1
  90. package/dist/react-ui/blocks/Terminal/TerminalDisplay.js +1 -1
  91. package/dist/react-ui/blocks/Terminal/TerminalDisplay.types.d.ts +1 -1
  92. package/dist/react-ui/blocks/Terminal/TerminalDisplay.types.d.ts.map +1 -1
  93. package/dist/react-ui/blocks/Terminal/chrome.js +2 -2
  94. package/dist/react-ui/blocks/Terminal/components/LogLineBadges/LogLineBadges.styles.d.ts +15 -0
  95. package/dist/react-ui/blocks/Terminal/components/LogLineBadges/LogLineBadges.styles.d.ts.map +1 -0
  96. package/dist/react-ui/blocks/Terminal/components/LogLineBadges/LogLineBadges.styles.js +14 -0
  97. package/dist/react-ui/blocks/Terminal/components/LogLineBadges/LogLineBadges.types.d.ts +106 -0
  98. package/dist/react-ui/blocks/Terminal/components/LogLineBadges/LogLineBadges.types.d.ts.map +1 -0
  99. package/dist/react-ui/blocks/Terminal/components/LogLineBadges/index.d.ts +89 -0
  100. package/dist/react-ui/blocks/Terminal/components/LogLineBadges/index.d.ts.map +1 -0
  101. package/dist/react-ui/blocks/Terminal/components/LogLineBadges/index.js +136 -0
  102. package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.d.ts +21 -7
  103. package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.d.ts.map +1 -1
  104. package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.js +81 -71
  105. package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.styles.d.ts +33 -0
  106. package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.styles.d.ts.map +1 -0
  107. package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.styles.js +51 -0
  108. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/TerminalLogBadge.styles.d.ts +13 -0
  109. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/TerminalLogBadge.styles.d.ts.map +1 -0
  110. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/TerminalLogBadge.styles.js +8 -0
  111. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/TerminalLogBadge.types.d.ts +29 -0
  112. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/TerminalLogBadge.types.d.ts.map +1 -0
  113. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/index.d.ts +26 -0
  114. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/index.d.ts.map +1 -0
  115. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/index.js +40 -0
  116. package/dist/react-ui/blocks/Terminal/components/index.js +5 -2
  117. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/TerminalActionBar.styles.d.ts +12 -0
  118. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/TerminalActionBar.styles.d.ts.map +1 -0
  119. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/TerminalActionBar.styles.js +13 -0
  120. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/TerminalActionBar.types.d.ts +35 -0
  121. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/TerminalActionBar.types.d.ts.map +1 -0
  122. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/index.d.ts +75 -0
  123. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/index.d.ts.map +1 -0
  124. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/index.js +115 -0
  125. package/dist/react-ui/blocks/Terminal/controls/TerminalAtoms.d.ts +122 -0
  126. package/dist/react-ui/blocks/Terminal/controls/TerminalAtoms.d.ts.map +1 -0
  127. package/dist/react-ui/blocks/Terminal/controls/TerminalAtoms.js +128 -0
  128. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/TerminalConnectionStatus.styles.d.ts +12 -0
  129. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/TerminalConnectionStatus.styles.d.ts.map +1 -0
  130. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/TerminalConnectionStatus.styles.js +12 -0
  131. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/TerminalConnectionStatus.types.d.ts +29 -0
  132. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/TerminalConnectionStatus.types.d.ts.map +1 -0
  133. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/index.d.ts +37 -0
  134. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/index.d.ts.map +1 -0
  135. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/index.js +74 -0
  136. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/TerminalFontControls.styles.d.ts +12 -0
  137. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/TerminalFontControls.styles.d.ts.map +1 -0
  138. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/TerminalFontControls.styles.js +16 -0
  139. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/TerminalFontControls.types.d.ts +32 -0
  140. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/TerminalFontControls.types.d.ts.map +1 -0
  141. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/index.d.ts +40 -0
  142. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/index.d.ts.map +1 -0
  143. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/index.js +81 -0
  144. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/TerminalSplitButton.styles.d.ts +12 -0
  145. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/TerminalSplitButton.styles.d.ts.map +1 -0
  146. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/TerminalSplitButton.styles.js +13 -0
  147. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/TerminalSplitButton.types.d.ts +28 -0
  148. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/TerminalSplitButton.types.d.ts.map +1 -0
  149. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/index.d.ts +40 -0
  150. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/index.d.ts.map +1 -0
  151. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/index.js +108 -0
  152. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.styles.d.ts +12 -0
  153. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.styles.d.ts.map +1 -0
  154. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.styles.js +12 -0
  155. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.types.d.ts +31 -0
  156. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.types.d.ts.map +1 -0
  157. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/index.d.ts +73 -0
  158. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/index.d.ts.map +1 -0
  159. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/index.js +99 -0
  160. package/dist/react-ui/blocks/Terminal/controls/index.d.ts +16 -0
  161. package/dist/react-ui/blocks/Terminal/controls/index.d.ts.map +1 -0
  162. package/dist/react-ui/blocks/Terminal/controls/index.js +11 -0
  163. package/dist/react-ui/blocks/Terminal/display.d.ts +2 -2
  164. package/dist/react-ui/blocks/Terminal/display.d.ts.map +1 -1
  165. package/dist/react-ui/blocks/Terminal/display.js +4 -2
  166. package/dist/react-ui/blocks/Terminal/hooks/index.d.ts +9 -2
  167. package/dist/react-ui/blocks/Terminal/hooks/index.d.ts.map +1 -1
  168. package/dist/react-ui/blocks/Terminal/hooks/index.js +6 -0
  169. package/dist/react-ui/blocks/Terminal/hooks/useTerminal.d.ts +198 -0
  170. package/dist/react-ui/blocks/Terminal/hooks/useTerminal.d.ts.map +1 -0
  171. package/dist/react-ui/blocks/Terminal/hooks/useTerminal.js +198 -0
  172. package/dist/react-ui/blocks/Terminal/hooks/useTerminalConnection.d.ts +81 -0
  173. package/dist/react-ui/blocks/Terminal/hooks/useTerminalConnection.d.ts.map +1 -0
  174. package/dist/react-ui/blocks/Terminal/hooks/useTerminalConnection.js +115 -0
  175. package/dist/react-ui/blocks/Terminal/hooks/useTerminalDimensions.d.ts +54 -0
  176. package/dist/react-ui/blocks/Terminal/hooks/useTerminalDimensions.d.ts.map +1 -0
  177. package/dist/react-ui/blocks/Terminal/hooks/useTerminalDimensions.js +57 -0
  178. package/dist/react-ui/blocks/Terminal/hooks/useTerminalFontSize.d.ts +81 -0
  179. package/dist/react-ui/blocks/Terminal/hooks/useTerminalFontSize.d.ts.map +1 -0
  180. package/dist/react-ui/blocks/Terminal/hooks/useTerminalFontSize.js +102 -0
  181. package/dist/react-ui/blocks/Terminal/hooks/useTerminalKeyboardShortcuts.d.ts +78 -0
  182. package/dist/react-ui/blocks/Terminal/hooks/useTerminalKeyboardShortcuts.d.ts.map +1 -0
  183. package/dist/react-ui/blocks/Terminal/hooks/useTerminalKeyboardShortcuts.js +136 -0
  184. package/dist/react-ui/blocks/Terminal/hooks/useTerminalPaneManager.d.ts +88 -0
  185. package/dist/react-ui/blocks/Terminal/hooks/useTerminalPaneManager.d.ts.map +1 -0
  186. package/dist/react-ui/blocks/Terminal/hooks/useTerminalPaneManager.js +101 -0
  187. package/dist/react-ui/blocks/Terminal/index.d.ts +10 -6
  188. package/dist/react-ui/blocks/Terminal/index.d.ts.map +1 -1
  189. package/dist/react-ui/blocks/Terminal/index.js +43 -11
  190. package/dist/react-ui/blocks/Terminal/panel/LogLinesViewer.d.ts.map +1 -1
  191. package/dist/react-ui/blocks/Terminal/panel/LogLinesViewer.js +8 -13
  192. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/TerminalDebugPanel.styles.d.ts +13 -0
  193. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/TerminalDebugPanel.styles.d.ts.map +1 -0
  194. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/TerminalDebugPanel.styles.js +18 -0
  195. package/dist/react-ui/blocks/Terminal/panel/{TerminalDebugPanel.d.ts → TerminalDebugPanel/TerminalDebugPanel.types.d.ts} +19 -27
  196. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/TerminalDebugPanel.types.d.ts.map +1 -0
  197. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/index.d.ts +32 -0
  198. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/index.d.ts.map +1 -0
  199. package/dist/react-ui/blocks/Terminal/panel/{TerminalDebugPanel.js → TerminalDebugPanel/index.js} +59 -38
  200. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/TerminalFilterDropdown.styles.d.ts +13 -0
  201. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/TerminalFilterDropdown.styles.d.ts.map +1 -0
  202. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/TerminalFilterDropdown.styles.js +17 -0
  203. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/TerminalFilterDropdown.types.d.ts +34 -0
  204. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/TerminalFilterDropdown.types.d.ts.map +1 -0
  205. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/index.d.ts +34 -0
  206. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/index.d.ts.map +1 -0
  207. package/dist/react-ui/blocks/Terminal/panel/{TerminalFilterDropdown.js → TerminalFilterDropdown/index.js} +29 -31
  208. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/terminal-filter-dropdown.module.css +60 -0
  209. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/terminal-filter-dropdown.module.js +5 -0
  210. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/TerminalFilterTabs.styles.d.ts +13 -0
  211. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/TerminalFilterTabs.styles.d.ts.map +1 -0
  212. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/TerminalFilterTabs.types.d.ts +34 -0
  213. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/TerminalFilterTabs.types.d.ts.map +1 -0
  214. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/index.d.ts +34 -0
  215. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/index.d.ts.map +1 -0
  216. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.d.ts.map +1 -1
  217. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.js +5 -1
  218. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.types.d.ts +2 -1
  219. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.types.d.ts.map +1 -1
  220. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelRestty.d.ts +6 -3
  221. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelRestty.d.ts.map +1 -1
  222. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelRestty.js +43 -264
  223. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelWterm.d.ts +43 -0
  224. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelWterm.d.ts.map +1 -0
  225. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelWterm.js +248 -0
  226. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.d.ts +4 -2
  227. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.d.ts.map +1 -1
  228. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.js +40 -150
  229. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.styles.d.ts +26 -0
  230. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.styles.d.ts.map +1 -0
  231. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.styles.js +30 -0
  232. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.types.d.ts +123 -0
  233. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.types.d.ts.map +1 -0
  234. package/dist/react-ui/blocks/Terminal/panel/{TerminalLogsPanel.d.ts → TerminalLogsPanel/index.d.ts} +10 -21
  235. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/index.d.ts.map +1 -0
  236. package/dist/react-ui/blocks/Terminal/panel/{TerminalLogsPanel.js → TerminalLogsPanel/index.js} +48 -81
  237. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel.types.d.ts +6 -142
  238. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel.types.d.ts.map +1 -1
  239. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.d.ts +1 -1
  240. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.d.ts.map +1 -1
  241. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.js +16 -16
  242. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.styles.d.ts +1 -1
  243. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.styles.js +1 -1
  244. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/TerminalPanelFooter.styles.d.ts +21 -0
  245. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/TerminalPanelFooter.styles.d.ts.map +1 -0
  246. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/TerminalPanelFooter.styles.js +21 -0
  247. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/TerminalPanelFooter.types.d.ts +40 -0
  248. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/TerminalPanelFooter.types.d.ts.map +1 -0
  249. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/index.d.ts +37 -0
  250. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/index.d.ts.map +1 -0
  251. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/index.js +127 -0
  252. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/TerminalPanelHeader.styles.d.ts +22 -0
  253. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/TerminalPanelHeader.styles.d.ts.map +1 -0
  254. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/TerminalPanelHeader.styles.js +24 -0
  255. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/TerminalPanelHeader.types.d.ts +43 -0
  256. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/TerminalPanelHeader.types.d.ts.map +1 -0
  257. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/index.d.ts +35 -0
  258. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/index.d.ts.map +1 -0
  259. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/index.js +129 -0
  260. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar/TerminalPanelToolbar.styles.d.ts +20 -0
  261. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar/TerminalPanelToolbar.styles.d.ts.map +1 -0
  262. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar/TerminalPanelToolbar.types.d.ts +72 -0
  263. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar/TerminalPanelToolbar.types.d.ts.map +1 -0
  264. package/dist/react-ui/blocks/Terminal/panel/{TerminalPanelToolbar.d.ts → TerminalPanelToolbar/index.d.ts} +10 -4
  265. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar/index.d.ts.map +1 -0
  266. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl/TerminalSessionControl.styles.d.ts +13 -0
  267. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl/TerminalSessionControl.styles.d.ts.map +1 -0
  268. package/dist/react-ui/blocks/Terminal/panel/{TerminalSessionControl.d.ts → TerminalSessionControl/TerminalSessionControl.types.d.ts} +24 -30
  269. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl/TerminalSessionControl.types.d.ts.map +1 -0
  270. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl/index.d.ts +38 -0
  271. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl/index.d.ts.map +1 -0
  272. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.styles.d.ts +23 -0
  273. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.styles.d.ts.map +1 -0
  274. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.styles.js +27 -0
  275. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.types.d.ts +56 -0
  276. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.types.d.ts.map +1 -0
  277. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/index.d.ts +40 -0
  278. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/index.d.ts.map +1 -0
  279. package/dist/react-ui/blocks/Terminal/panel/{TerminalSessionTabs.js → TerminalSessionTabs/index.js} +26 -31
  280. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/terminal-session-tabs.module.css +60 -0
  281. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/terminal-session-tabs.module.js +5 -0
  282. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.styles.d.ts +13 -0
  283. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.styles.d.ts.map +1 -0
  284. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.styles.js +19 -0
  285. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.types.d.ts +20 -0
  286. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.types.d.ts.map +1 -0
  287. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/index.d.ts +25 -0
  288. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/index.d.ts.map +1 -0
  289. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/index.js +217 -0
  290. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/TerminalThemeSelector.styles.d.ts +13 -0
  291. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/TerminalThemeSelector.styles.d.ts.map +1 -0
  292. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/TerminalThemeSelector.styles.js +15 -0
  293. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/TerminalThemeSelector.types.d.ts +28 -0
  294. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/TerminalThemeSelector.types.d.ts.map +1 -0
  295. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/index.d.ts +30 -0
  296. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/index.d.ts.map +1 -0
  297. package/dist/react-ui/blocks/Terminal/panel/{TerminalThemeSelector.js → TerminalThemeSelector/index.js} +31 -46
  298. package/dist/react-ui/blocks/Terminal/restty/ResttyContext.d.ts +38 -0
  299. package/dist/react-ui/blocks/Terminal/restty/ResttyContext.d.ts.map +1 -0
  300. package/dist/react-ui/blocks/Terminal/restty/ResttyContext.js +47 -0
  301. package/dist/react-ui/blocks/Terminal/restty/ResttySessionProvider.d.ts +50 -0
  302. package/dist/react-ui/blocks/Terminal/restty/ResttySessionProvider.d.ts.map +1 -0
  303. package/dist/react-ui/blocks/Terminal/restty/ResttySessionProvider.js +60 -0
  304. package/dist/react-ui/blocks/Terminal/restty/ResttyTerminal.d.ts +32 -0
  305. package/dist/react-ui/blocks/Terminal/restty/ResttyTerminal.d.ts.map +1 -0
  306. package/dist/react-ui/blocks/Terminal/restty/ResttyTerminal.js +278 -0
  307. package/dist/react-ui/blocks/Terminal/restty/ResttyTerminal.types.d.ts +166 -0
  308. package/dist/react-ui/blocks/Terminal/restty/ResttyTerminal.types.d.ts.map +1 -0
  309. package/dist/react-ui/blocks/Terminal/restty/index.d.ts +20 -0
  310. package/dist/react-ui/blocks/Terminal/restty/index.d.ts.map +1 -0
  311. package/dist/react-ui/blocks/Terminal/restty/index.js +7 -0
  312. package/dist/react-ui/blocks/Terminal/restty/useResttyPane.d.ts +51 -0
  313. package/dist/react-ui/blocks/Terminal/restty/useResttyPane.d.ts.map +1 -0
  314. package/dist/react-ui/blocks/Terminal/restty/useResttyPane.js +61 -0
  315. package/dist/react-ui/blocks/Terminal/restty/useResttyPanes.d.ts +39 -0
  316. package/dist/react-ui/blocks/Terminal/restty/useResttyPanes.d.ts.map +1 -0
  317. package/dist/react-ui/blocks/Terminal/restty/useResttyPanes.js +48 -0
  318. package/dist/react-ui/blocks/Terminal/restty/useResttyPlugins.d.ts +29 -0
  319. package/dist/react-ui/blocks/Terminal/restty/useResttyPlugins.d.ts.map +1 -0
  320. package/dist/react-ui/blocks/Terminal/restty/useResttyPlugins.js +33 -0
  321. package/dist/react-ui/blocks/Terminal/restty/useResttyVisibility.d.ts +32 -0
  322. package/dist/react-ui/blocks/Terminal/restty/useResttyVisibility.d.ts.map +1 -0
  323. package/dist/react-ui/blocks/Terminal/restty/useResttyVisibility.js +67 -0
  324. package/dist/react-ui/blocks/Terminal/wterm/WtermJsonTransport.d.ts +83 -0
  325. package/dist/react-ui/blocks/Terminal/wterm/WtermJsonTransport.d.ts.map +1 -0
  326. package/dist/react-ui/blocks/Terminal/wterm/WtermJsonTransport.js +191 -0
  327. package/dist/react-ui/blocks/index.d.ts +2 -0
  328. package/dist/react-ui/blocks/index.d.ts.map +1 -1
  329. package/dist/react-ui/components/MorphingPopover/morphing-popover.module.css +154 -0
  330. package/dist/react-ui/icons/lucide-animated/terminal.d.ts +45 -13
  331. package/dist/react-ui/icons/lucide-animated/terminal.d.ts.map +1 -1
  332. package/dist/react-ui/icons/lucide-animated/terminal.js +118 -28
  333. package/dist/react-ui/index.d.ts +4 -0
  334. package/dist/react-ui/index.d.ts.map +1 -1
  335. package/dist/react-ui/index.js +40 -1
  336. package/dist/react-ui/primitives/waapi/Morph/techniques/useViewTransitions.module.css +20 -0
  337. package/dist/react-ui/ui/Button/Button.styles.d.ts +2 -2
  338. package/dist/react-ui/ui/Button/Button.styles.d.ts.map +1 -1
  339. package/dist/react-ui/ui/Button/Button.styles.js +4 -2
  340. package/dist/react-ui/ui/Button/Button.types.d.ts +2 -2
  341. package/dist/react-ui/ui/Button/Button.types.d.ts.map +1 -1
  342. package/dist/react-ui/ui/DynamicToggle/DynamicToggle.css +369 -0
  343. package/dist/react-ui/ui/DynamicToggle/index.d.ts +1 -1
  344. package/dist/react-ui/ui/DynamicToggle/index.d.ts.map +1 -1
  345. package/dist/react-ui/ui/DynamicToggle/index.js +1 -1
  346. package/dist/react-ui/ui/Tabs/Tabs.css +38 -0
  347. package/dist/react-ui/ui/Tabs/Tabs.js +0 -0
  348. package/dist/react-ui/ui/Tabs/index.d.ts +1 -1
  349. package/dist/react-ui/ui/Tabs/index.d.ts.map +1 -1
  350. package/dist/react-ui/ui/Tabs/index.js +2 -1
  351. package/package.json +21 -7
  352. package/dist/react-ui/blocks/Terminal/ResttyAdapter.d.ts +0 -146
  353. package/dist/react-ui/blocks/Terminal/ResttyAdapter.d.ts.map +0 -1
  354. package/dist/react-ui/blocks/Terminal/ResttyAdapter.js +0 -213
  355. package/dist/react-ui/blocks/Terminal/Terminal.adapter.d.ts +0 -55
  356. package/dist/react-ui/blocks/Terminal/Terminal.adapter.d.ts.map +0 -1
  357. package/dist/react-ui/blocks/Terminal/Terminal.adapter.js +0 -68
  358. package/dist/react-ui/blocks/Terminal/TerminalRestty.d.ts +0 -111
  359. package/dist/react-ui/blocks/Terminal/TerminalRestty.d.ts.map +0 -1
  360. package/dist/react-ui/blocks/Terminal/TerminalRestty.js +0 -185
  361. package/dist/react-ui/blocks/Terminal/components/LogLineBadges.d.ts +0 -160
  362. package/dist/react-ui/blocks/Terminal/components/LogLineBadges.d.ts.map +0 -1
  363. package/dist/react-ui/blocks/Terminal/components/LogLineBadges.js +0 -185
  364. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge.d.ts +0 -36
  365. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge.d.ts.map +0 -1
  366. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge.js +0 -52
  367. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel.d.ts.map +0 -1
  368. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown.d.ts +0 -42
  369. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown.d.ts.map +0 -1
  370. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs.d.ts +0 -43
  371. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs.d.ts.map +0 -1
  372. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel.d.ts.map +0 -1
  373. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter.d.ts +0 -30
  374. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter.d.ts.map +0 -1
  375. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter.js +0 -126
  376. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader.d.ts +0 -31
  377. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader.d.ts.map +0 -1
  378. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader.js +0 -149
  379. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar.d.ts.map +0 -1
  380. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl.d.ts.map +0 -1
  381. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs.d.ts +0 -63
  382. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs.d.ts.map +0 -1
  383. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover.d.ts +0 -24
  384. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover.d.ts.map +0 -1
  385. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover.js +0 -225
  386. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector.d.ts +0 -35
  387. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector.d.ts.map +0 -1
  388. package/dist/react-ui/blocks/Terminal/panel/terminal-filter-dropdown.module.js +0 -5
  389. package/dist/react-ui/blocks/Terminal/panel/terminal-session-tabs.module.js +0 -5
  390. /package/dist/{react-ui/blocks/Terminal/panel/terminal-filter-dropdown.module-p4Aks9qK.css → css/blocks-Terminal-panel-TerminalFilterDropdown-terminal-filter-dropdown.module.css} +0 -0
  391. /package/dist/{react-ui/blocks/Terminal/panel/terminal-session-tabs.module-D7g8zk0W.css → css/blocks-Terminal-panel-TerminalSessionTabs-terminal-session-tabs.module.css} +0 -0
  392. /package/dist/{react-ui/components/MorphingPopover/morphing-popover.module-s63snw7C.css → css/components-MorphingPopover-morphing-popover.module.css} +0 -0
  393. /package/dist/{react-ui/primitives/waapi/Morph/techniques/useViewTransitions.module-7y-To7On.css → css/primitives-waapi-Morph-techniques-useViewTransitions.module.css} +0 -0
  394. /package/dist/{react-ui/ui/DynamicToggle/DynamicToggle.module-BE6uirOX.css → css/ui-DynamicToggle-DynamicToggle.css} +0 -0
  395. /package/dist/{react-ui/ui/Tabs/Tabs.module-CFzRKHsx.css → css/ui-Tabs-Tabs.css} +0 -0
  396. /package/dist/react-ui/{ui/DynamicToggle/DynamicToggle.module.js → blocks/Sidebar/animations/tooltip-keyframes.js} +0 -0
  397. /package/dist/react-ui/ui/{Tabs/Tabs.module.js → DynamicToggle/DynamicToggle.js} +0 -0
@@ -0,0 +1,74 @@
1
+ import { cn } from "../../../lib/utils.js";
2
+ import { useFluidAnimation } from "../hooks/use-fluid-animation.js";
3
+ import { useEffect, useRef } from "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+
6
+ //#region src/react-ui/blocks/Sidebar/components/FluidHoverIndicator.tsx
7
+ /**
8
+ * Fluid Hover Indicator Component
9
+ *
10
+ * A liquid drop-like hover indicator that uses spring physics
11
+ * and morphing to create organic, fluid motion between sidebar items.
12
+ *
13
+ * Features:
14
+ * - Spring physics with anticipation, stretch, overshoot, and settle
15
+ * - Morphing (scale, skew) based on movement direction
16
+ * - Pure CSS + Web Animations API (no Framer Motion)
17
+ * - GPU-accelerated with will-change and transform
18
+ */
19
+ function FluidHoverIndicator({ targetElement, isVisible, className = "", containerRef }) {
20
+ const indicatorRef = useRef(null);
21
+ const { animate, reset } = useFluidAnimation();
22
+ const isFirstRender = useRef(true);
23
+ useEffect(() => {
24
+ if (!targetElement || !indicatorRef.current || !isVisible) {
25
+ if (!isVisible && indicatorRef.current) {
26
+ reset();
27
+ indicatorRef.current.style.opacity = "0";
28
+ isFirstRender.current = true;
29
+ }
30
+ return;
31
+ }
32
+ const targetRect = targetElement.getBoundingClientRect();
33
+ const parentRect = containerRef?.current?.getBoundingClientRect() || targetElement.parentElement?.getBoundingClientRect();
34
+ if (!parentRect) return;
35
+ const padding = 8;
36
+ const position = {
37
+ x: targetRect.left - parentRect.left + padding,
38
+ y: targetRect.top - parentRect.top + 4,
39
+ width: targetRect.width - padding - 4,
40
+ height: targetRect.height - 8
41
+ };
42
+ if (isFirstRender.current) {
43
+ indicatorRef.current.style.transform = `translate(${position.x}px, ${position.y}px)`;
44
+ indicatorRef.current.style.width = `${position.width}px`;
45
+ indicatorRef.current.style.height = `${position.height}px`;
46
+ indicatorRef.current.style.opacity = "1";
47
+ isFirstRender.current = false;
48
+ return;
49
+ }
50
+ animate(indicatorRef.current, position);
51
+ }, [
52
+ targetElement,
53
+ isVisible,
54
+ animate,
55
+ reset,
56
+ containerRef
57
+ ]);
58
+ return /* @__PURE__ */ jsx("div", {
59
+ ref: indicatorRef,
60
+ className: cn("pointer-events-none absolute z-20", "rounded-xl", "bg-primary/30 backdrop-blur-md", "border-2 border-primary/80", "shadow-lg shadow-primary/40", "will-change-transform", isVisible ? "opacity-100" : "opacity-0", "transition-opacity duration-200", className),
61
+ style: {
62
+ contain: "layout style paint",
63
+ transform: "translate(0, 0) scale(1) skew(0deg)",
64
+ opacity: isVisible ? void 0 : 0
65
+ },
66
+ children: /* @__PURE__ */ jsx("div", {
67
+ className: "absolute inset-0 rounded-xl bg-gradient-to-br from-primary/40 to-transparent opacity-80",
68
+ style: { pointerEvents: "none" }
69
+ })
70
+ });
71
+ }
72
+
73
+ //#endregion
74
+ export { FluidHoverIndicator };
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Position interface
3
+ */
4
+ interface Position {
5
+ x: number;
6
+ y: number;
7
+ width: number;
8
+ height: number;
9
+ }
10
+ /**
11
+ * Custom hook for fluid animation with spring physics
12
+ */
13
+ export declare function useFluidAnimation(): {
14
+ animate: (element: HTMLElement, targetPosition: Position) => Animation;
15
+ reset: () => void;
16
+ };
17
+ export {};
18
+ //# sourceMappingURL=use-fluid-animation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-fluid-animation.d.ts","sourceRoot":"","sources":["../../../../../src/react-ui/blocks/Sidebar/hooks/use-fluid-animation.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,UAAU,QAAQ;IAChB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAyID;;GAEG;AACH,wBAAgB,iBAAiB;uBAQO,WAAW,kBAAkB,QAAQ;;EAiF5E"}
@@ -0,0 +1,166 @@
1
+ import { useCallback, useRef } from "react";
2
+
3
+ //#region src/react-ui/blocks/Sidebar/hooks/use-fluid-animation.ts
4
+ /**
5
+ * Spring easing function with damping
6
+ * Simulates spring physics for smooth, bouncy motion
7
+ */
8
+ const createSpringEasing = (damping = .7, stiffness = .3) => {
9
+ return `cubic-bezier(0.34, ${1 + stiffness}, ${damping}, 1)`;
10
+ };
11
+ /**
12
+ * Calculate direction and distance between two positions
13
+ */
14
+ const calculateMovement = (from, to) => {
15
+ const dx = to.x - from.x;
16
+ const dy = to.y - from.y;
17
+ const distance = Math.sqrt(dx * dx + dy * dy);
18
+ let direction = "horizontal";
19
+ if (Math.abs(dy) > Math.abs(dx) * 1.5) direction = "vertical";
20
+ else if (Math.abs(dx) > Math.abs(dy) * 1.5) direction = "horizontal";
21
+ else direction = "diagonal";
22
+ const angle = Math.atan2(dy, dx) * (180 / Math.PI);
23
+ return {
24
+ dx,
25
+ dy,
26
+ distance,
27
+ direction,
28
+ angle
29
+ };
30
+ };
31
+ /**
32
+ * Generate morphing keyframes based on direction
33
+ */
34
+ const generateMorphingKeyframes = (from, to, direction, angle) => {
35
+ const fromTransform = `translate(${from.x}px, ${from.y}px) scale(1) skew(0deg)`;
36
+ const toTransform = `translate(${to.x}px, ${to.y}px) scale(1) skew(0deg)`;
37
+ let stretchScale = "1.15, 0.95";
38
+ let overshootScale = "1.05, 1.03";
39
+ let skewValue = "5deg";
40
+ if (direction === "vertical") {
41
+ stretchScale = "0.95, 1.15";
42
+ skewValue = "-5deg";
43
+ } else if (direction === "diagonal") {
44
+ stretchScale = "1.1, 1.1";
45
+ skewValue = `${angle * .1}deg`;
46
+ }
47
+ return [
48
+ {
49
+ transform: fromTransform,
50
+ opacity: "0.95",
51
+ offset: 0
52
+ },
53
+ {
54
+ transform: `translate(${from.x}px, ${from.y}px) scale(0.95) skew(0deg)`,
55
+ opacity: "0.98",
56
+ offset: .15
57
+ },
58
+ {
59
+ transform: `translate(${(from.x + to.x) / 2}px, ${(from.y + to.y) / 2}px) scale(${stretchScale}) skew(${skewValue})`,
60
+ opacity: "1",
61
+ offset: .45
62
+ },
63
+ {
64
+ transform: `translate(${to.x + (to.x - from.x) * .1}px, ${to.y + (to.y - from.y) * .1}px) scale(${overshootScale}) skew(${direction === "horizontal" ? "-2deg" : "2deg"})`,
65
+ opacity: "1",
66
+ offset: .75
67
+ },
68
+ {
69
+ transform: toTransform,
70
+ opacity: "0.95",
71
+ offset: 1
72
+ }
73
+ ];
74
+ };
75
+ /**
76
+ * Extract current position from element's computed transform
77
+ */
78
+ const getCurrentPosition = (element) => {
79
+ const transform = getComputedStyle(element).transform;
80
+ if (transform === "none") return {
81
+ x: 0,
82
+ y: 0
83
+ };
84
+ const matrix = new DOMMatrix(transform);
85
+ return {
86
+ x: matrix.m41,
87
+ y: matrix.m42
88
+ };
89
+ };
90
+ /**
91
+ * Generate fast mode keyframes (simple, direct movement)
92
+ */
93
+ const generateFastKeyframes = (from, to) => {
94
+ return [{
95
+ transform: `translate(${from.x}px, ${from.y}px)`,
96
+ width: `${from.width}px`,
97
+ height: `${from.height}px`,
98
+ offset: 0
99
+ }, {
100
+ transform: `translate(${to.x}px, ${to.y}px)`,
101
+ width: `${to.width}px`,
102
+ height: `${to.height}px`,
103
+ offset: 1
104
+ }];
105
+ };
106
+ /**
107
+ * Custom hook for fluid animation with spring physics
108
+ */
109
+ function useFluidAnimation() {
110
+ const previousPositionRef = useRef(null);
111
+ const animationRef = useRef(null);
112
+ const lastChangeTimestampRef = useRef(0);
113
+ return {
114
+ animate: useCallback((element, targetPosition) => {
115
+ const now = Date.now();
116
+ const isFastMode = now - lastChangeTimestampRef.current < 200 && lastChangeTimestampRef.current > 0;
117
+ lastChangeTimestampRef.current = now;
118
+ let from;
119
+ if (animationRef.current) {
120
+ const currentPos = getCurrentPosition(element);
121
+ from = {
122
+ x: currentPos.x,
123
+ y: currentPos.y,
124
+ width: previousPositionRef.current?.width || targetPosition.width,
125
+ height: previousPositionRef.current?.height || targetPosition.height
126
+ };
127
+ animationRef.current.cancel();
128
+ } else from = previousPositionRef.current || targetPosition;
129
+ const to = targetPosition;
130
+ const { direction, angle, distance } = calculateMovement(from, to);
131
+ let keyframes;
132
+ let duration;
133
+ let easing;
134
+ if (isFastMode) {
135
+ keyframes = generateFastKeyframes(from, to);
136
+ duration = Math.min(150, Math.max(100, distance * .5));
137
+ easing = "cubic-bezier(0.25, 0.1, 0.25, 1)";
138
+ } else {
139
+ keyframes = generateMorphingKeyframes(from, to, direction, angle);
140
+ duration = Math.min(450, Math.max(350, distance * 2));
141
+ easing = createSpringEasing(.65, .4);
142
+ }
143
+ const animation = element.animate(keyframes, {
144
+ duration,
145
+ easing,
146
+ fill: "forwards"
147
+ });
148
+ animationRef.current = animation;
149
+ animation.onfinish = () => {
150
+ previousPositionRef.current = to;
151
+ };
152
+ return animation;
153
+ }, []),
154
+ reset: useCallback(() => {
155
+ if (animationRef.current) {
156
+ animationRef.current.cancel();
157
+ animationRef.current = null;
158
+ }
159
+ previousPositionRef.current = null;
160
+ lastChangeTimestampRef.current = 0;
161
+ }, [])
162
+ };
163
+ }
164
+
165
+ //#endregion
166
+ export { useFluidAnimation };
@@ -0,0 +1,48 @@
1
+ import type { SidebarContextValue } from "../Sidebar.types";
2
+ /**
3
+ * Hook para acceder al contexto del Sidebar
4
+ *
5
+ * @description
6
+ * Hook personalizado que provee acceso al contexto compartido del Sidebar.
7
+ * Debe ser utilizado dentro de un componente que esté envuelto por
8
+ * `<Sidebar>` o `<SidebarProvider>`.
9
+ *
10
+ * Lanza un error si se utiliza fuera del contexto apropiado, ayudando
11
+ * a detectar problemas de composición durante el desarrollo.
12
+ *
13
+ * @throws {Error} Si se usa fuera de un SidebarProvider
14
+ *
15
+ * @returns {SidebarContextValue} El valor del contexto del sidebar
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * function CustomToggle() {
20
+ * const { open, setOpen } = useSidebarContext()
21
+ *
22
+ * return (
23
+ * <button onClick={() => setOpen(!open)}>
24
+ * {open ? 'Cerrar' : 'Abrir'}
25
+ * </button>
26
+ * )
27
+ * }
28
+ * ```
29
+ *
30
+ * @example
31
+ * ```tsx
32
+ * // Acceder a configuración
33
+ * function CustomItem() {
34
+ * const { colors, dimensions } = useSidebarContext()
35
+ *
36
+ * return (
37
+ * <div style={{
38
+ * background: colors.hover,
39
+ * width: dimensions.expandedWidth
40
+ * }}>
41
+ * Item
42
+ * </div>
43
+ * )
44
+ * }
45
+ * ```
46
+ */
47
+ export declare function useSidebarContext(): SidebarContextValue;
48
+ //# sourceMappingURL=useSidebarContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSidebarContext.d.ts","sourceRoot":"","sources":["../../../../../src/react-ui/blocks/Sidebar/hooks/useSidebarContext.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,iBAAiB,IAAI,mBAAmB,CAWvD"}
@@ -0,0 +1,59 @@
1
+ "use client";
2
+
3
+ import { SidebarContext } from "../SidebarContext.js";
4
+ import { useContext } from "react";
5
+
6
+ //#region src/react-ui/blocks/Sidebar/hooks/useSidebarContext.ts
7
+ /**
8
+ * Hook para acceder al contexto del Sidebar
9
+ *
10
+ * @description
11
+ * Hook personalizado que provee acceso al contexto compartido del Sidebar.
12
+ * Debe ser utilizado dentro de un componente que esté envuelto por
13
+ * `<Sidebar>` o `<SidebarProvider>`.
14
+ *
15
+ * Lanza un error si se utiliza fuera del contexto apropiado, ayudando
16
+ * a detectar problemas de composición durante el desarrollo.
17
+ *
18
+ * @throws {Error} Si se usa fuera de un SidebarProvider
19
+ *
20
+ * @returns {SidebarContextValue} El valor del contexto del sidebar
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * function CustomToggle() {
25
+ * const { open, setOpen } = useSidebarContext()
26
+ *
27
+ * return (
28
+ * <button onClick={() => setOpen(!open)}>
29
+ * {open ? 'Cerrar' : 'Abrir'}
30
+ * </button>
31
+ * )
32
+ * }
33
+ * ```
34
+ *
35
+ * @example
36
+ * ```tsx
37
+ * // Acceder a configuración
38
+ * function CustomItem() {
39
+ * const { colors, dimensions } = useSidebarContext()
40
+ *
41
+ * return (
42
+ * <div style={{
43
+ * background: colors.hover,
44
+ * width: dimensions.expandedWidth
45
+ * }}>
46
+ * Item
47
+ * </div>
48
+ * )
49
+ * }
50
+ * ```
51
+ */
52
+ function useSidebarContext() {
53
+ const context = useContext(SidebarContext);
54
+ if (!context) throw new Error("useSidebarContext debe ser utilizado dentro de un componente <Sidebar> o <SidebarProvider>. Asegúrate de que tu componente esté envuelto correctamente en la jerarquía del Sidebar.");
55
+ return context;
56
+ }
57
+
58
+ //#endregion
59
+ export { useSidebarContext };
@@ -0,0 +1,72 @@
1
+ import type { MouseEvent } from "react";
2
+ /**
3
+ * Valor de retorno del hook useSidebarIndicator
4
+ * @interface
5
+ */
6
+ interface UseSidebarIndicatorReturn {
7
+ /** Indica si el indicador está visible */
8
+ isVisible: boolean;
9
+ /** Indica si el mouse está sobre el área de items */
10
+ isOverItems: boolean;
11
+ /** Elemento del item actualmente hovered o enfocado (para FluidHoverIndicator) */
12
+ currentItemElement: HTMLElement | null;
13
+ /** ID del item bajo el indicador (para tooltip con subContent) */
14
+ hoveredItemId: string | null;
15
+ /** Label del item hovered (para tooltip simple) */
16
+ hoveredLabel: string | null;
17
+ /** Manejador de evento mousemove */
18
+ handleMouseMove: (e: MouseEvent<HTMLDivElement>) => void;
19
+ /** Manejador de evento mouseenter */
20
+ handleMouseEnter: () => void;
21
+ /** Manejador de evento mouseleave */
22
+ handleMouseLeave: () => void;
23
+ /** Manejador de evento focus */
24
+ handleFocus: () => void;
25
+ /** Manejador de evento blur */
26
+ handleBlur: (e: React.FocusEvent) => void;
27
+ /** Función para limpiar el estado hovered desde fuera (tooltip mouseleave) */
28
+ clearHoveredState: () => void;
29
+ }
30
+ /**
31
+ * Hook para gestionar el indicador visual del Sidebar
32
+ *
33
+ * @description
34
+ * Hook que implementa la lógica del indicador visual que sigue al cursor
35
+ * del mouse dentro del sidebar. El indicador se muestra cuando:
36
+ * - El mouse está sobre el sidebar (isHovering = true)
37
+ * - El cursor está en el área de items (isOverItems = true)
38
+ *
39
+ * Utiliza requestAnimationFrame para optimizar el rendimiento y evitar
40
+ * cálculos excesivos durante el movimiento del mouse.
41
+ *
42
+ * El indicador también se actualiza cuando se navega por teclado,
43
+ * integrándose con useSidebarKeyboard.
44
+ *
45
+ * @returns {UseSidebarIndicatorReturn} Estado y manejadores de eventos
46
+ *
47
+ * @example
48
+ * ```tsx
49
+ * function SidebarNav() {
50
+ * const {
51
+ * isVisible,
52
+ * handleMouseMove,
53
+ * handleMouseEnter,
54
+ * handleMouseLeave
55
+ * } = useSidebarIndicator()
56
+ *
57
+ * return (
58
+ * <nav
59
+ * onMouseMove={handleMouseMove}
60
+ * onMouseEnter={handleMouseEnter}
61
+ * onMouseLeave={handleMouseLeave}
62
+ * >
63
+ * <SidebarIndicator visible={isVisible} />
64
+ * {children}
65
+ * </nav>
66
+ * )
67
+ * }
68
+ * ```
69
+ */
70
+ export declare function useSidebarIndicator(): UseSidebarIndicatorReturn;
71
+ export {};
72
+ //# sourceMappingURL=useSidebarIndicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSidebarIndicator.d.ts","sourceRoot":"","sources":["../../../../../src/react-ui/blocks/Sidebar/hooks/useSidebarIndicator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAGvC;;;GAGG;AACH,UAAU,yBAAyB;IACjC,0CAA0C;IAC1C,SAAS,EAAE,OAAO,CAAA;IAClB,qDAAqD;IACrD,WAAW,EAAE,OAAO,CAAA;IACpB,kFAAkF;IAClF,kBAAkB,EAAE,WAAW,GAAG,IAAI,CAAA;IACtC,kEAAkE;IAClE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,mDAAmD;IACnD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,oCAAoC;IACpC,eAAe,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;IACxD,qCAAqC;IACrC,gBAAgB,EAAE,MAAM,IAAI,CAAA;IAC5B,qCAAqC;IACrC,gBAAgB,EAAE,MAAM,IAAI,CAAA;IAC5B,gCAAgC;IAChC,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,+BAA+B;IAC/B,UAAU,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAA;IACzC,8EAA8E;IAC9E,iBAAiB,EAAE,MAAM,IAAI,CAAA;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,mBAAmB,IAAI,yBAAyB,CA2K/D"}
@@ -0,0 +1,159 @@
1
+ "use client";
2
+
3
+ import { useSidebarContext } from "./useSidebarContext.js";
4
+ import { useCallback, useEffect, useRef, useState } from "react";
5
+
6
+ //#region src/react-ui/blocks/Sidebar/hooks/useSidebarIndicator.ts
7
+ /**
8
+ * Hook para gestionar el indicador visual del Sidebar
9
+ *
10
+ * @description
11
+ * Hook que implementa la lógica del indicador visual que sigue al cursor
12
+ * del mouse dentro del sidebar. El indicador se muestra cuando:
13
+ * - El mouse está sobre el sidebar (isHovering = true)
14
+ * - El cursor está en el área de items (isOverItems = true)
15
+ *
16
+ * Utiliza requestAnimationFrame para optimizar el rendimiento y evitar
17
+ * cálculos excesivos durante el movimiento del mouse.
18
+ *
19
+ * El indicador también se actualiza cuando se navega por teclado,
20
+ * integrándose con useSidebarKeyboard.
21
+ *
22
+ * @returns {UseSidebarIndicatorReturn} Estado y manejadores de eventos
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * function SidebarNav() {
27
+ * const {
28
+ * isVisible,
29
+ * handleMouseMove,
30
+ * handleMouseEnter,
31
+ * handleMouseLeave
32
+ * } = useSidebarIndicator()
33
+ *
34
+ * return (
35
+ * <nav
36
+ * onMouseMove={handleMouseMove}
37
+ * onMouseEnter={handleMouseEnter}
38
+ * onMouseLeave={handleMouseLeave}
39
+ * >
40
+ * <SidebarIndicator visible={isVisible} />
41
+ * {children}
42
+ * </nav>
43
+ * )
44
+ * }
45
+ * ```
46
+ */
47
+ function useSidebarIndicator() {
48
+ const { indicatorRef, navRef, contentRef, showIndicatorForKeyboard, setShowIndicatorForKeyboard, isOverItems, setIsOverItems, currentItemElement, setCurrentItemElement } = useSidebarContext();
49
+ const [isHovering, setIsHovering] = useState(false);
50
+ const [refsReady, setRefsReady] = useState(false);
51
+ const [hoveredItemId, setHoveredItemId] = useState(null);
52
+ const [hoveredLabel, setHoveredLabel] = useState(null);
53
+ const rafRef = useRef(null);
54
+ useEffect(() => {
55
+ if (indicatorRef.current && navRef.current && contentRef.current) setRefsReady(true);
56
+ }, [
57
+ indicatorRef,
58
+ navRef,
59
+ contentRef
60
+ ]);
61
+ /**
62
+ * Manejador de mousemove con optimización via requestAnimationFrame
63
+ *
64
+ * @param {MouseEvent<HTMLDivElement>} e - Evento de mouse
65
+ */
66
+ const handleMouseMove = useCallback((e) => {
67
+ if (!indicatorRef.current || !navRef.current || !contentRef.current) return;
68
+ if (rafRef.current) cancelAnimationFrame(rafRef.current);
69
+ rafRef.current = requestAnimationFrame(() => {
70
+ if (!indicatorRef.current || !navRef.current || !contentRef.current) return;
71
+ const navRect = navRef.current.getBoundingClientRect();
72
+ const contentRect = contentRef.current.getBoundingClientRect();
73
+ const y = e.clientY - navRect.top;
74
+ const minY = contentRect.top - navRect.top;
75
+ const maxY = contentRect.bottom - navRect.top;
76
+ const clampedY = Math.max(minY, Math.min(maxY, y));
77
+ indicatorRef.current.style.top = `${clampedY}px`;
78
+ setIsOverItems(e.clientY >= contentRect.top && e.clientY <= contentRect.bottom);
79
+ const itemElement = document.elementFromPoint(e.clientX, e.clientY)?.closest("[data-sidebar-item]");
80
+ if (itemElement) {
81
+ setCurrentItemElement(itemElement);
82
+ setHoveredLabel(itemElement.getAttribute("aria-label") || itemElement.getAttribute("title") || null);
83
+ setHoveredItemId(itemElement.getAttribute("data-item-id") || null);
84
+ } else {
85
+ setCurrentItemElement(null);
86
+ setHoveredItemId(null);
87
+ setHoveredLabel(null);
88
+ }
89
+ });
90
+ }, [
91
+ indicatorRef,
92
+ navRef,
93
+ contentRef
94
+ ]);
95
+ /**
96
+ * Manejador de mouseenter
97
+ */
98
+ const handleMouseEnter = useCallback(() => {
99
+ setIsHovering(true);
100
+ }, []);
101
+ /**
102
+ * Manejador de mouseleave
103
+ */
104
+ const handleMouseLeave = useCallback(() => {
105
+ setIsHovering(false);
106
+ setIsOverItems(false);
107
+ setShowIndicatorForKeyboard(false);
108
+ setCurrentItemElement(null);
109
+ setHoveredLabel(null);
110
+ if (rafRef.current) cancelAnimationFrame(rafRef.current);
111
+ }, [setShowIndicatorForKeyboard, setIsOverItems]);
112
+ /**
113
+ * Manejador de focus (cuando se enfoca un elemento dentro del sidebar)
114
+ */
115
+ const handleFocus = useCallback(() => {
116
+ setIsHovering(true);
117
+ setIsOverItems(true);
118
+ }, [setIsOverItems]);
119
+ /**
120
+ * Manejador de blur (cuando se pierde el focus)
121
+ *
122
+ * @param {React.FocusEvent} e - Evento de blur
123
+ */
124
+ const handleBlur = useCallback((e) => {
125
+ if (!navRef.current?.contains(e.relatedTarget)) {
126
+ setIsHovering(false);
127
+ setIsOverItems(false);
128
+ setShowIndicatorForKeyboard(false);
129
+ }
130
+ }, [
131
+ navRef,
132
+ setShowIndicatorForKeyboard,
133
+ setIsOverItems
134
+ ]);
135
+ /**
136
+ * Limpia el estado hovered (para cuando el mouse sale del tooltip)
137
+ */
138
+ const clearHoveredState = useCallback(() => {
139
+ setHoveredLabel(null);
140
+ setHoveredItemId(null);
141
+ setCurrentItemElement(null);
142
+ }, []);
143
+ return {
144
+ isVisible: refsReady && (isHovering && isOverItems || showIndicatorForKeyboard),
145
+ isOverItems,
146
+ currentItemElement,
147
+ hoveredItemId,
148
+ hoveredLabel,
149
+ handleMouseMove,
150
+ handleMouseEnter,
151
+ handleMouseLeave,
152
+ handleFocus,
153
+ handleBlur,
154
+ clearHoveredState
155
+ };
156
+ }
157
+
158
+ //#endregion
159
+ export { useSidebarIndicator };
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Valor de retorno del hook useSidebarKeyboard
3
+ * @interface
4
+ */
5
+ interface UseSidebarKeyboardReturn {
6
+ /** Índice del item actualmente enfocado (-1 si ninguno) */
7
+ focusedIndex: number;
8
+ /** Función para cambiar el índice enfocado manualmente */
9
+ setFocusedIndex: (index: number) => void;
10
+ /** Callback para actualizar el indicador según el item enfocado */
11
+ updateIndicatorForFocus: (index: number) => void;
12
+ }
13
+ /**
14
+ * Hook para gestionar la navegación por teclado en el Sidebar
15
+ *
16
+ * @description
17
+ * Hook que implementa navegación accesible por teclado para los items
18
+ * del sidebar, siguiendo las especificaciones WAI-ARIA:
19
+ *
20
+ * - ArrowDown: Navegar al siguiente item
21
+ * - ArrowUp: Navegar al item anterior
22
+ * - Home: Ir al primer item
23
+ * - End: Ir al último item
24
+ * - Tab: Navegación estándar que actualiza el indicador
25
+ *
26
+ * También sincroniza el indicador visual con el item enfocado.
27
+ *
28
+ * @returns {UseSidebarKeyboardReturn} Estado y funciones para navegación
29
+ *
30
+ * @example
31
+ * ```tsx
32
+ * function SidebarNav() {
33
+ * const { focusedIndex, updateIndicatorForFocus } = useSidebarKeyboard()
34
+ *
35
+ * return (
36
+ * <nav>
37
+ * {items.map((item, index) => (
38
+ * <SidebarItem
39
+ * key={item.id}
40
+ * focused={index === focusedIndex}
41
+ * onFocus={() => updateIndicatorForFocus(index)}
42
+ * />
43
+ * ))}
44
+ * </nav>
45
+ * )
46
+ * }
47
+ * ```
48
+ */
49
+ export declare function useSidebarKeyboard(): UseSidebarKeyboardReturn;
50
+ export {};
51
+ //# sourceMappingURL=useSidebarKeyboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSidebarKeyboard.d.ts","sourceRoot":"","sources":["../../../../../src/react-ui/blocks/Sidebar/hooks/useSidebarKeyboard.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,UAAU,wBAAwB;IAChC,2DAA2D;IAC3D,YAAY,EAAE,MAAM,CAAA;IACpB,0DAA0D;IAC1D,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,mEAAmE;IACnE,uBAAuB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACjD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,kBAAkB,IAAI,wBAAwB,CA+I7D"}