@opensite/ui 0.4.5 → 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.
Files changed (89) hide show
  1. package/dist/navbar-animated-preview.cjs +87 -53
  2. package/dist/navbar-animated-preview.d.cts +6 -2
  3. package/dist/navbar-animated-preview.d.ts +6 -2
  4. package/dist/navbar-animated-preview.js +87 -53
  5. package/dist/navbar-centered-menu.cjs +89 -59
  6. package/dist/navbar-centered-menu.d.cts +6 -2
  7. package/dist/navbar-centered-menu.d.ts +6 -2
  8. package/dist/navbar-centered-menu.js +89 -59
  9. package/dist/navbar-dark-icons.cjs +50 -10
  10. package/dist/navbar-dark-icons.d.cts +6 -2
  11. package/dist/navbar-dark-icons.d.ts +6 -2
  12. package/dist/navbar-dark-icons.js +50 -10
  13. package/dist/navbar-dropdown-menu.cjs +89 -59
  14. package/dist/navbar-dropdown-menu.d.cts +6 -2
  15. package/dist/navbar-dropdown-menu.d.ts +6 -2
  16. package/dist/navbar-dropdown-menu.js +89 -59
  17. package/dist/navbar-education-platform.cjs +48 -10
  18. package/dist/navbar-education-platform.d.cts +6 -2
  19. package/dist/navbar-education-platform.d.ts +6 -2
  20. package/dist/navbar-education-platform.js +48 -10
  21. package/dist/navbar-enterprise-mega.cjs +50 -10
  22. package/dist/navbar-enterprise-mega.d.cts +6 -2
  23. package/dist/navbar-enterprise-mega.d.ts +6 -2
  24. package/dist/navbar-enterprise-mega.js +50 -10
  25. package/dist/navbar-feature-grid.cjs +47 -8
  26. package/dist/navbar-feature-grid.d.cts +6 -2
  27. package/dist/navbar-feature-grid.d.ts +6 -2
  28. package/dist/navbar-feature-grid.js +47 -8
  29. package/dist/navbar-floating-pill.cjs +50 -11
  30. package/dist/navbar-floating-pill.d.cts +6 -2
  31. package/dist/navbar-floating-pill.d.ts +6 -2
  32. package/dist/navbar-floating-pill.js +50 -11
  33. package/dist/navbar-fullscreen-menu.cjs +44 -5
  34. package/dist/navbar-fullscreen-menu.d.cts +6 -2
  35. package/dist/navbar-fullscreen-menu.d.ts +6 -2
  36. package/dist/navbar-fullscreen-menu.js +44 -5
  37. package/dist/navbar-icon-links.cjs +46 -8
  38. package/dist/navbar-icon-links.d.cts +6 -2
  39. package/dist/navbar-icon-links.d.ts +6 -2
  40. package/dist/navbar-icon-links.js +46 -8
  41. package/dist/navbar-image-preview.cjs +47 -8
  42. package/dist/navbar-image-preview.d.cts +6 -2
  43. package/dist/navbar-image-preview.d.ts +6 -2
  44. package/dist/navbar-image-preview.js +47 -8
  45. package/dist/navbar-mega-menu.cjs +56 -12
  46. package/dist/navbar-mega-menu.d.cts +7 -3
  47. package/dist/navbar-mega-menu.d.ts +7 -3
  48. package/dist/navbar-mega-menu.js +56 -12
  49. package/dist/navbar-multi-column-groups.cjs +47 -11
  50. package/dist/navbar-multi-column-groups.d.cts +6 -2
  51. package/dist/navbar-multi-column-groups.d.ts +6 -2
  52. package/dist/navbar-multi-column-groups.js +47 -11
  53. package/dist/navbar-platform-resources.cjs +184 -154
  54. package/dist/navbar-platform-resources.d.cts +6 -2
  55. package/dist/navbar-platform-resources.d.ts +6 -2
  56. package/dist/navbar-platform-resources.js +184 -154
  57. package/dist/navbar-search-focused.cjs +45 -7
  58. package/dist/navbar-search-focused.d.cts +6 -2
  59. package/dist/navbar-search-focused.d.ts +6 -2
  60. package/dist/navbar-search-focused.js +45 -7
  61. package/dist/navbar-sidebar-mobile.cjs +47 -8
  62. package/dist/navbar-sidebar-mobile.d.cts +6 -2
  63. package/dist/navbar-sidebar-mobile.d.ts +6 -2
  64. package/dist/navbar-sidebar-mobile.js +47 -8
  65. package/dist/navbar-simple-links.cjs +88 -59
  66. package/dist/navbar-simple-links.d.cts +6 -2
  67. package/dist/navbar-simple-links.d.ts +6 -2
  68. package/dist/navbar-simple-links.js +88 -59
  69. package/dist/navbar-split-cta.cjs +47 -8
  70. package/dist/navbar-split-cta.d.cts +6 -2
  71. package/dist/navbar-split-cta.d.ts +6 -2
  72. package/dist/navbar-split-cta.js +47 -8
  73. package/dist/navbar-sticky-compact.cjs +49 -10
  74. package/dist/navbar-sticky-compact.d.cts +6 -2
  75. package/dist/navbar-sticky-compact.d.ts +6 -2
  76. package/dist/navbar-sticky-compact.js +49 -10
  77. package/dist/navbar-tabbed-sections.cjs +47 -8
  78. package/dist/navbar-tabbed-sections.d.cts +6 -2
  79. package/dist/navbar-tabbed-sections.d.ts +6 -2
  80. package/dist/navbar-tabbed-sections.js +47 -8
  81. package/dist/navbar-transparent-overlay.cjs +47 -9
  82. package/dist/navbar-transparent-overlay.d.cts +6 -2
  83. package/dist/navbar-transparent-overlay.d.ts +6 -2
  84. package/dist/navbar-transparent-overlay.js +47 -9
  85. package/dist/registry.cjs +625 -463
  86. package/dist/registry.js +625 -463
  87. package/dist/{types-D2b35ylu.d.cts → types-COVDidbn.d.cts} +22 -1
  88. package/dist/{types-D2b35ylu.d.ts → types-COVDidbn.d.ts} +22 -1
  89. package/package.json +2 -2
