@mks2508/mks-ui 0.8.1 → 0.8.2

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 (132) hide show
  1. package/dist/index.css +1594 -0
  2. package/dist/react-ui/blocks/Sidebar/animations/tooltip.css +330 -0
  3. package/dist/react-ui/blocks/Terminal/TerminalDisplay.styles.d.ts +1 -1
  4. package/dist/react-ui/blocks/Terminal/TerminalDisplay.types.d.ts +1 -1
  5. package/dist/react-ui/blocks/Terminal/components/LogLineBadges/LogLineBadges.styles.d.ts +1 -1
  6. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/TerminalLogBadge.styles.d.ts +1 -1
  7. package/dist/react-ui/blocks/Terminal/components/TerminalLogBadge/TerminalLogBadge.types.d.ts +1 -1
  8. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/TerminalActionBar.styles.d.ts +1 -1
  9. package/dist/react-ui/blocks/Terminal/controls/TerminalActionBar/TerminalActionBar.types.d.ts +1 -1
  10. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/TerminalConnectionStatus.styles.d.ts +1 -1
  11. package/dist/react-ui/blocks/Terminal/controls/TerminalConnectionStatus/TerminalConnectionStatus.types.d.ts +1 -1
  12. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/TerminalFontControls.styles.d.ts +1 -1
  13. package/dist/react-ui/blocks/Terminal/controls/TerminalFontControls/TerminalFontControls.types.d.ts +1 -1
  14. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/TerminalSplitButton.styles.d.ts +1 -1
  15. package/dist/react-ui/blocks/Terminal/controls/TerminalSplitButton/TerminalSplitButton.types.d.ts +1 -1
  16. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.styles.d.ts +1 -1
  17. package/dist/react-ui/blocks/Terminal/controls/TerminalStatusBar/TerminalStatusBar.types.d.ts +1 -1
  18. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/TerminalDebugPanel.styles.d.ts +1 -1
  19. package/dist/react-ui/blocks/Terminal/panel/TerminalDebugPanel/TerminalDebugPanel.types.d.ts +1 -1
  20. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/TerminalFilterDropdown.styles.d.ts +1 -1
  21. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/TerminalFilterDropdown.types.d.ts +1 -1
  22. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterDropdown/terminal-filter-dropdown.module.css +60 -0
  23. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/TerminalFilterTabs.styles.d.ts +1 -1
  24. package/dist/react-ui/blocks/Terminal/panel/TerminalFilterTabs/TerminalFilterTabs.types.d.ts +1 -1
  25. package/dist/react-ui/blocks/Terminal/panel/TerminalInteractivePanelWterm.d.ts.map +1 -1
  26. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.styles.d.ts +1 -1
  27. package/dist/react-ui/blocks/Terminal/panel/TerminalLogsPanel/TerminalLogsPanel.types.d.ts +1 -1
  28. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.styles.d.ts +1 -1
  29. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.types.d.ts +1 -1
  30. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/TerminalPanelFooter.styles.d.ts +1 -1
  31. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelFooter/TerminalPanelFooter.types.d.ts +1 -1
  32. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/TerminalPanelHeader.styles.d.ts +1 -1
  33. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelHeader/TerminalPanelHeader.types.d.ts +1 -1
  34. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar/TerminalPanelToolbar.styles.d.ts +1 -1
  35. package/dist/react-ui/blocks/Terminal/panel/TerminalPanelToolbar/TerminalPanelToolbar.types.d.ts +1 -1
  36. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl/TerminalSessionControl.styles.d.ts +1 -1
  37. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionControl/TerminalSessionControl.types.d.ts +1 -1
  38. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.styles.d.ts +1 -1
  39. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/TerminalSessionTabs.types.d.ts +1 -1
  40. package/dist/react-ui/blocks/Terminal/panel/TerminalSessionTabs/terminal-session-tabs.module.css +60 -0
  41. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.styles.d.ts +1 -1
  42. package/dist/react-ui/blocks/Terminal/panel/TerminalSettingsPopover/TerminalSettingsPopover.types.d.ts +1 -1
  43. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/TerminalThemeSelector.styles.d.ts +1 -1
  44. package/dist/react-ui/blocks/Terminal/panel/TerminalThemeSelector/TerminalThemeSelector.types.d.ts +1 -1
  45. package/dist/react-ui/components/MorphingPopover/morphing-popover.module.css +154 -0
  46. package/dist/react-ui/primitives/AutoHeight/index.d.ts +1 -1
  47. package/dist/react-ui/primitives/CountingNumber/index.d.ts +1 -1
  48. package/dist/react-ui/primitives/DotMatrix/DotMatrix.types.d.ts +1 -1
  49. package/dist/react-ui/primitives/DotMatrix/dot.css +364 -0
  50. package/dist/react-ui/primitives/GooeyMorphingSurface/gooey-morphing.css +112 -0
  51. package/dist/react-ui/primitives/waapi/Morph/techniques/useViewTransitions.module.css +20 -0
  52. package/dist/react-ui/primitives/waapi/SlidingNumber/SlidingNumber.styles.d.ts +1 -1
  53. package/dist/react-ui/primitives/waapi/SlidingText/SlidingText.styles.d.ts +1 -1
  54. package/dist/react-ui/ui/Accordion/Accordion.styles.d.ts +1 -1
  55. package/dist/react-ui/ui/Accordion/Accordion.types.d.ts +1 -1
  56. package/dist/react-ui/ui/AlertDialog/AlertDialog.styles.d.ts +1 -1
  57. package/dist/react-ui/ui/AlertDialog/AlertDialog.types.d.ts +1 -1
  58. package/dist/react-ui/ui/Badge/Badge.styles.d.ts +1 -1
  59. package/dist/react-ui/ui/Badge/Badge.types.d.ts +1 -1
  60. package/dist/react-ui/ui/Button/Button.styles.d.ts +1 -1
  61. package/dist/react-ui/ui/Button/Button.types.d.ts +1 -1
  62. package/dist/react-ui/ui/Card/Card.styles.d.ts +1 -1
  63. package/dist/react-ui/ui/Card/Card.types.d.ts +1 -1
  64. package/dist/react-ui/ui/Checkbox/Checkbox.styles.d.ts +1 -1
  65. package/dist/react-ui/ui/Checkbox/Checkbox.types.d.ts +1 -1
  66. package/dist/react-ui/ui/Combobox/Combobox.styles.d.ts +1 -1
  67. package/dist/react-ui/ui/Combobox/Combobox.types.d.ts +1 -1
  68. package/dist/react-ui/ui/CornerBracket/CornerBracket.styles.d.ts +1 -1
  69. package/dist/react-ui/ui/CornerBracket/CornerBracket.types.d.ts +1 -1
  70. package/dist/react-ui/ui/DataCard/DataCard.styles.d.ts +1 -1
  71. package/dist/react-ui/ui/DataCard/DataCard.types.d.ts +1 -1
  72. package/dist/react-ui/ui/DataCard/index.d.ts +1 -1
  73. package/dist/react-ui/ui/Dialog/Dialog.styles.d.ts +1 -1
  74. package/dist/react-ui/ui/Dialog/Dialog.types.d.ts +1 -1
  75. package/dist/react-ui/ui/DropdownMenu/DropdownMenu.styles.d.ts +1 -1
  76. package/dist/react-ui/ui/DropdownMenu/DropdownMenu.types.d.ts +1 -1
  77. package/dist/react-ui/ui/DynamicToggle/DynamicToggle.css +369 -0
  78. package/dist/react-ui/ui/DynamicToggle/DynamicToggle.styles.d.ts +1 -1
  79. package/dist/react-ui/ui/DynamicToggle/DynamicToggle.types.d.ts +1 -1
  80. package/dist/react-ui/ui/Field/Field.styles.d.ts +1 -1
  81. package/dist/react-ui/ui/Field/Field.types.d.ts +1 -1
  82. package/dist/react-ui/ui/FileIcon/FileIcon.styles.d.ts +1 -1
  83. package/dist/react-ui/ui/FileIcon/FileIcon.types.d.ts +1 -1
  84. package/dist/react-ui/ui/FileItem/FileItem.styles.d.ts +1 -1
  85. package/dist/react-ui/ui/FileItem/FileItem.types.d.ts +1 -1
  86. package/dist/react-ui/ui/FilePanel/FilePanel.styles.d.ts +1 -1
  87. package/dist/react-ui/ui/FilePanel/FilePanel.types.d.ts +1 -1
  88. package/dist/react-ui/ui/FileTree/FileTree.styles.d.ts +1 -1
  89. package/dist/react-ui/ui/FileTree/FileTree.types.d.ts +1 -1
  90. package/dist/react-ui/ui/GooeyButton/GooeyButton.types.d.ts +1 -1
  91. package/dist/react-ui/ui/GooeyButton/gooey.css +47 -0
  92. package/dist/react-ui/ui/Input/Input.styles.d.ts +1 -1
  93. package/dist/react-ui/ui/Input/Input.types.d.ts +1 -1
  94. package/dist/react-ui/ui/InputGroup/InputGroup.styles.d.ts +1 -1
  95. package/dist/react-ui/ui/InputGroup/InputGroup.types.d.ts +1 -1
  96. package/dist/react-ui/ui/Label/Label.styles.d.ts +1 -1
  97. package/dist/react-ui/ui/Label/Label.types.d.ts +1 -1
  98. package/dist/react-ui/ui/Menu/Menu.styles.d.ts +1 -1
  99. package/dist/react-ui/ui/Menu/Menu.types.d.ts +2 -2
  100. package/dist/react-ui/ui/MiddleTruncatePath/MiddleTruncatePath.styles.d.ts +1 -1
  101. package/dist/react-ui/ui/MiddleTruncatePath/MiddleTruncatePath.types.d.ts +1 -1
  102. package/dist/react-ui/ui/OperationCard/OperationCard.styles.d.ts +1 -1
  103. package/dist/react-ui/ui/OperationCard/OperationCard.types.d.ts +2 -2
  104. package/dist/react-ui/ui/Popover/Popover.styles.d.ts +1 -1
  105. package/dist/react-ui/ui/Popover/Popover.types.d.ts +1 -1
  106. package/dist/react-ui/ui/Progress/Progress.styles.d.ts +1 -1
  107. package/dist/react-ui/ui/Progress/Progress.types.d.ts +2 -2
  108. package/dist/react-ui/ui/Select/Select.styles.d.ts +1 -1
  109. package/dist/react-ui/ui/Select/Select.types.d.ts +1 -1
  110. package/dist/react-ui/ui/Separator/Separator.styles.d.ts +1 -1
  111. package/dist/react-ui/ui/Separator/Separator.types.d.ts +1 -1
  112. package/dist/react-ui/ui/Switch/Switch.styles.d.ts +1 -1
  113. package/dist/react-ui/ui/Switch/Switch.types.d.ts +1 -1
  114. package/dist/react-ui/ui/Tabs/Tabs.css +38 -0
  115. package/dist/react-ui/ui/Tabs/Tabs.styles.d.ts +1 -1
  116. package/dist/react-ui/ui/Tabs/Tabs.types.d.ts +3 -3
  117. package/dist/react-ui/ui/TextFlow/TextFlow.styles.d.ts +1 -1
  118. package/dist/react-ui/ui/Textarea/Textarea.styles.d.ts +1 -1
  119. package/dist/react-ui/ui/Textarea/Textarea.types.d.ts +1 -1
  120. package/dist/react-ui/ui/Tooltip/Tooltip.styles.d.ts +1 -1
  121. package/dist/react-ui/ui/Tooltip/Tooltip.types.d.ts +1 -1
  122. package/package.json +1 -1
  123. /package/dist/{react-ui/blocks/Sidebar/animations/tooltip-keyframes-DRT9W6Xj.css → css/blocks-Sidebar-animations-tooltip.css} +0 -0
  124. /package/dist/{react-ui/blocks/Terminal/panel/TerminalFilterDropdown/terminal-filter-dropdown.module-G5zpw08N.css → css/blocks-Terminal-panel-TerminalFilterDropdown-terminal-filter-dropdown.module.css} +0 -0
  125. /package/dist/{react-ui/blocks/Terminal/panel/TerminalSessionTabs/terminal-session-tabs.module-BAOuAeiX.css → css/blocks-Terminal-panel-TerminalSessionTabs-terminal-session-tabs.module.css} +0 -0
  126. /package/dist/{react-ui/components/MorphingPopover/morphing-popover.module-T3s-wJN-.css → css/components-MorphingPopover-morphing-popover.module.css} +0 -0
  127. /package/dist/{react-ui/primitives/DotMatrix/dot-matrix-B8DHjPGb.css → css/primitives-DotMatrix-dot.css} +0 -0
  128. /package/dist/{react-ui/primitives/GooeyMorphingSurface/gooey-morphing-surface-DfdjAg5U.css → css/primitives-GooeyMorphingSurface-gooey.css} +0 -0
  129. /package/dist/{react-ui/primitives/waapi/Morph/techniques/useViewTransitions.module-DNDWYN8q.css → css/primitives-waapi-Morph-techniques-useViewTransitions.module.css} +0 -0
  130. /package/dist/{react-ui/ui/DynamicToggle/DynamicToggle-DY2Hle7P.css → css/ui-DynamicToggle-DynamicToggle.css} +0 -0
  131. /package/dist/{react-ui/ui/GooeyButton/gooey-button-8rHWiw0w.css → css/ui-GooeyButton-gooey.css} +0 -0
  132. /package/dist/{react-ui/ui/Tabs/Tabs-DqzZRGB3.css → css/ui-Tabs-Tabs.css} +0 -0
