@mks2508/mks-ui 0.6.8 → 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 (389) hide show
  1. package/dist/css/blocks-Sidebar-animations-tooltip.css +330 -0
  2. package/dist/index.css +587 -357
  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-keyframes.js +0 -0
  64. package/dist/react-ui/blocks/Sidebar/animations/tooltip.css +330 -0
  65. package/dist/react-ui/blocks/Sidebar/components/FluidHoverIndicator.d.ts +28 -0
  66. package/dist/react-ui/blocks/Sidebar/components/FluidHoverIndicator.d.ts.map +1 -0
  67. package/dist/react-ui/blocks/Sidebar/components/FluidHoverIndicator.js +74 -0
  68. package/dist/react-ui/blocks/Sidebar/hooks/use-fluid-animation.d.ts +18 -0
  69. package/dist/react-ui/blocks/Sidebar/hooks/use-fluid-animation.d.ts.map +1 -0
  70. package/dist/react-ui/blocks/Sidebar/hooks/use-fluid-animation.js +166 -0
  71. package/dist/react-ui/blocks/Sidebar/hooks/useSidebarContext.d.ts +48 -0
  72. package/dist/react-ui/blocks/Sidebar/hooks/useSidebarContext.d.ts.map +1 -0
  73. package/dist/react-ui/blocks/Sidebar/hooks/useSidebarContext.js +59 -0
  74. package/dist/react-ui/blocks/Sidebar/hooks/useSidebarIndicator.d.ts +72 -0
  75. package/dist/react-ui/blocks/Sidebar/hooks/useSidebarIndicator.d.ts.map +1 -0
  76. package/dist/react-ui/blocks/Sidebar/hooks/useSidebarIndicator.js +159 -0
  77. package/dist/react-ui/blocks/Sidebar/hooks/useSidebarKeyboard.d.ts +51 -0
  78. package/dist/react-ui/blocks/Sidebar/hooks/useSidebarKeyboard.d.ts.map +1 -0
  79. package/dist/react-ui/blocks/Sidebar/hooks/useSidebarKeyboard.js +150 -0
  80. package/dist/react-ui/blocks/Sidebar/hooks/useSubContent.d.ts +42 -0
  81. package/dist/react-ui/blocks/Sidebar/hooks/useSubContent.d.ts.map +1 -0
  82. package/dist/react-ui/blocks/Sidebar/hooks/useSubContent.js +49 -0
  83. package/dist/react-ui/blocks/Sidebar/index.d.ts +163 -0
  84. package/dist/react-ui/blocks/Sidebar/index.d.ts.map +1 -0
  85. package/dist/react-ui/blocks/Sidebar/index.js +19 -0
  86. package/dist/react-ui/blocks/Terminal/Terminal.tokens.d.ts +219 -0
  87. package/dist/react-ui/blocks/Terminal/Terminal.tokens.d.ts.map +1 -0
  88. package/dist/react-ui/blocks/Terminal/Terminal.tokens.js +253 -0
  89. package/dist/react-ui/blocks/Terminal/Terminal.types.d.ts +2 -1
  90. package/dist/react-ui/blocks/Terminal/Terminal.types.d.ts.map +1 -1
  91. package/dist/react-ui/blocks/Terminal/TerminalDisplay.js +1 -1
  92. package/dist/react-ui/blocks/Terminal/TerminalDisplay.types.d.ts +1 -1
  93. package/dist/react-ui/blocks/Terminal/TerminalDisplay.types.d.ts.map +1 -1
  94. package/dist/react-ui/blocks/Terminal/chrome.js +2 -2
  95. package/dist/react-ui/blocks/Terminal/components/LogLineBadges/LogLineBadges.styles.d.ts +15 -0
  96. package/dist/react-ui/blocks/Terminal/components/LogLineBadges/LogLineBadges.styles.d.ts.map +1 -0
  97. package/dist/react-ui/blocks/Terminal/components/LogLineBadges/LogLineBadges.styles.js +14 -0
  98. package/dist/react-ui/blocks/Terminal/components/LogLineBadges/LogLineBadges.types.d.ts +106 -0
  99. package/dist/react-ui/blocks/Terminal/components/LogLineBadges/LogLineBadges.types.d.ts.map +1 -0
  100. package/dist/react-ui/blocks/Terminal/components/LogLineBadges/index.d.ts +89 -0
  101. package/dist/react-ui/blocks/Terminal/components/LogLineBadges/index.d.ts.map +1 -0
  102. package/dist/react-ui/blocks/Terminal/components/LogLineBadges/index.js +136 -0
  103. package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.d.ts +21 -7
  104. package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.d.ts.map +1 -1
  105. package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.js +81 -71
  106. package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.styles.d.ts +33 -0
  107. package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.styles.d.ts.map +1 -0
  108. package/dist/react-ui/blocks/Terminal/components/SyntaxHighlight.styles.js +51 -0
  109. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/TerminalLogBadge.styles.d.ts +13 -0
  110. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/TerminalLogBadge.styles.d.ts.map +1 -0
  111. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/TerminalLogBadge.styles.js +8 -0
  112. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/TerminalLogBadge.types.d.ts +29 -0
  113. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/TerminalLogBadge.types.d.ts.map +1 -0
  114. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/index.d.ts +26 -0
  115. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/index.d.ts.map +1 -0
  116. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/index.js +40 -0
  117. package/dist/react-ui/blocks/Terminal/components/index.js +5 -2
  118. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/TerminalActionBar.styles.d.ts +12 -0
  119. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/TerminalActionBar.styles.d.ts.map +1 -0
  120. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/TerminalActionBar.styles.js +13 -0
  121. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/TerminalActionBar.types.d.ts +35 -0
  122. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/TerminalActionBar.types.d.ts.map +1 -0
  123. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/index.d.ts +75 -0
  124. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/index.d.ts.map +1 -0
  125. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/index.js +115 -0
  126. package/dist/react-ui/blocks/Terminal/controls/TerminalAtoms.d.ts +122 -0
  127. package/dist/react-ui/blocks/Terminal/controls/TerminalAtoms.d.ts.map +1 -0
  128. package/dist/react-ui/blocks/Terminal/controls/TerminalAtoms.js +128 -0
  129. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/TerminalConnectionStatus.styles.d.ts +12 -0
  130. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/TerminalConnectionStatus.styles.d.ts.map +1 -0
  131. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/TerminalConnectionStatus.styles.js +12 -0
  132. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/TerminalConnectionStatus.types.d.ts +29 -0
  133. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/TerminalConnectionStatus.types.d.ts.map +1 -0
  134. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/index.d.ts +37 -0
  135. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/index.d.ts.map +1 -0
  136. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/index.js +74 -0
  137. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/TerminalFontControls.styles.d.ts +12 -0
  138. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/TerminalFontControls.styles.d.ts.map +1 -0
  139. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/TerminalFontControls.styles.js +16 -0
  140. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/TerminalFontControls.types.d.ts +32 -0
  141. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/TerminalFontControls.types.d.ts.map +1 -0
  142. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/index.d.ts +40 -0
  143. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/index.d.ts.map +1 -0
  144. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/index.js +81 -0
  145. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/TerminalSplitButton.styles.d.ts +12 -0
  146. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/TerminalSplitButton.styles.d.ts.map +1 -0
  147. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/TerminalSplitButton.styles.js +13 -0
  148. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/TerminalSplitButton.types.d.ts +28 -0
  149. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/TerminalSplitButton.types.d.ts.map +1 -0
  150. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/index.d.ts +40 -0
  151. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/index.d.ts.map +1 -0
  152. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/index.js +108 -0
  153. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.styles.d.ts +12 -0
  154. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.styles.d.ts.map +1 -0
  155. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.styles.js +12 -0
  156. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.types.d.ts +31 -0
  157. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.types.d.ts.map +1 -0
  158. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/index.d.ts +73 -0
  159. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/index.d.ts.map +1 -0
  160. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/index.js +99 -0
  161. package/dist/react-ui/blocks/Terminal/controls/index.d.ts +16 -0
  162. package/dist/react-ui/blocks/Terminal/controls/index.d.ts.map +1 -0
  163. package/dist/react-ui/blocks/Terminal/controls/index.js +11 -0
  164. package/dist/react-ui/blocks/Terminal/display.d.ts +2 -2
  165. package/dist/react-ui/blocks/Terminal/display.d.ts.map +1 -1
  166. package/dist/react-ui/blocks/Terminal/display.js +4 -2
  167. package/dist/react-ui/blocks/Terminal/hooks/index.d.ts +9 -2
  168. package/dist/react-ui/blocks/Terminal/hooks/index.d.ts.map +1 -1
  169. package/dist/react-ui/blocks/Terminal/hooks/index.js +6 -0
  170. package/dist/react-ui/blocks/Terminal/hooks/useTerminal.d.ts +198 -0
  171. package/dist/react-ui/blocks/Terminal/hooks/useTerminal.d.ts.map +1 -0
  172. package/dist/react-ui/blocks/Terminal/hooks/useTerminal.js +198 -0
  173. package/dist/react-ui/blocks/Terminal/hooks/useTerminalConnection.d.ts +81 -0
  174. package/dist/react-ui/blocks/Terminal/hooks/useTerminalConnection.d.ts.map +1 -0
  175. package/dist/react-ui/blocks/Terminal/hooks/useTerminalConnection.js +115 -0
  176. package/dist/react-ui/blocks/Terminal/hooks/useTerminalDimensions.d.ts +54 -0
  177. package/dist/react-ui/blocks/Terminal/hooks/useTerminalDimensions.d.ts.map +1 -0
  178. package/dist/react-ui/blocks/Terminal/hooks/useTerminalDimensions.js +57 -0
  179. package/dist/react-ui/blocks/Terminal/hooks/useTerminalFontSize.d.ts +81 -0
  180. package/dist/react-ui/blocks/Terminal/hooks/useTerminalFontSize.d.ts.map +1 -0
  181. package/dist/react-ui/blocks/Terminal/hooks/useTerminalFontSize.js +102 -0
  182. package/dist/react-ui/blocks/Terminal/hooks/useTerminalKeyboardShortcuts.d.ts +78 -0
  183. package/dist/react-ui/blocks/Terminal/hooks/useTerminalKeyboardShortcuts.d.ts.map +1 -0
  184. package/dist/react-ui/blocks/Terminal/hooks/useTerminalKeyboardShortcuts.js +136 -0
  185. package/dist/react-ui/blocks/Terminal/hooks/useTerminalPaneManager.d.ts +88 -0
  186. package/dist/react-ui/blocks/Terminal/hooks/useTerminalPaneManager.d.ts.map +1 -0
  187. package/dist/react-ui/blocks/Terminal/hooks/useTerminalPaneManager.js +101 -0
  188. package/dist/react-ui/blocks/Terminal/index.d.ts +10 -6
  189. package/dist/react-ui/blocks/Terminal/index.d.ts.map +1 -1
  190. package/dist/react-ui/blocks/Terminal/index.js +43 -11
  191. package/dist/react-ui/blocks/Terminal/panel/LogLinesViewer.d.ts.map +1 -1
  192. package/dist/react-ui/blocks/Terminal/panel/LogLinesViewer.js +8 -13
  193. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/TerminalDebugPanel.styles.d.ts +13 -0
  194. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/TerminalDebugPanel.styles.d.ts.map +1 -0
  195. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/TerminalDebugPanel.styles.js +18 -0
  196. package/dist/react-ui/blocks/Terminal/panel/{TerminalDebugPanel.d.ts → TerminalDebugPanel/TerminalDebugPanel.types.d.ts} +19 -27
  197. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/TerminalDebugPanel.types.d.ts.map +1 -0
  198. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/index.d.ts +32 -0
  199. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/index.d.ts.map +1 -0
  200. package/dist/react-ui/blocks/Terminal/panel/{TerminalDebugPanel.js → TerminalDebugPanel/index.js} +59 -38
  201. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/TerminalFilterDropdown.styles.d.ts +13 -0
  202. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/TerminalFilterDropdown.styles.d.ts.map +1 -0
  203. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/TerminalFilterDropdown.styles.js +17 -0
  204. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/TerminalFilterDropdown.types.d.ts +34 -0
  205. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/TerminalFilterDropdown.types.d.ts.map +1 -0
  206. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/index.d.ts +34 -0
  207. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/index.d.ts.map +1 -0
  208. package/dist/react-ui/blocks/Terminal/panel/{TerminalFilterDropdown.js → TerminalFilterDropdown/index.js} +29 -31
  209. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/terminal-filter-dropdown.module.css +60 -0
  210. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/terminal-filter-dropdown.module.js +5 -0
  211. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/TerminalFilterTabs.styles.d.ts +13 -0
  212. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/TerminalFilterTabs.styles.d.ts.map +1 -0
  213. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/TerminalFilterTabs.types.d.ts +34 -0
  214. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/TerminalFilterTabs.types.d.ts.map +1 -0
  215. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/index.d.ts +34 -0
  216. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/index.d.ts.map +1 -0
  217. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.d.ts.map +1 -1
  218. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.js +5 -1
  219. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.types.d.ts +2 -1
  220. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanel.types.d.ts.map +1 -1
  221. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelRestty.d.ts +6 -3
  222. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelRestty.d.ts.map +1 -1
  223. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelRestty.js +43 -264
  224. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelWterm.d.ts +43 -0
  225. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelWterm.d.ts.map +1 -0
  226. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelWterm.js +248 -0
  227. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.d.ts +4 -2
  228. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.d.ts.map +1 -1
  229. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelXterm.js +40 -150
  230. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.styles.d.ts +26 -0
  231. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.styles.d.ts.map +1 -0
  232. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.styles.js +30 -0
  233. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.types.d.ts +123 -0
  234. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.types.d.ts.map +1 -0
  235. package/dist/react-ui/blocks/Terminal/panel/{TerminalLogsPanel.d.ts → TerminalLogsPanel/index.d.ts} +10 -21
  236. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/index.d.ts.map +1 -0
  237. package/dist/react-ui/blocks/Terminal/panel/{TerminalLogsPanel.js → TerminalLogsPanel/index.js} +48 -81
  238. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel.types.d.ts +6 -142
  239. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel.types.d.ts.map +1 -1
  240. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.d.ts +1 -1
  241. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.d.ts.map +1 -1
  242. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.js +16 -16
  243. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.styles.d.ts +1 -1
  244. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.styles.js +1 -1
  245. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/TerminalPanelFooter.styles.d.ts +21 -0
  246. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/TerminalPanelFooter.styles.d.ts.map +1 -0
  247. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/TerminalPanelFooter.styles.js +21 -0
  248. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/TerminalPanelFooter.types.d.ts +40 -0
  249. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/TerminalPanelFooter.types.d.ts.map +1 -0
  250. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/index.d.ts +37 -0
  251. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/index.d.ts.map +1 -0
  252. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/index.js +127 -0
  253. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/TerminalPanelHeader.styles.d.ts +22 -0
  254. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/TerminalPanelHeader.styles.d.ts.map +1 -0
  255. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/TerminalPanelHeader.styles.js +24 -0
  256. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/TerminalPanelHeader.types.d.ts +43 -0
  257. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/TerminalPanelHeader.types.d.ts.map +1 -0
  258. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/index.d.ts +35 -0
  259. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/index.d.ts.map +1 -0
  260. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/index.js +129 -0
  261. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar/TerminalPanelToolbar.styles.d.ts +20 -0
  262. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar/TerminalPanelToolbar.styles.d.ts.map +1 -0
  263. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar/TerminalPanelToolbar.types.d.ts +72 -0
  264. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar/TerminalPanelToolbar.types.d.ts.map +1 -0
  265. package/dist/react-ui/blocks/Terminal/panel/{TerminalPanelToolbar.d.ts → TerminalPanelToolbar/index.d.ts} +10 -4
  266. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar/index.d.ts.map +1 -0
  267. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl/TerminalSessionControl.styles.d.ts +13 -0
  268. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl/TerminalSessionControl.styles.d.ts.map +1 -0
  269. package/dist/react-ui/blocks/Terminal/panel/{TerminalSessionControl.d.ts → TerminalSessionControl/TerminalSessionControl.types.d.ts} +24 -30
  270. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl/TerminalSessionControl.types.d.ts.map +1 -0
  271. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl/index.d.ts +38 -0
  272. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl/index.d.ts.map +1 -0
  273. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.styles.d.ts +23 -0
  274. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.styles.d.ts.map +1 -0
  275. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.styles.js +27 -0
  276. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.types.d.ts +56 -0
  277. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.types.d.ts.map +1 -0
  278. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/index.d.ts +40 -0
  279. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/index.d.ts.map +1 -0
  280. package/dist/react-ui/blocks/Terminal/panel/{TerminalSessionTabs.js → TerminalSessionTabs/index.js} +26 -31
  281. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/terminal-session-tabs.module.css +60 -0
  282. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/terminal-session-tabs.module.js +5 -0
  283. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.styles.d.ts +13 -0
  284. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.styles.d.ts.map +1 -0
  285. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.styles.js +19 -0
  286. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.types.d.ts +20 -0
  287. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.types.d.ts.map +1 -0
  288. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/index.d.ts +25 -0
  289. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/index.d.ts.map +1 -0
  290. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/index.js +217 -0
  291. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/TerminalThemeSelector.styles.d.ts +13 -0
  292. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/TerminalThemeSelector.styles.d.ts.map +1 -0
  293. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/TerminalThemeSelector.styles.js +15 -0
  294. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/TerminalThemeSelector.types.d.ts +28 -0
  295. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/TerminalThemeSelector.types.d.ts.map +1 -0
  296. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/index.d.ts +30 -0
  297. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/index.d.ts.map +1 -0
  298. package/dist/react-ui/blocks/Terminal/panel/{TerminalThemeSelector.js → TerminalThemeSelector/index.js} +31 -46
  299. package/dist/react-ui/blocks/Terminal/restty/ResttyContext.d.ts +38 -0
  300. package/dist/react-ui/blocks/Terminal/restty/ResttyContext.d.ts.map +1 -0
  301. package/dist/react-ui/blocks/Terminal/restty/ResttyContext.js +47 -0
  302. package/dist/react-ui/blocks/Terminal/restty/ResttySessionProvider.d.ts +50 -0
  303. package/dist/react-ui/blocks/Terminal/restty/ResttySessionProvider.d.ts.map +1 -0
  304. package/dist/react-ui/blocks/Terminal/restty/ResttySessionProvider.js +60 -0
  305. package/dist/react-ui/blocks/Terminal/restty/ResttyTerminal.d.ts +32 -0
  306. package/dist/react-ui/blocks/Terminal/restty/ResttyTerminal.d.ts.map +1 -0
  307. package/dist/react-ui/blocks/Terminal/restty/ResttyTerminal.js +278 -0
  308. package/dist/react-ui/blocks/Terminal/restty/ResttyTerminal.types.d.ts +166 -0
  309. package/dist/react-ui/blocks/Terminal/restty/ResttyTerminal.types.d.ts.map +1 -0
  310. package/dist/react-ui/blocks/Terminal/restty/index.d.ts +20 -0
  311. package/dist/react-ui/blocks/Terminal/restty/index.d.ts.map +1 -0
  312. package/dist/react-ui/blocks/Terminal/restty/index.js +7 -0
  313. package/dist/react-ui/blocks/Terminal/restty/useResttyPane.d.ts +51 -0
  314. package/dist/react-ui/blocks/Terminal/restty/useResttyPane.d.ts.map +1 -0
  315. package/dist/react-ui/blocks/Terminal/restty/useResttyPane.js +61 -0
  316. package/dist/react-ui/blocks/Terminal/restty/useResttyPanes.d.ts +39 -0
  317. package/dist/react-ui/blocks/Terminal/restty/useResttyPanes.d.ts.map +1 -0
  318. package/dist/react-ui/blocks/Terminal/restty/useResttyPanes.js +48 -0
  319. package/dist/react-ui/blocks/Terminal/restty/useResttyPlugins.d.ts +29 -0
  320. package/dist/react-ui/blocks/Terminal/restty/useResttyPlugins.d.ts.map +1 -0
  321. package/dist/react-ui/blocks/Terminal/restty/useResttyPlugins.js +33 -0
  322. package/dist/react-ui/blocks/Terminal/restty/useResttyVisibility.d.ts +32 -0
  323. package/dist/react-ui/blocks/Terminal/restty/useResttyVisibility.d.ts.map +1 -0
  324. package/dist/react-ui/blocks/Terminal/restty/useResttyVisibility.js +67 -0
  325. package/dist/react-ui/blocks/Terminal/wterm/WtermJsonTransport.d.ts +83 -0
  326. package/dist/react-ui/blocks/Terminal/wterm/WtermJsonTransport.d.ts.map +1 -0
  327. package/dist/react-ui/blocks/Terminal/wterm/WtermJsonTransport.js +191 -0
  328. package/dist/react-ui/blocks/index.d.ts +2 -0
  329. package/dist/react-ui/blocks/index.d.ts.map +1 -1
  330. package/dist/react-ui/components/MorphingPopover/morphing-popover.module.css +154 -0
  331. package/dist/react-ui/icons/lucide-animated/terminal.d.ts +45 -13
  332. package/dist/react-ui/icons/lucide-animated/terminal.d.ts.map +1 -1
  333. package/dist/react-ui/icons/lucide-animated/terminal.js +118 -28
  334. package/dist/react-ui/index.d.ts +4 -0
  335. package/dist/react-ui/index.d.ts.map +1 -1
  336. package/dist/react-ui/index.js +40 -1
  337. package/dist/react-ui/primitives/waapi/Morph/techniques/useViewTransitions.module.css +20 -0
  338. package/dist/react-ui/ui/Button/Button.styles.d.ts +2 -2
  339. package/dist/react-ui/ui/Button/Button.styles.d.ts.map +1 -1
  340. package/dist/react-ui/ui/Button/Button.styles.js +4 -2
  341. package/dist/react-ui/ui/Button/Button.types.d.ts +2 -2
  342. package/dist/react-ui/ui/Button/Button.types.d.ts.map +1 -1
  343. package/dist/react-ui/ui/DynamicToggle/DynamicToggle.css +369 -0
  344. package/dist/react-ui/ui/Tabs/Tabs.css +38 -0
  345. package/package.json +20 -7
  346. package/dist/react-ui/blocks/Terminal/ResttyAdapter.d.ts +0 -146
  347. package/dist/react-ui/blocks/Terminal/ResttyAdapter.d.ts.map +0 -1
  348. package/dist/react-ui/blocks/Terminal/ResttyAdapter.js +0 -213
  349. package/dist/react-ui/blocks/Terminal/Terminal.adapter.d.ts +0 -55
  350. package/dist/react-ui/blocks/Terminal/Terminal.adapter.d.ts.map +0 -1
  351. package/dist/react-ui/blocks/Terminal/Terminal.adapter.js +0 -68
  352. package/dist/react-ui/blocks/Terminal/TerminalRestty.d.ts +0 -111
  353. package/dist/react-ui/blocks/Terminal/TerminalRestty.d.ts.map +0 -1
  354. package/dist/react-ui/blocks/Terminal/TerminalRestty.js +0 -185
  355. package/dist/react-ui/blocks/Terminal/components/LogLineBadges.d.ts +0 -160
  356. package/dist/react-ui/blocks/Terminal/components/LogLineBadges.d.ts.map +0 -1
  357. package/dist/react-ui/blocks/Terminal/components/LogLineBadges.js +0 -185
  358. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge.d.ts +0 -36
  359. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge.d.ts.map +0 -1
  360. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge.js +0 -52
  361. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel.d.ts.map +0 -1
  362. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown.d.ts +0 -42
  363. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown.d.ts.map +0 -1
  364. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs.d.ts +0 -43
  365. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs.d.ts.map +0 -1
  366. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel.d.ts.map +0 -1
  367. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter.d.ts +0 -30
  368. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter.d.ts.map +0 -1
  369. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter.js +0 -126
  370. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader.d.ts +0 -31
  371. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader.d.ts.map +0 -1
  372. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader.js +0 -149
  373. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar.d.ts.map +0 -1
  374. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl.d.ts.map +0 -1
  375. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs.d.ts +0 -63
  376. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs.d.ts.map +0 -1
  377. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover.d.ts +0 -24
  378. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover.d.ts.map +0 -1
  379. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover.js +0 -225
  380. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector.d.ts +0 -35
  381. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector.d.ts.map +0 -1
  382. package/dist/react-ui/blocks/Terminal/panel/terminal-filter-dropdown.module.js +0 -5
  383. package/dist/react-ui/blocks/Terminal/panel/terminal-session-tabs.module.js +0 -5
  384. /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
  385. /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
  386. /package/dist/{react-ui/components/MorphingPopover/morphing-popover.module-s63snw7C.css → css/components-MorphingPopover-morphing-popover.module.css} +0 -0
  387. /package/dist/{react-ui/primitives/waapi/Morph/techniques/useViewTransitions.module-7y-To7On.css → css/primitives-waapi-Morph-techniques-useViewTransitions.module.css} +0 -0
  388. /package/dist/{react-ui/ui/DynamicToggle/DynamicToggle-C3rJw_PQ.css → css/ui-DynamicToggle-DynamicToggle.css} +0 -0
  389. /package/dist/{react-ui/ui/Tabs/Tabs-DKe-TP8j.css → css/ui-Tabs-Tabs.css} +0 -0
