@moontra/moonui-pro 2.27.5 → 2.27.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/index.mjs CHANGED
@@ -4838,18 +4838,27 @@ var overlayVariants = cva(
4838
4838
  }
4839
4839
  }
4840
4840
  );
4841
- var MoonUIDialogOverlayPro = React67.forwardRef(({ className, variant, blurAmount, animation, customBackdrop = false, ...props }, ref) => /* @__PURE__ */ jsx(
4842
- DialogPrimitive.Overlay,
4843
- {
4844
- ref,
4845
- className: cn(
4846
- overlayVariants({ variant, blurAmount, animation }),
4847
- customBackdrop && "before:absolute before:inset-0 before:bg-gradient-to-br before:from-transparent before:via-primary/10 before:to-transparent",
4848
- className
4849
- ),
4841
+ var MoonUIDialogOverlayPro = React67.forwardRef(
4842
+ ({
4843
+ className,
4844
+ variant,
4845
+ blurAmount,
4846
+ animation,
4847
+ customBackdrop = false,
4850
4848
  ...props
4851
- }
4852
- ));
4849
+ }, ref) => /* @__PURE__ */ jsx(
4850
+ DialogPrimitive.Overlay,
4851
+ {
4852
+ ref,
4853
+ className: cn(
4854
+ overlayVariants({ variant, blurAmount, animation }),
4855
+ customBackdrop && "before:absolute before:inset-0 before:bg-gradient-to-br before:from-transparent before:via-primary/10 before:to-transparent",
4856
+ className
4857
+ ),
4858
+ ...props
4859
+ }
4860
+ )
4861
+ );
4853
4862
  MoonUIDialogOverlayPro.displayName = DialogPrimitive.Overlay.displayName;
4854
4863
  var dialogContentVariants = cva(
4855
4864
  "fixed left-[50%] top-[50%] z-50 grid w-full translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background shadow-lg",
@@ -4976,14 +4985,6 @@ var MoonUIDialogContentPro = React67.forwardRef(
4976
4985
  type: "tween",
4977
4986
  duration
4978
4987
  };
4979
- {
4980
- console.log("Dialog Animation Debug:", {
4981
- animation,
4982
- duration,
4983
- enableSpringPhysics,
4984
- springConfig
4985
- });
4986
- }
4987
4988
  switch (animation) {
4988
4989
  case "bounce":
4989
4990
  return {
@@ -5008,7 +5009,10 @@ var MoonUIDialogContentPro = React67.forwardRef(
5008
5009
  initial: { scale: 0, opacity: 0 },
5009
5010
  animate: { scale: 1, opacity: 1 },
5010
5011
  exit: { scale: 0, opacity: 0 },
5011
- transition: { ...springConfig, duration: duration * 0.8 }
5012
+ transition: {
5013
+ ...springConfig,
5014
+ duration: duration * 0.8
5015
+ }
5012
5016
  };
5013
5017
  case "fade":
5014
5018
  return {
@@ -5079,14 +5083,20 @@ var MoonUIDialogContentPro = React67.forwardRef(
5079
5083
  initial: { rotateX: -90, opacity: 0 },
5080
5084
  animate: { rotateX: 0, opacity: 1 },
5081
5085
  exit: { rotateX: 90, opacity: 0 },
5082
- transition: { ...springConfig, duration: duration * 1.2 }
5086
+ transition: {
5087
+ ...springConfig,
5088
+ duration: duration * 1.2
5089
+ }
5083
5090
  };
5084
5091
  case "swirl":
5085
5092
  return {
5086
5093
  initial: { rotate: -540, scale: 0, opacity: 0 },
5087
5094
  animate: { rotate: 0, scale: 1, opacity: 1 },
5088
5095
  exit: { rotate: 540, scale: 0, opacity: 0 },
5089
- transition: { ...springConfig, duration: duration * 1.5 }
5096
+ transition: {
5097
+ ...springConfig,
5098
+ duration: duration * 1.5
5099
+ }
5090
5100
  };
5091
5101
  case "rotateScale":
5092
5102
  return {
@@ -5107,7 +5117,9 @@ var MoonUIDialogContentPro = React67.forwardRef(
5107
5117
  const handleClose = async () => {
5108
5118
  if (closeAnimation) {
5109
5119
  setIsClosing(true);
5110
- await new Promise((resolve) => setTimeout(resolve, animationDuration * 1e3));
5120
+ await new Promise(
5121
+ (resolve) => setTimeout(resolve, animationDuration * 1e3)
5122
+ );
5111
5123
  }
5112
5124
  if (onClose) {
5113
5125
  onClose();
@@ -5115,19 +5127,6 @@ var MoonUIDialogContentPro = React67.forwardRef(
5115
5127
  };
5116
5128
  const animationVariants2 = getAnimationVariants();
5117
5129
  const displayIcon = confirmationType ? getConfirmationIcon() : icon;
5118
- React67.useEffect(() => {
5119
- if (typeof window !== "undefined" && true) {
5120
- console.log("\u{1F3AD} Dialog Animation Debug:", {
5121
- animation,
5122
- size: size4,
5123
- variant,
5124
- enableSpringPhysics,
5125
- animationVariants: animationVariants2,
5126
- hasAnimation: !!animation,
5127
- animationType: typeof animation
5128
- });
5129
- }
5130
- }, [animation, size4, variant, enableSpringPhysics]);
5131
5130
  return /* @__PURE__ */ jsxs(MoonUIDialogPortal, { children: [
5132
5131
  /* @__PURE__ */ jsx(
5133
5132
  MoonUIDialogOverlayPro,
@@ -5192,29 +5191,53 @@ var MoonUIDialogContentPro = React67.forwardRef(
5192
5191
  className
5193
5192
  ),
5194
5193
  children: [
5195
- (title || description || displayIcon || loading || success) && /* @__PURE__ */ jsxs(MoonUIDialogHeaderPro, { className: cn(
5196
- "flex gap-4",
5197
- confirmationType && "items-start"
5198
- ), children: [
5199
- (displayIcon || loading || success) && /* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center justify-center", children: [
5200
- loading && /* @__PURE__ */ jsx(Loader2, { className: "h-5 w-5 animate-spin text-primary" }),
5201
- success && !loading && /* @__PURE__ */ jsx(Check, { className: "h-5 w-5 text-success" }),
5202
- !loading && !success && displayIcon && /* @__PURE__ */ jsx("span", { className: cn(
5203
- confirmationType ? "" : "text-primary"
5204
- ), children: displayIcon })
5205
- ] }),
5206
- /* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
5207
- title && /* @__PURE__ */ jsx(MoonUIDialogTitlePro, { className: cn(
5208
- confirmationType === "error" && "text-red-600 dark:text-red-400",
5209
- confirmationType === "warning" && "text-yellow-600 dark:text-yellow-400",
5210
- confirmationType === "success" && "text-green-600 dark:text-green-400",
5211
- confirmationType === "info" && "text-blue-600 dark:text-blue-400"
5212
- ), children: title }),
5213
- description && /* @__PURE__ */ jsx(MoonUIDialogDescriptionPro, { children: description })
5214
- ] })
5215
- ] }),
5194
+ (title || description || displayIcon || loading || success) && /* @__PURE__ */ jsxs(
5195
+ MoonUIDialogHeaderPro,
5196
+ {
5197
+ className: cn(
5198
+ "flex gap-4",
5199
+ confirmationType && "items-start"
5200
+ ),
5201
+ children: [
5202
+ (displayIcon || loading || success) && /* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center justify-center", children: [
5203
+ loading && /* @__PURE__ */ jsx(Loader2, { className: "h-5 w-5 animate-spin text-primary" }),
5204
+ success && !loading && /* @__PURE__ */ jsx(Check, { className: "h-5 w-5 text-success" }),
5205
+ !loading && !success && displayIcon && /* @__PURE__ */ jsx(
5206
+ "span",
5207
+ {
5208
+ className: cn(
5209
+ confirmationType ? "" : "text-primary"
5210
+ ),
5211
+ children: displayIcon
5212
+ }
5213
+ )
5214
+ ] }),
5215
+ /* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
5216
+ title && /* @__PURE__ */ jsx(
5217
+ MoonUIDialogTitlePro,
5218
+ {
5219
+ className: cn(
5220
+ confirmationType === "error" && "text-red-600 dark:text-red-400",
5221
+ confirmationType === "warning" && "text-yellow-600 dark:text-yellow-400",
5222
+ confirmationType === "success" && "text-green-600 dark:text-green-400",
5223
+ confirmationType === "info" && "text-blue-600 dark:text-blue-400"
5224
+ ),
5225
+ children: title
5226
+ }
5227
+ ),
5228
+ description && /* @__PURE__ */ jsx(MoonUIDialogDescriptionPro, { children: description })
5229
+ ] })
5230
+ ]
5231
+ }
5232
+ ),
5216
5233
  children,
5217
- hasFormValidation && /* @__PURE__ */ jsx("div", { id: "dialog-validation-messages", className: "mt-2 min-h-[20px]" }),
5234
+ hasFormValidation && /* @__PURE__ */ jsx(
5235
+ "div",
5236
+ {
5237
+ id: "dialog-validation-messages",
5238
+ className: "mt-2 min-h-[20px]"
5239
+ }
5240
+ ),
5218
5241
  !hideCloseButton && /* @__PURE__ */ jsxs(
5219
5242
  DialogPrimitive.Close,
5220
5243
  {
@@ -5292,28 +5315,36 @@ var MoonUIDialogDescriptionPro = React67.forwardRef(({ className, ...props }, re
5292
5315
  }
5293
5316
  ));
5294
5317
  MoonUIDialogDescriptionPro.displayName = DialogPrimitive.Description.displayName;
5295
- var MoonUIDialogFormPro = React67.forwardRef(({ className, enableValidation = false, onSubmit, isSubmitting = false, ...props }, ref) => {
5296
- const handleSubmit = async (e) => {
5297
- e.preventDefault();
5298
- if (onSubmit && !isSubmitting) {
5299
- await onSubmit(e);
5300
- }
5301
- };
5302
- return /* @__PURE__ */ jsx(
5303
- "form",
5304
- {
5305
- ref,
5306
- className: cn(
5307
- "flex flex-col gap-4",
5308
- isSubmitting && "pointer-events-none opacity-75",
5309
- className
5310
- ),
5311
- onSubmit: handleSubmit,
5312
- noValidate: !enableValidation,
5313
- ...props
5314
- }
5315
- );
5316
- });
5318
+ var MoonUIDialogFormPro = React67.forwardRef(
5319
+ ({
5320
+ className,
5321
+ enableValidation = false,
5322
+ onSubmit,
5323
+ isSubmitting = false,
5324
+ ...props
5325
+ }, ref) => {
5326
+ const handleSubmit = async (e) => {
5327
+ e.preventDefault();
5328
+ if (onSubmit && !isSubmitting) {
5329
+ await onSubmit(e);
5330
+ }
5331
+ };
5332
+ return /* @__PURE__ */ jsx(
5333
+ "form",
5334
+ {
5335
+ ref,
5336
+ className: cn(
5337
+ "flex flex-col gap-4",
5338
+ isSubmitting && "pointer-events-none opacity-75",
5339
+ className
5340
+ ),
5341
+ onSubmit: handleSubmit,
5342
+ noValidate: !enableValidation,
5343
+ ...props
5344
+ }
5345
+ );
5346
+ }
5347
+ );
5317
5348
  MoonUIDialogFormPro.displayName = "MoonUIDialogFormPro";
5318
5349
  var MoonUITooltipProviderPro = TooltipPrimitive.Provider;
5319
5350
  var tooltipVariants = cva(
@@ -17017,8 +17048,8 @@ function CalendarInternal({
17017
17048
  )
17018
17049
  ] })
17019
17050
  ] }) }),