@@ -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
+
@@ -4,7 +4,7 @@
4
4
  * @module components/devenv/terminal/TerminalDisplay.styles
5
5
  */
6
6
  import { type VariantProps } from 'class-variance-authority';
7
- import type { StyleSlots } from '@/core/types';
7
+ import type { StyleSlots } from '../../../core/types';
8
8
  import type { TerminalDisplaySlot } from './TerminalDisplay.types';
9
9
  /**
10
10
  * Default style slots for TerminalDisplay regions.
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * @module components/devenv/terminal/TerminalDisplay.types
8
8
  */
9
- import type { SlotOverrides } from '@/core/types';
9
+ import type { SlotOverrides } from '../../../core/types';
10
10
  import type { Restty } from '@mks2508/restty';
11
11
  import type { ITerminalTheme } from './Terminal.types';
12
12
  /** Slot names for TerminalDisplay sub-regions */
@@ -5,7 +5,7 @@
5
5
  *
6
6
  * @module @mks2508/mks-ui/react/blocks/Terminal/components/LogLineBadges
7
7
  */
8
- import type { StyleSlots } from '@/core/types';
8
+ import type { StyleSlots } from '../../../../../core/types';
9
9
  /** Slot names for LogLineBadges visual regions. */
10
10
  export type LogLineBadgesSlot = 'levelBadge' | 'timestampBadge' | 'tagBadge' | 'contentTypeBadge' | 'lineContainer';
