@moontra/moonui-pro 3.3.12 → 3.3.14

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.d.ts CHANGED
@@ -6211,7 +6211,7 @@ interface CodeSnippetsProps {
6211
6211
  /** Pozisyon türü - fixed veya absolute */
6212
6212
  position?: "fixed" | "absolute";
6213
6213
  }
6214
- declare function CodeSnippets({ snippets, variant, speed, density, opacity, showIcons, glowEffect, className, multiplier, position }: CodeSnippetsProps): react_jsx_runtime.JSX.Element | null;
6214
+ declare function CodeSnippets({ snippets, variant, speed, density, opacity, showIcons, glowEffect, className, multiplier, position }: CodeSnippetsProps): react_jsx_runtime.JSX.Element;
6215
6215
  declare const codeSnippetsPresets: {
6216
6216
  readonly default: {
6217
6217
  readonly snippets: CodeSnippet[];
package/dist/index.mjs CHANGED
@@ -78842,9 +78842,12 @@ function useNavbarScroll({
78842
78842
  }
78843
78843
  } else if (scrollBehavior === "minimal") {
78844
78844
  const shouldBeMinimal = currentScrollY > scrollThreshold;
78845
- if (shouldBeMinimal !== isMinimal) {
78846
- setIsMinimal(shouldBeMinimal);
78847
- }
78845
+ setIsMinimal((prev) => {
78846
+ if (prev !== shouldBeMinimal) {
78847
+ return shouldBeMinimal;
78848
+ }
78849
+ return prev;
78850
+ });
78848
78851
  }
78849
78852
  if (showScrollProgress) {
78850
78853
  const winScroll = window.scrollY;
@@ -78854,7 +78857,7 @@ function useNavbarScroll({
78854
78857
  }
78855
78858
  lastScrollY.current = currentScrollY;
78856
78859
  ticking.current = false;
78857
- }, [hideOnScroll, scrollBehavior, showScrollProgress, scrollThreshold, isMinimal]);
78860
+ }, [hideOnScroll, scrollBehavior, showScrollProgress, scrollThreshold]);
78858
78861
  const requestTick = useCallback(() => {
78859
78862
  if (!ticking.current) {
78860
78863
  requestAnimationFrame(updateScrollState);
@@ -91559,19 +91562,18 @@ function FloatingCodeItem({
91559
91562
  showIcons,
91560
91563
  glowEffect
91561
91564
  }) {
91562
- const [position, setPosition] = useState({ x: 0, y: 0 });
91563
- useEffect(() => {
91564
- setPosition({
91565
- x: Math.random() * 100,
91566
- y: Math.random() * 100
91567
- });
91568
- }, []);
91565
+ const position = useMemo(() => ({
91566
+ x: index2 * 137.5 % 100,
91567
+ // Deterministik position hesaplama
91568
+ y: index2 * 73.2 % 100
91569
+ }), [index2]);
91569
91570
  const animationConfig = useMemo(() => {
91570
91571
  switch (variant) {
91571
91572
  case "float":
91572
91573
  return {
91573
91574
  animate: {
91574
- opacity: [0.3, 0.7, 0.3],
91575
+ opacity: [0.4, 0.6, 0.4],
91576
+ // Daha smooth opacity geçişi
91575
91577
  y: [0, -30, -60],
91576
91578
  x: [0, Math.random() * 20 - 10, Math.random() * 40 - 20],
91577
91579
  rotate: [0, Math.random() * 10 - 5, Math.random() * 20 - 10],
@@ -91604,7 +91606,8 @@ function FloatingCodeItem({
91604
91606
  const angle = index2 * 360 / 8 * Math.PI / 180;
91605
91607
  return {
91606
91608
  animate: {
91607
- opacity: [0.4, 0.8, 0.4],
91609
+ opacity: [0.4, 0.6, 0.4],
91610
+ // Daha smooth opacity
91608
91611
  x: [
91609
91612
  Math.cos(angle) * radius,
91610
91613
  Math.cos(angle + Math.PI) * radius,
@@ -91626,7 +91629,8 @@ function FloatingCodeItem({
91626
91629
  case "wave":
91627
91630
  return {
91628
91631
  animate: {
91629
- opacity: [0.3, 0.7, 0.3],
91632
+ opacity: [0.4, 0.6, 0.4],
91633
+ // Daha smooth opacity
91630
91634
  x: [0, 100, 0, -100, 0],
91631
91635
  y: [
91632
91636
  0,
@@ -91663,7 +91667,9 @@ function FloatingCodeItem({
91663
91667
  style: {
91664
91668
  left: `${position.x}%`,
91665
91669
  top: `${position.y}%`,
91666
- color: lang.color
91670
+ color: lang.color,
91671
+ willChange: "transform, opacity"
91672
+ // GPU acceleration için
91667
91673
  },
91668
91674
  initial: { opacity: 0, scale: 0.5 },
91669
91675
  animate: animationConfig.animate,
@@ -91692,19 +91698,16 @@ function CodeSnippets({
91692
91698
  multiplier = 2,
91693
91699
  position = "absolute"
91694
91700
  }) {
91695
- const [mounted, setMounted] = useState(false);
91696
- useEffect(() => {
91697
- setMounted(true);
91698
- }, []);
91699
- if (!mounted)
91700
- return null;
91701
- const allSnippets = Array.from(
91702
- { length: multiplier },
91703
- (_, i) => snippets.map((snippet, j) => ({
91704
- ...snippet,
91705
- id: `${i}-${j}-${snippet.language}`
91706
- }))
91707
- ).flat();
91701
+ const allSnippets = useMemo(
91702
+ () => Array.from(
91703
+ { length: multiplier },
91704
+ (_, i) => snippets.map((snippet, j) => ({
91705
+ ...snippet,
91706
+ id: `${i}-${j}-${snippet.language}`
91707
+ }))
91708
+ ).flat(),
91709
+ [snippets, multiplier]
91710
+ );
91708
91711
  return /* @__PURE__ */ jsx(
91709
91712
  "div",
91710
91713
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moontra/moonui-pro",
3
- "version": "3.3.12",
3
+ "version": "3.3.14",
4
4
  "description": "Premium React components for MoonUI - Advanced UI library with 50+ pro components including performance, interactive, and gesture components",
5
5
  "type": "module",
6
6
  "main": "dist/index.mjs",