@opensite/ui 0.9.4 → 0.9.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 +71 -29
- package/dist/navbar-animated-preview.js +71 -29
- package/dist/navbar-centered-menu.cjs +101 -31
- package/dist/navbar-centered-menu.js +101 -31
- package/dist/navbar-dark-icons.cjs +72 -30
- package/dist/navbar-dark-icons.js +72 -30
- package/dist/navbar-dropdown-menu.cjs +97 -30
- package/dist/navbar-dropdown-menu.js +97 -30
- package/dist/navbar-education-platform.cjs +71 -26
- package/dist/navbar-education-platform.js +71 -26
- package/dist/navbar-enterprise-mega.cjs +71 -29
- package/dist/navbar-enterprise-mega.js +71 -29
- package/dist/navbar-feature-grid.cjs +81 -28
- package/dist/navbar-feature-grid.js +81 -28
- package/dist/navbar-floating-pill.cjs +71 -26
- package/dist/navbar-floating-pill.js +71 -26
- package/dist/navbar-fullscreen-menu.cjs +71 -26
- package/dist/navbar-fullscreen-menu.js +72 -27
- package/dist/navbar-icon-links.cjs +72 -27
- package/dist/navbar-icon-links.js +72 -27
- package/dist/navbar-image-preview.cjs +2 -2
- package/dist/navbar-image-preview.js +2 -2
- package/dist/navbar-mega-menu.cjs +71 -40
- package/dist/navbar-mega-menu.js +71 -40
- package/dist/navbar-multi-column-groups.cjs +2 -2
- package/dist/navbar-multi-column-groups.js +2 -2
- package/dist/navbar-platform-resources.cjs +71 -26
- package/dist/navbar-platform-resources.js +71 -26
- package/dist/navbar-search-focused.cjs +2 -2
- package/dist/navbar-search-focused.js +2 -2
- package/dist/navbar-sidebar-mobile.cjs +2 -2
- package/dist/navbar-sidebar-mobile.js +2 -2
- package/dist/navbar-simple-links.cjs +72 -27
- package/dist/navbar-simple-links.js +72 -27
- package/dist/navbar-split-cta.cjs +2 -2
- package/dist/navbar-split-cta.js +2 -2
- package/dist/navbar-sticky-compact.cjs +2 -2
- package/dist/navbar-sticky-compact.js +2 -2
- package/dist/navbar-tabbed-sections.cjs +2 -2
- package/dist/navbar-tabbed-sections.js +2 -2
- package/dist/navbar-transparent-overlay.cjs +2 -2
- package/dist/navbar-transparent-overlay.js +2 -2
- package/dist/registry.cjs +242 -345
- package/dist/registry.js +242 -345
- package/package.json +6 -1
|
@@ -934,6 +934,66 @@ var Section = React__namespace.default.forwardRef(
|
|
|
934
934
|
}
|
|
935
935
|
);
|
|
936
936
|
Section.displayName = "Section";
|
|
937
|
+
var NavbarLogo = ({
|
|
938
|
+
logo,
|
|
939
|
+
logoSlot,
|
|
940
|
+
logoClassName,
|
|
941
|
+
optixFlowConfig
|
|
942
|
+
}) => {
|
|
943
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
944
|
+
if (!logo) return null;
|
|
945
|
+
const hasResponsiveSources = logo.desktopSrc || logo.mobileSrc;
|
|
946
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
947
|
+
Pressable,
|
|
948
|
+
{
|
|
949
|
+
href: logo.url || "/",
|
|
950
|
+
className: cn("flex items-center", logoClassName),
|
|
951
|
+
children: hasResponsiveSources ? (
|
|
952
|
+
// Responsive logo with desktop/mobile sources
|
|
953
|
+
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
954
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
955
|
+
img.Img,
|
|
956
|
+
{
|
|
957
|
+
src: logo.desktopSrc || logo.src || "",
|
|
958
|
+
className: cn(
|
|
959
|
+
"hidden h-8 w-auto object-contain md:block",
|
|
960
|
+
logo.className
|
|
961
|
+
),
|
|
962
|
+
alt: logo.alt || "Logo",
|
|
963
|
+
optixFlowConfig
|
|
964
|
+
}
|
|
965
|
+
),
|
|
966
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
967
|
+
img.Img,
|
|
968
|
+
{
|
|
969
|
+
src: logo.mobileSrc || logo.src || "",
|
|
970
|
+
className: cn(
|
|
971
|
+
"h-8 w-auto object-contain md:hidden",
|
|
972
|
+
logo.className
|
|
973
|
+
),
|
|
974
|
+
alt: logo.alt || "Logo",
|
|
975
|
+
optixFlowConfig
|
|
976
|
+
}
|
|
977
|
+
)
|
|
978
|
+
] })
|
|
979
|
+
) : logo.src ? (
|
|
980
|
+
// Standard single logo image
|
|
981
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
982
|
+
img.Img,
|
|
983
|
+
{
|
|
984
|
+
src: logo.src,
|
|
985
|
+
className: cn("max-h-8 w-auto object-contain", logo.className),
|
|
986
|
+
alt: logo.alt || "Logo",
|
|
987
|
+
optixFlowConfig
|
|
988
|
+
}
|
|
989
|
+
)
|
|
990
|
+
) : (
|
|
991
|
+
// Text-based logo (title as string or React element)
|
|
992
|
+
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
|
|
993
|
+
)
|
|
994
|
+
}
|
|
995
|
+
);
|
|
996
|
+
};
|
|
937
997
|
function Accordion({
|
|
938
998
|
...props
|
|
939
999
|
}) {
|
|
@@ -1167,14 +1227,14 @@ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks",
|
|
|
1167
1227
|
),
|
|
1168
1228
|
// Navigation wrapper classes (for border and shadow)
|
|
1169
1229
|
navWrapperClasses: cn(
|
|
1170
|
-
"w-full",
|
|
1230
|
+
"w-full h-16 items-center",
|
|
1171
1231
|
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm flex justify-center"
|
|
1172
1232
|
),
|
|
1173
1233
|
// Section container configuration for full-width navbars
|
|
1174
1234
|
sectionContainerClassName: "px-0 sm:px-0 lg:px-0",
|
|
1175
1235
|
sectionContainerMaxWidth: "full",
|
|
1176
1236
|
// Spacing adjustment for Section component
|
|
1177
|
-
spacingOverride: isFloatingBar ? "none" :
|
|
1237
|
+
spacingOverride: isFloatingBar ? "none" : "py-0 md:py-0"
|
|
1178
1238
|
};
|
|
1179
1239
|
}
|
|
1180
1240
|
var NavbarPlatformResources = ({
|
|
@@ -1200,29 +1260,6 @@ var NavbarPlatformResources = ({
|
|
|
1200
1260
|
optixFlowConfig
|
|
1201
1261
|
}) => {
|
|
1202
1262
|
const [open, setOpen] = React.useState(false);
|
|
1203
|
-
const renderLogo = React.useMemo(() => {
|
|
1204
|
-
if (logoSlot) return logoSlot;
|
|
1205
|
-
if (!logo) return null;
|
|
1206
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1207
|
-
Pressable,
|
|
1208
|
-
{
|
|
1209
|
-
href: logo.url || "/",
|
|
1210
|
-
className: cn("flex items-center gap-2", logoClassName),
|
|
1211
|
-
children: [
|
|
1212
|
-
logo.src && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1213
|
-
img.Img,
|
|
1214
|
-
{
|
|
1215
|
-
src: logo.src,
|
|
1216
|
-
className: cn("max-h-8", logo.className),
|
|
1217
|
-
alt: logo.alt || "Logo",
|
|
1218
|
-
optixFlowConfig
|
|
1219
|
-
}
|
|
1220
|
-
),
|
|
1221
|
-
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
|
|
1222
|
-
]
|
|
1223
|
-
}
|
|
1224
|
-
);
|
|
1225
|
-
}, [logoSlot, logo, logoClassName, optixFlowConfig]);
|
|
1226
1263
|
const hasDropdownItems = (link) => Boolean(link.links?.length || link.dropdownGroups?.length);
|
|
1227
1264
|
const renderDropdownContent = (link) => {
|
|
1228
1265
|
const layout = link.layout || "simple-list";
|
|
@@ -1509,7 +1546,15 @@ var NavbarPlatformResources = ({
|
|
|
1509
1546
|
className: cn("min-w-full", navigationMenuClassName),
|
|
1510
1547
|
children: [
|
|
1511
1548
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full items-center justify-between gap-12 py-4", children: [
|
|
1512
|
-
|
|
1549
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1550
|
+
NavbarLogo,
|
|
1551
|
+
{
|
|
1552
|
+
logo,
|
|
1553
|
+
logoSlot,
|
|
1554
|
+
logoClassName,
|
|
1555
|
+
optixFlowConfig
|
|
1556
|
+
}
|
|
1557
|
+
),
|
|
1513
1558
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1514
1559
|
NavigationMenuList,
|
|
1515
1560
|
{
|
|
@@ -911,6 +911,66 @@ var Section = React__default.forwardRef(
|
|
|
911
911
|
}
|
|
912
912
|
);
|
|
913
913
|
Section.displayName = "Section";
|
|
914
|
+
var NavbarLogo = ({
|
|
915
|
+
logo,
|
|
916
|
+
logoSlot,
|
|
917
|
+
logoClassName,
|
|
918
|
+
optixFlowConfig
|
|
919
|
+
}) => {
|
|
920
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
921
|
+
if (!logo) return null;
|
|
922
|
+
const hasResponsiveSources = logo.desktopSrc || logo.mobileSrc;
|
|
923
|
+
return /* @__PURE__ */ jsx(
|
|
924
|
+
Pressable,
|
|
925
|
+
{
|
|
926
|
+
href: logo.url || "/",
|
|
927
|
+
className: cn("flex items-center", logoClassName),
|
|
928
|
+
children: hasResponsiveSources ? (
|
|
929
|
+
// Responsive logo with desktop/mobile sources
|
|
930
|
+
/* @__PURE__ */ jsxs(Fragment, { children: [
|
|
931
|
+
/* @__PURE__ */ jsx(
|
|
932
|
+
Img,
|
|
933
|
+
{
|
|
934
|
+
src: logo.desktopSrc || logo.src || "",
|
|
935
|
+
className: cn(
|
|
936
|
+
"hidden h-8 w-auto object-contain md:block",
|
|
937
|
+
logo.className
|
|
938
|
+
),
|
|
939
|
+
alt: logo.alt || "Logo",
|
|
940
|
+
optixFlowConfig
|
|
941
|
+
}
|
|
942
|
+
),
|
|
943
|
+
/* @__PURE__ */ jsx(
|
|
944
|
+
Img,
|
|
945
|
+
{
|
|
946
|
+
src: logo.mobileSrc || logo.src || "",
|
|
947
|
+
className: cn(
|
|
948
|
+
"h-8 w-auto object-contain md:hidden",
|
|
949
|
+
logo.className
|
|
950
|
+
),
|
|
951
|
+
alt: logo.alt || "Logo",
|
|
952
|
+
optixFlowConfig
|
|
953
|
+
}
|
|
954
|
+
)
|
|
955
|
+
] })
|
|
956
|
+
) : logo.src ? (
|
|
957
|
+
// Standard single logo image
|
|
958
|
+
/* @__PURE__ */ jsx(
|
|
959
|
+
Img,
|
|
960
|
+
{
|
|
961
|
+
src: logo.src,
|
|
962
|
+
className: cn("max-h-8 w-auto object-contain", logo.className),
|
|
963
|
+
alt: logo.alt || "Logo",
|
|
964
|
+
optixFlowConfig
|
|
965
|
+
}
|
|
966
|
+
)
|
|
967
|
+
) : (
|
|
968
|
+
// Text-based logo (title as string or React element)
|
|
969
|
+
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
|
|
970
|
+
)
|
|
971
|
+
}
|
|
972
|
+
);
|
|
973
|
+
};
|
|
914
974
|
function Accordion({
|
|
915
975
|
...props
|
|
916
976
|
}) {
|
|
@@ -1144,14 +1204,14 @@ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks",
|
|
|
1144
1204
|
),
|
|
1145
1205
|
// Navigation wrapper classes (for border and shadow)
|
|
1146
1206
|
navWrapperClasses: cn(
|
|
1147
|
-
"w-full",
|
|
1207
|
+
"w-full h-16 items-center",
|
|
1148
1208
|
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm flex justify-center"
|
|
1149
1209
|
),
|
|
1150
1210
|
// Section container configuration for full-width navbars
|
|
1151
1211
|
sectionContainerClassName: "px-0 sm:px-0 lg:px-0",
|
|
1152
1212
|
sectionContainerMaxWidth: "full",
|
|
1153
1213
|
// Spacing adjustment for Section component
|
|
1154
|
-
spacingOverride: isFloatingBar ? "none" :
|
|
1214
|
+
spacingOverride: isFloatingBar ? "none" : "py-0 md:py-0"
|
|
1155
1215
|
};
|
|
1156
1216
|
}
|
|
1157
1217
|
var NavbarPlatformResources = ({
|
|
@@ -1177,29 +1237,6 @@ var NavbarPlatformResources = ({
|
|
|
1177
1237
|
optixFlowConfig
|
|
1178
1238
|
}) => {
|
|
1179
1239
|
const [open, setOpen] = useState(false);
|
|
1180
|
-
const renderLogo = useMemo(() => {
|
|
1181
|
-
if (logoSlot) return logoSlot;
|
|
1182
|
-
if (!logo) return null;
|
|
1183
|
-
return /* @__PURE__ */ jsxs(
|
|
1184
|
-
Pressable,
|
|
1185
|
-
{
|
|
1186
|
-
href: logo.url || "/",
|
|
1187
|
-
className: cn("flex items-center gap-2", logoClassName),
|
|
1188
|
-
children: [
|
|
1189
|
-
logo.src && /* @__PURE__ */ jsx(
|
|
1190
|
-
Img,
|
|
1191
|
-
{
|
|
1192
|
-
src: logo.src,
|
|
1193
|
-
className: cn("max-h-8", logo.className),
|
|
1194
|
-
alt: logo.alt || "Logo",
|
|
1195
|
-
optixFlowConfig
|
|
1196
|
-
}
|
|
1197
|
-
),
|
|
1198
|
-
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
|
|
1199
|
-
]
|
|
1200
|
-
}
|
|
1201
|
-
);
|
|
1202
|
-
}, [logoSlot, logo, logoClassName, optixFlowConfig]);
|
|
1203
1240
|
const hasDropdownItems = (link) => Boolean(link.links?.length || link.dropdownGroups?.length);
|
|
1204
1241
|
const renderDropdownContent = (link) => {
|
|
1205
1242
|
const layout = link.layout || "simple-list";
|
|
@@ -1486,7 +1523,15 @@ var NavbarPlatformResources = ({
|
|
|
1486
1523
|
className: cn("min-w-full", navigationMenuClassName),
|
|
1487
1524
|
children: [
|
|
1488
1525
|
/* @__PURE__ */ jsxs("div", { className: "flex w-full items-center justify-between gap-12 py-4", children: [
|
|
1489
|
-
|
|
1526
|
+
/* @__PURE__ */ jsx(
|
|
1527
|
+
NavbarLogo,
|
|
1528
|
+
{
|
|
1529
|
+
logo,
|
|
1530
|
+
logoSlot,
|
|
1531
|
+
logoClassName,
|
|
1532
|
+
optixFlowConfig
|
|
1533
|
+
}
|
|
1534
|
+
),
|
|
1490
1535
|
/* @__PURE__ */ jsx(
|
|
1491
1536
|
NavigationMenuList,
|
|
1492
1537
|
{
|
|
@@ -1133,14 +1133,14 @@ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks",
|
|
|
1133
1133
|
),
|
|
1134
1134
|
// Navigation wrapper classes (for border and shadow)
|
|
1135
1135
|
navWrapperClasses: cn(
|
|
1136
|
-
"w-full",
|
|
1136
|
+
"w-full h-16 items-center",
|
|
1137
1137
|
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm flex justify-center"
|
|
1138
1138
|
),
|
|
1139
1139
|
// Section container configuration for full-width navbars
|
|
1140
1140
|
sectionContainerClassName: "px-0 sm:px-0 lg:px-0",
|
|
1141
1141
|
sectionContainerMaxWidth: "full",
|
|
1142
1142
|
// Spacing adjustment for Section component
|
|
1143
|
-
spacingOverride: isFloatingBar ? "none" :
|
|
1143
|
+
spacingOverride: isFloatingBar ? "none" : "py-0 md:py-0"
|
|
1144
1144
|
};
|
|
1145
1145
|
}
|
|
1146
1146
|
var NavbarSearchFocused = ({
|
|
@@ -1110,14 +1110,14 @@ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks",
|
|
|
1110
1110
|
),
|
|
1111
1111
|
// Navigation wrapper classes (for border and shadow)
|
|
1112
1112
|
navWrapperClasses: cn(
|
|
1113
|
-
"w-full",
|
|
1113
|
+
"w-full h-16 items-center",
|
|
1114
1114
|
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm flex justify-center"
|
|
1115
1115
|
),
|
|
1116
1116
|
// Section container configuration for full-width navbars
|
|
1117
1117
|
sectionContainerClassName: "px-0 sm:px-0 lg:px-0",
|
|
1118
1118
|
sectionContainerMaxWidth: "full",
|
|
1119
1119
|
// Spacing adjustment for Section component
|
|
1120
|
-
spacingOverride: isFloatingBar ? "none" :
|
|
1120
|
+
spacingOverride: isFloatingBar ? "none" : "py-0 md:py-0"
|
|
1121
1121
|
};
|
|
1122
1122
|
}
|
|
1123
1123
|
var NavbarSearchFocused = ({
|
|
@@ -1238,14 +1238,14 @@ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks",
|
|
|
1238
1238
|
),
|
|
1239
1239
|
// Navigation wrapper classes (for border and shadow)
|
|
1240
1240
|
navWrapperClasses: cn(
|
|
1241
|
-
"w-full",
|
|
1241
|
+
"w-full h-16 items-center",
|
|
1242
1242
|
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm flex justify-center"
|
|
1243
1243
|
),
|
|
1244
1244
|
// Section container configuration for full-width navbars
|
|
1245
1245
|
sectionContainerClassName: "px-0 sm:px-0 lg:px-0",
|
|
1246
1246
|
sectionContainerMaxWidth: "full",
|
|
1247
1247
|
// Spacing adjustment for Section component
|
|
1248
|
-
spacingOverride: isFloatingBar ? "none" :
|
|
1248
|
+
spacingOverride: isFloatingBar ? "none" : "py-0 md:py-0"
|
|
1249
1249
|
};
|
|
1250
1250
|
}
|
|
1251
1251
|
var NavbarSidebarMobile = ({
|
|
@@ -1214,14 +1214,14 @@ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks",
|
|
|
1214
1214
|
),
|
|
1215
1215
|
// Navigation wrapper classes (for border and shadow)
|
|
1216
1216
|
navWrapperClasses: cn(
|
|
1217
|
-
"w-full",
|
|
1217
|
+
"w-full h-16 items-center",
|
|
1218
1218
|
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm flex justify-center"
|
|
1219
1219
|
),
|
|
1220
1220
|
// Section container configuration for full-width navbars
|
|
1221
1221
|
sectionContainerClassName: "px-0 sm:px-0 lg:px-0",
|
|
1222
1222
|
sectionContainerMaxWidth: "full",
|
|
1223
1223
|
// Spacing adjustment for Section component
|
|
1224
|
-
spacingOverride: isFloatingBar ? "none" :
|
|
1224
|
+
spacingOverride: isFloatingBar ? "none" : "py-0 md:py-0"
|
|
1225
1225
|
};
|
|
1226
1226
|
}
|
|
1227
1227
|
var NavbarSidebarMobile = ({
|
|
@@ -6,9 +6,9 @@ var clsx = require('clsx');
|
|
|
6
6
|
var tailwindMerge = require('tailwind-merge');
|
|
7
7
|
var classVarianceAuthority = require('class-variance-authority');
|
|
8
8
|
var jsxRuntime = require('react/jsx-runtime');
|
|
9
|
-
var img = require('@page-speed/img');
|
|
10
9
|
var NavigationMenuPrimitive = require('@radix-ui/react-navigation-menu');
|
|
11
10
|
var PopoverPrimitive = require('@radix-ui/react-popover');
|
|
11
|
+
var img = require('@page-speed/img');
|
|
12
12
|
|
|
13
13
|
function _interopNamespace(e) {
|
|
14
14
|
if (e && e.__esModule) return e;
|
|
@@ -1059,6 +1059,66 @@ function PopoverContent({
|
|
|
1059
1059
|
}
|
|
1060
1060
|
) });
|
|
1061
1061
|
}
|
|
1062
|
+
var NavbarLogo = ({
|
|
1063
|
+
logo,
|
|
1064
|
+
logoSlot,
|
|
1065
|
+
logoClassName,
|
|
1066
|
+
optixFlowConfig
|
|
1067
|
+
}) => {
|
|
1068
|
+
if (logoSlot) return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: logoSlot });
|
|
1069
|
+
if (!logo) return null;
|
|
1070
|
+
const hasResponsiveSources = logo.desktopSrc || logo.mobileSrc;
|
|
1071
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1072
|
+
Pressable,
|
|
1073
|
+
{
|
|
1074
|
+
href: logo.url || "/",
|
|
1075
|
+
className: cn("flex items-center", logoClassName),
|
|
1076
|
+
children: hasResponsiveSources ? (
|
|
1077
|
+
// Responsive logo with desktop/mobile sources
|
|
1078
|
+
/* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1079
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1080
|
+
img.Img,
|
|
1081
|
+
{
|
|
1082
|
+
src: logo.desktopSrc || logo.src || "",
|
|
1083
|
+
className: cn(
|
|
1084
|
+
"hidden h-8 w-auto object-contain md:block",
|
|
1085
|
+
logo.className
|
|
1086
|
+
),
|
|
1087
|
+
alt: logo.alt || "Logo",
|
|
1088
|
+
optixFlowConfig
|
|
1089
|
+
}
|
|
1090
|
+
),
|
|
1091
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1092
|
+
img.Img,
|
|
1093
|
+
{
|
|
1094
|
+
src: logo.mobileSrc || logo.src || "",
|
|
1095
|
+
className: cn(
|
|
1096
|
+
"h-8 w-auto object-contain md:hidden",
|
|
1097
|
+
logo.className
|
|
1098
|
+
),
|
|
1099
|
+
alt: logo.alt || "Logo",
|
|
1100
|
+
optixFlowConfig
|
|
1101
|
+
}
|
|
1102
|
+
)
|
|
1103
|
+
] })
|
|
1104
|
+
) : logo.src ? (
|
|
1105
|
+
// Standard single logo image
|
|
1106
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1107
|
+
img.Img,
|
|
1108
|
+
{
|
|
1109
|
+
src: logo.src,
|
|
1110
|
+
className: cn("max-h-8 w-auto object-contain", logo.className),
|
|
1111
|
+
alt: logo.alt || "Logo",
|
|
1112
|
+
optixFlowConfig
|
|
1113
|
+
}
|
|
1114
|
+
)
|
|
1115
|
+
) : (
|
|
1116
|
+
// Text-based logo (title as string or React element)
|
|
1117
|
+
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
|
|
1118
|
+
)
|
|
1119
|
+
}
|
|
1120
|
+
);
|
|
1121
|
+
};
|
|
1062
1122
|
|
|
1063
1123
|
// lib/mediaPlaceholders.ts
|
|
1064
1124
|
var logoPlaceholders = {
|
|
@@ -1089,14 +1149,14 @@ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks",
|
|
|
1089
1149
|
),
|
|
1090
1150
|
// Navigation wrapper classes (for border and shadow)
|
|
1091
1151
|
navWrapperClasses: cn(
|
|
1092
|
-
"w-full",
|
|
1152
|
+
"w-full h-16 items-center",
|
|
1093
1153
|
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm flex justify-center"
|
|
1094
1154
|
),
|
|
1095
1155
|
// Section container configuration for full-width navbars
|
|
1096
1156
|
sectionContainerClassName: "px-0 sm:px-0 lg:px-0",
|
|
1097
1157
|
sectionContainerMaxWidth: "full",
|
|
1098
1158
|
// Spacing adjustment for Section component
|
|
1099
|
-
spacingOverride: isFloatingBar ? "none" :
|
|
1159
|
+
spacingOverride: isFloatingBar ? "none" : "py-0 md:py-0"
|
|
1100
1160
|
};
|
|
1101
1161
|
}
|
|
1102
1162
|
var AnimatedHamburger = ({ isOpen }) => {
|
|
@@ -1225,29 +1285,6 @@ var NavbarSimpleLinks = ({
|
|
|
1225
1285
|
window.addEventListener("resize", updateIndicator);
|
|
1226
1286
|
return () => window.removeEventListener("resize", updateIndicator);
|
|
1227
1287
|
}, [activeItem]);
|
|
1228
|
-
const renderLogo = React.useMemo(() => {
|
|
1229
|
-
if (logoSlot) return logoSlot;
|
|
1230
|
-
if (!logo) return null;
|
|
1231
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1232
|
-
Pressable,
|
|
1233
|
-
{
|
|
1234
|
-
href: logo.url || "/",
|
|
1235
|
-
className: cn("flex items-center gap-2", logoClassName),
|
|
1236
|
-
children: [
|
|
1237
|
-
logo.src && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1238
|
-
img.Img,
|
|
1239
|
-
{
|
|
1240
|
-
src: logo.src,
|
|
1241
|
-
className: cn("max-h-8 w-8", logo.className),
|
|
1242
|
-
alt: logo.alt || "Logo",
|
|
1243
|
-
optixFlowConfig
|
|
1244
|
-
}
|
|
1245
|
-
),
|
|
1246
|
-
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
|
|
1247
|
-
]
|
|
1248
|
-
}
|
|
1249
|
-
);
|
|
1250
|
-
}, [logoSlot, logo, logoClassName, optixFlowConfig]);
|
|
1251
1288
|
const renderNavItems = React.useMemo(() => {
|
|
1252
1289
|
if (navItemsSlot) return navItemsSlot;
|
|
1253
1290
|
if (!navItems || navItems.length === 0) return null;
|
|
@@ -1319,7 +1356,15 @@ var NavbarSimpleLinks = ({
|
|
|
1319
1356
|
navClassName
|
|
1320
1357
|
),
|
|
1321
1358
|
children: [
|
|
1322
|
-
|
|
1359
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1360
|
+
NavbarLogo,
|
|
1361
|
+
{
|
|
1362
|
+
logo,
|
|
1363
|
+
logoSlot,
|
|
1364
|
+
logoClassName,
|
|
1365
|
+
optixFlowConfig
|
|
1366
|
+
}
|
|
1367
|
+
),
|
|
1323
1368
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1324
1369
|
NavigationMenu,
|
|
1325
1370
|
{
|
|
@@ -5,9 +5,9 @@ import { clsx } from 'clsx';
|
|
|
5
5
|
import { twMerge } from 'tailwind-merge';
|
|
6
6
|
import { cva } from 'class-variance-authority';
|
|
7
7
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
8
|
-
import { Img } from '@page-speed/img';
|
|
9
8
|
import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';
|
|
10
9
|
import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
10
|
+
import { Img } from '@page-speed/img';
|
|
11
11
|
|
|
12
12
|
// components/blocks/navbars/navbar-simple-links.tsx
|
|
13
13
|
function cn(...inputs) {
|
|
@@ -1036,6 +1036,66 @@ function PopoverContent({
|
|
|
1036
1036
|
}
|
|
1037
1037
|
) });
|
|
1038
1038
|
}
|
|
1039
|
+
var NavbarLogo = ({
|
|
1040
|
+
logo,
|
|
1041
|
+
logoSlot,
|
|
1042
|
+
logoClassName,
|
|
1043
|
+
optixFlowConfig
|
|
1044
|
+
}) => {
|
|
1045
|
+
if (logoSlot) return /* @__PURE__ */ jsx(Fragment, { children: logoSlot });
|
|
1046
|
+
if (!logo) return null;
|
|
1047
|
+
const hasResponsiveSources = logo.desktopSrc || logo.mobileSrc;
|
|
1048
|
+
return /* @__PURE__ */ jsx(
|
|
1049
|
+
Pressable,
|
|
1050
|
+
{
|
|
1051
|
+
href: logo.url || "/",
|
|
1052
|
+
className: cn("flex items-center", logoClassName),
|
|
1053
|
+
children: hasResponsiveSources ? (
|
|
1054
|
+
// Responsive logo with desktop/mobile sources
|
|
1055
|
+
/* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1056
|
+
/* @__PURE__ */ jsx(
|
|
1057
|
+
Img,
|
|
1058
|
+
{
|
|
1059
|
+
src: logo.desktopSrc || logo.src || "",
|
|
1060
|
+
className: cn(
|
|
1061
|
+
"hidden h-8 w-auto object-contain md:block",
|
|
1062
|
+
logo.className
|
|
1063
|
+
),
|
|
1064
|
+
alt: logo.alt || "Logo",
|
|
1065
|
+
optixFlowConfig
|
|
1066
|
+
}
|
|
1067
|
+
),
|
|
1068
|
+
/* @__PURE__ */ jsx(
|
|
1069
|
+
Img,
|
|
1070
|
+
{
|
|
1071
|
+
src: logo.mobileSrc || logo.src || "",
|
|
1072
|
+
className: cn(
|
|
1073
|
+
"h-8 w-auto object-contain md:hidden",
|
|
1074
|
+
logo.className
|
|
1075
|
+
),
|
|
1076
|
+
alt: logo.alt || "Logo",
|
|
1077
|
+
optixFlowConfig
|
|
1078
|
+
}
|
|
1079
|
+
)
|
|
1080
|
+
] })
|
|
1081
|
+
) : logo.src ? (
|
|
1082
|
+
// Standard single logo image
|
|
1083
|
+
/* @__PURE__ */ jsx(
|
|
1084
|
+
Img,
|
|
1085
|
+
{
|
|
1086
|
+
src: logo.src,
|
|
1087
|
+
className: cn("max-h-8 w-auto object-contain", logo.className),
|
|
1088
|
+
alt: logo.alt || "Logo",
|
|
1089
|
+
optixFlowConfig
|
|
1090
|
+
}
|
|
1091
|
+
)
|
|
1092
|
+
) : (
|
|
1093
|
+
// Text-based logo (title as string or React element)
|
|
1094
|
+
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
|
|
1095
|
+
)
|
|
1096
|
+
}
|
|
1097
|
+
);
|
|
1098
|
+
};
|
|
1039
1099
|
|
|
1040
1100
|
// lib/mediaPlaceholders.ts
|
|
1041
1101
|
var logoPlaceholders = {
|
|
@@ -1066,14 +1126,14 @@ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks",
|
|
|
1066
1126
|
),
|
|
1067
1127
|
// Navigation wrapper classes (for border and shadow)
|
|
1068
1128
|
navWrapperClasses: cn(
|
|
1069
|
-
"w-full",
|
|
1129
|
+
"w-full h-16 items-center",
|
|
1070
1130
|
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm flex justify-center"
|
|
1071
1131
|
),
|
|
1072
1132
|
// Section container configuration for full-width navbars
|
|
1073
1133
|
sectionContainerClassName: "px-0 sm:px-0 lg:px-0",
|
|
1074
1134
|
sectionContainerMaxWidth: "full",
|
|
1075
1135
|
// Spacing adjustment for Section component
|
|
1076
|
-
spacingOverride: isFloatingBar ? "none" :
|
|
1136
|
+
spacingOverride: isFloatingBar ? "none" : "py-0 md:py-0"
|
|
1077
1137
|
};
|
|
1078
1138
|
}
|
|
1079
1139
|
var AnimatedHamburger = ({ isOpen }) => {
|
|
@@ -1202,29 +1262,6 @@ var NavbarSimpleLinks = ({
|
|
|
1202
1262
|
window.addEventListener("resize", updateIndicator);
|
|
1203
1263
|
return () => window.removeEventListener("resize", updateIndicator);
|
|
1204
1264
|
}, [activeItem]);
|
|
1205
|
-
const renderLogo = useMemo(() => {
|
|
1206
|
-
if (logoSlot) return logoSlot;
|
|
1207
|
-
if (!logo) return null;
|
|
1208
|
-
return /* @__PURE__ */ jsxs(
|
|
1209
|
-
Pressable,
|
|
1210
|
-
{
|
|
1211
|
-
href: logo.url || "/",
|
|
1212
|
-
className: cn("flex items-center gap-2", logoClassName),
|
|
1213
|
-
children: [
|
|
1214
|
-
logo.src && /* @__PURE__ */ jsx(
|
|
1215
|
-
Img,
|
|
1216
|
-
{
|
|
1217
|
-
src: logo.src,
|
|
1218
|
-
className: cn("max-h-8 w-8", logo.className),
|
|
1219
|
-
alt: logo.alt || "Logo",
|
|
1220
|
-
optixFlowConfig
|
|
1221
|
-
}
|
|
1222
|
-
),
|
|
1223
|
-
logo.title && (typeof logo.title === "string" ? /* @__PURE__ */ jsx("span", { className: "text-lg font-semibold tracking-tighter", children: logo.title }) : logo.title)
|
|
1224
|
-
]
|
|
1225
|
-
}
|
|
1226
|
-
);
|
|
1227
|
-
}, [logoSlot, logo, logoClassName, optixFlowConfig]);
|
|
1228
1265
|
const renderNavItems = useMemo(() => {
|
|
1229
1266
|
if (navItemsSlot) return navItemsSlot;
|
|
1230
1267
|
if (!navItems || navItems.length === 0) return null;
|
|
@@ -1296,7 +1333,15 @@ var NavbarSimpleLinks = ({
|
|
|
1296
1333
|
navClassName
|
|
1297
1334
|
),
|
|
1298
1335
|
children: [
|
|
1299
|
-
|
|
1336
|
+
/* @__PURE__ */ jsx(
|
|
1337
|
+
NavbarLogo,
|
|
1338
|
+
{
|
|
1339
|
+
logo,
|
|
1340
|
+
logoSlot,
|
|
1341
|
+
logoClassName,
|
|
1342
|
+
optixFlowConfig
|
|
1343
|
+
}
|
|
1344
|
+
),
|
|
1300
1345
|
/* @__PURE__ */ jsx(
|
|
1301
1346
|
NavigationMenu,
|
|
1302
1347
|
{
|
|
@@ -1176,14 +1176,14 @@ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks",
|
|
|
1176
1176
|
),
|
|
1177
1177
|
// Navigation wrapper classes (for border and shadow)
|
|
1178
1178
|
navWrapperClasses: cn(
|
|
1179
|
-
"w-full",
|
|
1179
|
+
"w-full h-16 items-center",
|
|
1180
1180
|
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm flex justify-center"
|
|
1181
1181
|
),
|
|
1182
1182
|
// Section container configuration for full-width navbars
|
|
1183
1183
|
sectionContainerClassName: "px-0 sm:px-0 lg:px-0",
|
|
1184
1184
|
sectionContainerMaxWidth: "full",
|
|
1185
1185
|
// Spacing adjustment for Section component
|
|
1186
|
-
spacingOverride: isFloatingBar ? "none" :
|
|
1186
|
+
spacingOverride: isFloatingBar ? "none" : "py-0 md:py-0"
|
|
1187
1187
|
};
|
|
1188
1188
|
}
|
|
1189
1189
|
var NavbarSplitCta = ({
|
package/dist/navbar-split-cta.js
CHANGED
|
@@ -1153,14 +1153,14 @@ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks",
|
|
|
1153
1153
|
),
|
|
1154
1154
|
// Navigation wrapper classes (for border and shadow)
|
|
1155
1155
|
navWrapperClasses: cn(
|
|
1156
|
-
"w-full",
|
|
1156
|
+
"w-full h-16 items-center",
|
|
1157
1157
|
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm flex justify-center"
|
|
1158
1158
|
),
|
|
1159
1159
|
// Section container configuration for full-width navbars
|
|
1160
1160
|
sectionContainerClassName: "px-0 sm:px-0 lg:px-0",
|
|
1161
1161
|
sectionContainerMaxWidth: "full",
|
|
1162
1162
|
// Spacing adjustment for Section component
|
|
1163
|
-
spacingOverride: isFloatingBar ? "none" :
|
|
1163
|
+
spacingOverride: isFloatingBar ? "none" : "py-0 md:py-0"
|
|
1164
1164
|
};
|
|
1165
1165
|
}
|
|
1166
1166
|
var NavbarSplitCta = ({
|
|
@@ -1176,14 +1176,14 @@ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks",
|
|
|
1176
1176
|
),
|
|
1177
1177
|
// Navigation wrapper classes (for border and shadow)
|
|
1178
1178
|
navWrapperClasses: cn(
|
|
1179
|
-
"w-full",
|
|
1179
|
+
"w-full h-16 items-center",
|
|
1180
1180
|
isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm flex justify-center"
|
|
1181
1181
|
),
|
|
1182
1182
|
// Section container configuration for full-width navbars
|
|
1183
1183
|
sectionContainerClassName: "px-0 sm:px-0 lg:px-0",
|
|
1184
1184
|
sectionContainerMaxWidth: "full",
|
|
1185
1185
|
// Spacing adjustment for Section component
|
|
1186
|
-
spacingOverride: isFloatingBar ? "none" :
|
|
1186
|
+
spacingOverride: isFloatingBar ? "none" : "py-0 md:py-0"
|
|
1187
1187
|
};
|
|
1188
1188
|
}
|
|
1189
1189
|
var NavbarStickyCompact = ({
|