11
11
  /**
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/components/TerminalLogBadge
5
5
  */
6
- import type { StyleSlots } from '@/core/types';
6
+ import type { StyleSlots } from '../../../../../core/types';
7
7
  /** Slot names for TerminalLogBadge visual regions. */
8
8
  export type TerminalLogBadgeSlot = 'root';
9
9
  /**
@@ -4,7 +4,7 @@
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/components/TerminalLogBadge
5
5
  */
6
6
  import type { ReactNode } from 'react';
7
- import type { SlotOverrides } from '@/core/types';
7
+ import type { SlotOverrides } from '../../../../../core/types';
8
8
  import type { TLogLevelFilter } from '../../parsing/LogParser.types';
9
9
  import type { TerminalLogBadgeSlot } from './TerminalLogBadge.styles';
10
10
  /**
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/controls/TerminalActionBar
5
5
  */
6
- import type { StyleSlots } from '@/core/types';
6
+ import type { StyleSlots } from '../../../../../core/types';
7
7
  import type { TerminalActionBarSlot } from './TerminalActionBar.types';
8
8
  /**
9
9
  * Base styles for TerminalActionBar slots.
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/controls/TerminalActionBar
5
5
  */
6
- import type { SlotOverrides } from '@/core/types';
6
+ import type { SlotOverrides } from '../../../../../core/types';
7
7
  import type { IUseTerminalReturn } from '../../hooks/useTerminal';
