@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,317 @@
1
+ "use client";
2
+
3
+ import { cn } from "../../lib/utils.js";
4
+ import { DEFAULT_ANIMATIONS, DEFAULT_DIMENSIONS, DEFAULT_VISUAL_STYLE, SIDEBAR_ARIA_LABELS, SIDEBAR_CSS_VARIABLES, SIDEBAR_TAILWIND_CLASSES } from "./Sidebar.constants.js";
5
+ import { useSidebarContext } from "./hooks/useSidebarContext.js";
6
+ import { useSubContent } from "./hooks/useSubContent.js";
7
+ import { useSidebarIndicator } from "./hooks/useSidebarIndicator.js";
8
+ import { useSidebarKeyboard } from "./hooks/useSidebarKeyboard.js";
9
+ import { SidebarFluidIndicator } from "./SidebarFluidIndicator.js";
10
+ import { SidebarTooltip } from "./SidebarTooltip.js";
11
+ import { generateSidebarStyles } from "./Sidebar.styles.js";
12
+ import { forwardRef, useEffect, useMemo, useRef } from "react";
13
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
14
+
15
+ //#region src/react-ui/blocks/Sidebar/SidebarNav.tsx
16
+ /**
17
+ * Componente de navegación del Sidebar
18
+ *
19
+ * @description
20
+ * Contenedor de navegación que renderiza un elemento `<nav>` por defecto.
21
+ * Gestiona los eventos de mouse y teclado para el indicador visual y
22
+ * la navegación accesible.
23
+ *
24
+ * Este componente:
25
+ * - Aplica data attributes para reflejar el estado (open/collapsed)
26
+ * - Gestiona eventos de mouse para el indicador visual
27
+ * - Gestiona navegación por teclado (arrows, home, end)
28
+ * - Expone una ref al elemento DOM para mediciones
29
+ *
30
+ * Usa forwardRef para permitir acceso al elemento DOM desde componentes padre.
31
+ *
32
+ * @example
33
+ * ```tsx
34
+ * <Sidebar>
35
+ * <SidebarNav className="bg-zinc-900 border-zinc-800">
36
+ * <SidebarToggle />
37
+ * <SidebarIndicator />
38
+ * <SidebarContent>
39
+ * <SidebarItem href="/" />
40
+ * </SidebarContent>
41
+ * </SidebarNav>
42
+ * </Sidebar>
43
+ * ```
44
+ *
45
+ * @example
46
+ * ```tsx
47
+ * // Con data attributes para styling
48
+ * <SidebarNav className="data-[open=true]:w-64 data-[open=false]:w-16">
49
+ * {children}
50
+ * </SidebarNav>
51
+ * ```
52
+ *
53
+ * @example
54
+ * ```tsx
55
+ * // Con elemento personalizado
56
+ * <SidebarNav as="aside" aria-label="Navegación lateral">
57
+ * {children}
58
+ * </SidebarNav>
59
+ * ```
60
+ */
61
+ const SidebarNav = forwardRef(function SidebarNav({ children, className = "", style, "aria-label": ariaLabel, as, ...props }, forwardedRef) {
62
+ const { defaultOpen, navRef, indicatorRef, dimensions, animations, collapseMode, hideBehaviour, hideOpensBehavior, layoutBehaviour, toggleId, enableFluidIndicator, enableTooltip, debug } = useSidebarContext();
63
+ const localNavRef = useRef(null);
64
+ useEffect(() => {
65
+ const node = localNavRef.current;
66
+ if (!node) return;
67
+ if (navRef && "current" in navRef) navRef.current = node;
68
+ if (typeof forwardedRef === "function") forwardedRef(node);
69
+ else if (forwardedRef) forwardedRef.current = node;
70
+ }, [navRef, forwardedRef]);
71
+ const { isVisible, hoveredItemId, hoveredLabel, currentItemElement, handleMouseMove, handleMouseEnter, handleMouseLeave, handleFocus, handleBlur, clearHoveredState } = useSidebarIndicator();
72
+ const { getSubContent } = useSubContent();
73
+ const subContentData = hoveredItemId ? getSubContent(hoveredItemId) : null;
74
+ useSidebarKeyboard();
75
+ const sidebarStyles = useMemo(() => generateSidebarStyles({
76
+ dimensions: {
77
+ ...DEFAULT_DIMENSIONS,
78
+ ...dimensions
79
+ },
80
+ animations: {
81
+ ...DEFAULT_ANIMATIONS,
82
+ ...animations
83
+ },
84
+ collapseMode,
85
+ hideOpensBehavior,
86
+ layoutBehaviour,
87
+ visualStyle: {
88
+ ...DEFAULT_VISUAL_STYLE,
89
+ ...dimensions.visualStyle
90
+ }
91
+ }), [
92
+ dimensions,
93
+ animations,
94
+ collapseMode,
95
+ hideOpensBehavior,
96
+ layoutBehaviour,
97
+ dimensions.visualStyle
98
+ ]);
99
+ const Component = as || "nav";
100
+ const shouldShowToggle = collapseMode === "collapse" || hideBehaviour === "showIndicator";
101
+ const styleKey = useMemo(() => `${dimensions.collapsedWidth}-${dimensions.expandedWidth}-${layoutBehaviour}-${JSON.stringify(dimensions.visualStyle || {})}`, [
102
+ dimensions,
103
+ layoutBehaviour,
104
+ dimensions.visualStyle
105
+ ]);
106
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
107
+ /* @__PURE__ */ jsx("style", { dangerouslySetInnerHTML: { __html: sidebarStyles } }, styleKey),
108
+ /* @__PURE__ */ jsxs("div", {
109
+ className: `sidebar-wrapper ${SIDEBAR_TAILWIND_CLASSES.wrapper} ${className}`,
110
+ style,
111
+ "data-layout": layoutBehaviour,
112
+ children: [
113
+ /* @__PURE__ */ jsx("input", {
114
+ type: "checkbox",
115
+ id: toggleId,
116
+ className: "sr-only",
117
+ defaultChecked: defaultOpen,
118
+ "aria-label": "Toggle sidebar"
119
+ }),
120
+ shouldShowToggle && /* @__PURE__ */ jsx("div", {
121
+ className: `toggle-button-wrapper ${SIDEBAR_TAILWIND_CLASSES.toggleButtonWrapper}`,
122
+ children: /* @__PURE__ */ jsx("label", {
123
+ htmlFor: toggleId,
124
+ className: `${SIDEBAR_TAILWIND_CLASSES.toggleButton} bg-zinc-800 border border-zinc-700 hover:bg-zinc-700 ${collapseMode === "hide" && hideBehaviour === "showIndicator" ? "shadow-lg" : ""}`,
125
+ "aria-label": "Toggle sidebar",
126
+ children: /* @__PURE__ */ jsx("svg", {
127
+ className: "toggle-icon w-3 h-3 text-zinc-400",
128
+ fill: "none",
129
+ stroke: "currentColor",
130
+ viewBox: "0 0 24 24",
131
+ children: collapseMode === "hide" ? /* @__PURE__ */ jsx("path", {
132
+ strokeLinecap: "round",
133
+ strokeLinejoin: "round",
134
+ strokeWidth: 2,
135
+ d: "M9 5l7 7-7 7"
136
+ }) : /* @__PURE__ */ jsx("path", {
137
+ strokeLinecap: "round",
138
+ strokeLinejoin: "round",
139
+ strokeWidth: 2,
140
+ d: "M15 19l-7-7 7-7"
141
+ })
142
+ })
143
+ })
144
+ }),
145
+ /* @__PURE__ */ jsxs(Component, {
146
+ ref: localNavRef,
147
+ className: `sidebar-nav ${SIDEBAR_TAILWIND_CLASSES.nav}`,
148
+ onMouseMove: handleMouseMove,
149
+ onMouseEnter: handleMouseEnter,
150
+ onMouseLeave: handleMouseLeave,
151
+ onFocus: handleFocus,
152
+ onBlur: handleBlur,
153
+ "aria-label": ariaLabel || SIDEBAR_ARIA_LABELS.mainNavigation,
154
+ ...props,
155
+ children: [
156
+ /* @__PURE__ */ jsx("div", {
157
+ ref: indicatorRef,
158
+ className: `sidebar-indicator ${SIDEBAR_TAILWIND_CLASSES.indicator} pointer-events-none`,
159
+ style: {
160
+ background: "var(--sidebar-primary)",
161
+ transform: "translateY(-50%)",
162
+ opacity: isVisible ? 1 : 0,
163
+ height: `var(${SIDEBAR_CSS_VARIABLES.indicatorHeight})`,
164
+ width: "0.25rem",
165
+ anchorName: "--sidebar-indicator"
166
+ },
167
+ "aria-hidden": "true"
168
+ }),
169
+ debug && currentItemElement && navRef.current && (() => {
170
+ const navRect = navRef.current.getBoundingClientRect();
171
+ const itemRect = currentItemElement.getBoundingClientRect();
172
+ const top = itemRect.top - navRect.top;
173
+ const height = itemRect.height;
174
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
175
+ /* @__PURE__ */ jsx("style", { dangerouslySetInnerHTML: { __html: `
176
+ @keyframes threshold-pulse {
177
+ 0%, 100% {
178
+ opacity: 0.6;
179
+ transform: scaleX(0.95);
180
+ }
181
+ 50% {
182
+ opacity: 1;
183
+ transform: scaleX(1);
184
+ }
185
+ }
186
+ ` } }),
187
+ /* @__PURE__ */ jsx("div", {
188
+ className: "absolute pointer-events-none",
189
+ style: {
190
+ top: `${top}px`,
191
+ left: 0,
192
+ width: "100%",
193
+ height: "2px",
194
+ background: "linear-gradient(90deg, transparent 0%, rgba(251, 191, 36, 0.9) 10%, rgba(251, 191, 36, 0.9) 90%, transparent 100%)",
195
+ zIndex: 200,
196
+ animation: "threshold-pulse 2s ease-in-out infinite"
197
+ },
198
+ children: /* @__PURE__ */ jsxs("div", {
199
+ className: "absolute -top-4 right-2 text-[8px] text-amber-300 font-mono bg-black/90 px-1.5 py-0.5 rounded whitespace-nowrap",
200
+ children: [
201
+ "TOP: ",
202
+ Math.round(top),
203
+ "px"
204
+ ]
205
+ })
206
+ }),
207
+ /* @__PURE__ */ jsx("div", {
208
+ className: "absolute pointer-events-none",
209
+ style: {
210
+ top: `${top + height}px`,
211
+ left: 0,
212
+ width: "100%",
213
+ height: "2px",
214
+ background: "linear-gradient(90deg, transparent 0%, rgba(239, 68, 68, 0.9) 10%, rgba(239, 68, 68, 0.9) 90%, transparent 100%)",
215
+ zIndex: 200,
216
+ animation: "threshold-pulse 2s ease-in-out infinite 1s"
217
+ },
218
+ children: /* @__PURE__ */ jsxs("div", {
219
+ className: "absolute -bottom-4 right-2 text-[8px] text-red-300 font-mono bg-black/90 px-1.5 py-0.5 rounded whitespace-nowrap",
220
+ children: [
221
+ "BOTTOM: ",
222
+ Math.round(top + height),
223
+ "px (H: ",
224
+ Math.round(height),
225
+ "px)"
226
+ ]
227
+ })
228
+ })
229
+ ] });
230
+ })(),
231
+ enableFluidIndicator && /* @__PURE__ */ jsx(SidebarFluidIndicator, {
232
+ targetElement: currentItemElement,
233
+ isVisible
234
+ }),
235
+ /* @__PURE__ */ jsx("div", {
236
+ className: "relative z-10 h-full flex flex-col",
237
+ children
238
+ })
239
+ ]
240
+ })
241
+ ]
242
+ }),
243
+ enableTooltip && /* @__PURE__ */ jsxs(Fragment, { children: [subContentData && /* @__PURE__ */ jsx(SidebarTooltip, {
244
+ title: subContentData.title,
245
+ debug,
246
+ onMouseLeave: clearHoveredState,
247
+ children: subContentData.subContent
248
+ }), !subContentData && hoveredLabel && /* @__PURE__ */ jsxs(Fragment, { children: [
249
+ /* @__PURE__ */ jsx("style", { dangerouslySetInnerHTML: { __html: `
250
+ @keyframes activatePointerEventsSimple {
251
+ to { pointer-events: all; }
252
+ }
253
+
254
+ .sidebar-tooltip-simple::before {
255
+ content: '';
256
+ position: absolute;
257
+ right: 100%;
258
+ top: 0;
259
+ width: calc(var(--sidebar-tooltip-distance) + 0.25rem + 2px);
260
+ height: 100%;
261
+ clip-path: polygon(0% 25%, 100% 0%, 100% 100%, 0% 75%);
262
+ pointer-events: none;
263
+ animation: activatePointerEventsSimple 0s 0.15s forwards;
264
+ z-index: -1;
265
+ scale: 1;
266
+ transition: scale 0s 0.2s;
267
+ ${debug ? `
268
+ background: repeating-linear-gradient(
269
+ 45deg,
270
+ transparent,
271
+ transparent 10px,
272
+ rgba(244, 114, 182, 0.15) 10px,
273
+ rgba(244, 114, 182, 0.15) 20px
274
+ );
275
+ border: 2px dashed rgb(244 114 182);
276
+ ` : ""}
277
+ }
278
+ ` } }),
279
+ debug && /* @__PURE__ */ jsx("div", {
280
+ className: "absolute text-[9px] text-pink-300 font-mono bg-black/70 px-1.5 py-0.5 rounded pointer-events-none z-50",
281
+ style: {
282
+ position: "absolute",
283
+ positionAnchor: "--sidebar-indicator",
284
+ left: "anchor(right)",
285
+ marginLeft: "calc((var(--sidebar-width) + var(--sidebar-tooltip-distance)) / 2)",
286
+ top: "anchor(center)",
287
+ translate: "-50% -50%",
288
+ zIndex: 51
289
+ },
290
+ children: "SAFETY △"
291
+ }),
292
+ /* @__PURE__ */ jsx("div", {
293
+ className: "sidebar-tooltip-simple min-w-32",
294
+ style: {
295
+ position: "absolute",
296
+ positionAnchor: "--sidebar-indicator",
297
+ left: "anchor(right)",
298
+ marginLeft: "calc(var(--sidebar-width) + var(--sidebar-tooltip-distance))",
299
+ top: "anchor(center)",
300
+ translate: "0 -50%",
301
+ zIndex: 50
302
+ },
303
+ onMouseLeave: clearHoveredState,
304
+ children: /* @__PURE__ */ jsx("div", {
305
+ className: cn("px-3 py-2 rounded-lg shadow-lg border border-border bg-card backdrop-blur-sm"),
306
+ children: /* @__PURE__ */ jsx("span", {
307
+ className: "text-sm text-foreground pointer-events-auto",
308
+ children: hoveredLabel
309
+ })
310
+ })
311
+ })
312
+ ] })] })
313
+ ] });
314
+ });
315
+
316
+ //#endregion
317
+ export { SidebarNav };
@@ -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/react-ui/blocks/Sidebar/SidebarSafeArea.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AAO3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,eAAO,MAAM,eAAe,iHA8D3B,CAAA"}
@@ -0,0 +1,105 @@
1
+ "use client";
2
+
3
+ import { DEFAULT_CONFIG, SIDEBAR_DEBUG_PATTERNS, SIDEBAR_TAILWIND_CLASSES } from "./Sidebar.constants.js";
4
+ import { useSidebarContext } from "./hooks/useSidebarContext.js";
5
+ import { forwardRef } from "react";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+
8
+ //#region src/react-ui/blocks/Sidebar/SidebarSafeArea.tsx
9
+ /**
10
+ * Componente de área segura del Sidebar
11
+ *
12
+ * @description
13
+ * Área reservada en la parte superior o inferior del sidebar para
14
+ * contenido especial como logos, usuario, configuración, etc.
15
+ *
16
+ * Las áreas seguras:
17
+ * - No contienen items de navegación
18
+ * - Tienen altura porcentual configurable
19
+ * - Pueden mostrar patrones de debug
20
+ * - Son completamente customizables
21
+ *
22
+ * Casos de uso comunes:
23
+ * - Top: Logo, título de la aplicación, búsqueda
24
+ * - Bottom: Usuario, configuración, logout
25
+ *
26
+ * @example
27
+ * ```tsx
28
+ * <SidebarNav>
29
+ * <SidebarSafeArea position="top" percent={20}>
30
+ * <img src="/logo.png" alt="Logo" />
31
+ * </SidebarSafeArea>
32
+ *
33
+ * <SidebarContent>
34
+ * <SidebarItem href="/" />
35
+ * </SidebarContent>
36
+ *
37
+ * <SidebarSafeArea position="bottom" percent={15}>
38
+ * <UserProfile />
39
+ * </SidebarSafeArea>
40
+ * </SidebarNav>
41
+ * ```
42
+ *
43
+ * @example
44
+ * ```tsx
45
+ * // Con estilos custom
46
+ * <SidebarSafeArea
47
+ * position="top"
48
+ * className="bg-zinc-950 border-b border-zinc-800"
49
+ * >
50
+ * <h1>Mi App</h1>
51
+ * </SidebarSafeArea>
52
+ * ```
53
+ *
54
+ * @example
55
+ * ```tsx
56
+ * // Override de porcentaje
57
+ * <SidebarSafeArea position="bottom" percent={30}>
58
+ * <ExtendedFooter />
59
+ * </SidebarSafeArea>
60
+ * ```
61
+ */
62
+ const SidebarSafeArea = forwardRef(function SidebarSafeArea({ children, position, percent, className = "", style, as, ...props }, ref) {
63
+ const context = useSidebarContext();
64
+ const actualPercent = percent ?? (position === "top" ? DEFAULT_CONFIG.safeAreas.topPercent : DEFAULT_CONFIG.safeAreas.bottomPercent);
65
+ const Component = as || "div";
66
+ const { debug } = context;
67
+ const safeAreaStyles = {
68
+ height: `${actualPercent}%`,
69
+ ...style
70
+ };
71
+ if (debug) return /* @__PURE__ */ jsx(Component, {
72
+ ref,
73
+ className: `${SIDEBAR_TAILWIND_CLASSES.debugBorder} ${className}`,
74
+ style: {
75
+ ...safeAreaStyles,
76
+ background: "repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(34,197,94,0.1) 10px, rgba(34,197,94,0.1) 20px)",
77
+ borderBottom: position === "top" ? `2px dashed ${SIDEBAR_DEBUG_PATTERNS.borderColor}` : void 0,
78
+ borderTop: position === "bottom" ? `2px dashed ${SIDEBAR_DEBUG_PATTERNS.borderColor}` : void 0
79
+ },
80
+ ...props,
81
+ children: /* @__PURE__ */ jsxs("div", {
82
+ className: `${SIDEBAR_TAILWIND_CLASSES.safeArea} relative h-full`,
83
+ children: [/* @__PURE__ */ jsxs("span", {
84
+ className: "absolute top-2 left-2 text-[10px] text-emerald-300 font-mono z-50 bg-black/60 px-1.5 py-0.5 rounded",
85
+ children: [
86
+ "SAFE ",
87
+ actualPercent,
88
+ "% (",
89
+ position.toUpperCase(),
90
+ ")"
91
+ ]
92
+ }), children]
93
+ })
94
+ });
95
+ return /* @__PURE__ */ jsx(Component, {
96
+ ref,
97
+ className: `${SIDEBAR_TAILWIND_CLASSES.safeArea} ${className}`,
98
+ style: safeAreaStyles,
99
+ ...props,
100
+ children
101
+ });
102
+ });
103
+
104
+ //#endregion
105
+ export { SidebarSafeArea };
@@ -0,0 +1,27 @@
1
+ import type { SidebarSubContentProps } from "./Sidebar.types";
2
+ /**
3
+ * SidebarSubContent - Contenedor para sub-contenido de un item
4
+ *
5
+ * @description
6
+ * Componente que define sub-contenido (tooltips/popovers) para un SidebarItem.
7
+ * Este componente no renderiza nada por sí mismo - solo sirve como marca
8
+ * para que SidebarItem registre el sub-contenido en el contexto.
9
+ *
10
+ * El sub-contenido se muestra cuando el usuario hace hover sobre el item
11
+ * padre en el SidebarTooltip.
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * <SidebarItem label="Settings">
16
+ * <SidebarSubContent title="Settings">
17
+ * <SidebarSubLink href="/settings/profile">Profile</SidebarSubLink>
18
+ * <SidebarSubLink href="/settings/security">Security</SidebarSubLink>
19
+ * </SidebarSubContent>
20
+ * </SidebarItem>
21
+ * ```
22
+ */
23
+ export declare function SidebarSubContent({ children, title }: SidebarSubContentProps): null;
24
+ export declare namespace SidebarSubContent {
25
+ var displayName: string;
26
+ }
27
+ //# sourceMappingURL=SidebarSubContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarSubContent.d.ts","sourceRoot":"","sources":["../../../../src/react-ui/blocks/Sidebar/SidebarSubContent.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAE7D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,sBAAsB,QAI5E;yBAJe,iBAAiB"}
@@ -0,0 +1,31 @@
1
+ "use client";
2
+
3
+ //#region src/react-ui/blocks/Sidebar/SidebarSubContent.tsx
4
+ /**
5
+ * SidebarSubContent - Contenedor para sub-contenido de un item
6
+ *
7
+ * @description
8
+ * Componente que define sub-contenido (tooltips/popovers) para un SidebarItem.
9
+ * Este componente no renderiza nada por sí mismo - solo sirve como marca
10
+ * para que SidebarItem registre el sub-contenido en el contexto.
11
+ *
12
+ * El sub-contenido se muestra cuando el usuario hace hover sobre el item
13
+ * padre en el SidebarTooltip.
14
+ *
15
+ * @example
16
+ * ```tsx
17
+ * <SidebarItem label="Settings">
18
+ * <SidebarSubContent title="Settings">
19
+ * <SidebarSubLink href="/settings/profile">Profile</SidebarSubLink>
20
+ * <SidebarSubLink href="/settings/security">Security</SidebarSubLink>
21
+ * </SidebarSubContent>
22
+ * </SidebarItem>
23
+ * ```
24
+ */
25
+ function SidebarSubContent({ children, title }) {
26
+ return null;
27
+ }
28
+ SidebarSubContent.displayName = "SidebarSubContent";
29
+
30
+ //#endregion
31
+ export { SidebarSubContent };
@@ -0,0 +1,20 @@
1
+ import type { SidebarSubLinkProps } from "./Sidebar.types";
2
+ /**
3
+ * SidebarSubLink - Link dentro del tooltip/sub-content
4
+ *
5
+ * @description
6
+ * Componente que representa un link individual dentro del tooltip
7
+ * que aparece cuando se hace hover sobre un SidebarItem con sub-contenido.
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * <SidebarSubLink href="/settings/profile" icon={<UserIcon />}>
12
+ * Profile
13
+ * </SidebarSubLink>
14
+ * ```
15
+ */
16
+ export declare function SidebarSubLink({ href, children, icon, LinkComponent, linkProps, className, onClick, animationOrder, animationState, style, }: SidebarSubLinkProps): import("react/jsx-runtime").JSX.Element;
17
+ export declare namespace SidebarSubLink {
18
+ var displayName: string;
19
+ }
20
+ //# sourceMappingURL=SidebarSubLink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarSubLink.d.ts","sourceRoot":"","sources":["../../../../src/react-ui/blocks/Sidebar/SidebarSubLink.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAE1D;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,aAAa,EACb,SAAc,EACd,SAAS,EACT,OAAO,EACP,cAAc,EACd,cAAc,EACd,KAAK,GACN,EAAE,mBAAmB,2CA0BrB;yBArCe,cAAc"}
@@ -0,0 +1,44 @@
1
+ "use client";
2
+
3
+ import { cn } from "../../lib/utils.js";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+
6
+ //#region src/react-ui/blocks/Sidebar/SidebarSubLink.tsx
7
+ /**
8
+ * SidebarSubLink - Link dentro del tooltip/sub-content
9
+ *
10
+ * @description
11
+ * Componente que representa un link individual dentro del tooltip
12
+ * que aparece cuando se hace hover sobre un SidebarItem con sub-contenido.
13
+ *
14
+ * @example
15
+ * ```tsx
16
+ * <SidebarSubLink href="/settings/profile" icon={<UserIcon />}>
17
+ * Profile
18
+ * </SidebarSubLink>
19
+ * ```
20
+ */
21
+ function SidebarSubLink({ href, children, icon, LinkComponent, linkProps = {}, className, onClick, animationOrder, animationState, style }) {
22
+ const Component = LinkComponent || "a";
23
+ const customStyle = {
24
+ ...style,
25
+ ...animationOrder !== void 0 && { "--animation-order": animationOrder }
26
+ };
27
+ return /* @__PURE__ */ jsxs(Component, {
28
+ href,
29
+ ...linkProps,
30
+ onClick,
31
+ className: cn("sidebar-sublink flex items-center rounded-md px-3 py-1.5 text-sm transition-colors w-full text-left", "text-foreground hover:bg-secondary/70 hover:text-primary", className),
32
+ style: customStyle,
33
+ "data-state": animationState,
34
+ "data-animation-order": animationOrder,
35
+ children: [icon && /* @__PURE__ */ jsx("span", {
36
+ className: "mr-2 text-muted-foreground",
37
+ children: icon
38
+ }), /* @__PURE__ */ jsx("span", { children })]
39
+ });
40
+ }
41
+ SidebarSubLink.displayName = "SidebarSubLink";
42
+
43
+ //#endregion
44
+ export { SidebarSubLink };
@@ -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/react-ui/blocks/Sidebar/SidebarToggle.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAgD,MAAM,iBAAiB,CAAA;AAuBvG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,eAAO,MAAM,aAAa,qIA6EzB,CAAA"}