@opensite/ui 0.4.4 → 0.4.6
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 +97 -58
- package/dist/navbar-animated-preview.d.cts +9 -64
- package/dist/navbar-animated-preview.d.ts +9 -64
- package/dist/navbar-animated-preview.js +97 -58
- package/dist/navbar-centered-menu.cjs +46 -7
- package/dist/navbar-centered-menu.d.cts +7 -11
- package/dist/navbar-centered-menu.d.ts +7 -11
- package/dist/navbar-centered-menu.js +46 -7
- package/dist/navbar-dark-icons.cjs +50 -10
- package/dist/navbar-dark-icons.d.cts +6 -11
- package/dist/navbar-dark-icons.d.ts +6 -11
- package/dist/navbar-dark-icons.js +50 -10
- package/dist/navbar-dropdown-menu.cjs +47 -8
- package/dist/navbar-dropdown-menu.d.cts +8 -12
- package/dist/navbar-dropdown-menu.d.ts +8 -12
- package/dist/navbar-dropdown-menu.js +47 -8
- package/dist/navbar-education-platform.cjs +48 -10
- package/dist/navbar-education-platform.d.cts +6 -11
- package/dist/navbar-education-platform.d.ts +6 -11
- package/dist/navbar-education-platform.js +48 -10
- package/dist/navbar-enterprise-mega.cjs +50 -10
- package/dist/navbar-enterprise-mega.d.cts +7 -37
- package/dist/navbar-enterprise-mega.d.ts +7 -37
- package/dist/navbar-enterprise-mega.js +50 -10
- package/dist/navbar-feature-grid.cjs +47 -8
- package/dist/navbar-feature-grid.d.cts +6 -11
- package/dist/navbar-feature-grid.d.ts +6 -11
- package/dist/navbar-feature-grid.js +47 -8
- package/dist/navbar-floating-pill.cjs +50 -11
- package/dist/navbar-floating-pill.d.cts +6 -11
- package/dist/navbar-floating-pill.d.ts +6 -11
- package/dist/navbar-floating-pill.js +50 -11
- package/dist/navbar-fullscreen-menu.cjs +44 -5
- package/dist/navbar-fullscreen-menu.d.cts +6 -11
- package/dist/navbar-fullscreen-menu.d.ts +6 -11
- package/dist/navbar-fullscreen-menu.js +44 -5
- package/dist/navbar-icon-links.cjs +46 -8
- package/dist/navbar-icon-links.d.cts +9 -11
- package/dist/navbar-icon-links.d.ts +9 -11
- package/dist/navbar-icon-links.js +46 -8
- package/dist/navbar-image-preview.cjs +56 -12
- package/dist/navbar-image-preview.d.cts +11 -17
- package/dist/navbar-image-preview.d.ts +11 -17
- package/dist/navbar-image-preview.js +56 -12
- package/dist/navbar-mega-menu.cjs +69 -20
- package/dist/navbar-mega-menu.d.cts +8 -74
- package/dist/navbar-mega-menu.d.ts +8 -74
- package/dist/navbar-mega-menu.js +69 -20
- package/dist/navbar-multi-column-groups.cjs +47 -11
- package/dist/navbar-multi-column-groups.d.cts +6 -11
- package/dist/navbar-multi-column-groups.d.ts +6 -11
- package/dist/navbar-multi-column-groups.js +47 -11
- package/dist/navbar-platform-resources.cjs +199 -164
- package/dist/navbar-platform-resources.d.cts +7 -37
- package/dist/navbar-platform-resources.d.ts +7 -37
- package/dist/navbar-platform-resources.js +199 -164
- package/dist/navbar-search-focused.cjs +45 -7
- package/dist/navbar-search-focused.d.cts +6 -11
- package/dist/navbar-search-focused.d.ts +6 -11
- package/dist/navbar-search-focused.js +45 -7
- package/dist/navbar-sidebar-mobile.cjs +47 -8
- package/dist/navbar-sidebar-mobile.d.cts +6 -11
- package/dist/navbar-sidebar-mobile.d.ts +6 -11
- package/dist/navbar-sidebar-mobile.js +47 -8
- package/dist/navbar-simple-links.cjs +45 -7
- package/dist/navbar-simple-links.d.cts +6 -11
- package/dist/navbar-simple-links.d.ts +6 -11
- package/dist/navbar-simple-links.js +45 -7
- package/dist/navbar-split-cta.cjs +47 -8
- package/dist/navbar-split-cta.d.cts +6 -11
- package/dist/navbar-split-cta.d.ts +6 -11
- package/dist/navbar-split-cta.js +47 -8
- package/dist/navbar-sticky-compact.cjs +49 -10
- package/dist/navbar-sticky-compact.d.cts +6 -11
- package/dist/navbar-sticky-compact.d.ts +6 -11
- package/dist/navbar-sticky-compact.js +49 -10
- package/dist/navbar-tabbed-sections.cjs +47 -8
- package/dist/navbar-tabbed-sections.d.cts +6 -11
- package/dist/navbar-tabbed-sections.d.ts +6 -11
- package/dist/navbar-tabbed-sections.js +47 -8
- package/dist/navbar-transparent-overlay.cjs +47 -9
- package/dist/navbar-transparent-overlay.d.cts +6 -11
- package/dist/navbar-transparent-overlay.d.ts +6 -11
- package/dist/navbar-transparent-overlay.js +47 -9
- package/dist/registry.cjs +522 -328
- package/dist/registry.js +522 -328
- package/dist/types-COVDidbn.d.cts +119 -0
- package/dist/types-COVDidbn.d.ts +119 -0
- package/package.json +2 -2
|
@@ -986,7 +986,7 @@ function NavigationMenuList({
|
|
|
986
986
|
{
|
|
987
987
|
"data-slot": "navigation-menu-list",
|
|
988
988
|
className: cn(
|
|
989
|
-
"group flex flex-1 list-none items-center justify-center gap-6",
|
|
989
|
+
"group flex flex-1 list-none items-center justify-center gap-2 lg:gap-4 xl:gap-6",
|
|
990
990
|
className
|
|
991
991
|
),
|
|
992
992
|
...props
|
|
@@ -1026,8 +1026,9 @@ function NavigationMenuTrigger({
|
|
|
1026
1026
|
/* @__PURE__ */ jsx(
|
|
1027
1027
|
DynamicIcon,
|
|
1028
1028
|
{
|
|
1029
|
+
size: 18,
|
|
1029
1030
|
name: "lucide/chevron-down",
|
|
1030
|
-
className: "relative top-
|
|
1031
|
+
className: "relative top-px opacity-50 transition duration-300 group-data-[state=open]:rotate-180",
|
|
1031
1032
|
"aria-hidden": "true"
|
|
1032
1033
|
}
|
|
1033
1034
|
)
|
|
@@ -1067,7 +1068,7 @@ function NavigationMenuViewport({
|
|
|
1067
1068
|
{
|
|
1068
1069
|
"data-slot": "navigation-menu-viewport",
|
|
1069
1070
|
className: cn(
|
|
1070
|
-
"origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-
|
|
1071
|
+
"origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-(--radix-navigation-menu-viewport-height) w-full overflow-hidden rounded-md border border-border/50 shadow-sm md:w-(--radix-navigation-menu-viewport-width)",
|
|
1071
1072
|
className
|
|
1072
1073
|
),
|
|
1073
1074
|
...props
|
|
@@ -1085,7 +1086,7 @@ function NavigationMenuLink({
|
|
|
1085
1086
|
{
|
|
1086
1087
|
"data-slot": "navigation-menu-link",
|
|
1087
1088
|
className: cn(
|
|
1088
|
-
"
|
|
1089
|
+
"group inline-flex w-max items-center justify-center rounded-md text-sm disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-muted data-[state=open]:focus:bg-muted focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 group h-auto bg-transparent px-3 py-2 font-normal text-foreground/80 hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground data-[state=open]:bg-muted/50 data-[state=open]:text-foreground",
|
|
1089
1090
|
className
|
|
1090
1091
|
),
|
|
1091
1092
|
...props
|
|
@@ -1180,6 +1181,36 @@ function SheetTitle({
|
|
|
1180
1181
|
// lib/mediaPlaceholders.ts
|
|
1181
1182
|
var logoPlaceholders = {
|
|
1182
1183
|
logoMark: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/monochrome-rounded-square-app-icon-circular-emblem.png"};
|
|
1184
|
+
|
|
1185
|
+
// components/blocks/navbars/layout-variant-utils.ts
|
|
1186
|
+
function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks", customClasses) {
|
|
1187
|
+
const isFloatingBar = layoutVariant === "floatingBar";
|
|
1188
|
+
const isFullWidthLinks = layoutVariant === "fullScreenFullWidthLinks";
|
|
1189
|
+
return {
|
|
1190
|
+
// Section wrapper classes
|
|
1191
|
+
sectionClasses: cn(
|
|
1192
|
+
"inset-x-0 z-20",
|
|
1193
|
+
isFloatingBar ? "sticky top-4" : "top-0",
|
|
1194
|
+
customClasses?.className
|
|
1195
|
+
),
|
|
1196
|
+
// Outer container wrapper (only for floating bar)
|
|
1197
|
+
containerWrapperClasses: cn(
|
|
1198
|
+
isFloatingBar && "mx-auto w-full px-2 sm:px-4 lg:px-8 max-w-7xl relative z-10"
|
|
1199
|
+
),
|
|
1200
|
+
// Inner container classes
|
|
1201
|
+
innerContainerClasses: cn(
|
|
1202
|
+
!isFloatingBar && !isFullWidthLinks && "container",
|
|
1203
|
+
isFullWidthLinks && "mx-auto w-full px-2 sm:px-4 lg:px-8",
|
|
1204
|
+
customClasses?.containerClassName
|
|
1205
|
+
),
|
|
1206
|
+
// Navigation wrapper classes (for border and shadow)
|
|
1207
|
+
navWrapperClasses: cn(
|
|
1208
|
+
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm"
|
|
1209
|
+
),
|
|
1210
|
+
// Spacing adjustment for Section component
|
|
1211
|
+
spacingOverride: isFloatingBar ? "none" : void 0
|
|
1212
|
+
};
|
|
1213
|
+
}
|
|
1183
1214
|
var SubMenuLink = ({
|
|
1184
1215
|
item,
|
|
1185
1216
|
optixFlowConfig
|
|
@@ -1256,6 +1287,7 @@ var NavbarDropdownMenu = ({
|
|
|
1256
1287
|
mobileNavClassName,
|
|
1257
1288
|
navigationMenuClassName,
|
|
1258
1289
|
actionsClassName,
|
|
1290
|
+
layoutVariant = "fullScreenContainerizedLinks",
|
|
1259
1291
|
background = "white",
|
|
1260
1292
|
spacing = "sm",
|
|
1261
1293
|
pattern,
|
|
@@ -1323,15 +1355,22 @@ var NavbarDropdownMenu = ({
|
|
|
1323
1355
|
if (!menu || menu.length === 0) return null;
|
|
1324
1356
|
return menu.map((item) => renderMobileMenuItem(item, optixFlowConfig));
|
|
1325
1357
|
};
|
|
1358
|
+
const {
|
|
1359
|
+
sectionClasses,
|
|
1360
|
+
containerWrapperClasses,
|
|
1361
|
+
innerContainerClasses,
|
|
1362
|
+
navWrapperClasses,
|
|
1363
|
+
spacingOverride
|
|
1364
|
+
} = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
|
|
1326
1365
|
return /* @__PURE__ */ jsx(
|
|
1327
1366
|
Section,
|
|
1328
1367
|
{
|
|
1329
1368
|
background,
|
|
1330
|
-
spacing,
|
|
1331
|
-
className:
|
|
1369
|
+
spacing: spacingOverride ?? spacing,
|
|
1370
|
+
className: sectionClasses,
|
|
1332
1371
|
pattern,
|
|
1333
1372
|
patternOpacity,
|
|
1334
|
-
children: /* @__PURE__ */
|
|
1373
|
+
children: /* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsxs("div", { className: cn(innerContainerClasses, navWrapperClasses), children: [
|
|
1335
1374
|
/* @__PURE__ */ jsxs(
|
|
1336
1375
|
"nav",
|
|
1337
1376
|
{
|
|
@@ -1379,7 +1418,7 @@ var NavbarDropdownMenu = ({
|
|
|
1379
1418
|
] })
|
|
1380
1419
|
] })
|
|
1381
1420
|
] }) })
|
|
1382
|
-
] })
|
|
1421
|
+
] }) })
|
|
1383
1422
|
}
|
|
1384
1423
|
);
|
|
1385
1424
|
};
|
|
@@ -1010,7 +1010,7 @@ function NavigationMenuList({
|
|
|
1010
1010
|
{
|
|
1011
1011
|
"data-slot": "navigation-menu-list",
|
|
1012
1012
|
className: cn(
|
|
1013
|
-
"group flex flex-1 list-none items-center justify-center gap-6",
|
|
1013
|
+
"group flex flex-1 list-none items-center justify-center gap-2 lg:gap-4 xl:gap-6",
|
|
1014
1014
|
className
|
|
1015
1015
|
),
|
|
1016
1016
|
...props
|
|
@@ -1050,8 +1050,9 @@ function NavigationMenuTrigger({
|
|
|
1050
1050
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1051
1051
|
DynamicIcon,
|
|
1052
1052
|
{
|
|
1053
|
+
size: 18,
|
|
1053
1054
|
name: "lucide/chevron-down",
|
|
1054
|
-
className: "relative top-
|
|
1055
|
+
className: "relative top-px opacity-50 transition duration-300 group-data-[state=open]:rotate-180",
|
|
1055
1056
|
"aria-hidden": "true"
|
|
1056
1057
|
}
|
|
1057
1058
|
)
|
|
@@ -1091,7 +1092,7 @@ function NavigationMenuViewport({
|
|
|
1091
1092
|
{
|
|
1092
1093
|
"data-slot": "navigation-menu-viewport",
|
|
1093
1094
|
className: cn(
|
|
1094
|
-
"origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-
|
|
1095
|
+
"origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-(--radix-navigation-menu-viewport-height) w-full overflow-hidden rounded-md border border-border/50 shadow-sm md:w-(--radix-navigation-menu-viewport-width)",
|
|
1095
1096
|
className
|
|
1096
1097
|
),
|
|
1097
1098
|
...props
|
|
@@ -1109,7 +1110,7 @@ function NavigationMenuLink({
|
|
|
1109
1110
|
{
|
|
1110
1111
|
"data-slot": "navigation-menu-link",
|
|
1111
1112
|
className: cn(
|
|
1112
|
-
"
|
|
1113
|
+
"group inline-flex w-max items-center justify-center rounded-md text-sm disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-muted data-[state=open]:focus:bg-muted focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 group h-auto bg-transparent px-3 py-2 font-normal text-foreground/80 hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground data-[state=open]:bg-muted/50 data-[state=open]:text-foreground",
|
|
1113
1114
|
className
|
|
1114
1115
|
),
|
|
1115
1116
|
...props
|
|
@@ -1257,6 +1258,36 @@ var imagePlaceholders = [
|
|
|
1257
1258
|
"https://toastability-production.s3.amazonaws.com/e13qu3083lkhdg7th64vb628172a",
|
|
1258
1259
|
"https://toastability-production.s3.amazonaws.com/w87w0fyjdol9yzwo7yywkgxidvzo"
|
|
1259
1260
|
];
|
|
1261
|
+
|
|
1262
|
+
// components/blocks/navbars/layout-variant-utils.ts
|
|
1263
|
+
function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks", customClasses) {
|
|
1264
|
+
const isFloatingBar = layoutVariant === "floatingBar";
|
|
1265
|
+
const isFullWidthLinks = layoutVariant === "fullScreenFullWidthLinks";
|
|
1266
|
+
return {
|
|
1267
|
+
// Section wrapper classes
|
|
1268
|
+
sectionClasses: cn(
|
|
1269
|
+
"inset-x-0 z-20",
|
|
1270
|
+
isFloatingBar ? "sticky top-4" : "top-0",
|
|
1271
|
+
customClasses?.className
|
|
1272
|
+
),
|
|
1273
|
+
// Outer container wrapper (only for floating bar)
|
|
1274
|
+
containerWrapperClasses: cn(
|
|
1275
|
+
isFloatingBar && "mx-auto w-full px-2 sm:px-4 lg:px-8 max-w-7xl relative z-10"
|
|
1276
|
+
),
|
|
1277
|
+
// Inner container classes
|
|
1278
|
+
innerContainerClasses: cn(
|
|
1279
|
+
!isFloatingBar && !isFullWidthLinks && "container",
|
|
1280
|
+
isFullWidthLinks && "mx-auto w-full px-2 sm:px-4 lg:px-8",
|
|
1281
|
+
customClasses?.containerClassName
|
|
1282
|
+
),
|
|
1283
|
+
// Navigation wrapper classes (for border and shadow)
|
|
1284
|
+
navWrapperClasses: cn(
|
|
1285
|
+
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm"
|
|
1286
|
+
),
|
|
1287
|
+
// Spacing adjustment for Section component
|
|
1288
|
+
spacingOverride: isFloatingBar ? "none" : void 0
|
|
1289
|
+
};
|
|
1290
|
+
}
|
|
1260
1291
|
var NavbarEducationPlatform = ({
|
|
1261
1292
|
className,
|
|
1262
1293
|
containerClassName,
|
|
@@ -1275,6 +1306,7 @@ var NavbarEducationPlatform = ({
|
|
|
1275
1306
|
company,
|
|
1276
1307
|
authActions,
|
|
1277
1308
|
authActionsSlot,
|
|
1309
|
+
layoutVariant = "fullScreenContainerizedLinks",
|
|
1278
1310
|
background = "white",
|
|
1279
1311
|
spacing = "none",
|
|
1280
1312
|
pattern,
|
|
@@ -1324,23 +1356,29 @@ var NavbarEducationPlatform = ({
|
|
|
1324
1356
|
] }) }, index);
|
|
1325
1357
|
});
|
|
1326
1358
|
};
|
|
1359
|
+
const {
|
|
1360
|
+
sectionClasses,
|
|
1361
|
+
containerWrapperClasses,
|
|
1362
|
+
innerContainerClasses,
|
|
1363
|
+
navWrapperClasses,
|
|
1364
|
+
spacingOverride
|
|
1365
|
+
} = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
|
|
1327
1366
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1328
1367
|
Section,
|
|
1329
1368
|
{
|
|
1330
1369
|
background,
|
|
1331
|
-
spacing,
|
|
1370
|
+
spacing: spacingOverride ?? spacing,
|
|
1332
1371
|
className: cn(
|
|
1333
|
-
"border-b border-border lg:border-b",
|
|
1334
1372
|
isOpen && "border-b-0",
|
|
1335
|
-
|
|
1373
|
+
sectionClasses
|
|
1336
1374
|
),
|
|
1337
1375
|
pattern,
|
|
1338
1376
|
patternOpacity,
|
|
1339
1377
|
children: [
|
|
1340
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1378
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1341
1379
|
"nav",
|
|
1342
1380
|
{
|
|
1343
|
-
className: cn("flex items-center justify-between py-4", navClassName),
|
|
1381
|
+
className: cn("flex items-center justify-between py-4", navWrapperClasses, navClassName),
|
|
1344
1382
|
children: [
|
|
1345
1383
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-1 items-center gap-9", children: [
|
|
1346
1384
|
renderLogo(),
|
|
@@ -1531,7 +1569,7 @@ var NavbarEducationPlatform = ({
|
|
|
1531
1569
|
)
|
|
1532
1570
|
]
|
|
1533
1571
|
}
|
|
1534
|
-
) }),
|
|
1572
|
+
) }) }),
|
|
1535
1573
|
isOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1536
1574
|
"div",
|
|
1537
1575
|
{
|
|
@@ -2,6 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { P as PatternName } from './pattern-background-a7gKHzHy.cjs';
|
|
4
4
|
import { SectionBackground, SectionSpacing } from './types.cjs';
|
|
5
|
+
import { L as LogoConfig, N as NavbarLayoutVariant } from './types-COVDidbn.cjs';
|
|
5
6
|
import { A as ActionConfig, O as OptixFlowConfig } from './blocks-Cohq4eio.cjs';
|
|
6
7
|
import 'class-variance-authority';
|
|
7
8
|
import './button-variants-lRElsmTc.cjs';
|
|
@@ -24,16 +25,6 @@ interface CompanyItem {
|
|
|
24
25
|
icon: string;
|
|
25
26
|
link: string;
|
|
26
27
|
}
|
|
27
|
-
/**
|
|
28
|
-
* Logo configuration interface
|
|
29
|
-
*/
|
|
30
|
-
interface LogoConfig {
|
|
31
|
-
url?: string;
|
|
32
|
-
src?: string;
|
|
33
|
-
alt?: string;
|
|
34
|
-
title?: React.ReactNode;
|
|
35
|
-
className?: string;
|
|
36
|
-
}
|
|
37
28
|
/**
|
|
38
29
|
* Props for the NavbarEducationPlatform component
|
|
39
30
|
*/
|
|
@@ -110,6 +101,10 @@ interface NavbarEducationPlatformProps {
|
|
|
110
101
|
* Pattern overlay opacity (0-1)
|
|
111
102
|
*/
|
|
112
103
|
patternOpacity?: number;
|
|
104
|
+
/**
|
|
105
|
+
* Layout variant for the navbar
|
|
106
|
+
*/
|
|
107
|
+
layoutVariant?: NavbarLayoutVariant;
|
|
113
108
|
/**
|
|
114
109
|
* OptixFlow image optimization configuration
|
|
115
110
|
*/
|
|
@@ -124,6 +119,6 @@ interface NavbarEducationPlatformProps {
|
|
|
124
119
|
* Mobile view uses accordion navigation with categorized sections. Ideal for e-learning platforms,
|
|
125
120
|
* course management systems, and educational technology products.
|
|
126
121
|
*/
|
|
127
|
-
declare const NavbarEducationPlatform: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logoClassName, mobileMenuClassName, logo, logoSlot, features, docs, company, authActions, authActionsSlot, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarEducationPlatformProps) => react_jsx_runtime.JSX.Element;
|
|
122
|
+
declare const NavbarEducationPlatform: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logoClassName, mobileMenuClassName, logo, logoSlot, features, docs, company, authActions, authActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarEducationPlatformProps) => react_jsx_runtime.JSX.Element;
|
|
128
123
|
|
|
129
124
|
export { NavbarEducationPlatform, type NavbarEducationPlatformProps };
|
|
@@ -2,6 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { P as PatternName } from './pattern-background-a7gKHzHy.js';
|
|
4
4
|
import { SectionBackground, SectionSpacing } from './types.js';
|
|
5
|
+
import { L as LogoConfig, N as NavbarLayoutVariant } from './types-COVDidbn.js';
|
|
5
6
|
import { A as ActionConfig, O as OptixFlowConfig } from './blocks-k17uluAz.js';
|
|
6
7
|
import 'class-variance-authority';
|
|
7
8
|
import './button-variants-lRElsmTc.js';
|
|
@@ -24,16 +25,6 @@ interface CompanyItem {
|
|
|
24
25
|
icon: string;
|
|
25
26
|
link: string;
|
|
26
27
|
}
|
|
27
|
-
/**
|
|
28
|
-
* Logo configuration interface
|
|
29
|
-
*/
|
|
30
|
-
interface LogoConfig {
|
|
31
|
-
url?: string;
|
|
32
|
-
src?: string;
|
|
33
|
-
alt?: string;
|
|
34
|
-
title?: React.ReactNode;
|
|
35
|
-
className?: string;
|
|
36
|
-
}
|
|
37
28
|
/**
|
|
38
29
|
* Props for the NavbarEducationPlatform component
|
|
39
30
|
*/
|
|
@@ -110,6 +101,10 @@ interface NavbarEducationPlatformProps {
|
|
|
110
101
|
* Pattern overlay opacity (0-1)
|
|
111
102
|
*/
|
|
112
103
|
patternOpacity?: number;
|
|
104
|
+
/**
|
|
105
|
+
* Layout variant for the navbar
|
|
106
|
+
*/
|
|
107
|
+
layoutVariant?: NavbarLayoutVariant;
|
|
113
108
|
/**
|
|
114
109
|
* OptixFlow image optimization configuration
|
|
115
110
|
*/
|
|
@@ -124,6 +119,6 @@ interface NavbarEducationPlatformProps {
|
|
|
124
119
|
* Mobile view uses accordion navigation with categorized sections. Ideal for e-learning platforms,
|
|
125
120
|
* course management systems, and educational technology products.
|
|
126
121
|
*/
|
|
127
|
-
declare const NavbarEducationPlatform: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logoClassName, mobileMenuClassName, logo, logoSlot, features, docs, company, authActions, authActionsSlot, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarEducationPlatformProps) => react_jsx_runtime.JSX.Element;
|
|
122
|
+
declare const NavbarEducationPlatform: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logoClassName, mobileMenuClassName, logo, logoSlot, features, docs, company, authActions, authActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarEducationPlatformProps) => react_jsx_runtime.JSX.Element;
|
|
128
123
|
|
|
129
124
|
export { NavbarEducationPlatform, type NavbarEducationPlatformProps };
|
|
@@ -986,7 +986,7 @@ function NavigationMenuList({
|
|
|
986
986
|
{
|
|
987
987
|
"data-slot": "navigation-menu-list",
|
|
988
988
|
className: cn(
|
|
989
|
-
"group flex flex-1 list-none items-center justify-center gap-6",
|
|
989
|
+
"group flex flex-1 list-none items-center justify-center gap-2 lg:gap-4 xl:gap-6",
|
|
990
990
|
className
|
|
991
991
|
),
|
|
992
992
|
...props
|
|
@@ -1026,8 +1026,9 @@ function NavigationMenuTrigger({
|
|
|
1026
1026
|
/* @__PURE__ */ jsx(
|
|
1027
1027
|
DynamicIcon,
|
|
1028
1028
|
{
|
|
1029
|
+
size: 18,
|
|
1029
1030
|
name: "lucide/chevron-down",
|
|
1030
|
-
className: "relative top-
|
|
1031
|
+
className: "relative top-px opacity-50 transition duration-300 group-data-[state=open]:rotate-180",
|
|
1031
1032
|
"aria-hidden": "true"
|
|
1032
1033
|
}
|
|
1033
1034
|
)
|
|
@@ -1067,7 +1068,7 @@ function NavigationMenuViewport({
|
|
|
1067
1068
|
{
|
|
1068
1069
|
"data-slot": "navigation-menu-viewport",
|
|
1069
1070
|
className: cn(
|
|
1070
|
-
"origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-
|
|
1071
|
+
"origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-(--radix-navigation-menu-viewport-height) w-full overflow-hidden rounded-md border border-border/50 shadow-sm md:w-(--radix-navigation-menu-viewport-width)",
|
|
1071
1072
|
className
|
|
1072
1073
|
),
|
|
1073
1074
|
...props
|
|
@@ -1085,7 +1086,7 @@ function NavigationMenuLink({
|
|
|
1085
1086
|
{
|
|
1086
1087
|
"data-slot": "navigation-menu-link",
|
|
1087
1088
|
className: cn(
|
|
1088
|
-
"
|
|
1089
|
+
"group inline-flex w-max items-center justify-center rounded-md text-sm disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-muted data-[state=open]:focus:bg-muted focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 group h-auto bg-transparent px-3 py-2 font-normal text-foreground/80 hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground data-[state=open]:bg-muted/50 data-[state=open]:text-foreground",
|
|
1089
1090
|
className
|
|
1090
1091
|
),
|
|
1091
1092
|
...props
|
|
@@ -1233,6 +1234,36 @@ var imagePlaceholders = [
|
|
|
1233
1234
|
"https://toastability-production.s3.amazonaws.com/e13qu3083lkhdg7th64vb628172a",
|
|
1234
1235
|
"https://toastability-production.s3.amazonaws.com/w87w0fyjdol9yzwo7yywkgxidvzo"
|
|
1235
1236
|
];
|
|
1237
|
+
|
|
1238
|
+
// components/blocks/navbars/layout-variant-utils.ts
|
|
1239
|
+
function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks", customClasses) {
|
|
1240
|
+
const isFloatingBar = layoutVariant === "floatingBar";
|
|
1241
|
+
const isFullWidthLinks = layoutVariant === "fullScreenFullWidthLinks";
|
|
1242
|
+
return {
|
|
1243
|
+
// Section wrapper classes
|
|
1244
|
+
sectionClasses: cn(
|
|
1245
|
+
"inset-x-0 z-20",
|
|
1246
|
+
isFloatingBar ? "sticky top-4" : "top-0",
|
|
1247
|
+
customClasses?.className
|
|
1248
|
+
),
|
|
1249
|
+
// Outer container wrapper (only for floating bar)
|
|
1250
|
+
containerWrapperClasses: cn(
|
|
1251
|
+
isFloatingBar && "mx-auto w-full px-2 sm:px-4 lg:px-8 max-w-7xl relative z-10"
|
|
1252
|
+
),
|
|
1253
|
+
// Inner container classes
|
|
1254
|
+
innerContainerClasses: cn(
|
|
1255
|
+
!isFloatingBar && !isFullWidthLinks && "container",
|
|
1256
|
+
isFullWidthLinks && "mx-auto w-full px-2 sm:px-4 lg:px-8",
|
|
1257
|
+
customClasses?.containerClassName
|
|
1258
|
+
),
|
|
1259
|
+
// Navigation wrapper classes (for border and shadow)
|
|
1260
|
+
navWrapperClasses: cn(
|
|
1261
|
+
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm"
|
|
1262
|
+
),
|
|
1263
|
+
// Spacing adjustment for Section component
|
|
1264
|
+
spacingOverride: isFloatingBar ? "none" : void 0
|
|
1265
|
+
};
|
|
1266
|
+
}
|
|
1236
1267
|
var NavbarEducationPlatform = ({
|
|
1237
1268
|
className,
|
|
1238
1269
|
containerClassName,
|
|
@@ -1251,6 +1282,7 @@ var NavbarEducationPlatform = ({
|
|
|
1251
1282
|
company,
|
|
1252
1283
|
authActions,
|
|
1253
1284
|
authActionsSlot,
|
|
1285
|
+
layoutVariant = "fullScreenContainerizedLinks",
|
|
1254
1286
|
background = "white",
|
|
1255
1287
|
spacing = "none",
|
|
1256
1288
|
pattern,
|
|
@@ -1300,23 +1332,29 @@ var NavbarEducationPlatform = ({
|
|
|
1300
1332
|
] }) }, index);
|
|
1301
1333
|
});
|
|
1302
1334
|
};
|
|
1335
|
+
const {
|
|
1336
|
+
sectionClasses,
|
|
1337
|
+
containerWrapperClasses,
|
|
1338
|
+
innerContainerClasses,
|
|
1339
|
+
navWrapperClasses,
|
|
1340
|
+
spacingOverride
|
|
1341
|
+
} = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
|
|
1303
1342
|
return /* @__PURE__ */ jsxs(
|
|
1304
1343
|
Section,
|
|
1305
1344
|
{
|
|
1306
1345
|
background,
|
|
1307
|
-
spacing,
|
|
1346
|
+
spacing: spacingOverride ?? spacing,
|
|
1308
1347
|
className: cn(
|
|
1309
|
-
"border-b border-border lg:border-b",
|
|
1310
1348
|
isOpen && "border-b-0",
|
|
1311
|
-
|
|
1349
|
+
sectionClasses
|
|
1312
1350
|
),
|
|
1313
1351
|
pattern,
|
|
1314
1352
|
patternOpacity,
|
|
1315
1353
|
children: [
|
|
1316
|
-
/* @__PURE__ */ jsx("div", { className:
|
|
1354
|
+
/* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxs(
|
|
1317
1355
|
"nav",
|
|
1318
1356
|
{
|
|
1319
|
-
className: cn("flex items-center justify-between py-4", navClassName),
|
|
1357
|
+
className: cn("flex items-center justify-between py-4", navWrapperClasses, navClassName),
|
|
1320
1358
|
children: [
|
|
1321
1359
|
/* @__PURE__ */ jsxs("div", { className: "flex flex-1 items-center gap-9", children: [
|
|
1322
1360
|
renderLogo(),
|
|
@@ -1507,7 +1545,7 @@ var NavbarEducationPlatform = ({
|
|
|
1507
1545
|
)
|
|
1508
1546
|
]
|
|
1509
1547
|
}
|
|
1510
|
-
) }),
|
|
1548
|
+
) }) }),
|
|
1511
1549
|
isOpen && /* @__PURE__ */ jsx(
|
|
1512
1550
|
"div",
|
|
1513
1551
|
{
|
|
@@ -1010,7 +1010,7 @@ function NavigationMenuList({
|
|
|
1010
1010
|
{
|
|
1011
1011
|
"data-slot": "navigation-menu-list",
|
|
1012
1012
|
className: cn(
|
|
1013
|
-
"group flex flex-1 list-none items-center justify-center gap-6",
|
|
1013
|
+
"group flex flex-1 list-none items-center justify-center gap-2 lg:gap-4 xl:gap-6",
|
|
1014
1014
|
className
|
|
1015
1015
|
),
|
|
1016
1016
|
...props
|
|
@@ -1050,8 +1050,9 @@ function NavigationMenuTrigger({
|
|
|
1050
1050
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1051
1051
|
DynamicIcon,
|
|
1052
1052
|
{
|
|
1053
|
+
size: 18,
|
|
1053
1054
|
name: "lucide/chevron-down",
|
|
1054
|
-
className: "relative top-
|
|
1055
|
+
className: "relative top-px opacity-50 transition duration-300 group-data-[state=open]:rotate-180",
|
|
1055
1056
|
"aria-hidden": "true"
|
|
1056
1057
|
}
|
|
1057
1058
|
)
|
|
@@ -1091,7 +1092,7 @@ function NavigationMenuViewport({
|
|
|
1091
1092
|
{
|
|
1092
1093
|
"data-slot": "navigation-menu-viewport",
|
|
1093
1094
|
className: cn(
|
|
1094
|
-
"origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-
|
|
1095
|
+
"origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-(--radix-navigation-menu-viewport-height) w-full overflow-hidden rounded-md border border-border/50 shadow-sm md:w-(--radix-navigation-menu-viewport-width)",
|
|
1095
1096
|
className
|
|
1096
1097
|
),
|
|
1097
1098
|
...props
|
|
@@ -1109,7 +1110,7 @@ function NavigationMenuLink({
|
|
|
1109
1110
|
{
|
|
1110
1111
|
"data-slot": "navigation-menu-link",
|
|
1111
1112
|
className: cn(
|
|
1112
|
-
"
|
|
1113
|
+
"group inline-flex w-max items-center justify-center rounded-md text-sm disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-muted data-[state=open]:focus:bg-muted focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 group h-auto bg-transparent px-3 py-2 font-normal text-foreground/80 hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground data-[state=open]:bg-muted/50 data-[state=open]:text-foreground",
|
|
1113
1114
|
className
|
|
1114
1115
|
),
|
|
1115
1116
|
...props
|
|
@@ -1189,6 +1190,36 @@ function SheetTitle({
|
|
|
1189
1190
|
// lib/mediaPlaceholders.ts
|
|
1190
1191
|
var logoPlaceholders = {
|
|
1191
1192
|
logoMark: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/monochrome-rounded-square-app-icon-circular-emblem.png"};
|
|
1193
|
+
|
|
1194
|
+
// components/blocks/navbars/layout-variant-utils.ts
|
|
1195
|
+
function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks", customClasses) {
|
|
1196
|
+
const isFloatingBar = layoutVariant === "floatingBar";
|
|
1197
|
+
const isFullWidthLinks = layoutVariant === "fullScreenFullWidthLinks";
|
|
1198
|
+
return {
|
|
1199
|
+
// Section wrapper classes
|
|
1200
|
+
sectionClasses: cn(
|
|
1201
|
+
"inset-x-0 z-20",
|
|
1202
|
+
isFloatingBar ? "sticky top-4" : "top-0",
|
|
1203
|
+
customClasses?.className
|
|
1204
|
+
),
|
|
1205
|
+
// Outer container wrapper (only for floating bar)
|
|
1206
|
+
containerWrapperClasses: cn(
|
|
1207
|
+
isFloatingBar && "mx-auto w-full px-2 sm:px-4 lg:px-8 max-w-7xl relative z-10"
|
|
1208
|
+
),
|
|
1209
|
+
// Inner container classes
|
|
1210
|
+
innerContainerClasses: cn(
|
|
1211
|
+
!isFloatingBar && !isFullWidthLinks && "container",
|
|
1212
|
+
isFullWidthLinks && "mx-auto w-full px-2 sm:px-4 lg:px-8",
|
|
1213
|
+
customClasses?.containerClassName
|
|
1214
|
+
),
|
|
1215
|
+
// Navigation wrapper classes (for border and shadow)
|
|
1216
|
+
navWrapperClasses: cn(
|
|
1217
|
+
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm"
|
|
1218
|
+
),
|
|
1219
|
+
// Spacing adjustment for Section component
|
|
1220
|
+
spacingOverride: isFloatingBar ? "none" : void 0
|
|
1221
|
+
};
|
|
1222
|
+
}
|
|
1192
1223
|
var MOBILE_BREAKPOINT = 1024;
|
|
1193
1224
|
var NavbarEnterpriseMega = ({
|
|
1194
1225
|
className,
|
|
@@ -1205,6 +1236,7 @@ var NavbarEnterpriseMega = ({
|
|
|
1205
1236
|
menuLinks,
|
|
1206
1237
|
actions,
|
|
1207
1238
|
actionsSlot,
|
|
1239
|
+
layoutVariant = "fullScreenContainerizedLinks",
|
|
1208
1240
|
background = "white",
|
|
1209
1241
|
spacing = "none",
|
|
1210
1242
|
pattern,
|
|
@@ -1273,23 +1305,31 @@ var NavbarEnterpriseMega = ({
|
|
|
1273
1305
|
] }) }, index);
|
|
1274
1306
|
});
|
|
1275
1307
|
};
|
|
1308
|
+
const {
|
|
1309
|
+
sectionClasses,
|
|
1310
|
+
containerWrapperClasses,
|
|
1311
|
+
innerContainerClasses,
|
|
1312
|
+
navWrapperClasses,
|
|
1313
|
+
spacingOverride
|
|
1314
|
+
} = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
|
|
1276
1315
|
return /* @__PURE__ */ jsxRuntime.jsxs(React.Fragment, { children: [
|
|
1277
1316
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1278
1317
|
Section,
|
|
1279
1318
|
{
|
|
1280
1319
|
background,
|
|
1281
|
-
spacing,
|
|
1320
|
+
spacing: spacingOverride ?? spacing,
|
|
1282
1321
|
className: cn(
|
|
1283
|
-
"pointer-events-auto fixed top-0 z-999 flex w-full items-center justify-center
|
|
1284
|
-
|
|
1322
|
+
"pointer-events-auto fixed top-0 z-999 flex w-full items-center justify-center",
|
|
1323
|
+
sectionClasses
|
|
1285
1324
|
),
|
|
1286
1325
|
pattern,
|
|
1287
1326
|
patternOpacity,
|
|
1288
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className:
|
|
1289
|
-
"
|
|
1327
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: innerContainerClasses, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1328
|
+
"nav",
|
|
1290
1329
|
{
|
|
1291
1330
|
className: cn(
|
|
1292
1331
|
"flex h-16 items-center justify-between gap-8",
|
|
1332
|
+
navWrapperClasses,
|
|
1293
1333
|
navClassName
|
|
1294
1334
|
),
|
|
1295
1335
|
children: [
|
|
@@ -1340,7 +1380,7 @@ var NavbarEnterpriseMega = ({
|
|
|
1340
1380
|
] })
|
|
1341
1381
|
]
|
|
1342
1382
|
}
|
|
1343
|
-
) })
|
|
1383
|
+
) }) })
|
|
1344
1384
|
}
|
|
1345
1385
|
),
|
|
1346
1386
|
/* @__PURE__ */ jsxRuntime.jsx(
|