17020
- /* @__PURE__ */ jsx(MoonUICardContentPro, { className: "flex-1 overflow-auto p-4", children: /* @__PURE__ */ jsxs("div", { className: "space-y-4 h-full", children: [
17021
- view === "month" && /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-7 gap-1 w-full h-full auto-rows-fr", children: [
17051
+ /* @__PURE__ */ jsx(MoonUICardContentPro, { className: "flex-1 flex flex-col overflow-auto p-4", children: /* @__PURE__ */ jsxs("div", { className: "flex-1 flex flex-col", children: [
17052
+ view === "month" && /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-7 gap-1 w-full flex-1 auto-rows-fr", children: [
17022
17053
  visibleDaysOfWeek.map((day) => /* @__PURE__ */ jsx("div", { className: "p-1 text-center text-xs font-medium text-muted-foreground", children: day }, day)),
17023
17054
  filteredDays.map((date, index2) => {
17024
17055
  const dayEvents = getEventsForDate(date);
@@ -17112,7 +17143,7 @@ function CalendarInternal({
17112
17143
  );
17113
17144
  })
17114
17145
  ] }),
17115
- view === "week" && /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
17146
+ view === "week" && /* @__PURE__ */ jsxs("div", { className: "flex-1 flex flex-col space-y-4", children: [
17116
17147
  /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-8 gap-2", children: [
17117
17148
  /* @__PURE__ */ jsx("div", { className: "text-xs font-medium text-muted-foreground", children: "Time" }),
17118
17149
  Array.from({ length: 7 }, (_, i) => {
@@ -17127,7 +17158,7 @@ function CalendarInternal({
17127
17158
  ] }, i);
17128
17159
  })
17129
17160
  ] }),
17130
- /* @__PURE__ */ jsx("div", { className: "border rounded-lg overflow-hidden", children: /* @__PURE__ */ jsx("div", { className: "max-h-[500px] overflow-y-auto", children: Array.from({ length: 24 }, (_, hour) => /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-8 border-b last:border-b-0", children: [
17161
+ /* @__PURE__ */ jsx("div", { className: "border rounded-lg overflow-hidden flex-1 flex flex-col", children: /* @__PURE__ */ jsx("div", { className: "flex-1 overflow-y-auto", children: Array.from({ length: 24 }, (_, hour) => /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-8 border-b last:border-b-0", children: [
17131
17162
  /* @__PURE__ */ jsx("div", { className: "p-2 text-xs text-muted-foreground border-r", children: formatTime2(`${hour.toString().padStart(2, "0")}:00`) }),
17132
17163
  Array.from({ length: 7 }, (_2, dayIndex) => {
17133
17164
  const date = new Date(currentDate);
@@ -17167,14 +17198,14 @@ function CalendarInternal({
17167
17198
  })
17168
17199
  ] }, hour)) }) })
17169
17200
  ] }),
17170
- view === "day" && /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
17201
+ view === "day" && /* @__PURE__ */ jsxs("div", { className: "flex-1 flex flex-col space-y-4", children: [
17171
17202
  /* @__PURE__ */ jsx("div", { className: "text-center", children: /* @__PURE__ */ jsx("h3", { className: "text-lg font-semibold", children: currentDate.toLocaleDateString(locale, {
17172
17203
  weekday: "long",
17173
17204
  year: "numeric",
17174
17205
  month: "long",
17175
17206
  day: "numeric"
17176
17207
  }) }) }),
17177
- /* @__PURE__ */ jsx("div", { className: "border rounded-lg overflow-hidden", children: /* @__PURE__ */ jsx("div", { className: "max-h-[500px] overflow-y-auto", children: Array.from({ length: 24 }, (_, hour) => {
17208
+ /* @__PURE__ */ jsx("div", { className: "border rounded-lg overflow-hidden flex-1 flex flex-col", children: /* @__PURE__ */ jsx("div", { className: "flex-1 overflow-y-auto", children: Array.from({ length: 24 }, (_, hour) => {
17178
17209
  const hourEvents = getEventsForDate(currentDate).filter((event) => {
17179
17210
  if (!event.startTime)
17180
17211
  return false;
@@ -17237,7 +17268,7 @@ function CalendarInternal({
17237
17268
  ] }, hour);
17238
17269
  }) }) })
17239
17270
  ] }),
17240
- view === "agenda" && /* @__PURE__ */ jsx("div", { className: "space-y-4", children: /* @__PURE__ */ jsx("div", { className: "max-h-[500px] overflow-y-auto space-y-4", children: Array.from({ length: 30 }, (_, i) => {
17271
+ view === "agenda" && /* @__PURE__ */ jsx("div", { className: "flex-1 flex flex-col space-y-4", children: /* @__PURE__ */ jsx("div", { className: "flex-1 overflow-y-auto space-y-4", children: Array.from({ length: 30 }, (_, i) => {
17241
17272
  const date = new Date(currentDate);
17242
17273
  date.setDate(date.getDate() + i);
17243
17274
  const dayEvents = getEventsForDate(date);
@@ -75726,8 +75757,6 @@ function NavbarInternal({
75726
75757
  activePath,
75727
75758
  onNavigate
75728
75759
  }) {
75729
- console.log("Navbar sections:", sections);
75730
- console.log("enableCommandAI:", enableCommandAI);
75731
75760
  const [isMobile, setIsMobile] = useState(false);
75732
75761
  const [isOpen, setIsOpen] = useState(false);
75733
75762
  const [isSearchOpen, setIsSearchOpen] = useState(false);
@@ -75796,28 +75825,34 @@ function NavbarInternal({
75796
75825
  document.addEventListener("keydown", handleKeyDown3);
75797
75826
  return () => document.removeEventListener("keydown", handleKeyDown3);
75798
75827
  }, [keyboardShortcuts, enableCommandAI, onCommandAIOpen]);
75799
- const handleItemClick = useCallback((item) => {
75800
- if (item.action) {
75801
- item.action();
75802
- } else if (item.href) {
75803
- if (enableNProgress) {
75804
- NProgress.start();
75805
- setTimeout(() => NProgress.done(), 500);
75806
- }
75807
- if (onNavigate) {
75808
- onNavigate(item.href);
75809
- } else {
75810
- window.location.href = item.href;
75811
- }
75812
- if (isMobile) {
75813
- setIsOpen(false);
75828
+ const handleItemClick = useCallback(
75829
+ (item) => {
75830
+ if (item.action) {
75831
+ item.action();
75832
+ } else if (item.href) {
75833
+ if (enableNProgress) {
75834
+ NProgress.start();
75835
+ setTimeout(() => NProgress.done(), 500);
75836
+ }
75837
+ if (onNavigate) {
75838
+ onNavigate(item.href);
75839
+ } else {
75840
+ window.location.href = item.href;
75841
+ }
75842
+ if (isMobile) {
75843
+ setIsOpen(false);
75844
+ }
75814
75845
  }
75815
- }
75816
- }, [onNavigate, isMobile, enableNProgress]);
75817
- const handleSearch = useCallback((value) => {
75818
- setSearchValue(value);
75819
- onSearch?.(value);
75820
- }, [onSearch]);
75846
+ },
75847
+ [onNavigate, isMobile, enableNProgress]
75848
+ );
75849
+ const handleSearch = useCallback(
75850
+ (value) => {
75851
+ setSearchValue(value);
75852
+ onSearch?.(value);
75853
+ },
75854
+ [onSearch]
75855
+ );
75821
75856
  const renderMegaMenuContent = (items) => /* @__PURE__ */ jsx("div", { className: "grid gap-3 p-6 md:w-[400px] lg:w-[500px] lg:grid-cols-[.75fr_1fr]", children: items.map((item) => /* @__PURE__ */ jsxs(
75822
75857
  NavigationMenuLink2,
75823
75858
  {
@@ -75830,7 +75865,14 @@ function NavbarInternal({
75830
75865
  /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
75831
75866
  item.icon && /* @__PURE__ */ jsx("span", { className: "flex-shrink-0", children: item.icon }),
75832
75867
  /* @__PURE__ */ jsx("div", { className: "text-sm font-medium leading-none", children: item.title }),
75833
- item.badge && /* @__PURE__ */ jsx(MoonUIBadgePro, { variant: item.badgeVariant || "secondary", className: "ml-auto", children: item.badge })
75868
+ item.badge && /* @__PURE__ */ jsx(
75869
+ MoonUIBadgePro,
75870
+ {
75871
+ variant: item.badgeVariant || "secondary",
75872
+ className: "ml-auto",
75873
+ children: item.badge
75874
+ }
75875
+ )
75834
75876
  ] }),
75835
75877
  item.description && /* @__PURE__ */ jsx("p", { className: "line-clamp-2 text-sm leading-snug text-muted-foreground", children: item.description })
75836
75878
  ]
@@ -75857,7 +75899,14 @@ function NavbarInternal({
75857
75899
  item.icon && /* @__PURE__ */ jsx("span", { children: item.icon }),
75858
75900
  item.title
75859
75901
  ] }),
75860
- item.badge && /* @__PURE__ */ jsx(MoonUIBadgePro, { variant: item.badgeVariant || "secondary", className: "ml-auto", children: item.badge })
75902
+ item.badge && /* @__PURE__ */ jsx(
75903
+ MoonUIBadgePro,
75904
+ {
75905
+ variant: item.badgeVariant || "secondary",
75906
+ className: "ml-auto",
75907
+ children: item.badge
75908
+ }
75909
+ )
75861
75910
  ]
75862
75911
  },
75863
75912
  item.id
@@ -75884,22 +75933,37 @@ function NavbarInternal({
75884
75933
  ] }),
75885
75934
  /* @__PURE__ */ jsx("div", { className: "flex-1 overflow-y-auto p-4", children: !hideNavItems && sections.map((section) => /* @__PURE__ */ jsxs("div", { className: "space-y-1", children: [
75886
75935
  section.items.map((item) => /* @__PURE__ */ jsx("div", { children: item.items && item.items.length > 0 ? /* @__PURE__ */ jsxs(MoonUIDropdownMenuPro, { children: [
75887
- /* @__PURE__ */ jsx(MoonUIDropdownMenuTriggerPro, { asChild: true, children: /* @__PURE__ */ jsxs(
75888
- MoonUIButtonPro,
75936
+ /* @__PURE__ */ jsx(
75937
+ MoonUIDropdownMenuTriggerPro,
75889
75938
  {
75890
- variant: "ghost",
75891
- className: "w-full justify-between",
75892
- disabled: item.disabled,
75893
- children: [
75894
- /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-2", children: [
75895
- item.icon && /* @__PURE__ */ jsx("span", { children: item.icon }),
75896
- item.title
75897
- ] }),
75898
- /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4" })
75899
- ]
75939
+ asChild: true,
75940
+ children: /* @__PURE__ */ jsxs(
75941
+ MoonUIButtonPro,
75942
+ {
75943
+ variant: "ghost",
75944
+ className: "w-full justify-between",
75945
+ disabled: item.disabled,
75946
+ children: [
75947
+ /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-2", children: [
75948
+ item.icon && /* @__PURE__ */ jsx("span", { children: item.icon }),
75949
+ item.title
75950
+ ] }),
75951
+ /* @__PURE__ */ jsx(ChevronDown, { className: "h-4 w-4" })
75952
+ ]
75953
+ }
75954
+ )
75900
75955
  }
75901
- ) }),
75902
- /* @__PURE__ */ jsx(MoonUIDropdownMenuContentPro, { align: "start", className: "w-56", children: item.items && renderDropdownMenu(item.items) })
75956
+ ),
75957
+ /* @__PURE__ */ jsx(
75958
+ MoonUIDropdownMenuContentPro,
75959
+ {
75960
+ align: "start",
75961
+ className: "w-56",
75962
+ children: item.items && renderDropdownMenu(
75963
+ item.items
75964
+ )
75965
+ }
75966
+ )
75903
75967
  ] }) : /* @__PURE__ */ jsxs(
75904
75968
  MoonUIButtonPro,
75905
75969
  {
@@ -75912,7 +75976,14 @@ function NavbarInternal({
75912
75976
  item.icon && /* @__PURE__ */ jsx("span", { children: item.icon }),
75913
75977
  item.title
75914
75978
  ] }),
75915
- item.badge && /* @__PURE__ */ jsx(MoonUIBadgePro, { variant: item.badgeVariant || "secondary", className: "ml-auto", children: item.badge })
75979
+ item.badge && /* @__PURE__ */ jsx(
75980
+ MoonUIBadgePro,
75981
+ {
75982
+ variant: item.badgeVariant || "secondary",
75983
+ className: "ml-auto",
75984
+ children: item.badge
75985
+ }
75986
+ )
75916
75987
  ]
75917
75988
  }
75918
75989
  ) }, item.id)),
@@ -75955,257 +76026,367 @@ function NavbarInternal({
75955
76026
  );
75956
76027
  return /* @__PURE__ */ jsxs(Fragment, { children: [
75957
76028
  /* @__PURE__ */ jsxs("nav", { ref: navRef, className: navClasses, children: [
75958
- /* @__PURE__ */ jsxs("div", { className: cn(
75959
- "flex items-center",
75960
- getHeight(),
75961
- maxWidth === "sm" && "container max-w-screen-sm",
75962
- maxWidth === "md" && "container max-w-screen-md",
75963
- maxWidth === "lg" && "container max-w-screen-lg",
75964
- maxWidth === "xl" && "container max-w-screen-xl",
75965
- maxWidth === "2xl" && "container max-w-screen-2xl",
75966
- maxWidth === "full" && "w-full px-4 sm:px-6 lg:px-8"
75967
- ), children: [
75968
- branding && /* @__PURE__ */ jsxs("div", { className: cn(
75969
- "flex items-center gap-2",
75970
- logoPosition === "center" && !isMobile ? "absolute left-1/2 -translate-x-1/2" : "mr-4"
75971
- ), children: [
75972
- logoPosition === "left" && mobileMenuPosition === "left" && /* @__PURE__ */ jsx(MobileMenu, {}),
75973
- /* @__PURE__ */ jsxs(
75974
- "a",
75975
- {
75976
- href: branding.href || "/",
75977
- onClick: (e) => {
75978
- if (branding.href && onNavigate) {
75979
- e.preventDefault();
75980
- onNavigate(branding.href);
75981
- }
75982
- },
75983
- className: "flex items-center gap-2",
75984
- children: [
75985
- branding.logo,
75986
- branding.title && !isMobile && /* @__PURE__ */ jsx("span", { className: "font-semibold text-lg", children: branding.title })
75987
- ]
75988
- }
75989
- )
75990
- ] }),
75991
- !isMobile && !hideNavItems && /* @__PURE__ */ jsx(NavigationMenu2, { className: "hidden md:flex", children: /* @__PURE__ */ jsx(NavigationMenuList2, { children: sections.map((section) => /* @__PURE__ */ jsx(React67__default.Fragment, { children: section.items.map((item) => {
75992
- const hasChildren = item.items && item.items.length > 0;
75993
- const isActive2 = item.href === activePath;
75994
- if (hasChildren) {
75995
- return /* @__PURE__ */ jsxs(NavigationMenuItem2, { children: [
75996
- /* @__PURE__ */ jsx(
75997
- NavigationMenuTrigger2,
75998
- {
75999
- className: cn(
76000
- isActive2 && "bg-accent text-accent-foreground",
76001
- item.disabled && "opacity-50 cursor-not-allowed"
76002
- ),
76003
- disabled: item.disabled,
76004
- children: /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-2", children: [
76005
- item.icon && /* @__PURE__ */ jsx("span", { children: item.icon }),
76006
- item.title
76007
- ] })
76008
- }
76009
- ),
76010
- /* @__PURE__ */ jsx(NavigationMenuContent2, { children: item.items && renderMegaMenuContent(item.items) })
76011
- ] }, item.id);
76012
- }
76013
- return /* @__PURE__ */ jsx(NavigationMenuItem2, { children: /* @__PURE__ */ jsxs(
76014
- NavigationMenuLink2,
76015
- {
76016
- className: cn(
76017
- navigationMenuTriggerStyle(),
76018
- isActive2 && "bg-accent text-accent-foreground",
76019
- item.disabled && "opacity-50 cursor-not-allowed"
76020
- ),
76021
- onClick: () => !item.disabled && handleItemClick(item),
76022
- children: [
76023
- /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-2", children: [
76024
- item.icon && /* @__PURE__ */ jsx("span", { children: item.icon }),
76025
- item.title
76026
- ] }),
76027
- item.badge && /* @__PURE__ */ jsx(MoonUIBadgePro, { variant: item.badgeVariant || "secondary", className: "ml-2", children: item.badge })
76028
- ]
76029
- }
76030
- ) }, item.id);
76031
- }) }, section.id)) }) }),
76032
- /* @__PURE__ */ jsxs("div", { className: "ml-auto flex items-center gap-2", children: [
76033
- showSearch && /* @__PURE__ */ jsx(Fragment, { children: isMobile ? /* @__PURE__ */ jsx(
76034
- MoonUIButtonPro,
76035
- {
76036
- variant: "ghost",
76037
- size: "icon",
76038
- onClick: () => setIsCommandOpen(true),
76039
- children: /* @__PURE__ */ jsx(Search, { className: "h-5 w-5" })
76040
- }
76041
- ) : /* @__PURE__ */ jsxs("div", { className: "relative", children: [
76042
- /* @__PURE__ */ jsx(Search, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" }),
76043
- /* @__PURE__ */ jsx(
76044
- MoonUIInputPro,
76045
- {
76046
- type: "search",
76047
- placeholder: searchPlaceholder,
76048
- className: "w-64 pl-9 pr-4 h-9 cursor-pointer",
76049
- value: searchValue,
76050
- onChange: (e) => handleSearch(e.target.value),
76051
- onClick: () => {
76052
- if (enableCommandAI) {
76053
- setIsCommandOpen(true);
76054
- onCommandAIOpen?.();
76055
- }
76056
- },
76057
- readOnly: enableCommandAI
76058
- }
76059
- ),
76060
- (keyboardShortcuts || enableCommandAI) && /* @__PURE__ */ jsx("kbd", { className: "absolute right-2 top-1/2 -translate-y-1/2 pointer-events-none h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium opacity-100 hidden sm:flex", children: enableCommandAI ? commandAIShortcut : /* @__PURE__ */ jsxs(Fragment, { children: [
76061
- /* @__PURE__ */ jsx("span", { className: "text-xs", children: "\u2318" }),
76062
- "K"
76063
- ] }) })
76064
- ] }) }),
76065
- showThemeToggle && /* @__PURE__ */ jsxs(MoonUIDropdownMenuPro, { children: [
76066
- /* @__PURE__ */ jsx(MoonUIDropdownMenuTriggerPro, { asChild: true, children: /* @__PURE__ */ jsxs(MoonUIButtonPro, { variant: "ghost", size: "icon", children: [
76067
- theme === "light" && /* @__PURE__ */ jsx(Sun, { className: "h-5 w-5" }),
76068
- theme === "dark" && /* @__PURE__ */ jsx(Moon, { className: "h-5 w-5" }),
76069
- theme === "system" && /* @__PURE__ */ jsx(Monitor, { className: "h-5 w-5" })
76070
- ] }) }),
76071
- /* @__PURE__ */ jsxs(MoonUIDropdownMenuContentPro, { align: "end", children: [
76072
- /* @__PURE__ */ jsxs(MoonUIDropdownMenuItemPro, { onClick: () => onThemeChange?.("light"), children: [
76073
- /* @__PURE__ */ jsx(Sun, { className: "mr-2 h-4 w-4" }),
76074
- "Light"
76075
- ] }),
76076
- /* @__PURE__ */ jsxs(MoonUIDropdownMenuItemPro, { onClick: () => onThemeChange?.("dark"), children: [
76077
- /* @__PURE__ */ jsx(Moon, { className: "mr-2 h-4 w-4" }),
76078
- "Dark"
76079
- ] }),
76080
- /* @__PURE__ */ jsxs(MoonUIDropdownMenuItemPro, { onClick: () => onThemeChange?.("system"), children: [
76081
- /* @__PURE__ */ jsx(Monitor, { className: "mr-2 h-4 w-4" }),
76082
- "System"
76083
- ] })
76084
- ] })
76085
- ] }),
76086
- notifications && /* @__PURE__ */ jsxs(MoonUIDropdownMenuPro, { children: [
76087
- /* @__PURE__ */ jsx(MoonUIDropdownMenuTriggerPro, { asChild: true, children: /* @__PURE__ */ jsxs(MoonUIButtonPro, { variant: "ghost", size: "icon", className: "relative", children: [
76088
- /* @__PURE__ */ jsx(Bell, { className: "h-5 w-5" }),
76089
- notifications.count && notifications.count > 0 && /* @__PURE__ */ jsx("span", { className: "absolute -top-1 -right-1 min-w-[18px] h-[18px] rounded-full bg-red-500 text-[11px] font-medium text-white flex items-center justify-center px-1", children: notifications.count > 9 ? "9+" : notifications.count })
76090
- ] }) }),
76091
- /* @__PURE__ */ jsxs(
76092
- MoonUIDropdownMenuContentPro,
76029
+ /* @__PURE__ */ jsxs(
76030
+ "div",
76031
+ {
76032
+ className: cn(
76033
+ "flex items-center",
76034
+ getHeight(),
76035
+ maxWidth === "sm" && "container max-w-screen-sm",
76036
+ maxWidth === "md" && "container max-w-screen-md",
76037
+ maxWidth === "lg" && "container max-w-screen-lg",
76038
+ maxWidth === "xl" && "container max-w-screen-xl",
76039
+ maxWidth === "2xl" && "container max-w-screen-2xl",
76040
+ maxWidth === "full" && "w-full px-4 sm:px-6 lg:px-8"
76041
+ ),
76042
+ children: [
76043
+ branding && /* @__PURE__ */ jsxs(
76044
+ "div",
76093
76045
  {
76094
- align: "end",
76095
- className: "w-[380px] p-0",
76096
- sideOffset: 8,
76046
+ className: cn(
76047
+ "flex items-center gap-2",
76048
+ logoPosition === "center" && !isMobile ? "absolute left-1/2 -translate-x-1/2" : "mr-4"
76049
+ ),
76097
76050
  children: [
76098
- /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between px-4 py-3 border-b", children: [
76099
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
76100
- /* @__PURE__ */ jsx("h4", { className: "text-base font-semibold", children: "Notifications" }),
76101
- notifications.count && notifications.count > 0 && /* @__PURE__ */ jsxs(
76102
- MoonUIBadgePro,
76103
- {
76104
- variant: "secondary",
76105
- className: "h-5 px-2 rounded-full bg-primary/10 text-primary border-0",
76106
- children: [
76107
- notifications.count,
76108
- " new"
76109
- ]
76110
- }
76111
- )
76112
- ] }),
76113
- notifications.items && notifications.items.length > 0 && /* @__PURE__ */ jsx(
76114
- MoonUIButtonPro,
76115
- {
76116
- variant: "ghost",
76117
- size: "sm",
76118
- className: "text-xs h-7 px-2 text-muted-foreground hover:text-foreground",
76119
- onClick: (e) => {
76120
- e.preventDefault();
76121
- console.log("Mark all as read");
76122
- },
76123
- children: "Mark all read"
76124
- }
76125
- )
76126
- ] }),
76127
- /* @__PURE__ */ jsx("div", { className: "max-h-[400px] overflow-y-auto", children: notifications.items && notifications.items.length > 0 ? /* @__PURE__ */ jsx("div", { className: "py-1", children: notifications.items.map((notification, index2) => /* @__PURE__ */ jsxs("div", { children: [
76128
- /* @__PURE__ */ jsx(
76129
- "button",
76130
- {
76131
- className: cn(
76132
- "w-full px-4 py-3 text-left hover:bg-muted/50 transition-colors",
76133
- "focus:outline-none focus:bg-muted/50",
76134
- !notification.read && "bg-primary/5 hover:bg-primary/10"
76135
- ),
76136
- onClick: () => notifications.onNotificationClick?.(notification.id),
76137
- children: /* @__PURE__ */ jsxs("div", { className: "flex gap-3", children: [
76138
- /* @__PURE__ */ jsx("div", { className: "mt-1.5", children: /* @__PURE__ */ jsx("div", { className: cn(
76139
- "h-2 w-2 rounded-full",
76140
- !notification.read ? "bg-primary" : "bg-transparent"
76141
- ) }) }),
76142
- /* @__PURE__ */ jsxs("div", { className: "flex-1 space-y-1", children: [
76143
- /* @__PURE__ */ jsx("p", { className: cn(
76144
- "text-sm leading-tight",
76145
- !notification.read ? "font-medium" : "font-normal"
76146
- ), children: notification.title }),
76147
- notification.description && /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground leading-relaxed", children: notification.description }),
76148
- notification.time && /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground/70 mt-1", children: notification.time })
76149
- ] })
76150
- ] })
76151
- }
76152
- ),
76153
- index2 < (notifications.items?.length || 0) - 1 && /* @__PURE__ */ jsx("div", { className: "mx-4 border-b" })
76154
- ] }, notification.id)) }) : /* @__PURE__ */ jsxs("div", { className: "py-12 text-center", children: [
76155
- /* @__PURE__ */ jsx(Bell, { className: "h-10 w-10 mx-auto text-muted-foreground/30 mb-3" }),
76156
- /* @__PURE__ */ jsx("p", { className: "text-sm font-medium text-muted-foreground", children: "No new notifications" }),
76157
- /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground/70 mt-1", children: "You're all caught up!" })
76158
- ] }) }),
76159
- notifications.items && notifications.items.length > 0 && /* @__PURE__ */ jsx("div", { className: "border-t p-2", children: /* @__PURE__ */ jsx(
76160
- MoonUIButtonPro,
76051
+ logoPosition === "left" && mobileMenuPosition === "left" && /* @__PURE__ */ jsx(MobileMenu, {}),
76052
+ /* @__PURE__ */ jsxs(
76053
+ "a",
76161
76054
  {
76162
- variant: "ghost",
76163
- className: "w-full h-8 text-xs text-muted-foreground hover:text-foreground",
76055
+ href: branding.href || "/",
76164
76056
  onClick: (e) => {
76165
- e.preventDefault();
76166
- console.log("View all notifications");
76057
+ if (branding.href && onNavigate) {
76058
+ e.preventDefault();
76059
+ onNavigate(branding.href);
76060
+ }
76167
76061
  },
76168
- children: "View all notifications"
76062
+ className: "flex items-center gap-2",
76063
+ children: [
76064
+ branding.logo,
76065
+ branding.title && !isMobile && /* @__PURE__ */ jsx("span", { className: "font-semibold text-lg", children: branding.title })
76066
+ ]
76169
76067
  }
76170
- ) })
76068
+ )
76171
76069
  ]
76172
76070
  }
76173
- )
76174
- ] }),
76175
- cta && /* @__PURE__ */ jsx(
76176
- MoonUIButtonPro,
76177
- {
76178
- variant: cta.variant || "primary",
76179
- size: "sm",
76180
- onClick: () => {
76181
- if (cta.action) {
76182
- cta.action();
76183
- } else if (cta.href && onNavigate) {
76184
- onNavigate(cta.href);
76071
+ ),
76072
+ !isMobile && !hideNavItems && /* @__PURE__ */ jsx(NavigationMenu2, { className: "hidden md:flex", children: /* @__PURE__ */ jsx(NavigationMenuList2, { children: sections.map((section) => /* @__PURE__ */ jsx(React67__default.Fragment, { children: section.items.map((item) => {
76073
+ const hasChildren = item.items && item.items.length > 0;
76074
+ const isActive2 = item.href === activePath;
76075
+ if (hasChildren) {
76076
+ return /* @__PURE__ */ jsxs(
76077
+ NavigationMenuItem2,
76078
+ {
76079
+ children: [
76080
+ /* @__PURE__ */ jsx(
76081
+ NavigationMenuTrigger2,
76082
+ {
76083
+ className: cn(
76084
+ isActive2 && "bg-accent text-accent-foreground",
76085
+ item.disabled && "opacity-50 cursor-not-allowed"
76086
+ ),
76087
+ disabled: item.disabled,
76088
+ children: /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-2", children: [
76089
+ item.icon && /* @__PURE__ */ jsx("span", { children: item.icon }),
76090
+ item.title
76091
+ ] })
76092
+ }
76093
+ ),
76094
+ /* @__PURE__ */ jsx(NavigationMenuContent2, { children: item.items && renderMegaMenuContent(
76095
+ item.items
76096
+ ) })
76097
+ ]
76098
+ },
76099
+ item.id
76100
+ );
76101
+ }
76102
+ return /* @__PURE__ */ jsx(
76103
+ NavigationMenuItem2,
76104
+ {
76105
+ children: /* @__PURE__ */ jsxs(
76106
+ NavigationMenuLink2,
76107
+ {
76108
+ className: cn(
76109
+ navigationMenuTriggerStyle(),
76110
+ isActive2 && "bg-accent text-accent-foreground",
76111
+ item.disabled && "opacity-50 cursor-not-allowed"
76112
+ ),
76113
+ onClick: () => !item.disabled && handleItemClick(
76114
+ item
76115
+ ),
76116
+ children: [
76117
+ /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-2", children: [
76118
+ item.icon && /* @__PURE__ */ jsx("span", { children: item.icon }),
76119
+ item.title
76120
+ ] }),
76121
+ item.badge && /* @__PURE__ */ jsx(
76122
+ MoonUIBadgePro,
76123
+ {
76124
+ variant: item.badgeVariant || "secondary",
76125
+ className: "ml-2",
76126
+ children: item.badge
76127
+ }
76128
+ )
76129
+ ]
76130
+ }
76131
+ )
76132
+ },
76133
+ item.id
76134
+ );
76135
+ }) }, section.id)) }) }),
76136
+ /* @__PURE__ */ jsxs("div", { className: "ml-auto flex items-center gap-2", children: [
76137
+ showSearch && /* @__PURE__ */ jsx(Fragment, { children: isMobile ? /* @__PURE__ */ jsx(
76138
+ MoonUIButtonPro,
76139
+ {
76140
+ variant: "ghost",
76141
+ size: "icon",
76142
+ onClick: () => setIsCommandOpen(true),
76143
+ children: /* @__PURE__ */ jsx(Search, { className: "h-5 w-5" })
76185
76144
  }
76186
- },
76187
- className: !isMobile ? "ml-2" : "",
76188
- children: cta.text
76189
- }
76190
- ),
76191
- userMenu && /* @__PURE__ */ jsxs(MoonUIDropdownMenuPro, { children: [
76192
- /* @__PURE__ */ jsx(MoonUIDropdownMenuTriggerPro, { asChild: true, children: /* @__PURE__ */ jsx(MoonUIButtonPro, { variant: "ghost", size: "icon", className: "relative", children: /* @__PURE__ */ jsxs(MoonUIAvatarPro, { className: "h-8 w-8", children: [
76193
- /* @__PURE__ */ jsx(MoonUIAvatarImagePro, { src: userMenu.user?.avatar, alt: userMenu.user?.name }),
76194
- /* @__PURE__ */ jsx(MoonUIAvatarFallbackPro, { children: userMenu.user?.name?.charAt(0) || /* @__PURE__ */ jsx(User, { className: "h-4 w-4" }) })
76195
- ] }) }) }),
76196
- /* @__PURE__ */ jsxs(MoonUIDropdownMenuContentPro, { align: "end", className: "w-56", children: [
76197
- userMenu.user && /* @__PURE__ */ jsxs(Fragment, { children: [
76198
- /* @__PURE__ */ jsxs("div", { className: "p-2", children: [
76199
- /* @__PURE__ */ jsx("p", { className: "text-sm font-medium", children: userMenu.user.name }),
76200
- /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: userMenu.user.email })
76201
- ] }),
76202
- /* @__PURE__ */ jsx(MoonUIDropdownMenuSeparatorPro, {})
76145
+ ) : /* @__PURE__ */ jsxs("div", { className: "relative", children: [
76146
+ /* @__PURE__ */ jsx(Search, { className: "absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground" }),
76147
+ /* @__PURE__ */ jsx(
76148
+ MoonUIInputPro,
76149
+ {
76150
+ type: "search",
76151
+ placeholder: searchPlaceholder,
76152
+ className: "w-64 pl-9 pr-4 h-9 cursor-pointer",
76153
+ value: searchValue,
76154
+ onChange: (e) => handleSearch(e.target.value),
76155
+ onClick: () => {
76156
+ if (enableCommandAI) {
76157
+ setIsCommandOpen(true);
76158
+ onCommandAIOpen?.();
76159
+ }
76160
+ },
76161
+ readOnly: enableCommandAI
76162
+ }
76163
+ ),
76164
+ (keyboardShortcuts || enableCommandAI) && /* @__PURE__ */ jsx("kbd", { className: "absolute right-2 top-1/2 -translate-y-1/2 pointer-events-none h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium opacity-100 hidden sm:flex", children: enableCommandAI ? commandAIShortcut : /* @__PURE__ */ jsxs(Fragment, { children: [
76165
+ /* @__PURE__ */ jsx("span", { className: "text-xs", children: "\u2318" }),
76166
+ "K"
76167
+ ] }) })
76168
+ ] }) }),
76169
+ showThemeToggle && /* @__PURE__ */ jsxs(MoonUIDropdownMenuPro, { children: [
76170
+ /* @__PURE__ */ jsx(MoonUIDropdownMenuTriggerPro, { asChild: true, children: /* @__PURE__ */ jsxs(MoonUIButtonPro, { variant: "ghost", size: "icon", children: [
76171
+ theme === "light" && /* @__PURE__ */ jsx(Sun, { className: "h-5 w-5" }),
76172
+ theme === "dark" && /* @__PURE__ */ jsx(Moon, { className: "h-5 w-5" }),
76173
+ theme === "system" && /* @__PURE__ */ jsx(Monitor, { className: "h-5 w-5" })
76174
+ ] }) }),
76175
+ /* @__PURE__ */ jsxs(MoonUIDropdownMenuContentPro, { align: "end", children: [
76176
+ /* @__PURE__ */ jsxs(
76177
+ MoonUIDropdownMenuItemPro,
76178
+ {
76179
+ onClick: () => onThemeChange?.("light"),
76180
+ children: [
76181
+ /* @__PURE__ */ jsx(Sun, { className: "mr-2 h-4 w-4" }),
76182
+ "Light"
76183
+ ]
76184
+ }
76185
+ ),
76186
+ /* @__PURE__ */ jsxs(
76187
+ MoonUIDropdownMenuItemPro,
76188
+ {
76189
+ onClick: () => onThemeChange?.("dark"),
76190
+ children: [
76191
+ /* @__PURE__ */ jsx(Moon, { className: "mr-2 h-4 w-4" }),
76192
+ "Dark"
76193
+ ]
76194
+ }
76195
+ ),
76196
+ /* @__PURE__ */ jsxs(
76197
+ MoonUIDropdownMenuItemPro,
76198
+ {
76199
+ onClick: () => onThemeChange?.("system"),
76200
+ children: [
76201
+ /* @__PURE__ */ jsx(Monitor, { className: "mr-2 h-4 w-4" }),
76202
+ "System"
76203
+ ]
76204
+ }
76205
+ )
76206
+ ] })
76207
+ ] }),
76208
+ notifications && /* @__PURE__ */ jsxs(MoonUIDropdownMenuPro, { children: [
76209
+ /* @__PURE__ */ jsx(MoonUIDropdownMenuTriggerPro, { asChild: true, children: /* @__PURE__ */ jsxs(
76210
+ MoonUIButtonPro,
76211
+ {
76212
+ variant: "ghost",
76213
+ size: "icon",
76214
+ className: "relative",
76215
+ children: [
76216
+ /* @__PURE__ */ jsx(Bell, { className: "h-5 w-5" }),
76217
+ notifications.count && notifications.count > 0 && /* @__PURE__ */ jsx("span", { className: "absolute -top-1 -right-1 min-w-[18px] h-[18px] rounded-full bg-red-500 text-[11px] font-medium text-white flex items-center justify-center px-1", children: notifications.count > 9 ? "9+" : notifications.count })
76218
+ ]
76219
+ }
76220
+ ) }),
76221
+ /* @__PURE__ */ jsxs(
76222
+ MoonUIDropdownMenuContentPro,
76223
+ {
76224
+ align: "end",
76225
+ className: "w-[380px] p-0",
76226
+ sideOffset: 8,
76227
+ children: [
76228
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between px-4 py-3 border-b", children: [
76229
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
76230
+ /* @__PURE__ */ jsx("h4", { className: "text-base font-semibold", children: "Notifications" }),
76231
+ notifications.count && notifications.count > 0 && /* @__PURE__ */ jsxs(
76232
+ MoonUIBadgePro,
76233
+ {
76234
+ variant: "secondary",
76235
+ className: "h-5 px-2 rounded-full bg-primary/10 text-primary border-0",
76236
+ children: [
76237
+ notifications.count,
76238
+ " ",
76239
+ "new"
76240
+ ]
76241
+ }
76242
+ )
76243
+ ] }),
76244
+ notifications.items && notifications.items.length > 0 && /* @__PURE__ */ jsx(
76245
+ MoonUIButtonPro,
76246
+ {
76247
+ variant: "ghost",
76248
+ size: "sm",
76249
+ className: "text-xs h-7 px-2 text-muted-foreground hover:text-foreground",
76250
+ onClick: (e) => {
76251
+ e.preventDefault();
76252
+ console.log(
76253
+ "Mark all as read"
76254
+ );
76255
+ },
76256
+ children: "Mark all read"
76257
+ }
76258
+ )
76259
+ ] }),
76260
+ /* @__PURE__ */ jsx("div", { className: "max-h-[400px] overflow-y-auto", children: notifications.items && notifications.items.length > 0 ? /* @__PURE__ */ jsx("div", { className: "py-1", children: notifications.items.map(
76261
+ (notification, index2) => /* @__PURE__ */ jsxs(
76262
+ "div",
76263
+ {
76264
+ children: [
76265
+ /* @__PURE__ */ jsx(
76266
+ "button",
76267
+ {
76268
+ className: cn(
76269
+ "w-full px-4 py-3 text-left hover:bg-muted/50 transition-colors",
76270
+ "focus:outline-none focus:bg-muted/50",
76271
+ !notification.read && "bg-primary/5 hover:bg-primary/10"
76272
+ ),
76273
+ onClick: () => notifications.onNotificationClick?.(
76274
+ notification.id
76275
+ ),
76276
+ children: /* @__PURE__ */ jsxs("div", { className: "flex gap-3", children: [
76277
+ /* @__PURE__ */ jsx("div", { className: "mt-1.5", children: /* @__PURE__ */ jsx(
76278
+ "div",
76279
+ {
76280
+ className: cn(
76281
+ "h-2 w-2 rounded-full",
76282
+ !notification.read ? "bg-primary" : "bg-transparent"
76283
+ )
76284
+ }
76285
+ ) }),
76286
+ /* @__PURE__ */ jsxs("div", { className: "flex-1 space-y-1", children: [
76287
+ /* @__PURE__ */ jsx(
76288
+ "p",
76289
+ {
76290
+ className: cn(
76291
+ "text-sm leading-tight",
76292
+ !notification.read ? "font-medium" : "font-normal"
76293
+ ),
76294
+ children: notification.title
76295
+ }
76296
+ ),
76297
+ notification.description && /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground leading-relaxed", children: notification.description }),
76298
+ notification.time && /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground/70 mt-1", children: notification.time })
76299
+ ] })
76300
+ ] })
76301
+ }
76302
+ ),
76303
+ index2 < (notifications.items?.length || 0) - 1 && /* @__PURE__ */ jsx("div", { className: "mx-4 border-b" })
76304
+ ]
76305
+ },
76306
+ notification.id
76307
+ )
76308
+ ) }) : /* @__PURE__ */ jsxs("div", { className: "py-12 text-center", children: [
76309
+ /* @__PURE__ */ jsx(Bell, { className: "h-10 w-10 mx-auto text-muted-foreground/30 mb-3" }),
76310
+ /* @__PURE__ */ jsx("p", { className: "text-sm font-medium text-muted-foreground", children: "No new notifications" }),
76311
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground/70 mt-1", children: "You're all caught up!" })
76312
+ ] }) }),
76313
+ notifications.items && notifications.items.length > 0 && /* @__PURE__ */ jsx("div", { className: "border-t p-2", children: /* @__PURE__ */ jsx(
76314
+ MoonUIButtonPro,
76315
+ {
76316
+ variant: "ghost",
76317
+ className: "w-full h-8 text-xs text-muted-foreground hover:text-foreground",
76318
+ onClick: (e) => {
76319
+ e.preventDefault();
76320
+ console.log(
76321
+ "View all notifications"
76322
+ );
76323
+ },
76324
+ children: "View all notifications"
76325
+ }
76326
+ ) })
76327
+ ]
76328
+ }
76329
+ )
76203
76330
  ] }),
76204
- userMenu.items && renderDropdownMenu(userMenu.items)
76331
+ cta && /* @__PURE__ */ jsx(
76332
+ MoonUIButtonPro,
76333
+ {
76334
+ variant: cta.variant || "primary",
76335
+ size: "sm",
76336
+ onClick: () => {
76337
+ if (cta.action) {
76338
+ cta.action();
76339
+ } else if (cta.href && onNavigate) {
76340
+ onNavigate(cta.href);
76341
+ }
76342
+ },
76343
+ className: !isMobile ? "ml-2" : "",
76344
+ children: cta.text
76345
+ }
76346
+ ),
76347
+ userMenu && /* @__PURE__ */ jsxs(MoonUIDropdownMenuPro, { children: [
76348
+ /* @__PURE__ */ jsx(MoonUIDropdownMenuTriggerPro, { asChild: true, children: /* @__PURE__ */ jsx(
76349
+ MoonUIButtonPro,
76350
+ {
76351
+ variant: "ghost",
76352
+ size: "icon",
76353
+ className: "relative",
76354
+ children: /* @__PURE__ */ jsxs(MoonUIAvatarPro, { className: "h-8 w-8", children: [
76355
+ /* @__PURE__ */ jsx(
76356
+ MoonUIAvatarImagePro,
76357
+ {
76358
+ src: userMenu.user?.avatar,
76359
+ alt: userMenu.user?.name
76360
+ }
76361
+ ),
76362
+ /* @__PURE__ */ jsx(MoonUIAvatarFallbackPro, { children: userMenu.user?.name?.charAt(
76363
+ 0
76364
+ ) || /* @__PURE__ */ jsx(User, { className: "h-4 w-4" }) })
76365
+ ] })
76366
+ }
76367
+ ) }),
76368
+ /* @__PURE__ */ jsxs(
76369
+ MoonUIDropdownMenuContentPro,
76370
+ {
76371
+ align: "end",
76372
+ className: "w-56",
76373
+ children: [
76374
+ userMenu.user && /* @__PURE__ */ jsxs(Fragment, { children: [
76375
+ /* @__PURE__ */ jsxs("div", { className: "p-2", children: [
76376
+ /* @__PURE__ */ jsx("p", { className: "text-sm font-medium", children: userMenu.user.name }),
76377
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground", children: userMenu.user.email })
76378
+ ] }),
76379
+ /* @__PURE__ */ jsx(MoonUIDropdownMenuSeparatorPro, {})
76380
+ ] }),
76381
+ userMenu.items && renderDropdownMenu(userMenu.items)
76382
+ ]
76383
+ }
76384
+ )
76385
+ ] })
76205
76386
  ] })
76206
- ] })
76207
- ] })
76208
- ] }),
76387
+ ]
76388
+ }
76389
+ ),
76209
76390
  animatedBackground && /* @__PURE__ */ jsx(
76210
76391
  motion.div,
76211
76392
  {
@@ -76258,70 +76439,114 @@ function NavbarInternal({
76258
76439
  /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground mt-1", children: "Try searching for pages, actions, or commands" })
76259
76440
  ] }) : "No results found." }),
76260
76441
  enableCommandAI && !searchValue && /* @__PURE__ */ jsxs(MoonUICommandGroupPro, { heading: "Quick Actions", children: [
76261
- /* @__PURE__ */ jsxs(MoonUICommandItemPro, { onSelect: () => {
76262
- const homeItem = { id: "home", title: "Go Home", href: "/" };
76263
- onCommandAISelect?.(homeItem);
76264
- handleItemClick(homeItem);
76265
- setIsCommandOpen(false);
76266
- }, children: [
76267
- /* @__PURE__ */ jsx(Home, { className: "mr-2 h-4 w-4" }),
76268
- "Go Home",
76269
- /* @__PURE__ */ jsx("kbd", { className: "ml-auto text-xs", children: "\u2318H" })
76270
- ] }),
76271
- /* @__PURE__ */ jsxs(MoonUICommandItemPro, { onSelect: () => {
76272
- setIsSearchOpen(true);
76273
- setIsCommandOpen(false);
76274
- onCommandAISelect?.({ id: "search", title: "Search", action: () => setIsSearchOpen(true) });
76275
- }, children: [
76276
- /* @__PURE__ */ jsx(Search, { className: "mr-2 h-4 w-4" }),
76277
- "Search",
76278
- /* @__PURE__ */ jsx("kbd", { className: "ml-auto text-xs", children: "\u2318S" })
76279
- ] }),
76280
- showThemeToggle && /* @__PURE__ */ jsxs(MoonUICommandItemPro, { onSelect: () => {
76281
- const newTheme = theme === "dark" ? "light" : "dark";
76282
- onThemeChange?.(newTheme);
76283
- setIsCommandOpen(false);
76284
- }, children: [
76285
- theme === "dark" ? /* @__PURE__ */ jsxs(Fragment, { children: [
76286
- /* @__PURE__ */ jsx(Sun, { className: "mr-2 h-4 w-4" }),
76287
- "Switch to Light Mode"
76288
- ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
76289
- /* @__PURE__ */ jsx(Moon, { className: "mr-2 h-4 w-4" }),
76290
- "Switch to Dark Mode"
76291
- ] }),
76292
- /* @__PURE__ */ jsx("kbd", { className: "ml-auto text-xs", children: "\u2318T" })
76293
- ] })
76442
+ /* @__PURE__ */ jsxs(
76443
+ MoonUICommandItemPro,
76444
+ {
76445
+ onSelect: () => {
76446
+ const homeItem = {
76447
+ id: "home",
76448
+ title: "Go Home",
76449
+ href: "/"
76450
+ };
76451
+ onCommandAISelect?.(homeItem);
76452
+ handleItemClick(homeItem);
76453
+ setIsCommandOpen(false);
76454
+ },
76455
+ children: [
76456
+ /* @__PURE__ */ jsx(Home, { className: "mr-2 h-4 w-4" }),
76457
+ "Go Home",
76458
+ /* @__PURE__ */ jsx("kbd", { className: "ml-auto text-xs", children: "\u2318H" })
76459
+ ]
76460
+ }
76461
+ ),
76462
+ /* @__PURE__ */ jsxs(
76463
+ MoonUICommandItemPro,
76464
+ {
76465
+ onSelect: () => {
76466
+ setIsSearchOpen(true);
76467
+ setIsCommandOpen(false);
76468
+ onCommandAISelect?.({
76469
+ id: "search",
76470
+ title: "Search",
76471
+ action: () => setIsSearchOpen(true)
76472
+ });
76473
+ },
76474
+ children: [
76475
+ /* @__PURE__ */ jsx(Search, { className: "mr-2 h-4 w-4" }),
76476
+ "Search",
76477
+ /* @__PURE__ */ jsx("kbd", { className: "ml-auto text-xs", children: "\u2318S" })
76478
+ ]
76479
+ }
76480
+ ),
76481
+ showThemeToggle && /* @__PURE__ */ jsxs(
76482
+ MoonUICommandItemPro,
76483
+ {
76484
+ onSelect: () => {
76485
+ const newTheme = theme === "dark" ? "light" : "dark";
76486
+ onThemeChange?.(newTheme);
76487
+ setIsCommandOpen(false);
76488
+ },
76489
+ children: [
76490
+ theme === "dark" ? /* @__PURE__ */ jsxs(Fragment, { children: [
76491
+ /* @__PURE__ */ jsx(Sun, { className: "mr-2 h-4 w-4" }),
76492
+ "Switch to Light Mode"
76493
+ ] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
76494
+ /* @__PURE__ */ jsx(Moon, { className: "mr-2 h-4 w-4" }),
76495
+ "Switch to Dark Mode"
76496
+ ] }),
76497
+ /* @__PURE__ */ jsx("kbd", { className: "ml-auto text-xs", children: "\u2318T" })
76498
+ ]
76499
+ }
76500
+ )
76294
76501
  ] }),
76295
76502
  sections && sections.length > 0 && sections.map((section) => {
76296
76503
  if (!section || !section.items || section.items.length === 0)
76297
76504
  return null;
76298
76505
  const filteredItems = searchValue ? section.items.filter(
76299
- (item) => item.title.toLowerCase().includes(searchValue.toLowerCase()) || item.description?.toLowerCase().includes(searchValue.toLowerCase())
76506
+ (item) => item.title.toLowerCase().includes(
76507
+ searchValue.toLowerCase()
76508
+ ) || item.description?.toLowerCase().includes(
76509
+ searchValue.toLowerCase()
76510
+ )
76300
76511
  ) : section.items;
76301
76512
  if (filteredItems.length === 0)
76302
76513
  return null;
76303
- return /* @__PURE__ */ jsx(MoonUICommandGroupPro, { heading: section.title || section.id, children: filteredItems.map((item) => /* @__PURE__ */ jsxs(
76304
- MoonUICommandItemPro,
76514
+ return /* @__PURE__ */ jsx(
76515
+ MoonUICommandGroupPro,
76305
76516
  {
76306
- disabled: item.disabled,
76307
- onSelect: () => {
76308
- if (enableCommandAI) {
76309
- onCommandAISelect?.(item);
76310
- }
76311
- handleItemClick(item);
76312
- setIsCommandOpen(false);
76313
- },
76314
- children: [
76315
- /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-2", children: [
76316
- item.icon && /* @__PURE__ */ jsx("span", { children: item.icon }),
76317
- item.title
76318
- ] }),
76319
- item.badge && /* @__PURE__ */ jsx(MoonUIBadgePro, { variant: item.badgeVariant || "secondary", className: "ml-auto", children: item.badge }),
76320
- item.description && enableCommandAI && /* @__PURE__ */ jsx("span", { className: "ml-2 text-xs text-muted-foreground", children: item.description })
76321
- ]
76517
+ heading: section.title || section.id,
76518
+ children: filteredItems.map((item) => /* @__PURE__ */ jsxs(
76519
+ MoonUICommandItemPro,
76520
+ {
76521
+ disabled: item.disabled,
76522
+ onSelect: () => {
76523
+ if (enableCommandAI) {
76524
+ onCommandAISelect?.(item);
76525
+ }
76526
+ handleItemClick(item);
76527
+ setIsCommandOpen(false);
76528
+ },
76529
+ children: [
76530
+ /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-2", children: [
76531
+ item.icon && /* @__PURE__ */ jsx("span", { children: item.icon }),
76532
+ item.title
76533
+ ] }),
76534
+ item.badge && /* @__PURE__ */ jsx(
76535
+ MoonUIBadgePro,
76536
+ {
76537
+ variant: item.badgeVariant || "secondary",
76538
+ className: "ml-auto",
76539
+ children: item.badge
76540
+ }
76541
+ ),
76542
+ item.description && enableCommandAI && /* @__PURE__ */ jsx("span", { className: "ml-2 text-xs text-muted-foreground", children: item.description })
76543
+ ]
76544
+ },
76545
+ item.id
76546
+ ))
76322
76547
  },
76323
- item.id
76324
- )) }, section.id);
76548
+ section.id
76549
+ );
76325
76550
  }),
76326
76551
  enableCommandAI && userMenu?.items && /* @__PURE__ */ jsx(MoonUICommandGroupPro, { heading: "Account", children: userMenu.items.map((item) => /* @__PURE__ */ jsx(
76327
76552
  MoonUICommandItemPro,