avt-rct-lib 1.0.3 → 1.0.4
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/dist/index.cjs +32 -33
- package/dist/index.d.cts +0 -3
- package/dist/index.d.ts +0 -3
- package/dist/index.js +32 -33
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1078,8 +1078,8 @@ var useSidebar = () => React3.useContext(SidebarContext);
|
|
|
1078
1078
|
function Sidebar({
|
|
1079
1079
|
collapsed = false,
|
|
1080
1080
|
glass = true,
|
|
1081
|
-
width = "
|
|
1082
|
-
collapsedWidth = "
|
|
1081
|
+
width = "210px",
|
|
1082
|
+
collapsedWidth = "52px",
|
|
1083
1083
|
overlay = false,
|
|
1084
1084
|
onOverlayClose,
|
|
1085
1085
|
className,
|
|
@@ -1142,28 +1142,28 @@ function SidebarBrand({ logo, title, subtitle, className, ...props }) {
|
|
|
1142
1142
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1143
1143
|
"div",
|
|
1144
1144
|
{
|
|
1145
|
-
className: cn("flex items-center gap-
|
|
1145
|
+
className: cn("flex items-center gap-2.5 px-3 py-3", collapsed && "justify-center px-0", className),
|
|
1146
1146
|
...props,
|
|
1147
1147
|
children: [
|
|
1148
1148
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-shrink-0", children: logo }),
|
|
1149
1149
|
!collapsed && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 overflow-hidden", children: [
|
|
1150
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[
|
|
1151
|
-
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[
|
|
1150
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[12px] font-semibold tracking-[-0.01em] text-[#1C1C1E]", children: title }),
|
|
1151
|
+
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[10px] text-[#8E8E93]", children: subtitle })
|
|
1152
1152
|
] })
|
|
1153
1153
|
]
|
|
1154
1154
|
}
|
|
1155
1155
|
);
|
|
1156
1156
|
}
|
|
1157
1157
|
function SidebarDivider({ className }) {
|
|
1158
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mx-
|
|
1158
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mx-2 my-0.5 h-px bg-[#E5E5EA]", className) });
|
|
1159
1159
|
}
|
|
1160
1160
|
function SidebarContent({ className, ...props }) {
|
|
1161
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex-1 overflow-y-auto px-
|
|
1161
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex-1 overflow-y-auto px-1.5 py-1.5 avt-scroll space-y-px", className), ...props });
|
|
1162
1162
|
}
|
|
1163
1163
|
function SidebarGroup({ label, className, children, ...props }) {
|
|
1164
1164
|
const { collapsed } = useSidebar();
|
|
1165
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-
|
|
1166
|
-
label && !collapsed && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-
|
|
1165
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mb-0.5", className), ...props, children: [
|
|
1166
|
+
label && !collapsed && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-0.5 px-2.5 text-[9px] font-semibold uppercase tracking-widest text-[#C7C7CC]", children: label }),
|
|
1167
1167
|
children
|
|
1168
1168
|
] });
|
|
1169
1169
|
}
|
|
@@ -1185,11 +1185,10 @@ function SidebarItem({
|
|
|
1185
1185
|
...tagProps,
|
|
1186
1186
|
title: collapsed ? label : void 0,
|
|
1187
1187
|
className: cn(
|
|
1188
|
-
"flex w-full items-center gap-2
|
|
1189
|
-
"text-[
|
|
1188
|
+
"flex w-full items-center gap-2 rounded-lg transition-all duration-150",
|
|
1189
|
+
"text-[12px] font-medium select-none outline-none",
|
|
1190
1190
|
"focus-visible:ring-2 focus-visible:ring-[#007AFF]/30",
|
|
1191
|
-
|
|
1192
|
-
collapsed ? "justify-center px-0 mx-auto w-10 h-10 min-h-[44px] min-w-[44px]" : "px-3 py-2.5 min-h-[44px]",
|
|
1191
|
+
collapsed ? "justify-center px-0 mx-auto w-8 h-8 min-h-[36px] min-w-[36px]" : "px-2.5 py-1.5 min-h-[30px]",
|
|
1193
1192
|
active ? "bg-[#007AFF] text-white shadow-[0_2px_8px_rgba(0,122,255,0.28)]" : "text-[#3C3C43] hover:bg-[#007AFF]/8 hover:text-[#007AFF]",
|
|
1194
1193
|
className
|
|
1195
1194
|
),
|
|
@@ -1201,8 +1200,8 @@ function SidebarItem({
|
|
|
1201
1200
|
"span",
|
|
1202
1201
|
{
|
|
1203
1202
|
className: cn(
|
|
1204
|
-
"ml-auto flex h-
|
|
1205
|
-
"text-[
|
|
1203
|
+
"ml-auto flex h-4 min-w-4 items-center justify-center rounded-full px-1",
|
|
1204
|
+
"text-[9px] font-bold",
|
|
1206
1205
|
active ? "bg-white/20 text-white" : "bg-[#E5E5EA] text-[#8E8E93]"
|
|
1207
1206
|
),
|
|
1208
1207
|
children: badge
|
|
@@ -1239,7 +1238,7 @@ function SidebarSubMenu({
|
|
|
1239
1238
|
title: label,
|
|
1240
1239
|
onClick: toggle,
|
|
1241
1240
|
className: cn(
|
|
1242
|
-
"mx-auto flex h-
|
|
1241
|
+
"mx-auto flex h-8 w-8 min-h-[36px] min-w-[36px] items-center justify-center rounded-lg",
|
|
1243
1242
|
"select-none outline-none transition-all duration-150",
|
|
1244
1243
|
"focus-visible:ring-2 focus-visible:ring-[#007AFF]/30",
|
|
1245
1244
|
activeChild ? "bg-[#007AFF] text-white shadow-[0_2px_8px_rgba(0,122,255,0.28)]" : "text-[#3C3C43] hover:bg-[#007AFF]/8 hover:text-[#007AFF]",
|
|
@@ -1250,15 +1249,15 @@ function SidebarSubMenu({
|
|
|
1250
1249
|
);
|
|
1251
1250
|
}
|
|
1252
1251
|
const triggerActive = activeChild && !isOpen;
|
|
1253
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("space-y-
|
|
1252
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("space-y-px", className), children: [
|
|
1254
1253
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1255
1254
|
"button",
|
|
1256
1255
|
{
|
|
1257
1256
|
type: "button",
|
|
1258
1257
|
onClick: toggle,
|
|
1259
1258
|
className: cn(
|
|
1260
|
-
"flex w-full items-center gap-2
|
|
1261
|
-
"text-[
|
|
1259
|
+
"flex w-full items-center gap-2 rounded-lg px-2.5 py-1.5 min-h-[30px]",
|
|
1260
|
+
"text-[12px] font-medium select-none outline-none transition-all duration-150",
|
|
1262
1261
|
"focus-visible:ring-2 focus-visible:ring-[#007AFF]/30",
|
|
1263
1262
|
triggerActive ? "bg-[#007AFF] text-white shadow-[0_2px_8px_rgba(0,122,255,0.28)]" : "text-[#3C3C43] hover:bg-[#007AFF]/8 hover:text-[#007AFF]"
|
|
1264
1263
|
),
|
|
@@ -1269,7 +1268,7 @@ function SidebarSubMenu({
|
|
|
1269
1268
|
"span",
|
|
1270
1269
|
{
|
|
1271
1270
|
className: cn(
|
|
1272
|
-
"flex h-
|
|
1271
|
+
"flex h-4 min-w-4 items-center justify-center rounded-full px-1 text-[9px] font-bold",
|
|
1273
1272
|
triggerActive ? "bg-white/20 text-white" : "bg-[#E5E5EA] text-[#8E8E93]"
|
|
1274
1273
|
),
|
|
1275
1274
|
children: badge
|
|
@@ -1279,7 +1278,7 @@ function SidebarSubMenu({
|
|
|
1279
1278
|
"svg",
|
|
1280
1279
|
{
|
|
1281
1280
|
className: cn(
|
|
1282
|
-
"h-3
|
|
1281
|
+
"h-3 w-3 flex-shrink-0 transition-transform duration-200",
|
|
1283
1282
|
triggerActive ? "text-white/60" : "text-[#C7C7CC]",
|
|
1284
1283
|
isOpen && "rotate-90"
|
|
1285
1284
|
),
|
|
@@ -1302,7 +1301,7 @@ function SidebarSubMenu({
|
|
|
1302
1301
|
"overflow-hidden transition-all duration-200 ease-[cubic-bezier(0.16,1,0.3,1)]",
|
|
1303
1302
|
isOpen ? "max-h-96 opacity-100" : "max-h-0 opacity-0 pointer-events-none"
|
|
1304
1303
|
),
|
|
1305
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ml-
|
|
1304
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ml-2.5 space-y-px border-l border-[#E5E5EA] py-0.5 pl-1.5", children })
|
|
1306
1305
|
}
|
|
1307
1306
|
)
|
|
1308
1307
|
] });
|
|
@@ -1322,10 +1321,10 @@ function SidebarSubMenuItem({
|
|
|
1322
1321
|
{
|
|
1323
1322
|
...tagProps,
|
|
1324
1323
|
className: cn(
|
|
1325
|
-
"flex w-full items-center gap-
|
|
1326
|
-
"text-[
|
|
1324
|
+
"flex w-full items-center gap-1.5 rounded-md px-2 py-1 min-h-[26px]",
|
|
1325
|
+
"text-[11px] font-medium select-none outline-none transition-all duration-150",
|
|
1327
1326
|
"focus-visible:ring-2 focus-visible:ring-[#007AFF]/30",
|
|
1328
|
-
active ? "bg-[#007AFF] text-white shadow-[
|
|
1327
|
+
active ? "bg-[#007AFF] text-white shadow-[0_1px_4px_rgba(0,122,255,0.20)]" : "text-[#3C3C43] hover:bg-[#007AFF]/8 hover:text-[#007AFF]",
|
|
1329
1328
|
className
|
|
1330
1329
|
),
|
|
1331
1330
|
...props,
|
|
@@ -1337,7 +1336,7 @@ function SidebarSubMenuItem({
|
|
|
1337
1336
|
);
|
|
1338
1337
|
}
|
|
1339
1338
|
function SidebarFooter({ className, ...props }) {
|
|
1340
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex-shrink-0 p-
|
|
1339
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex-shrink-0 p-2", className), ...props });
|
|
1341
1340
|
}
|
|
1342
1341
|
function SidebarUser({
|
|
1343
1342
|
name,
|
|
@@ -1354,8 +1353,8 @@ function SidebarUser({
|
|
|
1354
1353
|
"div",
|
|
1355
1354
|
{
|
|
1356
1355
|
className: cn(
|
|
1357
|
-
"flex h-
|
|
1358
|
-
`bg-gradient-to-br ${avatarColor} text-white text-
|
|
1356
|
+
"flex h-7 w-7 flex-shrink-0 items-center justify-center rounded-full",
|
|
1357
|
+
`bg-gradient-to-br ${avatarColor} text-white text-[10px] font-semibold`
|
|
1359
1358
|
),
|
|
1360
1359
|
children: avatarFallback ?? name.charAt(0).toUpperCase()
|
|
1361
1360
|
}
|
|
@@ -1363,11 +1362,11 @@ function SidebarUser({
|
|
|
1363
1362
|
if (collapsed) {
|
|
1364
1363
|
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex justify-center", className), ...props, children: avatarNode });
|
|
1365
1364
|
}
|
|
1366
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("rounded-
|
|
1365
|
+
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("rounded-lg bg-[#F2F2F7] p-2", className), ...props, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
1367
1366
|
avatarNode,
|
|
1368
1367
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
1369
|
-
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[
|
|
1370
|
-
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[
|
|
1368
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[11px] font-semibold text-[#1C1C1E]", children: name }),
|
|
1369
|
+
subtitle && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "truncate text-[10px] text-[#8E8E93]", children: subtitle })
|
|
1371
1370
|
] }),
|
|
1372
1371
|
actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-shrink-0", children: actions })
|
|
1373
1372
|
] }) });
|
|
@@ -1378,7 +1377,7 @@ function SidebarToggle({ collapsed, className, ...props }) {
|
|
|
1378
1377
|
{
|
|
1379
1378
|
type: "button",
|
|
1380
1379
|
className: cn(
|
|
1381
|
-
"flex h-
|
|
1380
|
+
"flex h-6 w-6 items-center justify-center rounded-md",
|
|
1382
1381
|
"text-[#8E8E93] hover:bg-[#F2F2F7] hover:text-[#3C3C43]",
|
|
1383
1382
|
"transition-colors duration-150",
|
|
1384
1383
|
className
|
|
@@ -1388,7 +1387,7 @@ function SidebarToggle({ collapsed, className, ...props }) {
|
|
|
1388
1387
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1389
1388
|
"svg",
|
|
1390
1389
|
{
|
|
1391
|
-
className: cn("h-
|
|
1390
|
+
className: cn("h-3.5 w-3.5 transition-transform duration-200", collapsed && "rotate-180"),
|
|
1392
1391
|
viewBox: "0 0 24 24",
|
|
1393
1392
|
fill: "none",
|
|
1394
1393
|
stroke: "currentColor",
|
package/dist/index.d.cts
CHANGED
|
@@ -283,12 +283,9 @@ interface SidebarSubMenuProps {
|
|
|
283
283
|
icon?: React.ReactNode;
|
|
284
284
|
label: string;
|
|
285
285
|
badge?: string | number;
|
|
286
|
-
/** Initial open state (uncontrolled) */
|
|
287
286
|
defaultOpen?: boolean;
|
|
288
|
-
/** Controlled open state */
|
|
289
287
|
open?: boolean;
|
|
290
288
|
onOpenChange?: (open: boolean) => void;
|
|
291
|
-
/** True when one of the children is the currently active route */
|
|
292
289
|
activeChild?: boolean;
|
|
293
290
|
children: React.ReactNode;
|
|
294
291
|
className?: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -283,12 +283,9 @@ interface SidebarSubMenuProps {
|
|
|
283
283
|
icon?: React.ReactNode;
|
|
284
284
|
label: string;
|
|
285
285
|
badge?: string | number;
|
|
286
|
-
/** Initial open state (uncontrolled) */
|
|
287
286
|
defaultOpen?: boolean;
|
|
288
|
-
/** Controlled open state */
|
|
289
287
|
open?: boolean;
|
|
290
288
|
onOpenChange?: (open: boolean) => void;
|
|
291
|
-
/** True when one of the children is the currently active route */
|
|
292
289
|
activeChild?: boolean;
|
|
293
290
|
children: React.ReactNode;
|
|
294
291
|
className?: string;
|
package/dist/index.js
CHANGED
|
@@ -1072,8 +1072,8 @@ var useSidebar = () => useContext(SidebarContext);
|
|
|
1072
1072
|
function Sidebar({
|
|
1073
1073
|
collapsed = false,
|
|
1074
1074
|
glass = true,
|
|
1075
|
-
width = "
|
|
1076
|
-
collapsedWidth = "
|
|
1075
|
+
width = "210px",
|
|
1076
|
+
collapsedWidth = "52px",
|
|
1077
1077
|
overlay = false,
|
|
1078
1078
|
onOverlayClose,
|
|
1079
1079
|
className,
|
|
@@ -1136,28 +1136,28 @@ function SidebarBrand({ logo, title, subtitle, className, ...props }) {
|
|
|
1136
1136
|
return /* @__PURE__ */ jsxs(
|
|
1137
1137
|
"div",
|
|
1138
1138
|
{
|
|
1139
|
-
className: cn("flex items-center gap-
|
|
1139
|
+
className: cn("flex items-center gap-2.5 px-3 py-3", collapsed && "justify-center px-0", className),
|
|
1140
1140
|
...props,
|
|
1141
1141
|
children: [
|
|
1142
1142
|
/* @__PURE__ */ jsx("div", { className: "flex-shrink-0", children: logo }),
|
|
1143
1143
|
!collapsed && /* @__PURE__ */ jsxs("div", { className: "min-w-0 overflow-hidden", children: [
|
|
1144
|
-
/* @__PURE__ */ jsx("p", { className: "truncate text-[
|
|
1145
|
-
subtitle && /* @__PURE__ */ jsx("p", { className: "truncate text-[
|
|
1144
|
+
/* @__PURE__ */ jsx("p", { className: "truncate text-[12px] font-semibold tracking-[-0.01em] text-[#1C1C1E]", children: title }),
|
|
1145
|
+
subtitle && /* @__PURE__ */ jsx("p", { className: "truncate text-[10px] text-[#8E8E93]", children: subtitle })
|
|
1146
1146
|
] })
|
|
1147
1147
|
]
|
|
1148
1148
|
}
|
|
1149
1149
|
);
|
|
1150
1150
|
}
|
|
1151
1151
|
function SidebarDivider({ className }) {
|
|
1152
|
-
return /* @__PURE__ */ jsx("div", { className: cn("mx-
|
|
1152
|
+
return /* @__PURE__ */ jsx("div", { className: cn("mx-2 my-0.5 h-px bg-[#E5E5EA]", className) });
|
|
1153
1153
|
}
|
|
1154
1154
|
function SidebarContent({ className, ...props }) {
|
|
1155
|
-
return /* @__PURE__ */ jsx("div", { className: cn("flex-1 overflow-y-auto px-
|
|
1155
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex-1 overflow-y-auto px-1.5 py-1.5 avt-scroll space-y-px", className), ...props });
|
|
1156
1156
|
}
|
|
1157
1157
|
function SidebarGroup({ label, className, children, ...props }) {
|
|
1158
1158
|
const { collapsed } = useSidebar();
|
|
1159
|
-
return /* @__PURE__ */ jsxs("div", { className: cn("mb-
|
|
1160
|
-
label && !collapsed && /* @__PURE__ */ jsx("p", { className: "mb-
|
|
1159
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("mb-0.5", className), ...props, children: [
|
|
1160
|
+
label && !collapsed && /* @__PURE__ */ jsx("p", { className: "mb-0.5 px-2.5 text-[9px] font-semibold uppercase tracking-widest text-[#C7C7CC]", children: label }),
|
|
1161
1161
|
children
|
|
1162
1162
|
] });
|
|
1163
1163
|
}
|
|
@@ -1179,11 +1179,10 @@ function SidebarItem({
|
|
|
1179
1179
|
...tagProps,
|
|
1180
1180
|
title: collapsed ? label : void 0,
|
|
1181
1181
|
className: cn(
|
|
1182
|
-
"flex w-full items-center gap-2
|
|
1183
|
-
"text-[
|
|
1182
|
+
"flex w-full items-center gap-2 rounded-lg transition-all duration-150",
|
|
1183
|
+
"text-[12px] font-medium select-none outline-none",
|
|
1184
1184
|
"focus-visible:ring-2 focus-visible:ring-[#007AFF]/30",
|
|
1185
|
-
|
|
1186
|
-
collapsed ? "justify-center px-0 mx-auto w-10 h-10 min-h-[44px] min-w-[44px]" : "px-3 py-2.5 min-h-[44px]",
|
|
1185
|
+
collapsed ? "justify-center px-0 mx-auto w-8 h-8 min-h-[36px] min-w-[36px]" : "px-2.5 py-1.5 min-h-[30px]",
|
|
1187
1186
|
active ? "bg-[#007AFF] text-white shadow-[0_2px_8px_rgba(0,122,255,0.28)]" : "text-[#3C3C43] hover:bg-[#007AFF]/8 hover:text-[#007AFF]",
|
|
1188
1187
|
className
|
|
1189
1188
|
),
|
|
@@ -1195,8 +1194,8 @@ function SidebarItem({
|
|
|
1195
1194
|
"span",
|
|
1196
1195
|
{
|
|
1197
1196
|
className: cn(
|
|
1198
|
-
"ml-auto flex h-
|
|
1199
|
-
"text-[
|
|
1197
|
+
"ml-auto flex h-4 min-w-4 items-center justify-center rounded-full px-1",
|
|
1198
|
+
"text-[9px] font-bold",
|
|
1200
1199
|
active ? "bg-white/20 text-white" : "bg-[#E5E5EA] text-[#8E8E93]"
|
|
1201
1200
|
),
|
|
1202
1201
|
children: badge
|
|
@@ -1233,7 +1232,7 @@ function SidebarSubMenu({
|
|
|
1233
1232
|
title: label,
|
|
1234
1233
|
onClick: toggle,
|
|
1235
1234
|
className: cn(
|
|
1236
|
-
"mx-auto flex h-
|
|
1235
|
+
"mx-auto flex h-8 w-8 min-h-[36px] min-w-[36px] items-center justify-center rounded-lg",
|
|
1237
1236
|
"select-none outline-none transition-all duration-150",
|
|
1238
1237
|
"focus-visible:ring-2 focus-visible:ring-[#007AFF]/30",
|
|
1239
1238
|
activeChild ? "bg-[#007AFF] text-white shadow-[0_2px_8px_rgba(0,122,255,0.28)]" : "text-[#3C3C43] hover:bg-[#007AFF]/8 hover:text-[#007AFF]",
|
|
@@ -1244,15 +1243,15 @@ function SidebarSubMenu({
|
|
|
1244
1243
|
);
|
|
1245
1244
|
}
|
|
1246
1245
|
const triggerActive = activeChild && !isOpen;
|
|
1247
|
-
return /* @__PURE__ */ jsxs("div", { className: cn("space-y-
|
|
1246
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("space-y-px", className), children: [
|
|
1248
1247
|
/* @__PURE__ */ jsxs(
|
|
1249
1248
|
"button",
|
|
1250
1249
|
{
|
|
1251
1250
|
type: "button",
|
|
1252
1251
|
onClick: toggle,
|
|
1253
1252
|
className: cn(
|
|
1254
|
-
"flex w-full items-center gap-2
|
|
1255
|
-
"text-[
|
|
1253
|
+
"flex w-full items-center gap-2 rounded-lg px-2.5 py-1.5 min-h-[30px]",
|
|
1254
|
+
"text-[12px] font-medium select-none outline-none transition-all duration-150",
|
|
1256
1255
|
"focus-visible:ring-2 focus-visible:ring-[#007AFF]/30",
|
|
1257
1256
|
triggerActive ? "bg-[#007AFF] text-white shadow-[0_2px_8px_rgba(0,122,255,0.28)]" : "text-[#3C3C43] hover:bg-[#007AFF]/8 hover:text-[#007AFF]"
|
|
1258
1257
|
),
|
|
@@ -1263,7 +1262,7 @@ function SidebarSubMenu({
|
|
|
1263
1262
|
"span",
|
|
1264
1263
|
{
|
|
1265
1264
|
className: cn(
|
|
1266
|
-
"flex h-
|
|
1265
|
+
"flex h-4 min-w-4 items-center justify-center rounded-full px-1 text-[9px] font-bold",
|
|
1267
1266
|
triggerActive ? "bg-white/20 text-white" : "bg-[#E5E5EA] text-[#8E8E93]"
|
|
1268
1267
|
),
|
|
1269
1268
|
children: badge
|
|
@@ -1273,7 +1272,7 @@ function SidebarSubMenu({
|
|
|
1273
1272
|
"svg",
|
|
1274
1273
|
{
|
|
1275
1274
|
className: cn(
|
|
1276
|
-
"h-3
|
|
1275
|
+
"h-3 w-3 flex-shrink-0 transition-transform duration-200",
|
|
1277
1276
|
triggerActive ? "text-white/60" : "text-[#C7C7CC]",
|
|
1278
1277
|
isOpen && "rotate-90"
|
|
1279
1278
|
),
|
|
@@ -1296,7 +1295,7 @@ function SidebarSubMenu({
|
|
|
1296
1295
|
"overflow-hidden transition-all duration-200 ease-[cubic-bezier(0.16,1,0.3,1)]",
|
|
1297
1296
|
isOpen ? "max-h-96 opacity-100" : "max-h-0 opacity-0 pointer-events-none"
|
|
1298
1297
|
),
|
|
1299
|
-
children: /* @__PURE__ */ jsx("div", { className: "ml-
|
|
1298
|
+
children: /* @__PURE__ */ jsx("div", { className: "ml-2.5 space-y-px border-l border-[#E5E5EA] py-0.5 pl-1.5", children })
|
|
1300
1299
|
}
|
|
1301
1300
|
)
|
|
1302
1301
|
] });
|
|
@@ -1316,10 +1315,10 @@ function SidebarSubMenuItem({
|
|
|
1316
1315
|
{
|
|
1317
1316
|
...tagProps,
|
|
1318
1317
|
className: cn(
|
|
1319
|
-
"flex w-full items-center gap-
|
|
1320
|
-
"text-[
|
|
1318
|
+
"flex w-full items-center gap-1.5 rounded-md px-2 py-1 min-h-[26px]",
|
|
1319
|
+
"text-[11px] font-medium select-none outline-none transition-all duration-150",
|
|
1321
1320
|
"focus-visible:ring-2 focus-visible:ring-[#007AFF]/30",
|
|
1322
|
-
active ? "bg-[#007AFF] text-white shadow-[
|
|
1321
|
+
active ? "bg-[#007AFF] text-white shadow-[0_1px_4px_rgba(0,122,255,0.20)]" : "text-[#3C3C43] hover:bg-[#007AFF]/8 hover:text-[#007AFF]",
|
|
1323
1322
|
className
|
|
1324
1323
|
),
|
|
1325
1324
|
...props,
|
|
@@ -1331,7 +1330,7 @@ function SidebarSubMenuItem({
|
|
|
1331
1330
|
);
|
|
1332
1331
|
}
|
|
1333
1332
|
function SidebarFooter({ className, ...props }) {
|
|
1334
|
-
return /* @__PURE__ */ jsx("div", { className: cn("flex-shrink-0 p-
|
|
1333
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex-shrink-0 p-2", className), ...props });
|
|
1335
1334
|
}
|
|
1336
1335
|
function SidebarUser({
|
|
1337
1336
|
name,
|
|
@@ -1348,8 +1347,8 @@ function SidebarUser({
|
|
|
1348
1347
|
"div",
|
|
1349
1348
|
{
|
|
1350
1349
|
className: cn(
|
|
1351
|
-
"flex h-
|
|
1352
|
-
`bg-gradient-to-br ${avatarColor} text-white text-
|
|
1350
|
+
"flex h-7 w-7 flex-shrink-0 items-center justify-center rounded-full",
|
|
1351
|
+
`bg-gradient-to-br ${avatarColor} text-white text-[10px] font-semibold`
|
|
1353
1352
|
),
|
|
1354
1353
|
children: avatarFallback ?? name.charAt(0).toUpperCase()
|
|
1355
1354
|
}
|
|
@@ -1357,11 +1356,11 @@ function SidebarUser({
|
|
|
1357
1356
|
if (collapsed) {
|
|
1358
1357
|
return /* @__PURE__ */ jsx("div", { className: cn("flex justify-center", className), ...props, children: avatarNode });
|
|
1359
1358
|
}
|
|
1360
|
-
return /* @__PURE__ */ jsx("div", { className: cn("rounded-
|
|
1359
|
+
return /* @__PURE__ */ jsx("div", { className: cn("rounded-lg bg-[#F2F2F7] p-2", className), ...props, children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
1361
1360
|
avatarNode,
|
|
1362
1361
|
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
|
|
1363
|
-
/* @__PURE__ */ jsx("p", { className: "truncate text-[
|
|
1364
|
-
subtitle && /* @__PURE__ */ jsx("p", { className: "truncate text-[
|
|
1362
|
+
/* @__PURE__ */ jsx("p", { className: "truncate text-[11px] font-semibold text-[#1C1C1E]", children: name }),
|
|
1363
|
+
subtitle && /* @__PURE__ */ jsx("p", { className: "truncate text-[10px] text-[#8E8E93]", children: subtitle })
|
|
1365
1364
|
] }),
|
|
1366
1365
|
actions && /* @__PURE__ */ jsx("div", { className: "flex-shrink-0", children: actions })
|
|
1367
1366
|
] }) });
|
|
@@ -1372,7 +1371,7 @@ function SidebarToggle({ collapsed, className, ...props }) {
|
|
|
1372
1371
|
{
|
|
1373
1372
|
type: "button",
|
|
1374
1373
|
className: cn(
|
|
1375
|
-
"flex h-
|
|
1374
|
+
"flex h-6 w-6 items-center justify-center rounded-md",
|
|
1376
1375
|
"text-[#8E8E93] hover:bg-[#F2F2F7] hover:text-[#3C3C43]",
|
|
1377
1376
|
"transition-colors duration-150",
|
|
1378
1377
|
className
|
|
@@ -1382,7 +1381,7 @@ function SidebarToggle({ collapsed, className, ...props }) {
|
|
|
1382
1381
|
children: /* @__PURE__ */ jsx(
|
|
1383
1382
|
"svg",
|
|
1384
1383
|
{
|
|
1385
|
-
className: cn("h-
|
|
1384
|
+
className: cn("h-3.5 w-3.5 transition-transform duration-200", collapsed && "rotate-180"),
|
|
1386
1385
|
viewBox: "0 0 24 24",
|
|
1387
1386
|
fill: "none",
|
|
1388
1387
|
stroke: "currentColor",
|