@mandujs/core 0.18.14 β†’ 0.18.15

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mandujs/core",
3
- "version": "0.18.14",
3
+ "version": "0.18.15",
4
4
  "description": "Mandu Framework Core - Spec, Generator, Guard, Runtime",
5
5
  "type": "module",
6
6
  "main": "./src/index.ts",
@@ -43,6 +43,19 @@ const baseStyles = `
43
43
  line-height: 1.5;
44
44
  }
45
45
 
46
+ button {
47
+ background: none;
48
+ border: none;
49
+ cursor: pointer;
50
+ font-family: inherit;
51
+ color: inherit;
52
+ font-size: inherit;
53
+ -webkit-appearance: none;
54
+ appearance: none;
55
+ padding: 0;
56
+ margin: 0;
57
+ }
58
+
46
59
  .mk-badge-container {
47
60
  position: fixed;
48
61
  z-index: ${zIndex.devtools};
@@ -247,7 +247,10 @@ export function ManduBadge({
247
247
  onBlur={() => setIsHovered(false)}
248
248
  aria-label={`Mandu Kitchen: ${character.message}${count > 0 ? `, ${count} issues` : ''}`}
249
249
  >
250
- <span aria-hidden="true">πŸ₯Ÿ</span>
250
+ <span
251
+ aria-hidden="true"
252
+ style={{ fontFamily: "'Segoe UI Emoji', 'Apple Color Emoji', 'Noto Color Emoji', sans-serif" }}
253
+ >πŸ₯Ÿ</span>
251
254
  {count > 0 && <span style={countStyle}>{count}</span>}
252
255
  </button>
253
256
  );
@@ -112,7 +112,7 @@ const styles = {
112
112
  tabActive: {
113
113
  color: colors.brand.accent,
114
114
  borderBottomColor: colors.brand.accent,
115
- backgroundColor: colors.background.medium,
115
+ backgroundColor: 'rgba(232, 150, 122, 0.12)',
116
116
  },
117
117
  tabIcon: {
118
118
  fontSize: typography.fontSize.md,
@@ -166,6 +166,8 @@ export function PanelContainer({
166
166
  }: PanelContainerProps): React.ReactElement {
167
167
  const [isResizing, setIsResizing] = useState(false);
168
168
  const [height, setHeight] = useState(400);
169
+ const [hoveredTab, setHoveredTab] = useState<TabId | null>(null);
170
+ const [isCloseHovered, setIsCloseHovered] = useState(false);
169
171
 
170
172
  const getTabBadgeCount = useCallback((tabId: TabId): number => {
171
173
  switch (tabId) {
@@ -206,8 +208,13 @@ export function PanelContainer({
206
208
  <span>Mandu Kitchen</span>
207
209
  </div>
208
210
  <button
209
- style={styles.closeButton}
211
+ style={{
212
+ ...styles.closeButton,
213
+ ...(isCloseHovered ? { color: colors.text.primary, backgroundColor: 'rgba(255, 255, 255, 0.08)' } : {}),
214
+ }}
210
215
  onClick={onClose}
216
+ onMouseEnter={() => setIsCloseHovered(true)}
217
+ onMouseLeave={() => setIsCloseHovered(false)}
211
218
  aria-label="νŒ¨λ„ λ‹«κΈ°"
212
219
  >
213
220
  Γ—
@@ -229,8 +236,14 @@ export function PanelContainer({
229
236
  style={{
230
237
  ...styles.tab,
231
238
  ...(isActive ? styles.tabActive : {}),
239
+ ...(!isActive && hoveredTab === tab.id ? {
240
+ color: colors.text.primary,
241
+ backgroundColor: 'rgba(255, 255, 255, 0.05)',
242
+ } : {}),
232
243
  }}
233
244
  onClick={() => onTabChange(tab.id)}
245
+ onMouseEnter={() => setHoveredTab(tab.id)}
246
+ onMouseLeave={() => setHoveredTab(null)}
234
247
  >
235
248
  <span style={styles.tabIcon}>{tab.icon}</span>
236
249
  <span>{tab.label}</span>