8
8
  /**
9
9
  * Visual slots for TerminalActionBar.
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/controls/TerminalConnectionStatus
5
5
  */
6
- import type { StyleSlots } from '@/core/types';
6
+ import type { StyleSlots } from '../../../../../core/types';
7
7
  import type { TerminalConnectionStatusSlot } from './TerminalConnectionStatus.types';
8
8
  /**
9
9
  * Base styles for TerminalConnectionStatus slots.
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/controls/TerminalConnectionStatus
5
5
  */
6
- import type { SlotOverrides } from '@/core/types';
6
+ import type { SlotOverrides } from '../../../../../core/types';
7
7
  import type { TTerminalConnectionStatusToken } from '../../Terminal.tokens';
8
8
  /**
9
9
  * Visual slots for TerminalConnectionStatus.
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/controls/TerminalFontControls
5
5
  */
6
- import type { StyleSlots } from '@/core/types';
6
+ import type { StyleSlots } from '../../../../../core/types';
7
7
  import type { TerminalFontControlsSlot } from './TerminalFontControls.types';
8
8
  /**
9
9
  * Base styles for TerminalFontControls slots.
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/controls/TerminalFontControls
5
5
  */
6
- import type { SlotOverrides } from '@/core/types';
6
+ import type { SlotOverrides } from '../../../../../core/types';
7
7
  /**
8
8
  * Visual slots for TerminalFontControls.
9
9
  */
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/controls/TerminalSplitButton
5
5
  */
