@opensite/ui 1.0.3 → 1.0.5
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/navbar-animated-preview.cjs +67 -82
- package/dist/navbar-animated-preview.js +67 -81
- package/dist/navbar-centered-menu.cjs +101 -125
- package/dist/navbar-centered-menu.js +101 -124
- package/dist/navbar-dark-icons.cjs +67 -81
- package/dist/navbar-dark-icons.js +67 -80
- package/dist/navbar-dropdown-menu.cjs +87 -122
- package/dist/navbar-dropdown-menu.js +87 -121
- package/dist/navbar-education-platform.cjs +1 -1
- package/dist/navbar-education-platform.js +1 -1
- package/dist/navbar-enterprise-mega.cjs +7 -7
- package/dist/navbar-enterprise-mega.js +7 -7
- package/dist/navbar-feature-grid.cjs +131 -150
- package/dist/navbar-feature-grid.d.cts +9 -1
- package/dist/navbar-feature-grid.d.ts +9 -1
- package/dist/navbar-feature-grid.js +131 -149
- package/dist/navbar-floating-pill.cjs +2 -2
- package/dist/navbar-floating-pill.js +2 -2
- package/dist/navbar-fullscreen-menu.cjs +1 -1
- package/dist/navbar-fullscreen-menu.js +1 -1
- package/dist/navbar-icon-links.cjs +102 -138
- package/dist/navbar-icon-links.js +102 -137
- package/dist/navbar-image-preview.cjs +64 -95
- package/dist/navbar-image-preview.js +64 -94
- package/dist/navbar-mega-menu.cjs +1 -1
- package/dist/navbar-mega-menu.js +1 -1
- package/dist/navbar-multi-column-groups.cjs +67 -81
- package/dist/navbar-multi-column-groups.js +67 -80
- package/dist/navbar-platform-resources.cjs +80 -42
- package/dist/navbar-platform-resources.js +80 -42
- package/dist/navbar-search-focused.cjs +76 -93
- package/dist/navbar-search-focused.js +76 -92
- package/dist/navbar-sidebar-mobile.cjs +76 -93
- package/dist/navbar-sidebar-mobile.js +76 -92
- package/dist/navbar-simple-links.cjs +1 -1
- package/dist/navbar-simple-links.js +1 -1
- package/dist/navbar-split-cta.cjs +78 -95
- package/dist/navbar-split-cta.js +78 -94
- package/dist/navbar-sticky-compact.cjs +82 -100
- package/dist/navbar-sticky-compact.js +82 -99
- package/dist/navbar-tabbed-sections.cjs +91 -115
- package/dist/navbar-tabbed-sections.js +91 -114
- package/dist/navbar-transparent-overlay.cjs +1 -1
- package/dist/navbar-transparent-overlay.js +1 -1
- package/dist/registry.cjs +594 -618
- package/dist/registry.js +593 -617
- package/package.json +1 -1
|
@@ -1155,7 +1155,7 @@ var NavbarMobileMenu = ({
|
|
|
1155
1155
|
"div",
|
|
1156
1156
|
{
|
|
1157
1157
|
className: cn(
|
|
1158
|
-
"h-full overflow-y-auto pt-
|
|
1158
|
+
"h-full overflow-y-auto pt-20 pb-8 px-4 sm:px-6",
|
|
1159
1159
|
contentClassName
|
|
1160
1160
|
),
|
|
1161
1161
|
children
|
|
@@ -1241,7 +1241,7 @@ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks",
|
|
|
1241
1241
|
// Outer container wrapper (only for floating bar - this containerizes the entire navbar)
|
|
1242
1242
|
containerWrapperClasses: cn(
|
|
1243
1243
|
"w-full",
|
|
1244
|
-
isFloatingBar && "mx-auto
|
|
1244
|
+
isFloatingBar && "mx-auto container relative z-10 px-0 sm:px-0 lg:px-0"
|
|
1245
1245
|
),
|
|
1246
1246
|
// Inner container classes (only for fullScreenContainerizedLinks - this containerizes the content inside the navbar)
|
|
1247
1247
|
innerContainerClasses: cn(
|
|
@@ -1906,7 +1906,7 @@ var renderMobileDropdownContent = (item) => {
|
|
|
1906
1906
|
switch (item.layout) {
|
|
1907
1907
|
case "solutions-with-platform":
|
|
1908
1908
|
return /* @__PURE__ */ jsx("div", { className: "space-y-4", children: item.solutionCards?.map((solution) => /* @__PURE__ */ jsxs("div", { className: "space-y-2", children: [
|
|
1909
|
-
/* @__PURE__ */ jsx(Pressable, { href: solution.href, className: "text-sm font-medium", children: solution.title }),
|
|
1909
|
+
/* @__PURE__ */ jsx(Pressable, { href: solution.href, className: "mb-2 text-sm font-medium", children: solution.title }),
|
|
1910
1910
|
solution.subpages.map((subpage) => /* @__PURE__ */ jsxs(
|
|
1911
1911
|
Pressable,
|
|
1912
1912
|
{
|
|
@@ -1999,10 +1999,9 @@ var MobileNavigationMenu = ({
|
|
|
1999
1999
|
open,
|
|
2000
2000
|
onClose: () => setOpen(false),
|
|
2001
2001
|
title: "Mobile Navigation",
|
|
2002
|
-
contentClassName: "pt-
|
|
2002
|
+
contentClassName: "pt-10 pb-20",
|
|
2003
2003
|
children: /* @__PURE__ */ jsxs("div", { className: "max-w-screen-sm mx-auto", children: [
|
|
2004
|
-
/* @__PURE__ */ jsx(
|
|
2005
|
-
/* @__PURE__ */ jsx(Accordion, { type: "multiple", className: "mt-6 w-full", children: menuLinks.map((item, index) => {
|
|
2004
|
+
/* @__PURE__ */ jsx(Accordion, { type: "multiple", className: "w-full", children: menuLinks.map((item, index) => {
|
|
2006
2005
|
const hasDropdown = Boolean(item.layout);
|
|
2007
2006
|
if (hasDropdown) {
|
|
2008
2007
|
return /* @__PURE__ */ jsxs(
|
|
@@ -2027,7 +2026,8 @@ var MobileNavigationMenu = ({
|
|
|
2027
2026
|
},
|
|
2028
2027
|
typeof item.label === "string" ? item.label : `nav-${index}`
|
|
2029
2028
|
);
|
|
2030
|
-
}) })
|
|
2029
|
+
}) }),
|
|
2030
|
+
/* @__PURE__ */ jsx("div", { className: cn("mt-6 flex flex-col gap-4", actionsClassName), children: renderActions })
|
|
2031
2031
|
] })
|
|
2032
2032
|
}
|
|
2033
2033
|
);
|
|
@@ -8,7 +8,6 @@ var classVarianceAuthority = require('class-variance-authority');
|
|
|
8
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
9
|
var AccordionPrimitive = require('@radix-ui/react-accordion');
|
|
10
10
|
var NavigationMenuPrimitive = require('@radix-ui/react-navigation-menu');
|
|
11
|
-
var SheetPrimitive = require('@radix-ui/react-dialog');
|
|
12
11
|
var img = require('@page-speed/img');
|
|
13
12
|
|
|
14
13
|
function _interopNamespace(e) {
|
|
@@ -32,7 +31,6 @@ function _interopNamespace(e) {
|
|
|
32
31
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
33
32
|
var AccordionPrimitive__namespace = /*#__PURE__*/_interopNamespace(AccordionPrimitive);
|
|
34
33
|
var NavigationMenuPrimitive__namespace = /*#__PURE__*/_interopNamespace(NavigationMenuPrimitive);
|
|
35
|
-
var SheetPrimitive__namespace = /*#__PURE__*/_interopNamespace(SheetPrimitive);
|
|
36
34
|
|
|
37
35
|
// components/blocks/navbars/navbar-feature-grid.tsx
|
|
38
36
|
function cn(...inputs) {
|
|
@@ -828,14 +826,14 @@ function PatternBackground({
|
|
|
828
826
|
);
|
|
829
827
|
}
|
|
830
828
|
if (pattern in patternOverlays) {
|
|
831
|
-
const
|
|
829
|
+
const Overlay = patternOverlays[pattern];
|
|
832
830
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
833
831
|
"div",
|
|
834
832
|
{
|
|
835
833
|
className: cn("pointer-events-none absolute inset-0 z-0", className),
|
|
836
834
|
style: { opacity, ...style },
|
|
837
835
|
"aria-hidden": "true",
|
|
838
|
-
children:
|
|
836
|
+
children: Overlay()
|
|
839
837
|
}
|
|
840
838
|
);
|
|
841
839
|
}
|
|
@@ -1134,90 +1132,62 @@ function NavigationMenuLink({
|
|
|
1134
1132
|
}
|
|
1135
1133
|
);
|
|
1136
1134
|
}
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
...props
|
|
1142
|
-
}) {
|
|
1143
|
-
return /* @__PURE__ */ jsxRuntime.jsx(SheetPrimitive__namespace.Trigger, { "data-slot": "sheet-trigger", ...props });
|
|
1144
|
-
}
|
|
1145
|
-
function SheetPortal({
|
|
1146
|
-
...props
|
|
1147
|
-
}) {
|
|
1148
|
-
return /* @__PURE__ */ jsxRuntime.jsx(SheetPrimitive__namespace.Portal, { "data-slot": "sheet-portal", ...props });
|
|
1149
|
-
}
|
|
1150
|
-
function SheetOverlay({
|
|
1135
|
+
var NavbarMobileMenu = ({
|
|
1136
|
+
open,
|
|
1137
|
+
onClose,
|
|
1138
|
+
children,
|
|
1151
1139
|
className,
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1140
|
+
contentClassName,
|
|
1141
|
+
title = "Mobile Navigation"
|
|
1142
|
+
}) => {
|
|
1143
|
+
React__namespace.useEffect(() => {
|
|
1144
|
+
if (open) {
|
|
1145
|
+
const originalOverflow = document.body.style.overflow;
|
|
1146
|
+
document.body.style.overflow = "hidden";
|
|
1147
|
+
return () => {
|
|
1148
|
+
document.body.style.overflow = originalOverflow;
|
|
1149
|
+
};
|
|
1150
|
+
}
|
|
1151
|
+
}, [open]);
|
|
1152
|
+
if (!open) return null;
|
|
1153
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1154
|
+
"div",
|
|
1156
1155
|
{
|
|
1157
|
-
"data-slot": "sheet-overlay",
|
|
1158
1156
|
className: cn(
|
|
1159
|
-
"
|
|
1157
|
+
"fixed inset-0 z-[998] flex flex-col bg-background",
|
|
1158
|
+
"animate-in slide-in-from-top duration-300",
|
|
1159
|
+
"data-[state=closed]:animate-out data-[state=closed]:slide-out-to-top data-[state=closed]:duration-300",
|
|
1160
1160
|
className
|
|
1161
1161
|
),
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
children,
|
|
1189
|
-
/* @__PURE__ */ jsxRuntime.jsxs(SheetPrimitive__namespace.Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none", children: [
|
|
1190
|
-
/* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/x", className: "size-4" }),
|
|
1191
|
-
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
|
|
1192
|
-
] })
|
|
1193
|
-
]
|
|
1194
|
-
}
|
|
1195
|
-
)
|
|
1196
|
-
] });
|
|
1197
|
-
}
|
|
1198
|
-
function SheetHeader({ className, ...props }) {
|
|
1199
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1200
|
-
"div",
|
|
1201
|
-
{
|
|
1202
|
-
"data-slot": "sheet-header",
|
|
1203
|
-
className: cn("flex flex-col gap-1.5 p-4", className),
|
|
1204
|
-
...props
|
|
1205
|
-
}
|
|
1206
|
-
);
|
|
1207
|
-
}
|
|
1208
|
-
function SheetTitle({
|
|
1209
|
-
className,
|
|
1210
|
-
...props
|
|
1211
|
-
}) {
|
|
1212
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1213
|
-
SheetPrimitive__namespace.Title,
|
|
1214
|
-
{
|
|
1215
|
-
"data-slot": "sheet-title",
|
|
1216
|
-
className: cn("text-foreground font-semibold", className),
|
|
1217
|
-
...props
|
|
1162
|
+
"data-state": open ? "open" : "closed",
|
|
1163
|
+
children: [
|
|
1164
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "sr-only", children: /* @__PURE__ */ jsxRuntime.jsx("h2", { children: title }) }),
|
|
1165
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-4 right-4 z-10", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1166
|
+
"button",
|
|
1167
|
+
{
|
|
1168
|
+
onClick: onClose,
|
|
1169
|
+
className: "flex size-10 items-center justify-center rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",
|
|
1170
|
+
"aria-label": "Close mobile menu",
|
|
1171
|
+
children: [
|
|
1172
|
+
/* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/x", className: "size-4" }),
|
|
1173
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Close" })
|
|
1174
|
+
]
|
|
1175
|
+
}
|
|
1176
|
+
) }),
|
|
1177
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1178
|
+
"div",
|
|
1179
|
+
{
|
|
1180
|
+
className: cn(
|
|
1181
|
+
"h-full overflow-y-auto pt-20 pb-8 px-4 sm:px-6",
|
|
1182
|
+
contentClassName
|
|
1183
|
+
),
|
|
1184
|
+
children
|
|
1185
|
+
}
|
|
1186
|
+
)
|
|
1187
|
+
]
|
|
1218
1188
|
}
|
|
1219
1189
|
);
|
|
1220
|
-
}
|
|
1190
|
+
};
|
|
1221
1191
|
var NavbarLogo = ({
|
|
1222
1192
|
logo,
|
|
1223
1193
|
logoSlot,
|
|
@@ -1294,7 +1264,7 @@ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks",
|
|
|
1294
1264
|
// Outer container wrapper (only for floating bar - this containerizes the entire navbar)
|
|
1295
1265
|
containerWrapperClasses: cn(
|
|
1296
1266
|
"w-full",
|
|
1297
|
-
isFloatingBar && "mx-auto
|
|
1267
|
+
isFloatingBar && "mx-auto container relative z-10 px-0 sm:px-0 lg:px-0"
|
|
1298
1268
|
),
|
|
1299
1269
|
// Inner container classes (only for fullScreenContainerizedLinks - this containerizes the content inside the navbar)
|
|
1300
1270
|
innerContainerClasses: cn(
|
|
@@ -1324,6 +1294,7 @@ var NavbarFeatureGrid = ({
|
|
|
1324
1294
|
logo,
|
|
1325
1295
|
logoSlot,
|
|
1326
1296
|
features,
|
|
1297
|
+
menu,
|
|
1327
1298
|
authActions,
|
|
1328
1299
|
authActionsSlot,
|
|
1329
1300
|
layoutVariant = "fullScreenContainerizedLinks",
|
|
@@ -1333,6 +1304,7 @@ var NavbarFeatureGrid = ({
|
|
|
1333
1304
|
patternOpacity,
|
|
1334
1305
|
optixFlowConfig
|
|
1335
1306
|
}) => {
|
|
1307
|
+
const [open, setOpen] = React__namespace.useState(false);
|
|
1336
1308
|
const renderAuthActions = React.useMemo(() => {
|
|
1337
1309
|
if (authActionsSlot) return authActionsSlot;
|
|
1338
1310
|
if (!authActions || authActions.length === 0) return null;
|
|
@@ -1389,21 +1361,31 @@ var NavbarFeatureGrid = ({
|
|
|
1389
1361
|
NavigationMenu,
|
|
1390
1362
|
{
|
|
1391
1363
|
className: cn("hidden lg:block", navigationMenuClassName),
|
|
1392
|
-
children: /* @__PURE__ */ jsxRuntime.
|
|
1393
|
-
/* @__PURE__ */ jsxRuntime.
|
|
1394
|
-
|
|
1364
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(NavigationMenuList, { children: [
|
|
1365
|
+
features && features.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(NavigationMenuItem, { children: [
|
|
1366
|
+
/* @__PURE__ */ jsxRuntime.jsx(NavigationMenuTrigger, { children: "Features" }),
|
|
1367
|
+
/* @__PURE__ */ jsxRuntime.jsx(NavigationMenuContent, { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid w-[600px] grid-cols-2 p-3", children: features.map((feature, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1368
|
+
NavigationMenuLink,
|
|
1369
|
+
{
|
|
1370
|
+
href: feature.href,
|
|
1371
|
+
className: "rounded-md p-3 transition-colors hover:bg-muted/70",
|
|
1372
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1373
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-1 font-semibold", children: feature.title }),
|
|
1374
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: feature.description })
|
|
1375
|
+
] })
|
|
1376
|
+
},
|
|
1377
|
+
index
|
|
1378
|
+
)) }) })
|
|
1379
|
+
] }),
|
|
1380
|
+
menu?.map((item, index) => /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuItem, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1395
1381
|
NavigationMenuLink,
|
|
1396
1382
|
{
|
|
1397
|
-
href:
|
|
1398
|
-
className: "
|
|
1399
|
-
children:
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
},
|
|
1404
|
-
index
|
|
1405
|
-
)) }) })
|
|
1406
|
-
] }) })
|
|
1383
|
+
href: item.url,
|
|
1384
|
+
className: "h-auto bg-transparent px-3 py-2 font-normal hover:bg-muted focus:bg-muted",
|
|
1385
|
+
children: item.title
|
|
1386
|
+
}
|
|
1387
|
+
) }, index))
|
|
1388
|
+
] })
|
|
1407
1389
|
}
|
|
1408
1390
|
),
|
|
1409
1391
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1416,59 +1398,58 @@ var NavbarFeatureGrid = ({
|
|
|
1416
1398
|
children: renderAuthActions
|
|
1417
1399
|
}
|
|
1418
1400
|
),
|
|
1419
|
-
/* @__PURE__ */ jsxRuntime.
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
),
|
|
1401
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1402
|
+
Pressable,
|
|
1403
|
+
{
|
|
1404
|
+
variant: "outline",
|
|
1405
|
+
size: "icon",
|
|
1406
|
+
asButton: true,
|
|
1407
|
+
className: "lg:hidden",
|
|
1408
|
+
onClick: () => setOpen(!open),
|
|
1409
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/menu", size: 16 })
|
|
1410
|
+
}
|
|
1411
|
+
),
|
|
1412
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1413
|
+
NavbarMobileMenu,
|
|
1414
|
+
{
|
|
1415
|
+
open,
|
|
1416
|
+
onClose: () => setOpen(false),
|
|
1417
|
+
title: "Mobile Navigation",
|
|
1418
|
+
contentClassName: "pt-10 pb-20",
|
|
1419
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-screen-sm mx-auto", children: [
|
|
1420
|
+
/* @__PURE__ */ jsxRuntime.jsxs(Accordion, { type: "multiple", className: "w-full", children: [
|
|
1421
|
+
features && features.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1422
|
+
AccordionItem,
|
|
1423
|
+
{
|
|
1424
|
+
value: "features",
|
|
1425
|
+
className: "border-b-0",
|
|
1426
|
+
children: [
|
|
1427
|
+
/* @__PURE__ */ jsxRuntime.jsx(AccordionTrigger, { className: "h-15 items-center text-base font-normal text-foreground hover:no-underline", children: "Features" }),
|
|
1428
|
+
/* @__PURE__ */ jsxRuntime.jsx(AccordionContent, { className: "max-h-[60dvh] overflow-y-auto space-y-2", children: features.map((feature, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1429
|
+
Pressable,
|
|
1430
|
+
{
|
|
1431
|
+
href: feature.href,
|
|
1432
|
+
className: "flex items-start gap-2 pl-4 text-sm text-muted-foreground hover:text-foreground",
|
|
1433
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1434
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-1 font-semibold", children: feature.title }),
|
|
1435
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: feature.description })
|
|
1436
|
+
] })
|
|
1437
|
+
},
|
|
1438
|
+
index
|
|
1439
|
+
)) })
|
|
1440
|
+
]
|
|
1441
|
+
}
|
|
1442
|
+
),
|
|
1443
|
+
menu?.map((item, index) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1444
|
+
Pressable,
|
|
1445
|
+
{
|
|
1446
|
+
href: item.url,
|
|
1447
|
+
className: "flex h-15 items-center text-base font-normal text-foreground",
|
|
1448
|
+
children: item.title
|
|
1449
|
+
},
|
|
1450
|
+
index
|
|
1451
|
+
))
|
|
1452
|
+
] }),
|
|
1472
1453
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1473
1454
|
"div",
|
|
1474
1455
|
{
|
|
@@ -1480,8 +1461,8 @@ var NavbarFeatureGrid = ({
|
|
|
1480
1461
|
}
|
|
1481
1462
|
)
|
|
1482
1463
|
] })
|
|
1483
|
-
|
|
1484
|
-
|
|
1464
|
+
}
|
|
1465
|
+
)
|
|
1485
1466
|
]
|
|
1486
1467
|
}
|
|
1487
1468
|
) }) }) })
|
|
@@ -12,6 +12,10 @@ interface FeatureItem {
|
|
|
12
12
|
description: string;
|
|
13
13
|
href: string;
|
|
14
14
|
}
|
|
15
|
+
interface MenuItem {
|
|
16
|
+
title: string;
|
|
17
|
+
url: string;
|
|
18
|
+
}
|
|
15
19
|
/**
|
|
16
20
|
* Props for the NavbarFeatureGrid component
|
|
17
21
|
*/
|
|
@@ -52,6 +56,10 @@ interface NavbarFeatureGridProps {
|
|
|
52
56
|
* Features for Features dropdown
|
|
53
57
|
*/
|
|
54
58
|
features?: FeatureItem[];
|
|
59
|
+
/**
|
|
60
|
+
* Additional menu items (simple links without dropdowns)
|
|
61
|
+
*/
|
|
62
|
+
menu?: MenuItem[];
|
|
55
63
|
/**
|
|
56
64
|
* Authentication action configurations
|
|
57
65
|
*/
|
|
@@ -93,6 +101,6 @@ interface NavbarFeatureGridProps {
|
|
|
93
101
|
* view uses a top-sliding sheet with accordion navigation. Ideal for SaaS applications
|
|
94
102
|
* with multiple feature categories.
|
|
95
103
|
*/
|
|
96
|
-
declare const NavbarFeatureGrid: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logoClassName, logo, logoSlot, features, authActions, authActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarFeatureGridProps) => react_jsx_runtime.JSX.Element;
|
|
104
|
+
declare const NavbarFeatureGrid: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logoClassName, logo, logoSlot, features, menu, authActions, authActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarFeatureGridProps) => react_jsx_runtime.JSX.Element;
|
|
97
105
|
|
|
98
106
|
export { NavbarFeatureGrid, type NavbarFeatureGridProps };
|
|
@@ -12,6 +12,10 @@ interface FeatureItem {
|
|
|
12
12
|
description: string;
|
|
13
13
|
href: string;
|
|
14
14
|
}
|
|
15
|
+
interface MenuItem {
|
|
16
|
+
title: string;
|
|
17
|
+
url: string;
|
|
18
|
+
}
|
|
15
19
|
/**
|
|
16
20
|
* Props for the NavbarFeatureGrid component
|
|
17
21
|
*/
|
|
@@ -52,6 +56,10 @@ interface NavbarFeatureGridProps {
|
|
|
52
56
|
* Features for Features dropdown
|
|
53
57
|
*/
|
|
54
58
|
features?: FeatureItem[];
|
|
59
|
+
/**
|
|
60
|
+
* Additional menu items (simple links without dropdowns)
|
|
61
|
+
*/
|
|
62
|
+
menu?: MenuItem[];
|
|
55
63
|
/**
|
|
56
64
|
* Authentication action configurations
|
|
57
65
|
*/
|
|
@@ -93,6 +101,6 @@ interface NavbarFeatureGridProps {
|
|
|
93
101
|
* view uses a top-sliding sheet with accordion navigation. Ideal for SaaS applications
|
|
94
102
|
* with multiple feature categories.
|
|
95
103
|
*/
|
|
96
|
-
declare const NavbarFeatureGrid: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logoClassName, logo, logoSlot, features, authActions, authActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarFeatureGridProps) => react_jsx_runtime.JSX.Element;
|
|
104
|
+
declare const NavbarFeatureGrid: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logoClassName, logo, logoSlot, features, menu, authActions, authActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarFeatureGridProps) => react_jsx_runtime.JSX.Element;
|
|
97
105
|
|
|
98
106
|
export { NavbarFeatureGrid, type NavbarFeatureGridProps };
|