@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,119 @@
1
+ "use client";
2
+
3
+ import { SIDEBAR_ARIA_LABELS, SIDEBAR_DATA_ATTRIBUTES, SIDEBAR_TAILWIND_CLASSES } from "./Sidebar.constants.js";
4
+ import { useSidebarContext } from "./hooks/useSidebarContext.js";
5
+ import { forwardRef } from "react";
6
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
7
+
8
+ //#region src/react-ui/blocks/Sidebar/SidebarToggle.tsx
9
+ /**
10
+ * Icono de chevron SVG inline (default toggle icon)
11
+ */
12
+ function DefaultToggleIcon({ collapseMode }) {
13
+ return /* @__PURE__ */ jsx("svg", {
14
+ className: "toggle-icon w-3 h-3 text-zinc-400",
15
+ fill: "none",
16
+ stroke: "currentColor",
17
+ viewBox: "0 0 24 24",
18
+ children: collapseMode === "hide" ? /* @__PURE__ */ jsx("path", {
19
+ strokeLinecap: "round",
20
+ strokeLinejoin: "round",
21
+ strokeWidth: 2,
22
+ d: "M9 5l7 7-7 7"
23
+ }) : /* @__PURE__ */ jsx("path", {
24
+ strokeLinecap: "round",
25
+ strokeLinejoin: "round",
26
+ strokeWidth: 2,
27
+ d: "M15 19l-7-7 7-7"
28
+ })
29
+ });
30
+ }
31
+ /**
32
+ * Componente de botón toggle del Sidebar
33
+ *
34
+ * @description
35
+ * Botón que controla el estado abierto/cerrado del sidebar.
36
+ * Renderiza un `<label>` por defecto que controla un checkbox oculto,
37
+ * permitiendo gestionar el estado con CSS puro (:checked selector).
38
+ *
39
+ * Características:
40
+ * - Soporta render props para acceso al estado (open, active)
41
+ * - Renderiza icono de chevron por defecto (customizable)
42
+ * - Aplica data attributes para styling CSS
43
+ * - Accesibilidad completa (aria-label, aria-expanded)
44
+ * - Soporta prop `as` para usar elemento/componente custom
45
+ *
46
+ * @example
47
+ * ```tsx
48
+ * // Uso básico con icono por defecto
49
+ * <SidebarToggle />
50
+ * ```
51
+ *
52
+ * @example
53
+ * ```tsx
54
+ * // Con render props para estado
55
+ * <SidebarToggle>
56
+ * {({ open, active }) => (
57
+ * <div className={cn(active && 'bg-blue-500')}>
58
+ * {open ? <CloseIcon /> : <MenuIcon />}
59
+ * </div>
60
+ * )}
61
+ * </SidebarToggle>
62
+ * ```
63
+ *
64
+ * @example
65
+ * ```tsx
66
+ * // Con icono custom
67
+ * <SidebarToggle className="bg-zinc-800">
68
+ * <CustomChevronIcon />
69
+ * </SidebarToggle>
70
+ * ```
71
+ *
72
+ * @example
73
+ * ```tsx
74
+ * // Como botón real (sin checkbox)
75
+ * <SidebarToggle as="button" onClick={() => setOpen(!open)}>
76
+ * Toggle
77
+ * </SidebarToggle>
78
+ * ```
79
+ */
80
+ const SidebarToggle = forwardRef(function SidebarToggle({ children, iconLibrary, className = "", style, "aria-label": ariaLabel, as, ...props }, ref) {
81
+ const { open, setOpen, toggleId, collapseMode } = useSidebarContext();
82
+ const isRenderProp = typeof children === "function";
83
+ const toggleState = {
84
+ active: open,
85
+ open
86
+ };
87
+ const Component = as || "label";
88
+ const commonProps = {
89
+ className: `${SIDEBAR_TAILWIND_CLASSES.toggleButton} ${SIDEBAR_TAILWIND_CLASSES.toggleButtonWrapper} bg-zinc-800 border border-zinc-700 hover:bg-zinc-700 ${className}`,
90
+ style,
91
+ "aria-label": ariaLabel || SIDEBAR_ARIA_LABELS.toggleSidebar,
92
+ [SIDEBAR_DATA_ATTRIBUTES.ACTIVE]: open,
93
+ ...props
94
+ };
95
+ if (!as || as === "label") return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("input", {
96
+ type: "checkbox",
97
+ id: toggleId,
98
+ className: SIDEBAR_TAILWIND_CLASSES.srOnly,
99
+ checked: open,
100
+ onChange: (e) => setOpen(e.target.checked),
101
+ "aria-label": ariaLabel || SIDEBAR_ARIA_LABELS.toggleSidebar
102
+ }), /* @__PURE__ */ jsx("label", {
103
+ ref,
104
+ htmlFor: toggleId,
105
+ ...commonProps,
106
+ children: isRenderProp ? children(toggleState) : children ? children : /* @__PURE__ */ jsx(DefaultToggleIcon, { collapseMode })
107
+ })] });
108
+ return /* @__PURE__ */ jsx(Component, {
109
+ ref,
110
+ onClick: () => setOpen(!open),
111
+ "aria-expanded": open,
112
+ role: "button",
113
+ ...commonProps,
114
+ children: isRenderProp ? children(toggleState) : children ? children : /* @__PURE__ */ jsx(DefaultToggleIcon, { collapseMode })
115
+ });
116
+ });
117
+
118
+ //#endregion
119
+ export { SidebarToggle };
@@ -0,0 +1,15 @@
1
+ import type { ReactNode } from "react";
2
+ import React from "react";
3
+ import '@/react-ui/blocks/Sidebar/animations/tooltip-keyframes.css';
4
+ export interface SidebarTooltipProps {
5
+ /** Contenido del tooltip */
6
+ children: ReactNode;
7
+ /** Título opcional del tooltip */
8
+ title?: string;
9
+ /** Modo debug para visualizar safety triangle y layers */
10
+ debug?: boolean;
11
+ /** Handler llamado cuando el mouse sale del tooltip */
12
+ onMouseLeave?: () => void;
13
+ }
14
+ export declare const SidebarTooltip: React.MemoExoticComponent<({ children, title, debug, onMouseLeave, }: SidebarTooltipProps) => import("react/jsx-runtime").JSX.Element>;
15
+ //# sourceMappingURL=SidebarTooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarTooltip.d.ts","sourceRoot":"","sources":["../../../../src/react-ui/blocks/Sidebar/SidebarTooltip.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,OAAO,CAAA;AACpD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,4DAA4D,CAAA;AAYnE,MAAM,WAAW,mBAAmB;IAClC,4BAA4B;IAC5B,QAAQ,EAAE,SAAS,CAAA;IACnB,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,0DAA0D;IAC1D,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;CAC1B;AAED,eAAO,MAAM,cAAc,wEAKxB,mBAAmB,6CAwNpB,CAAA"}
@@ -0,0 +1,177 @@
1
+ "use client";
2
+
3
+ import { cn } from "../../lib/utils.js";
4
+ import "./animations/tooltip-keyframes.js";
5
+ import React, { cloneElement, isValidElement, memo, useEffect, useMemo, useRef, useState } from "react";
6
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
7
+
8
+ //#region src/react-ui/blocks/Sidebar/SidebarTooltip.tsx
9
+ /**
10
+ * Helper: Extraer key única de un child (usa href del SidebarSubLink)
11
+ */
12
+ function getChildKey(child, index) {
13
+ if (child.key) return String(child.key);
14
+ if (child.props?.href) return child.props.href;
15
+ return `item-${index}`;
16
+ }
17
+ const SidebarTooltip = memo(function SidebarTooltip({ children, title, debug = false, onMouseLeave }) {
18
+ const tooltipRef = useRef(null);
19
+ const contentGridRef = useRef(null);
20
+ const previousChildrenKeysRef = useRef(/* @__PURE__ */ new Set());
21
+ const previousTitleRef = useRef(void 0);
22
+ const isFirstRenderRef = useRef(true);
23
+ const [isTransitioning, setIsTransitioning] = useState(false);
24
+ const currentChildrenKeys = useMemo(() => {
25
+ const keys = /* @__PURE__ */ new Set();
26
+ const processChildren = (c) => {
27
+ if (Array.isArray(c)) c.forEach((child, index) => {
28
+ if (isValidElement(child)) keys.add(getChildKey(child, index));
29
+ });
30
+ else if (isValidElement(c)) keys.add(getChildKey(c, 0));
31
+ };
32
+ processChildren(children);
33
+ return keys;
34
+ }, [children]);
35
+ const titleChanged = previousTitleRef.current !== void 0 && previousTitleRef.current !== title;
36
+ const processedChildren = useMemo(() => {
37
+ const prevKeys = previousChildrenKeysRef.current;
38
+ const isFirstRender = isFirstRenderRef.current;
39
+ const processChild = (child, index) => {
40
+ if (!isValidElement(child)) return child;
41
+ const childKey = getChildKey(child, index);
42
+ const isNew = !prevKeys.has(childKey);
43
+ let animationState = "static";
44
+ if (isFirstRender) animationState = "entering";
45
+ else if (isNew) animationState = "entering";
46
+ return cloneElement(child, {
47
+ key: childKey,
48
+ animationOrder: index,
49
+ animationState
50
+ });
51
+ };
52
+ if (Array.isArray(children)) return children.map((child, index) => processChild(child, index));
53
+ return processChild(children, 0);
54
+ }, [children]);
55
+ useEffect(() => {
56
+ previousChildrenKeysRef.current = currentChildrenKeys;
57
+ previousTitleRef.current = title;
58
+ if (isFirstRenderRef.current) isFirstRenderRef.current = false;
59
+ if (titleChanged) {
60
+ setIsTransitioning(true);
61
+ const timer = setTimeout(() => setIsTransitioning(false), 250);
62
+ return () => clearTimeout(timer);
63
+ }
64
+ }, [
65
+ currentChildrenKeys,
66
+ title,
67
+ titleChanged
68
+ ]);
69
+ useEffect(() => {
70
+ if (!tooltipRef.current) return;
71
+ const animation = tooltipRef.current.animate([{
72
+ opacity: 0,
73
+ transform: "translateX(-5px) scale(0.98)"
74
+ }, {
75
+ opacity: 1,
76
+ transform: "translateX(0) scale(1)"
77
+ }], {
78
+ duration: 150,
79
+ easing: "ease-out",
80
+ fill: "forwards"
81
+ });
82
+ return () => {
83
+ animation.cancel();
84
+ if (tooltipRef.current) tooltipRef.current.style.opacity = "0";
85
+ };
86
+ }, []);
87
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
88
+ /* @__PURE__ */ jsx("style", { dangerouslySetInnerHTML: { __html: `
89
+ @keyframes activatePointerEvents {
90
+ to { pointer-events: all; }
91
+ }
92
+
93
+ .sidebar-tooltip::before {
94
+ content: '';
95
+ position: absolute;
96
+ right: 100%;
97
+ top: 0;
98
+ width: calc(var(--sidebar-tooltip-distance) + 0.25rem + 2px);
99
+ height: 100%;
100
+ clip-path: polygon(0% 25%, 100% 0%, 100% 100%, 0% 75%);
101
+ pointer-events: none;
102
+ animation: activatePointerEvents 0s 0.15s forwards;
103
+ z-index: -1;
104
+ scale: 1;
105
+ transition: scale 0s 0.2s;
106
+ ${debug ? `
107
+ background: repeating-linear-gradient(
108
+ 45deg,
109
+ transparent,
110
+ transparent 10px,
111
+ rgba(244, 114, 182, 0.15) 10px,
112
+ rgba(244, 114, 182, 0.15) 20px
113
+ );
114
+ border: 2px dashed rgb(244 114 182);
115
+ ` : ""}
116
+ }
117
+ ` } }),
118
+ debug && /* @__PURE__ */ jsx("div", {
119
+ className: "absolute text-[9px] text-pink-300 font-mono bg-black/70 px-1.5 py-0.5 rounded pointer-events-none z-50",
120
+ style: {
121
+ right: "calc(100% + 4px)",
122
+ top: "50%",
123
+ transform: "translateY(-50%)"
124
+ },
125
+ children: "SAFETY TRIANGLE"
126
+ }),
127
+ /* @__PURE__ */ jsx("div", {
128
+ ref: tooltipRef,
129
+ className: "sidebar-tooltip min-w-56 opacity-0",
130
+ style: {
131
+ position: "absolute",
132
+ positionAnchor: "--sidebar-indicator",
133
+ left: "anchor(right)",
134
+ marginLeft: "calc(var(--sidebar-width) + var(--sidebar-tooltip-distance))",
135
+ top: "anchor(center)",
136
+ translate: "0 -50%",
137
+ zIndex: 50
138
+ },
139
+ onMouseLeave,
140
+ children: /* @__PURE__ */ jsxs("div", {
141
+ className: cn("sidebar-tooltip-inner overflow-hidden rounded-lg shadow-lg border border-border bg-card backdrop-blur-sm", debug && "ring-2 ring-cyan-400/50"),
142
+ children: [
143
+ /* @__PURE__ */ jsx("div", { className: "absolute -left-1 -top-6 h-12 w-12 rounded-full bg-primary/10 blur-xl pointer-events-none z-0" }),
144
+ /* @__PURE__ */ jsx("div", { className: "absolute -right-1 -bottom-6 h-12 w-12 rounded-full bg-primary/10 blur-xl pointer-events-none z-0" }),
145
+ /* @__PURE__ */ jsxs("div", {
146
+ className: "sidebar-tooltip-content relative pointer-events-auto",
147
+ style: { zIndex: 10 },
148
+ children: [title && /* @__PURE__ */ jsxs("div", {
149
+ className: "flex items-center px-4 py-3 font-medium border-b border-border/50 text-foreground relative",
150
+ children: [/* @__PURE__ */ jsx("span", { children: title }), debug && /* @__PURE__ */ jsx("span", {
151
+ className: "ml-auto text-[8px] text-purple-400 font-mono space-x-1",
152
+ children: /* @__PURE__ */ jsx("span", { children: "GLASS" })
153
+ })]
154
+ }), /* @__PURE__ */ jsx("div", {
155
+ ref: contentGridRef,
156
+ className: "tooltip-content-grid",
157
+ "data-state": "open",
158
+ children: /* @__PURE__ */ jsx("div", {
159
+ className: "tooltip-content-inner",
160
+ children: /* @__PURE__ */ jsx("div", {
161
+ className: "max-h-[calc(100vh-200px)] overflow-y-auto py-2",
162
+ children: /* @__PURE__ */ jsx("div", {
163
+ className: "space-y-0.5 px-2",
164
+ children: processedChildren
165
+ })
166
+ })
167
+ })
168
+ })]
169
+ })
170
+ ]
171
+ })
172
+ })
173
+ ] });
174
+ });
175
+
176
+ //#endregion
177
+ export { SidebarTooltip };
@@ -0,0 +1,330 @@
1
+ /**
2
+ * Tooltip Transition Keyframes
3
+ *
4
+ * Sistema de animaciones CSS para transiciones de tooltip con:
5
+ * - Items staggered enter/exit
6
+ * - Grid-based height transitions
7
+ * - 3D title rotations
8
+ *
9
+ * Performance: GPU-accelerated (transform + opacity only)
10
+ */
11
+
12
+ /* ============================================================================
13
+ ITEMS ANIMATIONS - Staggered Enter/Exit
14
+ ============================================================================ */
15
+
16
+ @keyframes tooltip-item-enter {
17
+ from {
18
+ opacity: 0;
19
+ transform: translateX(-8px);
20
+ }
21
+ to {
22
+ opacity: 1;
23
+ transform: translateX(0);
24
+ }
25
+ }
26
+
27
+ @keyframes tooltip-item-exit {
28
+ from {
29
+ opacity: 1;
30
+ transform: translateX(0);
31
+ }
32
+ to {
33
+ opacity: 0;
34
+ transform: translateX(-4px);
35
+ }
36
+ }
37
+
38
+ /**
39
+ * Item States con CSS Custom Properties
40
+ *
41
+ * Uso: <div style="--animation-order: 0" data-state="entering">
42
+ */
43
+ .sidebar-sublink[data-state="entering"] {
44
+ animation: tooltip-item-enter 150ms cubic-bezier(0.4, 0, 0.2, 1);
45
+ animation-delay: calc(var(--animation-order, 0) * 30ms + 150ms);
46
+ animation-fill-mode: both;
47
+ }
48
+
49
+ .sidebar-sublink[data-state="leaving"] {
50
+ animation: tooltip-item-exit 100ms cubic-bezier(0.4, 0, 0.6, 1);
51
+ animation-delay: calc(var(--animation-order, 0) * 20ms);
52
+ animation-fill-mode: both;
53
+ }
54
+
55
+ /* ============================================================================
56
+ TITLE 3D ROTATIONS
57
+ ============================================================================ */
58
+
59
+ /**
60
+ * Title Rotate Up (direction-aware)
61
+ * Usado cuando navegamos hacia arriba en el sidebar
62
+ */
63
+ @keyframes tooltip-title-rotate-up {
64
+ from {
65
+ transform: rotateX(0deg);
66
+ opacity: 1;
67
+ }
68
+ to {
69
+ transform: rotateX(-90deg);
70
+ opacity: 0;
71
+ }
72
+ }
73
+
74
+ @keyframes tooltip-title-enter-from-below {
75
+ from {
76
+ transform: rotateX(90deg);
77
+ opacity: 0;
78
+ }
79
+ to {
80
+ transform: rotateX(0deg);
81
+ opacity: 1;
82
+ }
83
+ }
84
+
85
+ /**
86
+ * Title Rotate Down (direction-aware)
87
+ * Usado cuando navegamos hacia abajo en el sidebar
88
+ */
89
+ @keyframes tooltip-title-rotate-down {
90
+ from {
91
+ transform: rotateX(0deg);
92
+ opacity: 1;
93
+ }
94
+ to {
95
+ transform: rotateX(90deg);
96
+ opacity: 0;
97
+ }
98
+ }
99
+
100
+ @keyframes tooltip-title-enter-from-above {
101
+ from {
102
+ transform: rotateX(-90deg);
103
+ opacity: 0;
104
+ }
105
+ to {
106
+ transform: rotateX(0deg);
107
+ opacity: 1;
108
+ }
109
+ }
110
+
111
+ /**
112
+ * Title States
113
+ */
114
+ .tooltip-title[data-direction="up"][data-state="leaving"] {
115
+ animation: tooltip-title-rotate-up 250ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
116
+ }
117
+
118
+ .tooltip-title[data-direction="up"][data-state="entering"] {
119
+ animation: tooltip-title-enter-from-below 250ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
120
+ }
121
+
122
+ .tooltip-title[data-direction="down"][data-state="leaving"] {
123
+ animation: tooltip-title-rotate-down 250ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
124
+ }
125
+
126
+ .tooltip-title[data-direction="down"][data-state="entering"] {
127
+ animation: tooltip-title-enter-from-above 250ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
128
+ }
129
+
130
+ /* ============================================================================
131
+ 3D CUBE FACES (Enfoque A: Multi-cara)
132
+ ============================================================================ */
133
+
134
+ /**
135
+ * Cubo 3D con 6 caras para títulos
136
+ *
137
+ * Estructura:
138
+ * .title-scene (perspective)
139
+ * └─ .title-cube (preserve-3d)
140
+ * ├─ .title-face--front
141
+ * ├─ .title-face--back
142
+ * ├─ .title-face--top
143
+ * ├─ .title-face--bottom
144
+ * ├─ .title-face--left
145
+ * └─ .title-face--right
146
+ */
147
+
148
+ .title-scene {
149
+ perspective: 600px;
150
+ position: relative;
151
+ width: 100%;
152
+ height: 2rem;
153
+ }
154
+
155
+ .title-cube {
156
+ width: 100%;
157
+ height: 100%;
158
+ position: relative;
159
+ transform-style: preserve-3d;
160
+ transition: transform 250ms cubic-bezier(0.4, 0, 0.2, 1);
161
+ /* Empujar hacia atrás para evitar blur en texto */
162
+ transform: translateZ(-1rem);
163
+ }
164
+
165
+ .title-face {
166
+ position: absolute;
167
+ width: 100%;
168
+ height: 100%;
169
+ backface-visibility: hidden;
170
+ display: flex;
171
+ align-items: center;
172
+ justify-content: flex-start;
173
+ padding: 0 1rem;
174
+ font-weight: 500;
175
+ }
176
+
177
+ /* Posicionamiento de caras - Vertical rotation (rotateX) */
178
+ .title-face--front {
179
+ transform: rotateX(0deg) translateZ(1rem);
180
+ }
181
+
182
+ .title-face--top {
183
+ transform: rotateX(90deg) translateZ(1rem);
184
+ }
185
+
186
+ .title-face--bottom {
187
+ transform: rotateX(-90deg) translateZ(1rem);
188
+ }
189
+
190
+ .title-face--back {
191
+ transform: rotateX(180deg) translateZ(1rem);
192
+ }
193
+
194
+ /* Estados del cubo - Direction-aware */
195
+ .title-cube[data-face="front"] {
196
+ transform: translateZ(-1rem) rotateX(0deg);
197
+ }
198
+
199
+ .title-cube[data-face="top"] {
200
+ transform: translateZ(-1rem) rotateX(-90deg);
201
+ }
202
+
203
+ .title-cube[data-face="bottom"] {
204
+ transform: translateZ(-1rem) rotateX(90deg);
205
+ }
206
+
207
+ .title-cube[data-face="back"] {
208
+ transform: translateZ(-1rem) rotateX(180deg);
209
+ }
210
+
211
+ /* ============================================================================
212
+ GRID HEIGHT TRANSITION (Grid Trick)
213
+ ============================================================================ */
214
+
215
+ /**
216
+ * Grid trick para height: auto transitions
217
+ *
218
+ * Técnica: grid-template-rows: 0fr → 1fr
219
+ * Browser support: Chrome 107+, Firefox 117+, Safari 16.4+
220
+ */
221
+
222
+ .tooltip-content-grid {
223
+ display: grid;
224
+ grid-template-rows: 0fr;
225
+ transition: grid-template-rows 200ms cubic-bezier(0.4, 0, 0.2, 1);
226
+ transition-delay: 50ms; /* Empieza después del fade-out de items */
227
+ }
228
+
229
+ .tooltip-content-grid[data-state="open"] {
230
+ grid-template-rows: 1fr;
231
+ }
232
+
233
+ .tooltip-content-inner {
234
+ overflow: hidden;
235
+ min-height: 0; /* Crítico para que grid trick funcione */
236
+ }
237
+
238
+ /* ============================================================================
239
+ UTILITY CLASSES
240
+ ============================================================================ */
241
+
242
+ /**
243
+ * Contenedor con perspective para títulos crossfade
244
+ */
245
+ .tooltip-title-perspective {
246
+ perspective: 600px;
247
+ position: relative;
248
+ width: 100%;
249
+ height: 2rem;
250
+ overflow: hidden;
251
+ }
252
+
253
+ /**
254
+ * Disable animations durante hover rápido (opcional)
255
+ * Usar con cuidado: puede causar flickering
256
+ */
257
+ .tooltip-no-animations * {
258
+ animation: none !important;
259
+ transition: none !important;
260
+ }
261
+
262
+ /* ============================================================================
263
+ DEBUG HELPERS
264
+ ============================================================================ */
265
+
266
+ /**
267
+ * Visualización de estados en debug mode
268
+ */
269
+ [data-tooltip-debug="true"] .sidebar-sublink[data-state]::before {
270
+ content: attr(data-state);
271
+ position: absolute;
272
+ top: 0;
273
+ right: 0;
274
+ font-size: 8px;
275
+ background: rgba(255, 0, 0, 0.8);
276
+ color: white;
277
+ padding: 2px 4px;
278
+ border-radius: 2px;
279
+ pointer-events: none;
280
+ z-index: 1000;
281
+ }
282
+
283
+ [data-tooltip-debug="true"] .tooltip-title[data-direction]::after {
284
+ content: "dir:" attr(data-direction);
285
+ position: absolute;
286
+ bottom: 0;
287
+ left: 0;
288
+ font-size: 8px;
289
+ background: rgba(0, 0, 255, 0.8);
290
+ color: white;
291
+ padding: 2px 4px;
292
+ border-radius: 2px;
293
+ pointer-events: none;
294
+ z-index: 1000;
295
+ }
296
+
297
+ /* ============================================================================
298
+ PERFORMANCE OPTIMIZATIONS
299
+ ============================================================================ */
300
+
301
+ /**
302
+ * GPU acceleration hints
303
+ */
304
+ .sidebar-sublink[data-state],
305
+ .tooltip-title[data-state],
306
+ .title-cube {
307
+ will-change: transform, opacity;
308
+ }
309
+
310
+ /**
311
+ * Contain layout/paint/style para mejor performance
312
+ */
313
+ .tooltip-content-grid {
314
+ contain: layout style paint;
315
+ }
316
+
317
+ /**
318
+ * Reduce motion para accesibilidad
319
+ */
320
+ @media (prefers-reduced-motion: reduce) {
321
+ .sidebar-sublink[data-state],
322
+ .tooltip-title[data-state],
323
+ .title-cube,
324
+ .tooltip-content-grid {
325
+ animation-duration: 0.01ms !important;
326
+ animation-iteration-count: 1 !important;
327
+ transition-duration: 0.01ms !important;
328
+ }
329
+ }
330
+
@@ -0,0 +1,28 @@
1
+ import type { RefObject } from 'react';
2
+ /**
3
+ * FluidHoverIndicator Props
4
+ */
5
+ export interface FluidHoverIndicatorProps {
6
+ /** Target element to track */
7
+ targetElement: HTMLElement | null;
8
+ /** Whether the indicator should be visible */
9
+ isVisible: boolean;
10
+ /** Optional className for customization */
11
+ className?: string;
12
+ /** Container ref for relative positioning (default: targetElement.parentElement) */
13
+ containerRef?: RefObject<HTMLElement>;
14
+ }
15
+ /**
16
+ * Fluid Hover Indicator Component
17
+ *
18
+ * A liquid drop-like hover indicator that uses spring physics
19
+ * and morphing to create organic, fluid motion between sidebar items.
20
+ *
21
+ * Features:
22
+ * - Spring physics with anticipation, stretch, overshoot, and settle
23
+ * - Morphing (scale, skew) based on movement direction
24
+ * - Pure CSS + Web Animations API (no Framer Motion)
25
+ * - GPU-accelerated with will-change and transform
26
+ */
27
+ export declare function FluidHoverIndicator({ targetElement, isVisible, className, containerRef, }: FluidHoverIndicatorProps): import("react/jsx-runtime").JSX.Element;
28
+ //# sourceMappingURL=FluidHoverIndicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FluidHoverIndicator.d.ts","sourceRoot":"","sources":["../../../../../src/react-ui/blocks/Sidebar/components/FluidHoverIndicator.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,8BAA8B;IAC9B,aAAa,EAAE,WAAW,GAAG,IAAI,CAAA;IACjC,8CAA8C;IAC9C,SAAS,EAAE,OAAO,CAAA;IAClB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oFAAoF;IACpF,YAAY,CAAC,EAAE,SAAS,CAAC,WAAW,CAAC,CAAA;CACtC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,aAAa,EACb,SAAS,EACT,SAAc,EACd,YAAY,GACb,EAAE,wBAAwB,2CAsF1B"}