@@ -0,0 +1,178 @@
1
+ "use client";
2
+
3
+ import { useCallback, useEffect, useRef } from "react";
4
+
5
+ //#region src/react-ui/blocks/BottomNavBar/useIOSSafariFix.ts
6
+ /**
7
+ * @fileoverview iOS Safari detection and fix hooks
8
+ * @description Handles iOS Safari viewport bugs with fixed positioning
9
+ * @module MobileBottomNav/useIOSSafariFix
10
+ * @version 1.0.0
11
+ *
12
+ * Known iOS Safari Bugs:
13
+ * - Fixed elements shift when address bar shrinks/expands
14
+ * - visualViewport.offsetTop doesn't reset after keyboard dismissal
15
+ * - 100dvh creates gaps at bottom for overlays
16
+ * - position: fixed breaks after keyboard interaction
17
+ *
18
+ * This hook provides workarounds for these issues.
19
+ */
20
+ /**
21
+ * Detects iOS version and Safari browser
22
+ * @returns {IOSVersion} iOS detection result
23
+ */
24
+ function detectIOSVersion() {
25
+ if (typeof window === "undefined" || typeof navigator === "undefined") return {
26
+ isIOS: false,
27
+ isSafari: false,
28
+ majorVersion: null,
29
+ minorVersion: null,
30
+ hasViewportBugs: false
31
+ };
32
+ const ua = navigator.userAgent;
33
+ const isIOS = /iPad|iPhone|iPod/.test(ua) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1;
34
+ const isSafari = /Safari/.test(ua) && !/Chrome|CriOS|FxiOS|EdgiOS/.test(ua);
35
+ let majorVersion = null;
36
+ let minorVersion = null;
37
+ const versionMatch = ua.match(/OS (\d+)_(\d+)/);
38
+ if (versionMatch) {
39
+ majorVersion = Number.parseInt(versionMatch[1], 10);
40
+ minorVersion = Number.parseInt(versionMatch[2], 10);
41
+ }
42
+ return {
43
+ isIOS,
44
+ isSafari,
45
+ majorVersion,
46
+ minorVersion,
47
+ hasViewportBugs: isIOS && majorVersion !== null && majorVersion >= 18
48
+ };
49
+ }
50
+ /**
51
+ * Hook to apply iOS Safari viewport bug fixes
52
+ *
53
+ * @param {IOSSafariFixConfig} config - Configuration options
54
+ * @returns {{ isKeyboardVisible: boolean; iosInfo: IOSVersion }} Hook state
55
+ *
56
+ * @example
57
+ * ```tsx
58
+ * const { isKeyboardVisible, iosInfo } = useIOSSafariFix({
59
+ * enableScrollFix: true,
60
+ * enableKeyboardFix: true,
61
+ * onKeyboardVisibilityChange: (visible) => console.log('Keyboard:', visible)
62
+ * });
63
+ * ```
64
+ */
65
+ function useIOSSafariFix(config = {}) {
66
+ const { enableScrollFix = true, enableKeyboardFix = true, onKeyboardVisibilityChange, debug = false } = config;
67
+ const iosInfoRef = useRef(detectIOSVersion());
68
+ const isKeyboardVisibleRef = useRef(false);
69
+ const initialViewportHeightRef = useRef(null);
70
+ const log = useCallback((message, ...args) => {
71
+ if (debug) console.log(`[iOS Safari Fix] ${message}`, ...args);
72
+ }, [debug]);
73
+ useEffect(() => {
74
+ const iosInfo = iosInfoRef.current;
75
+ if (!iosInfo.hasViewportBugs || !enableScrollFix) return;
76
+ log("Applying iOS Safari scroll fix");
77
+ document.documentElement.classList.add("ios-safari-fix");
78
+ if (iosInfo.majorVersion !== null && iosInfo.majorVersion >= 18) document.documentElement.classList.add("ios-26-fix");
79
+ return () => {
80
+ document.documentElement.classList.remove("ios-safari-fix", "ios-26-fix");
81
+ };
82
+ }, [enableScrollFix, log]);
83
+ useEffect(() => {
84
+ const iosInfo = iosInfoRef.current;
85
+ if (!iosInfo.isIOS || !enableKeyboardFix) return;
86
+ if (typeof window !== "undefined" && window.visualViewport) initialViewportHeightRef.current = window.visualViewport.height;
87
+ const handleViewportResize = () => {
88
+ if (!window.visualViewport || initialViewportHeightRef.current === null) return;
89
+ const currentHeight = window.visualViewport.height;
90
+ const keyboardVisible = initialViewportHeightRef.current - currentHeight > 150;
91
+ if (keyboardVisible !== isKeyboardVisibleRef.current) {
92
+ isKeyboardVisibleRef.current = keyboardVisible;
93
+ log("Keyboard visibility changed:", keyboardVisible);
94
+ if (keyboardVisible) {
95
+ document.documentElement.classList.add("keyboard-visible");
96
+ document.documentElement.classList.remove("keyboard-dismissed");
97
+ } else {
98
+ document.documentElement.classList.remove("keyboard-visible");
99
+ document.documentElement.classList.add("keyboard-dismissed");
100
+ setTimeout(() => {
101
+ document.documentElement.classList.remove("keyboard-dismissed");
102
+ }, 100);
103
+ if (iosInfo.hasViewportBugs) requestAnimationFrame(() => {
104
+ document.body.style.display = "none";
105
+ document.body.offsetHeight;
106
+ document.body.style.display = "";
107
+ });
108
+ }
109
+ onKeyboardVisibilityChange?.(keyboardVisible);
110
+ }
111
+ };
112
+ const handleFocusIn = (e) => {
113
+ const target = e.target;
114
+ if (target.tagName === "INPUT" || target.tagName === "TEXTAREA" || target.isContentEditable) log("Input focused, preparing for keyboard");
115
+ };
116
+ const handleFocusOut = () => {
117
+ setTimeout(() => {
118
+ if (window.visualViewport && initialViewportHeightRef.current) {
119
+ if (initialViewportHeightRef.current - window.visualViewport.height < 50) {
120
+ if (iosInfoRef.current.hasViewportBugs) {
121
+ log("Focus out detected, applying iOS fix");
122
+ document.documentElement.classList.add("keyboard-dismissed");
123
+ setTimeout(() => {
124
+ document.documentElement.classList.remove("keyboard-dismissed");
125
+ }, 100);
126
+ }
127
+ }
128
+ }
129
+ }, 100);
130
+ };
131
+ window.visualViewport?.addEventListener("resize", handleViewportResize);
132
+ document.addEventListener("focusin", handleFocusIn);
133
+ document.addEventListener("focusout", handleFocusOut);
134
+ return () => {
135
+ window.visualViewport?.removeEventListener("resize", handleViewportResize);
136
+ document.removeEventListener("focusin", handleFocusIn);
137
+ document.removeEventListener("focusout", handleFocusOut);
138
+ document.documentElement.classList.remove("keyboard-visible", "keyboard-dismissed");
139
+ };
140
+ }, [
141
+ enableKeyboardFix,
142
+ onKeyboardVisibilityChange,
143
+ log
144
+ ]);
145
+ return {
146
+ isKeyboardVisible: isKeyboardVisibleRef.current,
147
+ iosInfo: iosInfoRef.current
148
+ };
149
+ }
150
+ /**
151
+ * Hook to force reset fixed element positioning after iOS viewport bugs
152
+ *
153
+ * @param {React.RefObject<HTMLElement>} elementRef - Ref to the fixed element
154
+ * @returns {{ forceReset: () => void }} Reset function
155
+ *
156
+ * @example
157
+ * ```tsx
158
+ * const navRef = useRef<HTMLElement>(null);
159
+ * const { forceReset } = useIOSFixedReset(navRef);
160
+ *
161
+ * // Call forceReset() after keyboard dismissal or scroll issues
162
+ * ```
163
+ */
164
+ function useIOSFixedReset(elementRef) {
165
+ return { forceReset: useCallback(() => {
166
+ const element = elementRef.current;
167
+ if (!element) return;
168
+ element.style.transform = "translateZ(0) translateY(0.01px)";
169
+ requestAnimationFrame(() => {
170
+ requestAnimationFrame(() => {
171
+ if (element) element.style.transform = "translateZ(0)";
172
+ });
173
+ });
174
+ }, [elementRef]) };
175
+ }
176
+
177
+ //#endregion
178
+ export { useIOSSafariFix as default, detectIOSVersion, useIOSFixedReset };
@@ -0,0 +1,285 @@
1
+ import { type SidebarDimensions, type SidebarSafeAreas, type SidebarAnimations, type SidebarConfig } from "./Sidebar.types";
2
+ /**
3
+ * Dimensiones por defecto del sidebar
4
+ * @constant
5
+ */
6
+ export declare const DEFAULT_DIMENSIONS: SidebarDimensions;
7
+ /**
8
+ * Áreas seguras por defecto
9
+ * @constant
10
+ */
11
+ export declare const DEFAULT_SAFE_AREAS: SidebarSafeAreas;
12
+ /**
13
+ * Animaciones por defecto
14
+ * @constant
15
+ */
16
+ export declare const DEFAULT_ANIMATIONS: SidebarAnimations;
17
+ /**
18
+ * Configuración por defecto del sidebar
19
+ * @constant
20
+ *
21
+ * @description
22
+ * Los colores se obtienen automáticamente de los tokens CSS de mks-ui:
23
+ * - --sidebar: Color de fondo
24
+ * - --sidebar-foreground: Color de texto
25
+ * - --sidebar-primary: Color primario (indicador)
26
+ * - --sidebar-accent: Color de hover
27
+ * - --sidebar-border: Color de bordes
28
+ */
29
+ export declare const DEFAULT_CONFIG: SidebarConfig;
30
+ /**
31
+ * Teclas de navegación del sidebar
32
+ * @constant
33
+ */
34
+ export declare const SIDEBAR_KEYBOARD_KEYS: {
35
+ /** Flecha abajo - navegar al siguiente item */
36
+ readonly ARROW_DOWN: "ArrowDown";
37
+ /** Flecha arriba - navegar al item anterior */
38
+ readonly ARROW_UP: "ArrowUp";
39
+ /** Home - ir al primer item */
40
+ readonly HOME: "Home";
41
+ /** End - ir al último item */
42
+ readonly END: "End";
43
+ /** Tab - navegación estándar */
44
+ readonly TAB: "Tab";
45
+ /** Escape - cerrar sidebar o quitar focus */
46
+ readonly ESCAPE: "Escape";
47
+ };
48
+ /**
49
+ * Tipo derivado de las teclas del teclado
50
+ */
51
+ export type SidebarKeyboardKey = (typeof SIDEBAR_KEYBOARD_KEYS)[keyof typeof SIDEBAR_KEYBOARD_KEYS];
52
+ /**
53
+ * Timing functions perfectas para animaciones suaves
54
+ * @constant
55
+ */
56
+ export declare const SIDEBAR_TIMING_FUNCTIONS: {
57
+ /** Ease-out perfecto para elevación de iconos */
58
+ readonly EASE_OUT_PERFECT: "cubic-bezier(0.4, 0, 0.2, 1)";
59
+ /** Ease-in-out suave */
60
+ readonly EASE_IN_OUT_SMOOTH: "cubic-bezier(0.45, 0, 0.55, 1)";
61
+ /** Spring suave */
62
+ readonly SPRING_SOFT: "cubic-bezier(0.34, 1.56, 0.64, 1)";
63
+ };
64
+ /**
65
+ * Atributos data-* para styling CSS y selección de elementos
66
+ * @constant
67
+ */
68
+ export declare const SIDEBAR_DATA_ATTRIBUTES: {
69
+ /** data-open - indica si el sidebar está abierto */
70
+ readonly OPEN: "data-open";
71
+ /** data-collapsed - indica si el sidebar está colapsado */
72
+ readonly COLLAPSED: "data-collapsed";
73
+ /** data-focused - indica si un elemento está enfocado */
74
+ readonly FOCUSED: "data-focused";
75
+ /** data-hovered - indica si el mouse está sobre un elemento */
76
+ readonly HOVERED: "data-hovered";
77
+ /** data-disabled - indica si un elemento está deshabilitado */
78
+ readonly DISABLED: "data-disabled";
79
+ /** data-sidebar-item - marca un item del sidebar para navegación */
80
+ readonly ITEM: "data-sidebar-item";
81
+ /** data-active - indica si un toggle/botón está activo */
82
+ readonly ACTIVE: "data-active";
83
+ /** data-visible - indica si un elemento es visible */
84
+ readonly VISIBLE: "data-visible";
85
+ };
86
+ /**
87
+ * Clases Tailwind reutilizables para componentes del sidebar
88
+ * @constant
89
+ */
90
+ export declare const SIDEBAR_TAILWIND_CLASSES: {
91
+ /** Clases base para el wrapper */
92
+ readonly wrapper: "relative";
93
+ /** Clases base para el nav */
94
+ readonly nav: "relative h-screen border-r";
95
+ /** Clases base para el indicador */
96
+ readonly indicator: "absolute left-0 rounded-r-full pointer-events-none";
97
+ /** Clases base para el botón toggle */
98
+ readonly toggleButton: "block w-6 h-6 rounded-full cursor-pointer flex items-center justify-center transition-colors";
99
+ /** Clases para el wrapper del botón toggle */
100
+ readonly toggleButtonWrapper: "absolute top-6 z-30";
101
+ /** Clases base para el contenedor de items */
102
+ readonly content: "flex flex-col items-center";
103
+ /** Clases base para áreas seguras */
104
+ readonly safeArea: "flex items-center justify-center";
105
+ /** Clases de borde debug */
106
+ readonly debugBorder: "border-dashed";
107
+ /** Clases de focus ring (accesibilidad) */
108
+ readonly focusRing: "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2";
109
+ /** Clases SR-only (screen reader only) */
110
+ readonly srOnly: "sr-only";
111
+ };
112
+ /**
113
+ * Tipo derivado de las clases Tailwind
114
+ */
115
+ export type SidebarTailwindClass = (typeof SIDEBAR_TAILWIND_CLASSES)[keyof typeof SIDEBAR_TAILWIND_CLASSES];
116
+ /**
117
+ * Patrones visuales para modo debug
118
+ * @constant
119
+ */
120
+ export declare const SIDEBAR_DEBUG_PATTERNS: {
121
+ /** Patrón de rayas para áreas seguras */
122
+ readonly safeArea: "repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(255,255,255,0.03) 10px, rgba(255,255,255,0.03) 20px)";
123
+ /** Fondo semi-transparente para área de contenido */
124
+ readonly contentArea: "rgba(0, 0, 0, 0.5)";
125
+ /** Color de borde para debug */
126
+ readonly borderColor: "rgb(34 197 94)";
127
+ /** Opacidad de borde debug */
128
+ readonly borderOpacity: "0.3";
129
+ };
130
+ /**
131
+ * Roles ARIA para accesibilidad
132
+ * @constant
133
+ */
134
+ export declare const SIDEBAR_ARIA_ROLES: {
135
+ /** Rol para el nav principal */
136
+ readonly navigation: "navigation";
137
+ /** Rol para lista de items */
138
+ readonly list: "list";
139
+ /** Rol para item individual */
140
+ readonly listitem: "listitem";
141
+ /** Rol para botón toggle */
142
+ readonly button: "button";
143
+ };
144
+ /**
145
+ * Labels ARIA por defecto para accesibilidad
146
+ * @constant
147
+ */
148
+ export declare const SIDEBAR_ARIA_LABELS: {
149
+ /** Label para toggle */
150
+ readonly toggleSidebar: "Alternar sidebar";
151
+ /** Label para navegación principal */
152
+ readonly mainNavigation: "Navegación principal";
153
+ /** Label cuando sidebar está abierto */
154
+ readonly sidebarOpen: "Sidebar abierto";
155
+ /** Label cuando sidebar está cerrado */
156
+ readonly sidebarClosed: "Sidebar cerrado";
157
+ };
158
+ /**
159
+ * Configuración de estilo visual por defecto del sidebar
160
+ * @constant
161
+ */
162
+ export declare const DEFAULT_VISUAL_STYLE: {
163
+ readonly marginTop: "0";
164
+ readonly marginBottom: "0";
165
+ readonly marginLeft: "0";
166
+ readonly marginRight: "0";
167
+ readonly height: "100vh";
168
+ readonly borderRadius: "0";
169
+ readonly boxShadow: "none";
170
+ };
171
+ /**
172
+ * Preconfiguraciones de estilo visual para el sidebar
173
+ * @constant
174
+ */
175
+ export declare const SIDEBAR_VISUAL_PRESETS: {
176
+ /** Estilo por defecto: pegado a bordes */
177
+ readonly DEFAULT: {
178
+ readonly marginTop: "0";
179
+ readonly marginBottom: "0";
180
+ readonly marginLeft: "0";
181
+ readonly marginRight: "0";
182
+ readonly height: "100vh";
183
+ readonly borderRadius: "0";
184
+ readonly boxShadow: "none";
185
+ };
186
+ /** Estilo floating: separado y con sombra */
187
+ readonly FLOATING_CARD: {
188
+ readonly marginTop: "1rem";
189
+ readonly marginBottom: "1rem";
190
+ readonly marginLeft: "1rem";
191
+ readonly marginRight: "0";
192
+ readonly height: "calc(100vh - 2rem)";
193
+ readonly borderRadius: "0.75rem";
194
+ readonly boxShadow: "0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)";
195
+ };
196
+ /** Estilo moderno: esquinas redondeadas suaves */
197
+ readonly MODERN_ROUNDED: {
198
+ readonly marginTop: "0.5rem";
199
+ readonly marginBottom: "0.5rem";
200
+ readonly marginLeft: "0.5rem";
201
+ readonly marginRight: "0";
202
+ readonly height: "calc(100vh - 1rem)";
203
+ readonly borderRadius: "1rem";
204
+ readonly boxShadow: "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)";
205
+ };
206
+ /** Estilo minimal: ligera separación */
207
+ readonly MINIMAL_SPACED: {
208
+ readonly marginTop: "0.25rem";
209
+ readonly marginBottom: "0.25rem";
210
+ readonly marginLeft: "0.25rem";
211
+ readonly marginRight: "0";
212
+ readonly height: "calc(100vh - 0.5rem)";
213
+ readonly borderRadius: "0.5rem";
214
+ readonly boxShadow: "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)";
215
+ };
216
+ };
217
+ /**
218
+ * Tipo para los presets de estilo visual
219
+ */
220
+ export type SidebarVisualPreset = keyof typeof SIDEBAR_VISUAL_PRESETS;
221
+ /**
222
+ * Breakpoints para responsive behavior
223
+ * @constant
224
+ */
225
+ export declare const SIDEBAR_BREAKPOINTS: {
226
+ /** Ancho mínimo para mostrar sidebar expandido */
227
+ readonly minExpandedWidth: 768;
228
+ /** Ancho mínimo para sidebar colapsado */
229
+ readonly minCollapsedWidth: 640;
230
+ /** Ancho para forzar modo mobile */
231
+ readonly mobileWidth: 480;
232
+ };
233
+ /**
234
+ * Límites y valores seguros para validación
235
+ * @constant
236
+ */
237
+ export declare const SIDEBAR_LIMITS: {
238
+ /** Porcentaje mínimo para safe area */
239
+ readonly minSafeAreaPercent: 0;
240
+ /** Porcentaje máximo para safe area */
241
+ readonly maxSafeAreaPercent: 50;
242
+ /** Número máximo de items recomendado */
243
+ readonly maxRecommendedItems: 20;
244
+ /** Duración mínima de transición (ms) */
245
+ readonly minTransitionDuration: 0;
246
+ /** Duración máxima de transición (ms) */
247
+ readonly maxTransitionDuration: 1000;
248
+ };
249
+ /**
250
+ * Nombres de CSS variables utilizadas
251
+ * @constant
252
+ */
253
+ export declare const SIDEBAR_CSS_VARIABLES: {
254
+ /** Ancho cuando cerrado */
255
+ readonly widthClosed: "--sidebar-width-closed";
256
+ /** Ancho cuando abierto */
257
+ readonly widthOpen: "--sidebar-width-open";
258
+ /** Ancho actual */
259
+ readonly width: "--sidebar-width";
260
+ /** Color de fondo */
261
+ readonly background: "--sidebar-bg";
262
+ /** Color de borde (variable interna para evitar colisión con --sidebar-border de shadcn) */
263
+ readonly borderColor: "--sidebar-border-color";
264
+ /** Color de hover */
265
+ readonly hover: "--sidebar-hover";
266
+ /** Color del indicador */
267
+ readonly indicator: "--sidebar-indicator";
268
+ /** Altura del indicador */
269
+ readonly indicatorHeight: "--sidebar-indicator-height";
270
+ /** Distancia del tooltip al sidebar */
271
+ readonly tooltipDistance: "--sidebar-tooltip-distance";
272
+ /** Comportamiento de layout */
273
+ readonly layoutBehaviour: "--sidebar-layout-behaviour";
274
+ /** Flag para modo inline */
275
+ readonly isInline: "--sidebar-is-inline";
276
+ /** Variables de estilo visual */
277
+ readonly marginTop: "--sidebar-margin-top";
278
+ readonly marginBottom: "--sidebar-margin-bottom";
279
+ readonly marginLeft: "--sidebar-margin-left";
280
+ readonly marginRight: "--sidebar-margin-right";
281
+ readonly sidebarHeight: "--sidebar-height";
282
+ readonly sidebarBorderRadius: "--sidebar-border-radius";
283
+ readonly sidebarBoxShadow: "--sidebar-box-shadow";
284
+ };
285
+ //# sourceMappingURL=Sidebar.constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sidebar.constants.d.ts","sourceRoot":"","sources":["../../../../src/react-ui/blocks/Sidebar/Sidebar.constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EACnB,MAAM,iBAAiB,CAAA;AAMxB;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,iBAKhC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,gBAGhC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,iBAIhC,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,EAAE,aAW5B,CAAA;AAMD;;;GAGG;AACH,eAAO,MAAM,qBAAqB;IAChC,+CAA+C;;IAE/C,+CAA+C;;IAE/C,+BAA+B;;IAE/B,8BAA8B;;IAE9B,gCAAgC;;IAEhC,6CAA6C;;CAErC,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAA;AAMnG;;;GAGG;AACH,eAAO,MAAM,wBAAwB;IACnC,iDAAiD;;IAEjD,wBAAwB;;IAExB,mBAAmB;;CAEX,CAAA;AAMV;;;GAGG;AACH,eAAO,MAAM,uBAAuB;IAClC,oDAAoD;;IAEpD,2DAA2D;;IAE3D,yDAAyD;;IAEzD,+DAA+D;;IAE/D,+DAA+D;;IAE/D,oEAAoE;;IAEpE,0DAA0D;;IAE1D,sDAAsD;;CAE9C,CAAA;AAMV;;;GAGG;AACH,eAAO,MAAM,wBAAwB;IACnC,kCAAkC;;IAGlC,8BAA8B;;IAG9B,oCAAoC;;IAGpC,uCAAuC;;IAIvC,8CAA8C;;IAG9C,8CAA8C;;IAG9C,qCAAqC;;IAGrC,4BAA4B;;IAG5B,2CAA2C;;IAI3C,0CAA0C;;CAElC,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAC9B,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,OAAO,wBAAwB,CAAC,CAAA;AAM1E;;;GAGG;AACH,eAAO,MAAM,sBAAsB;IACjC,yCAAyC;;IAIzC,qDAAqD;;IAGrD,gCAAgC;;IAGhC,8BAA8B;;CAEtB,CAAA;AAMV;;;GAGG;AACH,eAAO,MAAM,kBAAkB;IAC7B,gCAAgC;;IAGhC,8BAA8B;;IAG9B,+BAA+B;;IAG/B,4BAA4B;;CAEpB,CAAA;AAMV;;;GAGG;AACH,eAAO,MAAM,mBAAmB;IAC9B,wBAAwB;;IAGxB,sCAAsC;;IAGtC,wCAAwC;;IAGxC,wCAAwC;;CAEhC,CAAA;AAMV;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;CAQvB,CAAA;AAEV;;;GAGG;AACH,eAAO,MAAM,sBAAsB;IACjC,0CAA0C;;;;;;;;;;IAW1C,6CAA6C;;;;;;;;;;IAY7C,kDAAkD;;;;;;;;;;IAYlD,wCAAwC;;;;;;;;;;CAWhC,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,sBAAsB,CAAA;AAMrE;;;GAGG;AACH,eAAO,MAAM,mBAAmB;IAC9B,kDAAkD;;IAGlD,0CAA0C;;IAG1C,oCAAoC;;CAE5B,CAAA;AAMV;;;GAGG;AACH,eAAO,MAAM,cAAc;IACzB,uCAAuC;;IAGvC,uCAAuC;;IAGvC,yCAAyC;;IAGzC,yCAAyC;;IAGzC,yCAAyC;;CAEjC,CAAA;AAMV;;;GAGG;AACH,eAAO,MAAM,qBAAqB;IAChC,2BAA2B;;IAG3B,2BAA2B;;IAG3B,mBAAmB;;IAGnB,qBAAqB;;IAGrB,4FAA4F;;IAG5F,qBAAqB;;IAGrB,0BAA0B;;IAG1B,2BAA2B;;IAG3B,uCAAuC;;IAGvC,+BAA+B;;IAG/B,4BAA4B;;IAG5B,iCAAiC;;;;;;;;CAQzB,CAAA"}
@@ -0,0 +1,208 @@
1
+ import { SidebarCollapseMode, SidebarHideBehaviour, SidebarHideOpensBehavior, SidebarLayoutBehaviour, SidebarTimingFunction, SidebarTransitionDuration, SidebarWidth } from "./Sidebar.types.js";
2
+
3
+ //#region src/react-ui/blocks/Sidebar/Sidebar.constants.ts
4
+ /**
5
+ * Dimensiones por defecto del sidebar
6
+ * @constant
7
+ */
8
+ const DEFAULT_DIMENSIONS = {
9
+ collapsedWidth: SidebarWidth.COLLAPSED,
10
+ expandedWidth: SidebarWidth.EXPANDED,
11
+ indicatorHeight: "3rem",
12
+ tooltipDistance: "1rem"
13
+ };
14
+ /**
15
+ * Áreas seguras por defecto
16
+ * @constant
17
+ */
18
+ const DEFAULT_SAFE_AREAS = {
19
+ topPercent: 15,
20
+ bottomPercent: 25
21
+ };
22
+ /**
23
+ * Animaciones por defecto
24
+ * @constant
25
+ */
26
+ const DEFAULT_ANIMATIONS = {
27
+ widthTransitionDuration: SidebarTransitionDuration.NORMAL,
28
+ opacityTransitionDuration: SidebarTransitionDuration.FAST,
29
+ timingFunction: SidebarTimingFunction.CUSTOM
30
+ };
31
+ /**
32
+ * Configuración por defecto del sidebar
33
+ * @constant
34
+ *
35
+ * @description
36
+ * Los colores se obtienen automáticamente de los tokens CSS de mks-ui:
37
+ * - --sidebar: Color de fondo
38
+ * - --sidebar-foreground: Color de texto
39
+ * - --sidebar-primary: Color primario (indicador)
40
+ * - --sidebar-accent: Color de hover
41
+ * - --sidebar-border: Color de bordes
42
+ */
43
+ const DEFAULT_CONFIG = {
44
+ defaultOpen: true,
45
+ collapseMode: SidebarCollapseMode.HIDE,
46
+ hideBehaviour: SidebarHideBehaviour.SHOW_INDICATOR,
47
+ hideOpensBehavior: SidebarHideOpensBehavior.COLLAPSED,
48
+ layoutBehaviour: SidebarLayoutBehaviour.FLOATING,
49
+ dimensions: DEFAULT_DIMENSIONS,
50
+ safeAreas: DEFAULT_SAFE_AREAS,
51
+ animations: DEFAULT_ANIMATIONS,
52
+ toggleId: "sidebar-toggle",
53
+ debug: false
54
+ };
55
+ /**
56
+ * Teclas de navegación del sidebar
57
+ * @constant
58
+ */
59
+ const SIDEBAR_KEYBOARD_KEYS = {
60
+ ARROW_DOWN: "ArrowDown",
61
+ ARROW_UP: "ArrowUp",
62
+ HOME: "Home",
63
+ END: "End",
64
+ TAB: "Tab",
65
+ ESCAPE: "Escape"
66
+ };
67
+ /**
68
+ * Atributos data-* para styling CSS y selección de elementos
69
+ * @constant
70
+ */
71
+ const SIDEBAR_DATA_ATTRIBUTES = {
72
+ OPEN: "data-open",
73
+ COLLAPSED: "data-collapsed",
74
+ FOCUSED: "data-focused",
75
+ HOVERED: "data-hovered",
76
+ DISABLED: "data-disabled",
77
+ ITEM: "data-sidebar-item",
78
+ ACTIVE: "data-active",
79
+ VISIBLE: "data-visible"
80
+ };
81
+ /**
82
+ * Clases Tailwind reutilizables para componentes del sidebar
83
+ * @constant
84
+ */
85
+ const SIDEBAR_TAILWIND_CLASSES = {
86
+ wrapper: "relative",
87
+ nav: "relative h-screen border-r",
88
+ indicator: "absolute left-0 rounded-r-full pointer-events-none",
89
+ toggleButton: "block w-6 h-6 rounded-full cursor-pointer flex items-center justify-center transition-colors",
90
+ toggleButtonWrapper: "absolute top-6 z-30",
91
+ content: "flex flex-col items-center",
92
+ safeArea: "flex items-center justify-center",
93
+ debugBorder: "border-dashed",
94
+ focusRing: "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2",
95
+ srOnly: "sr-only"
96
+ };
97
+ /**
98
+ * Patrones visuales para modo debug
99
+ * @constant
100
+ */
101
+ const SIDEBAR_DEBUG_PATTERNS = {
102
+ safeArea: "repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(255,255,255,0.03) 10px, rgba(255,255,255,0.03) 20px)",
103
+ contentArea: "rgba(0, 0, 0, 0.5)",
104
+ borderColor: "rgb(34 197 94)",
105
+ borderOpacity: "0.3"
106
+ };
107
+ /**
108
+ * Roles ARIA para accesibilidad
109
+ * @constant
110
+ */
111
+ const SIDEBAR_ARIA_ROLES = {
112
+ navigation: "navigation",
113
+ list: "list",
114
+ listitem: "listitem",
115
+ button: "button"
116
+ };
117
+ /**
118
+ * Labels ARIA por defecto para accesibilidad
119
+ * @constant
120
+ */
121
+ const SIDEBAR_ARIA_LABELS = {
122
+ toggleSidebar: "Alternar sidebar",
123
+ mainNavigation: "Navegación principal",
124
+ sidebarOpen: "Sidebar abierto",
125
+ sidebarClosed: "Sidebar cerrado"
126
+ };
127
+ /**
128
+ * Configuración de estilo visual por defecto del sidebar
129
+ * @constant
130
+ */
131
+ const DEFAULT_VISUAL_STYLE = {
132
+ marginTop: "0",
133
+ marginBottom: "0",
134
+ marginLeft: "0",
135
+ marginRight: "0",
136
+ height: "100vh",
137
+ borderRadius: "0",
138
+ boxShadow: "none"
139
+ };
140
+ /**
141
+ * Preconfiguraciones de estilo visual para el sidebar
142
+ * @constant
143
+ */
144
+ const SIDEBAR_VISUAL_PRESETS = {
145
+ DEFAULT: {
146
+ marginTop: "0",
147
+ marginBottom: "0",
148
+ marginLeft: "0",
149
+ marginRight: "0",
150
+ height: "100vh",
151
+ borderRadius: "0",
152
+ boxShadow: "none"
153
+ },
154
+ FLOATING_CARD: {
155
+ marginTop: "1rem",
156
+ marginBottom: "1rem",
157
+ marginLeft: "1rem",
158
+ marginRight: "0",
159
+ height: "calc(100vh - 2rem)",
160
+ borderRadius: "0.75rem",
161
+ boxShadow: "0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)"
162
+ },
163
+ MODERN_ROUNDED: {
164
+ marginTop: "0.5rem",
165
+ marginBottom: "0.5rem",
166
+ marginLeft: "0.5rem",
167
+ marginRight: "0",
168
+ height: "calc(100vh - 1rem)",
169
+ borderRadius: "1rem",
170
+ boxShadow: "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)"
171
+ },
172
+ MINIMAL_SPACED: {
173
+ marginTop: "0.25rem",
174
+ marginBottom: "0.25rem",
175
+ marginLeft: "0.25rem",
176
+ marginRight: "0",
177
+ height: "calc(100vh - 0.5rem)",
178
+ borderRadius: "0.5rem",
179
+ boxShadow: "0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06)"
180
+ }
181
+ };
182
+ /**
183
+ * Nombres de CSS variables utilizadas
184
+ * @constant
185
+ */
186
+ const SIDEBAR_CSS_VARIABLES = {
187
+ widthClosed: "--sidebar-width-closed",
188
+ widthOpen: "--sidebar-width-open",
189
+ width: "--sidebar-width",
190
+ background: "--sidebar-bg",
191
+ borderColor: "--sidebar-border-color",
192
+ hover: "--sidebar-hover",
193
+ indicator: "--sidebar-indicator",
194
+ indicatorHeight: "--sidebar-indicator-height",
195
+ tooltipDistance: "--sidebar-tooltip-distance",
196
+ layoutBehaviour: "--sidebar-layout-behaviour",
197
+ isInline: "--sidebar-is-inline",
198
+ marginTop: "--sidebar-margin-top",
199
+ marginBottom: "--sidebar-margin-bottom",
200
+ marginLeft: "--sidebar-margin-left",
201
+ marginRight: "--sidebar-margin-right",
202
+ sidebarHeight: "--sidebar-height",
203
+ sidebarBorderRadius: "--sidebar-border-radius",
204
+ sidebarBoxShadow: "--sidebar-box-shadow"
205
+ };
206
+
207
+ //#endregion
208
+ export { DEFAULT_ANIMATIONS, DEFAULT_CONFIG, DEFAULT_DIMENSIONS, DEFAULT_SAFE_AREAS, DEFAULT_VISUAL_STYLE, SIDEBAR_ARIA_LABELS, SIDEBAR_ARIA_ROLES, SIDEBAR_CSS_VARIABLES, SIDEBAR_DATA_ATTRIBUTES, SIDEBAR_DEBUG_PATTERNS, SIDEBAR_KEYBOARD_KEYS, SIDEBAR_TAILWIND_CLASSES, SIDEBAR_VISUAL_PRESETS };