@@ -2,7 +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 } from './types-D2b35ylu.cjs';
5
+ import { L as LogoConfig, N as NavbarLayoutVariant } from './types-COVDidbn.cjs';
6
6
  import { A as ActionConfig, O as OptixFlowConfig } from './blocks-Cohq4eio.cjs';
7
7
  import 'class-variance-authority';
8
8
  import './button-variants-lRElsmTc.cjs';
@@ -86,6 +86,10 @@ interface NavbarStickyCompactProps {
86
86
  * OptixFlow image optimization configuration
87
87
  */
88
88
  optixFlowConfig?: OptixFlowConfig;
89
+ /**
90
+ * Layout variant for the navbar
91
+ */
92
+ layoutVariant?: NavbarLayoutVariant;
89
93
  }
90
94
  /**
91
95
  * NavbarStickyCompact - A compact sticky navigation bar that shrinks on scroll.
@@ -96,6 +100,6 @@ interface NavbarStickyCompactProps {
96
100
  * Mobile view uses a slide-out sheet from the right. Ideal for content-heavy sites where
97
101
  * vertical space is valuable.
98
102
  */
99
- declare const NavbarStickyCompact: ({ logo, logoSlot, logoClassName, menu, menuSlot, authActions, authActionsSlot, className, containerClassName, navClassName, actionsClassName, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarStickyCompactProps) => react_jsx_runtime.JSX.Element;
103
+ declare const NavbarStickyCompact: ({ logo, logoSlot, logoClassName, menu, menuSlot, authActions, authActionsSlot, className, containerClassName, navClassName, actionsClassName, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarStickyCompactProps) => react_jsx_runtime.JSX.Element;
100
104
 
101
105
  export { NavbarStickyCompact, type NavbarStickyCompactProps };
@@ -2,7 +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 } from './types-D2b35ylu.js';
5
+ import { L as LogoConfig, N as NavbarLayoutVariant } from './types-COVDidbn.js';
6
6
  import { A as ActionConfig, O as OptixFlowConfig } from './blocks-k17uluAz.js';
7
7
  import 'class-variance-authority';
8
8
  import './button-variants-lRElsmTc.js';
@@ -86,6 +86,10 @@ interface NavbarStickyCompactProps {
86
86
  * OptixFlow image optimization configuration
87
87
  */
88
88
  optixFlowConfig?: OptixFlowConfig;
89
+ /**
90
+ * Layout variant for the navbar
91
+ */
92
+ layoutVariant?: NavbarLayoutVariant;
89
93
  }
90
94
  /**
91
95
  * NavbarStickyCompact - A compact sticky navigation bar that shrinks on scroll.
@@ -96,6 +100,6 @@ interface NavbarStickyCompactProps {
96
100
  * Mobile view uses a slide-out sheet from the right. Ideal for content-heavy sites where
97
101
  * vertical space is valuable.
98
102
  */
99
- declare const NavbarStickyCompact: ({ logo, logoSlot, logoClassName, menu, menuSlot, authActions, authActionsSlot, className, containerClassName, navClassName, actionsClassName, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarStickyCompactProps) => react_jsx_runtime.JSX.Element;
103
+ declare const NavbarStickyCompact: ({ logo, logoSlot, logoClassName, menu, menuSlot, authActions, authActionsSlot, className, containerClassName, navClassName, actionsClassName, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarStickyCompactProps) => react_jsx_runtime.JSX.Element;
100
104
 
101
105
  export { NavbarStickyCompact, type NavbarStickyCompactProps };
@@ -931,7 +931,7 @@ function NavigationMenuList({
931
931
  {
932
932
  "data-slot": "navigation-menu-list",
933
933
  className: cn(
934
- "group flex flex-1 list-none items-center justify-center gap-6",
934
+ "group flex flex-1 list-none items-center justify-center gap-2 lg:gap-4 xl:gap-6",
935
935
  className
936
936
  ),
937
937
  ...props
@@ -971,8 +971,9 @@ function NavigationMenuTrigger({
971
971
  /* @__PURE__ */ jsx(
972
972
  DynamicIcon,
973
973
  {
974
+ size: 18,
974
975
  name: "lucide/chevron-down",
975
- className: "relative top-[1px] ml-1 size-2 transition duration-300 group-data-[state=open]:rotate-180",
976
+ className: "relative top-px opacity-50 transition duration-300 group-data-[state=open]:rotate-180",
976
977
  "aria-hidden": "true"
977
978
  }
978
979
  )
@@ -1012,7 +1013,7 @@ function NavigationMenuViewport({
1012
1013
  {
1013
1014
  "data-slot": "navigation-menu-viewport",
1014
1015
  className: cn(
1015
- "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-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow md:w-[var(--radix-navigation-menu-viewport-width)]",
1016
+ "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)",
1016
1017
  className
1017
1018
  ),
1018
1019
  ...props
@@ -1030,7 +1031,7 @@ function NavigationMenuLink({
1030
1031
  {
1031
1032
  "data-slot": "navigation-menu-link",
1032
1033
  className: cn(
1033
- "data-[active=true]:focus:bg-muted data-[active=true]:hover:bg-muted data-[active=true]:bg-muted/50 data-[active=true]:text-foreground hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4",
1034
+ "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",
1034
1035
  className
1035
1036
  ),
1036
1037
  ...props
@@ -1115,6 +1116,36 @@ function SheetTitle({
1115
1116
  // lib/mediaPlaceholders.ts
1116
1117
  var logoPlaceholders = {
1117
1118
  logoMark: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/monochrome-rounded-square-app-icon-circular-emblem.png"};
1119
+
1120
+ // components/blocks/navbars/layout-variant-utils.ts
1121
+ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks", customClasses) {
1122
+ const isFloatingBar = layoutVariant === "floatingBar";
1123
+ const isFullWidthLinks = layoutVariant === "fullScreenFullWidthLinks";
1124
+ return {
1125
+ // Section wrapper classes
1126
+ sectionClasses: cn(
1127
+ "inset-x-0 z-20",
1128
+ isFloatingBar ? "sticky top-4" : "top-0",
1129
+ customClasses?.className
1130
+ ),
1131
+ // Outer container wrapper (only for floating bar)
1132
+ containerWrapperClasses: cn(
1133
+ isFloatingBar && "mx-auto w-full px-2 sm:px-4 lg:px-8 max-w-7xl relative z-10"
1134
+ ),
1135
+ // Inner container classes
1136
+ innerContainerClasses: cn(
1137
+ !isFloatingBar && !isFullWidthLinks && "container",
1138
+ isFullWidthLinks && "mx-auto w-full px-2 sm:px-4 lg:px-8",
1139
+ customClasses?.containerClassName
1140
+ ),
1141
+ // Navigation wrapper classes (for border and shadow)
1142
+ navWrapperClasses: cn(
1143
+ isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm"
1144
+ ),
1145
+ // Spacing adjustment for Section component
1146
+ spacingOverride: isFloatingBar ? "none" : void 0
1147
+ };
1148
+ }
1118
1149
  var NavbarStickyCompact = ({
1119
1150
  logo = {
1120
1151
  url: "/",
@@ -1130,6 +1161,7 @@ var NavbarStickyCompact = ({
1130
1161
  containerClassName,
1131
1162
  navClassName,
1132
1163
  actionsClassName,
1164
+ layoutVariant = "fullScreenContainerizedLinks",
1133
1165
  background = "white",
1134
1166
  spacing = "none",
1135
1167
  pattern,
@@ -1283,19 +1315,26 @@ var NavbarStickyCompact = ({
1283
1315
  )
1284
1316
  );
1285
1317
  };
1318
+ const {
1319
+ sectionClasses,
1320
+ containerWrapperClasses,
1321
+ innerContainerClasses,
1322
+ navWrapperClasses,
1323
+ spacingOverride
1324
+ } = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
1286
1325
  return /* @__PURE__ */ jsx(
1287
1326
  Section,
1288
1327
  {
1289
1328
  background,
1290
- spacing,
1329
+ spacing: spacingOverride ?? spacing,
1291
1330
  className: cn(
1292
- "fixed top-0 left-0 z-50 w-full border-b bg-background/95 backdrop-blur-sm transition-all duration-300",
1293
- isScrolled ? "shadow-sm" : "",
1294
- className
1331
+ sectionClasses,
1332
+ "fixed top-0 left-0 z-50 w-full bg-background/95 backdrop-blur-sm transition-all duration-300",
1333
+ isScrolled ? "shadow-sm" : ""
1295
1334
  ),
1296
1335
  pattern,
1297
1336
  patternOpacity,
1298
- children: /* @__PURE__ */ jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxs(
1337
+ children: /* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: cn(innerContainerClasses, navWrapperClasses), children: /* @__PURE__ */ jsxs(
1299
1338
  "nav",
1300
1339
  {
1301
1340
  className: cn(
@@ -1351,7 +1390,7 @@ var NavbarStickyCompact = ({
1351
1390
  ] })
1352
1391
  ]
1353
1392
  }
1354
- ) })
1393
+ ) }) })
1355
1394
  }
1356
1395
  );
1357
1396
  };
@@ -956,7 +956,7 @@ function NavigationMenuList({
956
956
  {
957
957
  "data-slot": "navigation-menu-list",
958
958
  className: cn(
959
- "group flex flex-1 list-none items-center justify-center gap-6",
959
+ "group flex flex-1 list-none items-center justify-center gap-2 lg:gap-4 xl:gap-6",
960
960
  className
961
961
  ),
962
962
  ...props
@@ -996,8 +996,9 @@ function NavigationMenuTrigger({
996
996
  /* @__PURE__ */ jsxRuntime.jsx(
997
997
  DynamicIcon,
998
998
  {
999
+ size: 18,
999
1000
  name: "lucide/chevron-down",
1000
- className: "relative top-[1px] ml-1 size-2 transition duration-300 group-data-[state=open]:rotate-180",
1001
+ className: "relative top-px opacity-50 transition duration-300 group-data-[state=open]:rotate-180",
1001
1002
  "aria-hidden": "true"
1002
1003
  }
1003
1004
  )
@@ -1037,7 +1038,7 @@ function NavigationMenuViewport({
1037
1038
  {
1038
1039
  "data-slot": "navigation-menu-viewport",
1039
1040
  className: cn(
1040
- "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-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow md:w-[var(--radix-navigation-menu-viewport-width)]",
1041
+ "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)",
1041
1042
  className
1042
1043
  ),
1043
1044
  ...props
@@ -1055,7 +1056,7 @@ function NavigationMenuLink({
1055
1056
  {
1056
1057
  "data-slot": "navigation-menu-link",
1057
1058
  className: cn(
1058
- "data-[active=true]:focus:bg-muted data-[active=true]:hover:bg-muted data-[active=true]:bg-muted/50 data-[active=true]:text-foreground hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4",
1059
+ "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",
1059
1060
  className
1060
1061
  ),
1061
1062
  ...props
@@ -1198,6 +1199,36 @@ function TabsContent({
1198
1199
  // lib/mediaPlaceholders.ts
1199
1200
  var logoPlaceholders = {
1200
1201
  logoMark: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/monochrome-rounded-square-app-icon-circular-emblem.png"};
1202
+
1203
+ // components/blocks/navbars/layout-variant-utils.ts
1204
+ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks", customClasses) {
1205
+ const isFloatingBar = layoutVariant === "floatingBar";
1206
+ const isFullWidthLinks = layoutVariant === "fullScreenFullWidthLinks";
1207
+ return {
1208
+ // Section wrapper classes
1209
+ sectionClasses: cn(
1210
+ "inset-x-0 z-20",
1211
+ isFloatingBar ? "sticky top-4" : "top-0",
1212
+ customClasses?.className
1213
+ ),
1214
+ // Outer container wrapper (only for floating bar)
1215
+ containerWrapperClasses: cn(
1216
+ isFloatingBar && "mx-auto w-full px-2 sm:px-4 lg:px-8 max-w-7xl relative z-10"
1217
+ ),
1218
+ // Inner container classes
1219
+ innerContainerClasses: cn(
1220
+ !isFloatingBar && !isFullWidthLinks && "container",
1221
+ isFullWidthLinks && "mx-auto w-full px-2 sm:px-4 lg:px-8",
1222
+ customClasses?.containerClassName
1223
+ ),
1224
+ // Navigation wrapper classes (for border and shadow)
1225
+ navWrapperClasses: cn(
1226
+ isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm"
1227
+ ),
1228
+ // Spacing adjustment for Section component
1229
+ spacingOverride: isFloatingBar ? "none" : void 0
1230
+ };
1231
+ }
1201
1232
  var NavbarTabbedSections = ({
1202
1233
  logo = {
1203
1234
  url: "/",
@@ -1213,6 +1244,7 @@ var NavbarTabbedSections = ({
1213
1244
  containerClassName,
1214
1245
  navClassName,
1215
1246
  actionsClassName,
1247
+ layoutVariant = "fullScreenContainerizedLinks",
1216
1248
  background = "white",
1217
1249
  spacing = "none",
1218
1250
  pattern,
@@ -1376,15 +1408,22 @@ var NavbarTabbedSections = ({
1376
1408
  )
1377
1409
  );
1378
1410
  };
1411
+ const {
1412
+ sectionClasses,
1413
+ containerWrapperClasses,
1414
+ innerContainerClasses,
1415
+ navWrapperClasses,
1416
+ spacingOverride
1417
+ } = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
1379
1418
  return /* @__PURE__ */ jsxRuntime.jsx(
1380
1419
  Section,
1381
1420
  {
1382
1421
  background,
1383
- spacing,
1384
- className: cn("border-b bg-background", className),
1422
+ spacing: spacingOverride ?? spacing,
1423
+ className: sectionClasses,
1385
1424
  pattern,
1386
1425
  patternOpacity,
1387
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs(
1426
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(innerContainerClasses, navWrapperClasses), children: /* @__PURE__ */ jsxRuntime.jsxs(
1388
1427
  "nav",
1389
1428
  {
1390
1429
  className: cn("flex items-center justify-between py-4", navClassName),
@@ -1437,7 +1476,7 @@ var NavbarTabbedSections = ({
1437
1476
  ] })
1438
1477
  ]
1439
1478
  }
1440
- ) })
1479
+ ) }) })
1441
1480
  }
1442
1481
  );
1443
1482
  };
@@ -2,7 +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 } from './types-D2b35ylu.cjs';
5
+ import { L as LogoConfig, N as NavbarLayoutVariant } from './types-COVDidbn.cjs';
6
6
  import { A as ActionConfig, O as OptixFlowConfig } from './blocks-Cohq4eio.cjs';
7
7
  import 'class-variance-authority';
8
8
  import './button-variants-lRElsmTc.cjs';
@@ -98,6 +98,10 @@ interface NavbarTabbedSectionsProps {
98
98
  * OptixFlow image optimization configuration
99
99
  */
100
100
  optixFlowConfig?: OptixFlowConfig;
101
+ /**
102
+ * Layout variant for the navbar
103
+ */
104
+ layoutVariant?: NavbarLayoutVariant;
101
105
  }
102
106
  /**
103
107
  * NavbarTabbedSections - A navigation bar with tabbed dropdown menus for organized content.
@@ -108,6 +112,6 @@ interface NavbarTabbedSectionsProps {
108
112
  * the same dropdown. Mobile view uses a slide-out sheet with expandable sections. Ideal for
109
113
  * products with many features organized into logical categories.
110
114
  */
111
- declare const NavbarTabbedSections: ({ logo, logoSlot, logoClassName, menu, menuSlot, authActions, authActionsSlot, className, containerClassName, navClassName, actionsClassName, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarTabbedSectionsProps) => react_jsx_runtime.JSX.Element;
115
+ declare const NavbarTabbedSections: ({ logo, logoSlot, logoClassName, menu, menuSlot, authActions, authActionsSlot, className, containerClassName, navClassName, actionsClassName, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarTabbedSectionsProps) => react_jsx_runtime.JSX.Element;
112
116
 
113
117
  export { NavbarTabbedSections, type NavbarTabbedSectionsProps };
@@ -2,7 +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 } from './types-D2b35ylu.js';
5
+ import { L as LogoConfig, N as NavbarLayoutVariant } from './types-COVDidbn.js';
6
6
  import { A as ActionConfig, O as OptixFlowConfig } from './blocks-k17uluAz.js';
7
7
  import 'class-variance-authority';
8
8
  import './button-variants-lRElsmTc.js';
@@ -98,6 +98,10 @@ interface NavbarTabbedSectionsProps {
98
98
  * OptixFlow image optimization configuration
99
99
  */
100
100
  optixFlowConfig?: OptixFlowConfig;
101
+ /**
102
+ * Layout variant for the navbar
103
+ */
104
+ layoutVariant?: NavbarLayoutVariant;
101
105
  }
102
106
  /**
103
107
  * NavbarTabbedSections - A navigation bar with tabbed dropdown menus for organized content.
@@ -108,6 +112,6 @@ interface NavbarTabbedSectionsProps {
108
112
  * the same dropdown. Mobile view uses a slide-out sheet with expandable sections. Ideal for
109
113
  * products with many features organized into logical categories.
110
114
  */
111
- declare const NavbarTabbedSections: ({ logo, logoSlot, logoClassName, menu, menuSlot, authActions, authActionsSlot, className, containerClassName, navClassName, actionsClassName, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarTabbedSectionsProps) => react_jsx_runtime.JSX.Element;
115
+ declare const NavbarTabbedSections: ({ logo, logoSlot, logoClassName, menu, menuSlot, authActions, authActionsSlot, className, containerClassName, navClassName, actionsClassName, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarTabbedSectionsProps) => react_jsx_runtime.JSX.Element;
112
116
 
113
117
  export { NavbarTabbedSections, type NavbarTabbedSectionsProps };
@@ -932,7 +932,7 @@ function NavigationMenuList({
932
932
  {
933
933
  "data-slot": "navigation-menu-list",
934
934
  className: cn(
935
- "group flex flex-1 list-none items-center justify-center gap-6",
935
+ "group flex flex-1 list-none items-center justify-center gap-2 lg:gap-4 xl:gap-6",
936
936
  className
937
937
  ),
938
938
  ...props
@@ -972,8 +972,9 @@ function NavigationMenuTrigger({
972
972
  /* @__PURE__ */ jsx(
973
973
  DynamicIcon,
974
974
  {
975
+ size: 18,
975
976
  name: "lucide/chevron-down",
976
- className: "relative top-[1px] ml-1 size-2 transition duration-300 group-data-[state=open]:rotate-180",
977
+ className: "relative top-px opacity-50 transition duration-300 group-data-[state=open]:rotate-180",
977
978
  "aria-hidden": "true"
978
979
  }
979
980
  )
@@ -1013,7 +1014,7 @@ function NavigationMenuViewport({
1013
1014
  {
1014
1015
  "data-slot": "navigation-menu-viewport",
1015
1016
  className: cn(
1016
- "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-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow md:w-[var(--radix-navigation-menu-viewport-width)]",
1017
+ "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)",
1017
1018
  className
1018
1019
  ),
1019
1020
  ...props
@@ -1031,7 +1032,7 @@ function NavigationMenuLink({
1031
1032
  {
1032
1033
  "data-slot": "navigation-menu-link",
1033
1034
  className: cn(
1034
- "data-[active=true]:focus:bg-muted data-[active=true]:hover:bg-muted data-[active=true]:bg-muted/50 data-[active=true]:text-foreground hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4",
1035
+ "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",
1035
1036
  className
1036
1037
  ),
1037
1038
  ...props
@@ -1174,6 +1175,36 @@ function TabsContent({
1174
1175
  // lib/mediaPlaceholders.ts
1175
1176
  var logoPlaceholders = {
1176
1177
  logoMark: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/monochrome-rounded-square-app-icon-circular-emblem.png"};
1178
+
1179
+ // components/blocks/navbars/layout-variant-utils.ts
1180
+ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks", customClasses) {
1181
+ const isFloatingBar = layoutVariant === "floatingBar";
1182
+ const isFullWidthLinks = layoutVariant === "fullScreenFullWidthLinks";
1183
+ return {
1184
+ // Section wrapper classes
1185
+ sectionClasses: cn(
1186
+ "inset-x-0 z-20",
1187
+ isFloatingBar ? "sticky top-4" : "top-0",
1188
+ customClasses?.className
1189
+ ),
1190
+ // Outer container wrapper (only for floating bar)
1191
+ containerWrapperClasses: cn(
1192
+ isFloatingBar && "mx-auto w-full px-2 sm:px-4 lg:px-8 max-w-7xl relative z-10"
1193
+ ),
1194
+ // Inner container classes
1195
+ innerContainerClasses: cn(
1196
+ !isFloatingBar && !isFullWidthLinks && "container",
1197
+ isFullWidthLinks && "mx-auto w-full px-2 sm:px-4 lg:px-8",
1198
+ customClasses?.containerClassName
1199
+ ),
1200
+ // Navigation wrapper classes (for border and shadow)
1201
+ navWrapperClasses: cn(
1202
+ isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm"
1203
+ ),
1204
+ // Spacing adjustment for Section component
1205
+ spacingOverride: isFloatingBar ? "none" : void 0
1206
+ };
1207
+ }
1177
1208
  var NavbarTabbedSections = ({
1178
1209
  logo = {
1179
1210
  url: "/",
@@ -1189,6 +1220,7 @@ var NavbarTabbedSections = ({
1189
1220
  containerClassName,
1190
1221
  navClassName,
1191
1222
  actionsClassName,
1223
+ layoutVariant = "fullScreenContainerizedLinks",
1192
1224
  background = "white",
1193
1225
  spacing = "none",
1194
1226
  pattern,
@@ -1352,15 +1384,22 @@ var NavbarTabbedSections = ({
1352
1384
  )
1353
1385
  );
1354
1386
  };
1387
+ const {
1388
+ sectionClasses,
1389
+ containerWrapperClasses,
1390
+ innerContainerClasses,
1391
+ navWrapperClasses,
1392
+ spacingOverride
1393
+ } = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
1355
1394
  return /* @__PURE__ */ jsx(
1356
1395
  Section,
1357
1396
  {
1358
1397
  background,
1359
- spacing,
1360
- className: cn("border-b bg-background", className),
1398
+ spacing: spacingOverride ?? spacing,
1399
+ className: sectionClasses,
1361
1400
  pattern,
1362
1401
  patternOpacity,
1363
- children: /* @__PURE__ */ jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxs(
1402
+ children: /* @__PURE__ */ jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsx("div", { className: cn(innerContainerClasses, navWrapperClasses), children: /* @__PURE__ */ jsxs(
1364
1403
  "nav",
1365
1404
  {
1366
1405
  className: cn("flex items-center justify-between py-4", navClassName),
@@ -1413,7 +1452,7 @@ var NavbarTabbedSections = ({
1413
1452
  ] })
1414
1453
  ]
1415
1454
  }
1416
- ) })
1455
+ ) }) })
1417
1456
  }
1418
1457
  );
1419
1458
  };
@@ -952,7 +952,7 @@ function NavigationMenuList({
952
952
  {
953
953
  "data-slot": "navigation-menu-list",
954
954
  className: cn(
955
- "group flex flex-1 list-none items-center justify-center gap-6",
955
+ "group flex flex-1 list-none items-center justify-center gap-2 lg:gap-4 xl:gap-6",
956
956
  className
957
957
  ),
958
958
  ...props
@@ -990,7 +990,7 @@ function NavigationMenuViewport({
990
990
  {
991
991
  "data-slot": "navigation-menu-viewport",
992
992
  className: cn(
993
- "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-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow md:w-[var(--radix-navigation-menu-viewport-width)]",
993
+ "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)",
994
994
  className
995
995
  ),
996
996
  ...props
@@ -1008,7 +1008,7 @@ function NavigationMenuLink({
1008
1008
  {
1009
1009
  "data-slot": "navigation-menu-link",
1010
1010
  className: cn(
1011
- "data-[active=true]:focus:bg-muted data-[active=true]:hover:bg-muted data-[active=true]:bg-muted/50 data-[active=true]:text-foreground hover:bg-muted hover:text-foreground focus:bg-muted focus:text-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4",
1011
+ "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",
1012
1012
  className
1013
1013
  ),
1014
1014
  ...props
@@ -1019,6 +1019,36 @@ function NavigationMenuLink({
1019
1019
  // lib/mediaPlaceholders.ts
1020
1020
  var logoPlaceholders = {
1021
1021
  logoMark: "https://cdn.ing/assets/i/r/285975/eud79qeya11q5w6ueyhklueardyx/monochrome-rounded-square-app-icon-circular-emblem.png"};
1022
+
1023
+ // components/blocks/navbars/layout-variant-utils.ts
1024
+ function getNavbarLayoutClasses(layoutVariant = "fullScreenContainerizedLinks", customClasses) {
1025
+ const isFloatingBar = layoutVariant === "floatingBar";
1026
+ const isFullWidthLinks = layoutVariant === "fullScreenFullWidthLinks";
1027
+ return {
1028
+ // Section wrapper classes
1029
+ sectionClasses: cn(
1030
+ "inset-x-0 z-20",
1031
+ isFloatingBar ? "sticky top-4" : "top-0",
1032
+ customClasses?.className
1033
+ ),
1034
+ // Outer container wrapper (only for floating bar)
1035
+ containerWrapperClasses: cn(
1036
+ isFloatingBar && "mx-auto w-full px-2 sm:px-4 lg:px-8 max-w-7xl relative z-10"
1037
+ ),
1038
+ // Inner container classes
1039
+ innerContainerClasses: cn(
1040
+ !isFloatingBar && !isFullWidthLinks && "container",
1041
+ isFullWidthLinks && "mx-auto w-full px-2 sm:px-4 lg:px-8",
1042
+ customClasses?.containerClassName
1043
+ ),
1044
+ // Navigation wrapper classes (for border and shadow)
1045
+ navWrapperClasses: cn(
1046
+ isFloatingBar ? "border border-border/50 shadow-sm rounded-full" : "border-b border-border/50 shadow-sm"
1047
+ ),
1048
+ // Spacing adjustment for Section component
1049
+ spacingOverride: isFloatingBar ? "none" : void 0
1050
+ };
1051
+ }
1022
1052
  var NavbarTransparentOverlay = ({
1023
1053
  className,
1024
1054
  containerClassName,
@@ -1037,6 +1067,7 @@ var NavbarTransparentOverlay = ({
1037
1067
  authActionsSlot,
1038
1068
  mobileAuthActions,
1039
1069
  mobileAuthActionsSlot,
1070
+ layoutVariant = "fullScreenContainerizedLinks",
1040
1071
  background = "white",
1041
1072
  spacing = "none",
1042
1073
  pattern,
@@ -1181,16 +1212,23 @@ var NavbarTransparentOverlay = ({
1181
1212
  );
1182
1213
  });
1183
1214
  };
1215
+ const {
1216
+ sectionClasses,
1217
+ containerWrapperClasses,
1218
+ innerContainerClasses,
1219
+ navWrapperClasses,
1220
+ spacingOverride
1221
+ } = getNavbarLayoutClasses(layoutVariant, { className, containerClassName });
1184
1222
  return /* @__PURE__ */ jsxRuntime.jsxs(
1185
1223
  Section,
1186
1224
  {
1187
1225
  background,
1188
- spacing,
1189
- className: cn("", className),
1226
+ spacing: spacingOverride ?? spacing,
1227
+ className: sectionClasses,
1190
1228
  pattern,
1191
1229
  patternOpacity,
1192
1230
  children: [
1193
- /* @__PURE__ */ jsxRuntime.jsx(
1231
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: containerWrapperClasses, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(innerContainerClasses, navWrapperClasses), children: /* @__PURE__ */ jsxRuntime.jsx(
1194
1232
  "nav",
1195
1233
  {
1196
1234
  className: cn(
@@ -1198,7 +1236,7 @@ var NavbarTransparentOverlay = ({
1198
1236
  isScrolled ? "bg-background/95 shadow-sm backdrop-blur-sm" : "bg-transparent",
1199
1237
  navClassName
1200
1238
  ),
1201
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("container", containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-16 items-center justify-between", children: [
1239
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-16 items-center justify-between", children: [
1202
1240
  renderLogo(),
1203
1241
  /* @__PURE__ */ jsxRuntime.jsx(
1204
1242
  NavigationMenu,
@@ -1256,9 +1294,9 @@ var NavbarTransparentOverlay = ({
1256
1294
  ]
1257
1295
  }
1258
1296
  )
1259
- ] }) })
1297
+ ] })
1260
1298
  }
1261
- ),
1299
+ ) }) }),
1262
1300
  /* @__PURE__ */ jsxRuntime.jsx(
1263
1301
  "div",
1264
1302
  {
@@ -2,7 +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 } from './types-D2b35ylu.cjs';
5
+ import { L as LogoConfig, N as NavbarLayoutVariant } from './types-COVDidbn.cjs';
6
6
  import { A as ActionConfig, O as OptixFlowConfig } from './blocks-Cohq4eio.cjs';
7
7
  import 'class-variance-authority';
8
8
  import './button-variants-lRElsmTc.cjs';
@@ -94,6 +94,10 @@ interface NavbarTransparentOverlayProps {
94
94
  * OptixFlow image optimization configuration
95
95
  */
96
96
  optixFlowConfig?: OptixFlowConfig;
97
+ /**
98
+ * Layout variant for the navbar
99
+ */
100
+ layoutVariant?: NavbarLayoutVariant;
97
101
  }
98
102
  /**
99
103
  * NavbarTransparentOverlay - A transparent navigation bar that transitions to solid on scroll.
@@ -104,6 +108,6 @@ interface NavbarTransparentOverlayProps {
104
108
  * with a staggered effect. The hamburger menu transforms into an X when open. Perfect for
105
109
  * landing pages, portfolios, and creative websites with hero sections.
106
110
  */
107
- declare const NavbarTransparentOverlay: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logo, logoSlot, logoClassName, navItems, navigationSlot, authActions, authActionsSlot, mobileAuthActions, mobileAuthActionsSlot, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarTransparentOverlayProps) => react_jsx_runtime.JSX.Element;
111
+ declare const NavbarTransparentOverlay: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logo, logoSlot, logoClassName, navItems, navigationSlot, authActions, authActionsSlot, mobileAuthActions, mobileAuthActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarTransparentOverlayProps) => react_jsx_runtime.JSX.Element;
108
112
 
109
113
  export { NavbarTransparentOverlay, type NavbarTransparentOverlayProps };
@@ -2,7 +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 } from './types-D2b35ylu.js';
5
+ import { L as LogoConfig, N as NavbarLayoutVariant } from './types-COVDidbn.js';
6
6
  import { A as ActionConfig, O as OptixFlowConfig } from './blocks-k17uluAz.js';
7
7
  import 'class-variance-authority';
8
8
  import './button-variants-lRElsmTc.js';
@@ -94,6 +94,10 @@ interface NavbarTransparentOverlayProps {
94
94
  * OptixFlow image optimization configuration
95
95
  */
96
96
  optixFlowConfig?: OptixFlowConfig;
97
+ /**
98
+ * Layout variant for the navbar
99
+ */
100
+ layoutVariant?: NavbarLayoutVariant;
97
101
  }
98
102
  /**
99
103
  * NavbarTransparentOverlay - A transparent navigation bar that transitions to solid on scroll.
@@ -104,6 +108,6 @@ interface NavbarTransparentOverlayProps {
104
108
  * with a staggered effect. The hamburger menu transforms into an X when open. Perfect for
105
109
  * landing pages, portfolios, and creative websites with hero sections.
106
110
  */
107
- declare const NavbarTransparentOverlay: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logo, logoSlot, logoClassName, navItems, navigationSlot, authActions, authActionsSlot, mobileAuthActions, mobileAuthActionsSlot, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarTransparentOverlayProps) => react_jsx_runtime.JSX.Element;
111
+ declare const NavbarTransparentOverlay: ({ className, containerClassName, navClassName, navigationMenuClassName, actionsClassName, logo, logoSlot, logoClassName, navItems, navigationSlot, authActions, authActionsSlot, mobileAuthActions, mobileAuthActionsSlot, layoutVariant, background, spacing, pattern, patternOpacity, optixFlowConfig, }: NavbarTransparentOverlayProps) => react_jsx_runtime.JSX.Element;
108
112
 
109
113
  export { NavbarTransparentOverlay, type NavbarTransparentOverlayProps };