6
- import type { StyleSlots } from '@/core/types';
6
+ import type { StyleSlots } from '../../../../../core/types';
7
7
  import type { TerminalSplitButtonSlot } from './TerminalSplitButton.types';
8
8
  /**
9
9
  * Base styles for TerminalSplitButton slots.
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/controls/TerminalSplitButton
5
5
  */
6
- import type { SlotOverrides } from '@/core/types';
6
+ import type { SlotOverrides } from '../../../../../core/types';
7
7
  /**
8
8
  * Visual slots for TerminalSplitButton.
9
9
  */
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/controls/TerminalStatusBar
5
5
  */
6
- import type { StyleSlots } from '@/core/types';
6
+ import type { StyleSlots } from '../../../../../core/types';
7
7
  import type { TerminalStatusBarSlot } from './TerminalStatusBar.types';
8
8
  /**
9
9
  * Base styles for TerminalStatusBar slots.
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/controls/TerminalStatusBar
5
5
  */
6
- import type { SlotOverrides } from '@/core/types';
6
+ import type { SlotOverrides } from '../../../../../core/types';
7
7
  import type { IUseTerminalReturn } from '../../hooks/useTerminal';
8
8
  /**
9
9
  * Visual slots for TerminalStatusBar.
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalDebugPanel
5
5
  */
6
- import type { StyleSlots } from '@/core/types';
6
+ import type { StyleSlots } from '../../../../../core/types';
7
7
  /** Slot names for TerminalDebugPanel visual regions. */
8
8
  export type TerminalDebugPanelSlot = 'root' | 'toggleHeader' | 'toggleChevron' | 'toggleLabel' | 'fpsLabel' | 'content' | 'debugRow' | 'debugRowLabel' | 'debugRowValue';
9
9
  /**
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalDebugPanel
5
5
  */
6
- import type { SlotOverrides } from '@/core/types';
6
+ import type { SlotOverrides } from '../../../../../core/types';
7
7
  import type { TerminalDebugPanelSlot } from './TerminalDebugPanel.styles';
8
8
  /**
9
9
  * Props for the TerminalDebugPanel component.
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalFilterDropdown
5
5
  */
6
- import type { StyleSlots } from '@/core/types';
6
+ import type { StyleSlots } from '../../../../../core/types';
7
7
  /** Slot names for TerminalFilterDropdown visual regions. */
8
8
  export type TerminalFilterDropdownSlot = 'root' | 'trigger' | 'triggerBadge' | 'dropdown' | 'option' | 'optionDot' | 'optionLabel' | 'optionBadge';
9
9
  /**
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalFilterDropdown
5
5
  */
6
- import type { SlotOverrides } from '@/core/types';
6
+ import type { SlotOverrides } from '../../../../../core/types';
7
7
  import type { TLogLevelFilter, TLogLevel } from '../TerminalLogsPanel.types';
8
8
  import type { TerminalFilterDropdownSlot } from './TerminalFilterDropdown.styles';
9
9
  /**
@@ -0,0 +1,60 @@
1
+ /**
2
+ * TerminalFilterDropdown Styles.
3
+ *
4
+ * Uses CSS Anchor Positioning API for dropdown placement.
5
+ * Button acts as anchor, dropdown is positioned relative to it
6
+ * with automatic flip behavior at viewport edges.
7
+ *
8
+ * @module components/devenv/terminal/panel/terminal-filter-dropdown/styles
9
+ */
10
+
11
+ /* Trigger button - acts as CSS anchor */
12
+ .triggerButton {
13
+ anchor-name: --filter-dropdown-anchor;
14
+ }
15
+
16
+ /* Dropdown menu - anchored to trigger button */
17
+ .dropdownMenu {
18
+ position-anchor: --filter-dropdown-anchor;
19
+ position: fixed;
20
+
21
+ /* Position below and left-aligned */
22
+ left: anchor(left);
23
+ top: anchor(bottom);
24
+ margin-top: 4px;
25
+
26
+ /* Flip to above if no room below */
27
+ position-try-fallbacks: flip-block, flip-inline;
28
+
29
+ min-width: 180px;
30
+ z-index: 50;
31
+
32
+ /* Hidden by default */
33
+ display: none;
34
+ opacity: 0;
35
+ transform: translateY(-4px);
36
+ transition: opacity 0.15s ease-out, transform 0.15s ease-out;
37
+ pointer-events: none;
38
+ }
39
+
40
+ .dropdownMenu[data-open="true"] {
41
+ display: block;
42
+ opacity: 1;
43
+ transform: translateY(0);
44
+ pointer-events: auto;
45
+ }
46
+
47
+ /* Fallback for browsers without CSS Anchor Positioning */
48
+ @supports not (anchor-name: none) {
49
+ .dropdownMenu {
50
+ position: absolute;
51
+ left: 0;
52
+ top: calc(100% + 4px);
53
+ z-index: 50;
54
+ }
55
+
56
+ .dropdownMenu[data-open="true"] {
57
+ display: block;
58
+ }
59
+ }
60
+
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalFilterTabs
5
5
  */
6
- import type { StyleSlots } from '@/core/types';
6
+ import type { StyleSlots } from '../../../../../core/types';
7
7
  /** Slot names for TerminalFilterTabs visual regions. */
8
8
  export type TerminalFilterTabsSlot = 'root' | 'tab' | 'tabLabel' | 'badge' | 'activeOverlay';
9
9
  /**
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalFilterTabs
5
5
  */
6
- import type { SlotOverrides } from '@/core/types';
6
+ import type { SlotOverrides } from '../../../../../core/types';
7
7
  import type { TLogLevelFilter, TLogLevel } from '../TerminalLogsPanel.types';
8
8
  import type { TerminalFilterTabsSlot } from './TerminalFilterTabs.styles';
9
9
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"TerminalInteractivePanelWterm.d.ts","sourceRoot":"","sources":["../../../../../src/react-ui/blocks/Terminal/panel/TerminalInteractivePanelWterm.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAcH,OAAO,KAAK,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AA+CrH;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,6BAA6B,yIA2PzC,CAAC"}
1
+ {"version":3,"file":"TerminalInteractivePanelWterm.d.ts","sourceRoot":"","sources":["../../../../../src/react-ui/blocks/Terminal/panel/TerminalInteractivePanelWterm.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAcH,OAAO,KAAK,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AAiDrH;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,6BAA6B,yIA2PzC,CAAC"}
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalLogsPanel
8
8
  */
9
- import type { StyleSlots } from '@/core/types';
9
+ import type { StyleSlots } from '../../../../../core/types';
10
10
  /** Slot names for TerminalLogsPanel visual regions. */
11
11
  export type TerminalLogsPanelSlot = 'root' | 'terminalContainer' | 'actionBar' | 'actionBarDivider' | 'emptyState' | 'emptyStateIcon' | 'emptyStateTitle' | 'emptyStateText' | 'containerButton';
12
12
  /**
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalLogsPanel
5
5
  */
6
- import type { SlotOverrides } from '@/core/types';
6
+ import type { SlotOverrides } from '../../../../../core/types';
7
7
  import type { IParsedLogEntry, TLogLevel } from '../../parsing';
8
8
  import type { ITerminalSession, TLogLevelFilter } from '../TerminalLogsPanel.types';
9
9
  import type { TerminalLogsPanelSlot } from './TerminalLogsPanel.styles';
@@ -8,7 +8,7 @@
8
8
  * @module components/devenv/terminal/panel/chrome/styles
9
9
  */
10
10
  import { type VariantProps } from 'class-variance-authority';
11
- import type { StyleSlots } from '@/core/types';
11
+ import type { StyleSlots } from '../../../../core/types';
12
12
  /** Slot names for TerminalPanelChrome sub-regions */
13
13
  export type TerminalChromeSlot = 'root' | 'accentLine' | 'accentGradient' | 'accentShimmer' | 'header' | 'sessionTabs' | 'actionBar' | 'content' | 'footer';
14
14
  /**
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module components/devenv/terminal/panel/chrome/types
5
5
  */
6
- import type { SlotOverrides } from '@/core/types';
6
+ import type { SlotOverrides } from '../../../../core/types';
7
7
  import type { ITerminalSession } from './TerminalLogsPanel.types';
8
8
  import type { TerminalChromeSlot, TerminalChromeVariantProps } from './TerminalPanelChrome.styles';
9
9
  /**
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalPanelFooter
8
8
  */
9
- import type { StyleSlots } from '@/core/types';
9
+ import type { StyleSlots } from '../../../../../core/types';
10
10
  /** Slot names for TerminalPanelFooter visual regions. */
11
11
  export type TerminalPanelFooterSlot = 'root' | 'separator' | 'stats' | 'statItem' | 'statLabel' | 'statValue' | 'filterInfo';
12
12
  /**
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * @module @mks2508/mks-ui/react/blocks/Terminal/panel/TerminalPanelFooter
5
5
  */
6
- import type { SlotOverrides } from '@/core/types';
6
+ import type { SlotOverrides } from '../../../../../core/types';
7
7
  import type { TLogLevelFilter } from '../../parsing/LogParser.types';
8
8
  import type { TerminalPanelFooterSlot } from './TerminalPanelFooter.styles';
9
9
  /**