@almadar/ui 2.15.11 → 2.15.13

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.
@@ -14945,7 +14945,7 @@ var HeroSection = ({
14945
14945
  className: cn(
14946
14946
  "w-full min-h-[60vh] flex items-center justify-center",
14947
14947
  "px-6 py-20",
14948
- "relative overflow-x-hidden overflow-y-visible",
14948
+ "relative overflow-hidden",
14949
14949
  className
14950
14950
  ),
14951
14951
  children: [
@@ -15376,9 +15376,9 @@ var SplitSection = ({
15376
15376
  className
15377
15377
  ),
15378
15378
  padding: "lg",
15379
- children: /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: cn("flex flex-col lg:flex-row gap-10 lg:gap-16 items-start", isImageLeft && "lg:flex-row-reverse"), children: [
15380
- textContent,
15381
- mediaContent
15379
+ children: /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: cn("max-w-7xl mx-auto flex flex-col lg:flex-row gap-10 lg:gap-16 items-start", isImageLeft && "lg:flex-row-reverse"), children: [
15380
+ /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "flex-1 min-w-0 lg:min-w-[45%]", children: textContent }),
15381
+ /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "flex-1 min-w-0 lg:max-w-[50%]", children: mediaContent })
15382
15382
  ] })
15383
15383
  }
15384
15384
  );
@@ -14914,7 +14914,7 @@ var HeroSection = ({
14914
14914
  className: cn(
14915
14915
  "w-full min-h-[60vh] flex items-center justify-center",
14916
14916
  "px-6 py-20",
14917
- "relative overflow-x-hidden overflow-y-visible",
14917
+ "relative overflow-hidden",
14918
14918
  className
14919
14919
  ),
14920
14920
  children: [
@@ -15345,9 +15345,9 @@ var SplitSection = ({
15345
15345
  className
15346
15346
  ),
15347
15347
  padding: "lg",
15348
- children: /* @__PURE__ */ jsxs(Box, { className: cn("flex flex-col lg:flex-row gap-10 lg:gap-16 items-start", isImageLeft && "lg:flex-row-reverse"), children: [
15349
- textContent,
15350
- mediaContent
15348
+ children: /* @__PURE__ */ jsxs(Box, { className: cn("max-w-7xl mx-auto flex flex-col lg:flex-row gap-10 lg:gap-16 items-start", isImageLeft && "lg:flex-row-reverse"), children: [
15349
+ /* @__PURE__ */ jsx(Box, { className: "flex-1 min-w-0 lg:min-w-[45%]", children: textContent }),
15350
+ /* @__PURE__ */ jsx(Box, { className: "flex-1 min-w-0 lg:max-w-[50%]", children: mediaContent })
15351
15351
  ] })
15352
15352
  }
15353
15353
  );
@@ -2484,40 +2484,19 @@ var SharedReality = ({
2484
2484
  };
2485
2485
  SharedReality.displayName = "SharedReality";
2486
2486
  var standardLibraryId = 0;
2487
- var RING_DATA = [
2488
- {
2489
- r: 70,
2490
- clusters: [
2491
- { angle: 0, dots: 3 },
2492
- { angle: 1.57, dots: 2 },
2493
- { angle: 3.14, dots: 3 },
2494
- { angle: 4.71, dots: 2 }
2495
- ]
2496
- },
2497
- {
2498
- r: 120,
2499
- clusters: [
2500
- { angle: 0.5, dots: 3 },
2501
- { angle: 1.3, dots: 2 },
2502
- { angle: 2.1, dots: 3 },
2503
- { angle: 3.5, dots: 2 },
2504
- { angle: 4.3, dots: 3 },
2505
- { angle: 5.5, dots: 2 }
2506
- ]
2507
- },
2508
- {
2509
- r: 170,
2510
- clusters: [
2511
- { angle: 0.3, dots: 2 },
2512
- { angle: 1, dots: 2 },
2513
- { angle: 1.7, dots: 1 },
2514
- { angle: 2.4, dots: 2 },
2515
- { angle: 3.1, dots: 2 },
2516
- { angle: 3.9, dots: 1 },
2517
- { angle: 4.6, dots: 2 },
2518
- { angle: 5.6, dots: 2 }
2519
- ]
2520
- }
2487
+ var GROUPS = [
2488
+ { x: 300, y: 80, dots: 5 },
2489
+ // top
2490
+ { x: 430, y: 140, dots: 4 },
2491
+ // top-right
2492
+ { x: 430, y: 260, dots: 5 },
2493
+ // bottom-right
2494
+ { x: 300, y: 320, dots: 4 },
2495
+ // bottom
2496
+ { x: 170, y: 260, dots: 5 },
2497
+ // bottom-left
2498
+ { x: 170, y: 140, dots: 4 }
2499
+ // top-left
2521
2500
  ];
2522
2501
  var StandardLibrary = ({
2523
2502
  className,
@@ -2527,13 +2506,7 @@ var StandardLibrary = ({
2527
2506
  const ids = React__default.default.useMemo(() => {
2528
2507
  standardLibraryId += 1;
2529
2508
  const base = `sl-${standardLibraryId}`;
2530
- return {
2531
- glow: `${base}-glow`,
2532
- grad1: `${base}-g1`,
2533
- grad2: `${base}-g2`,
2534
- grad3: `${base}-g3`,
2535
- nucGlow: `${base}-ng`
2536
- };
2509
+ return { glow: `${base}-glow`, groupGlow: `${base}-gg` };
2537
2510
  }, []);
2538
2511
  const cx = 300;
2539
2512
  const cy = 200;
@@ -2546,87 +2519,78 @@ var StandardLibrary = ({
2546
2519
  children: [
2547
2520
  /* @__PURE__ */ jsxRuntime.jsxs("defs", { children: [
2548
2521
  /* @__PURE__ */ jsxRuntime.jsxs("filter", { id: ids.glow, x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
2549
- /* @__PURE__ */ jsxRuntime.jsx("feGaussianBlur", { in: "SourceGraphic", stdDeviation: "4", result: "blur" }),
2522
+ /* @__PURE__ */ jsxRuntime.jsx("feGaussianBlur", { in: "SourceGraphic", stdDeviation: "3", result: "blur" }),
2550
2523
  /* @__PURE__ */ jsxRuntime.jsxs("feMerge", { children: [
2551
2524
  /* @__PURE__ */ jsxRuntime.jsx("feMergeNode", { in: "blur" }),
2552
2525
  /* @__PURE__ */ jsxRuntime.jsx("feMergeNode", { in: "SourceGraphic" })
2553
2526
  ] })
2554
2527
  ] }),
2555
- /* @__PURE__ */ jsxRuntime.jsxs("radialGradient", { id: ids.nucGlow, cx: "50%", cy: "50%", r: "50%", children: [
2556
- /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "0%", stopColor: color, stopOpacity: 0.25 }),
2528
+ /* @__PURE__ */ jsxRuntime.jsxs("radialGradient", { id: ids.groupGlow, cx: "50%", cy: "50%", r: "50%", children: [
2529
+ /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "0%", stopColor: color, stopOpacity: 0.1 }),
2557
2530
  /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "100%", stopColor: color, stopOpacity: 0 })
2558
- ] }),
2559
- /* @__PURE__ */ jsxRuntime.jsxs("linearGradient", { id: ids.grad1, x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
2560
- /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "0%", stopColor: color, stopOpacity: 0.35 }),
2561
- /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "50%", stopColor: color, stopOpacity: 0.15 }),
2562
- /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "100%", stopColor: color, stopOpacity: 0.35 })
2563
- ] }),
2564
- /* @__PURE__ */ jsxRuntime.jsxs("linearGradient", { id: ids.grad2, x1: "100%", y1: "0%", x2: "0%", y2: "100%", children: [
2565
- /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "0%", stopColor: color, stopOpacity: 0.25 }),
2566
- /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "50%", stopColor: color, stopOpacity: 0.1 }),
2567
- /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "100%", stopColor: color, stopOpacity: 0.25 })
2568
- ] }),
2569
- /* @__PURE__ */ jsxRuntime.jsxs("linearGradient", { id: ids.grad3, x1: "0%", y1: "100%", x2: "100%", y2: "0%", children: [
2570
- /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "0%", stopColor: color, stopOpacity: 0.2 }),
2571
- /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "50%", stopColor: color, stopOpacity: 0.06 }),
2572
- /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "100%", stopColor: color, stopOpacity: 0.2 })
2573
2531
  ] })
2574
2532
  ] }),
2575
2533
  animated && /* @__PURE__ */ jsxRuntime.jsx("style", { children: `
2576
- @keyframes sl-orbit { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
2534
+ @keyframes sl-pulse { 0%, 100% { opacity: 0.4; } 50% { opacity: 0.7; } }
2577
2535
  ` }),
2578
- /* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy, r: 190, fill: "none", stroke: color, strokeWidth: 0.3, opacity: 0.03 }),
2579
- [ids.grad1, ids.grad2, ids.grad3].map((gradId, ri) => /* @__PURE__ */ jsxRuntime.jsx(
2580
- "circle",
2536
+ GROUPS.map((g, i) => /* @__PURE__ */ jsxRuntime.jsx(
2537
+ "line",
2581
2538
  {
2582
- cx,
2583
- cy,
2584
- r: RING_DATA[ri].r,
2585
- fill: "none",
2586
- stroke: `url(#${gradId})`,
2587
- strokeWidth: ri === 0 ? 1.5 : 1,
2588
- strokeDasharray: ri === 2 ? "3 6" : void 0
2539
+ x1: cx,
2540
+ y1: cy,
2541
+ x2: g.x,
2542
+ y2: g.y,
2543
+ stroke: color,
2544
+ strokeWidth: 0.8,
2545
+ opacity: 0.1,
2546
+ strokeDasharray: "4 6"
2589
2547
  },
2590
- `ring-${ri}`
2548
+ `conn-${i}`
2591
2549
  )),
2592
- RING_DATA.map((ring, ri) => /* @__PURE__ */ jsxRuntime.jsx(
2593
- "g",
2594
- {
2595
- style: animated ? {
2596
- transformOrigin: `${cx}px ${cy}px`,
2597
- animation: `sl-orbit ${40 + ri * 20}s linear infinite${ri % 2 === 1 ? " reverse" : ""}`
2598
- } : void 0,
2599
- children: ring.clusters.map((cluster, ci) => {
2600
- const basex = cx + Math.cos(cluster.angle) * ring.r;
2601
- const basey = cy + Math.sin(cluster.angle) * ring.r;
2602
- const opacity = ri === 0 ? 0.6 : ri === 1 ? 0.45 : 0.3;
2603
- const dotR = ri === 0 ? 3.5 : ri === 1 ? 3 : 2.5;
2604
- return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
2605
- Array.from({ length: cluster.dots }, (_, di) => {
2606
- const offsetAngle = cluster.angle + (di - (cluster.dots - 1) / 2) * 0.12;
2607
- const offsetR = ring.r + (di % 2 === 0 ? 6 : -6);
2608
- const dx = cx + Math.cos(offsetAngle) * offsetR;
2609
- const dy = cy + Math.sin(offsetAngle) * offsetR;
2610
- return /* @__PURE__ */ jsxRuntime.jsx(
2611
- "circle",
2612
- {
2613
- cx: dx,
2614
- cy: dy,
2615
- r: dotR,
2616
- fill: color,
2617
- opacity
2618
- },
2619
- `dot-${ri}-${ci}-${di}`
2620
- );
2621
- }),
2622
- /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: basex, cy: basey, r: dotR + 1, fill: color, opacity: opacity * 0.7 })
2623
- ] }, `cluster-${ri}-${ci}`);
2550
+ GROUPS.map((g, i) => {
2551
+ const next = GROUPS[(i + 1) % GROUPS.length];
2552
+ return /* @__PURE__ */ jsxRuntime.jsx(
2553
+ "line",
2554
+ {
2555
+ x1: g.x,
2556
+ y1: g.y,
2557
+ x2: next.x,
2558
+ y2: next.y,
2559
+ stroke: color,
2560
+ strokeWidth: 0.5,
2561
+ opacity: 0.06
2562
+ },
2563
+ `adj-${i}`
2564
+ );
2565
+ }),
2566
+ GROUPS.map((group, gi) => {
2567
+ const dotR = 3;
2568
+ const spread = 14;
2569
+ return /* @__PURE__ */ jsxRuntime.jsxs("g", { children: [
2570
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: group.x, cy: group.y, r: 28, fill: `url(#${ids.groupGlow})` }),
2571
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: group.x, cy: group.y, r: 24, fill: "none", stroke: color, strokeWidth: 0.7, opacity: 0.15 }),
2572
+ Array.from({ length: group.dots }, (_, di) => {
2573
+ const angle = di / group.dots * Math.PI * 2 - Math.PI / 2;
2574
+ const r = di === 0 ? 0 : spread * 0.55;
2575
+ const dx = di === 0 ? group.x : group.x + Math.cos(angle) * r;
2576
+ const dy = di === 0 ? group.y : group.y + Math.sin(angle) * r;
2577
+ return /* @__PURE__ */ jsxRuntime.jsx(
2578
+ "circle",
2579
+ {
2580
+ cx: dx,
2581
+ cy: dy,
2582
+ r: di === 0 ? dotR + 1 : dotR,
2583
+ fill: color,
2584
+ opacity: di === 0 ? 0.6 : 0.35,
2585
+ style: animated && di === 0 ? { animation: `sl-pulse 3s ease-in-out ${gi * 0.4}s infinite` } : void 0
2586
+ },
2587
+ `dot-${gi}-${di}`
2588
+ );
2624
2589
  })
2625
- },
2626
- `ring-clusters-${ri}`
2627
- )),
2628
- /* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy, r: 25, fill: `url(#${ids.nucGlow})` }),
2629
- /* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy, r: 8, fill: color, opacity: 0.7, filter: `url(#${ids.glow})` })
2590
+ ] }, `group-${gi}`);
2591
+ }),
2592
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy, r: 16, fill: "none", stroke: color, strokeWidth: 1, opacity: 0.25 }),
2593
+ /* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy, r: 6, fill: color, opacity: 0.6, filter: `url(#${ids.glow})` })
2630
2594
  ]
2631
2595
  }
2632
2596
  );
@@ -2478,40 +2478,19 @@ var SharedReality = ({
2478
2478
  };
2479
2479
  SharedReality.displayName = "SharedReality";
2480
2480
  var standardLibraryId = 0;
2481
- var RING_DATA = [
2482
- {
2483
- r: 70,
2484
- clusters: [
2485
- { angle: 0, dots: 3 },
2486
- { angle: 1.57, dots: 2 },
2487
- { angle: 3.14, dots: 3 },
2488
- { angle: 4.71, dots: 2 }
2489
- ]
2490
- },
2491
- {
2492
- r: 120,
2493
- clusters: [
2494
- { angle: 0.5, dots: 3 },
2495
- { angle: 1.3, dots: 2 },
2496
- { angle: 2.1, dots: 3 },
2497
- { angle: 3.5, dots: 2 },
2498
- { angle: 4.3, dots: 3 },
2499
- { angle: 5.5, dots: 2 }
2500
- ]
2501
- },
2502
- {
2503
- r: 170,
2504
- clusters: [
2505
- { angle: 0.3, dots: 2 },
2506
- { angle: 1, dots: 2 },
2507
- { angle: 1.7, dots: 1 },
2508
- { angle: 2.4, dots: 2 },
2509
- { angle: 3.1, dots: 2 },
2510
- { angle: 3.9, dots: 1 },
2511
- { angle: 4.6, dots: 2 },
2512
- { angle: 5.6, dots: 2 }
2513
- ]
2514
- }
2481
+ var GROUPS = [
2482
+ { x: 300, y: 80, dots: 5 },
2483
+ // top
2484
+ { x: 430, y: 140, dots: 4 },
2485
+ // top-right
2486
+ { x: 430, y: 260, dots: 5 },
2487
+ // bottom-right
2488
+ { x: 300, y: 320, dots: 4 },
2489
+ // bottom
2490
+ { x: 170, y: 260, dots: 5 },
2491
+ // bottom-left
2492
+ { x: 170, y: 140, dots: 4 }
2493
+ // top-left
2515
2494
  ];
2516
2495
  var StandardLibrary = ({
2517
2496
  className,
@@ -2521,13 +2500,7 @@ var StandardLibrary = ({
2521
2500
  const ids = React.useMemo(() => {
2522
2501
  standardLibraryId += 1;
2523
2502
  const base = `sl-${standardLibraryId}`;
2524
- return {
2525
- glow: `${base}-glow`,
2526
- grad1: `${base}-g1`,
2527
- grad2: `${base}-g2`,
2528
- grad3: `${base}-g3`,
2529
- nucGlow: `${base}-ng`
2530
- };
2503
+ return { glow: `${base}-glow`, groupGlow: `${base}-gg` };
2531
2504
  }, []);
2532
2505
  const cx = 300;
2533
2506
  const cy = 200;
@@ -2540,87 +2513,78 @@ var StandardLibrary = ({
2540
2513
  children: [
2541
2514
  /* @__PURE__ */ jsxs("defs", { children: [
2542
2515
  /* @__PURE__ */ jsxs("filter", { id: ids.glow, x: "-50%", y: "-50%", width: "200%", height: "200%", children: [
2543
- /* @__PURE__ */ jsx("feGaussianBlur", { in: "SourceGraphic", stdDeviation: "4", result: "blur" }),
2516
+ /* @__PURE__ */ jsx("feGaussianBlur", { in: "SourceGraphic", stdDeviation: "3", result: "blur" }),
2544
2517
  /* @__PURE__ */ jsxs("feMerge", { children: [
2545
2518
  /* @__PURE__ */ jsx("feMergeNode", { in: "blur" }),
2546
2519
  /* @__PURE__ */ jsx("feMergeNode", { in: "SourceGraphic" })
2547
2520
  ] })
2548
2521
  ] }),
2549
- /* @__PURE__ */ jsxs("radialGradient", { id: ids.nucGlow, cx: "50%", cy: "50%", r: "50%", children: [
2550
- /* @__PURE__ */ jsx("stop", { offset: "0%", stopColor: color, stopOpacity: 0.25 }),
2522
+ /* @__PURE__ */ jsxs("radialGradient", { id: ids.groupGlow, cx: "50%", cy: "50%", r: "50%", children: [
2523
+ /* @__PURE__ */ jsx("stop", { offset: "0%", stopColor: color, stopOpacity: 0.1 }),
2551
2524
  /* @__PURE__ */ jsx("stop", { offset: "100%", stopColor: color, stopOpacity: 0 })
2552
- ] }),
2553
- /* @__PURE__ */ jsxs("linearGradient", { id: ids.grad1, x1: "0%", y1: "0%", x2: "100%", y2: "100%", children: [
2554
- /* @__PURE__ */ jsx("stop", { offset: "0%", stopColor: color, stopOpacity: 0.35 }),
2555
- /* @__PURE__ */ jsx("stop", { offset: "50%", stopColor: color, stopOpacity: 0.15 }),
2556
- /* @__PURE__ */ jsx("stop", { offset: "100%", stopColor: color, stopOpacity: 0.35 })
2557
- ] }),
2558
- /* @__PURE__ */ jsxs("linearGradient", { id: ids.grad2, x1: "100%", y1: "0%", x2: "0%", y2: "100%", children: [
2559
- /* @__PURE__ */ jsx("stop", { offset: "0%", stopColor: color, stopOpacity: 0.25 }),
2560
- /* @__PURE__ */ jsx("stop", { offset: "50%", stopColor: color, stopOpacity: 0.1 }),
2561
- /* @__PURE__ */ jsx("stop", { offset: "100%", stopColor: color, stopOpacity: 0.25 })
2562
- ] }),
2563
- /* @__PURE__ */ jsxs("linearGradient", { id: ids.grad3, x1: "0%", y1: "100%", x2: "100%", y2: "0%", children: [
2564
- /* @__PURE__ */ jsx("stop", { offset: "0%", stopColor: color, stopOpacity: 0.2 }),
2565
- /* @__PURE__ */ jsx("stop", { offset: "50%", stopColor: color, stopOpacity: 0.06 }),
2566
- /* @__PURE__ */ jsx("stop", { offset: "100%", stopColor: color, stopOpacity: 0.2 })
2567
2525
  ] })
2568
2526
  ] }),
2569
2527
  animated && /* @__PURE__ */ jsx("style", { children: `
2570
- @keyframes sl-orbit { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
2528
+ @keyframes sl-pulse { 0%, 100% { opacity: 0.4; } 50% { opacity: 0.7; } }
2571
2529
  ` }),
2572
- /* @__PURE__ */ jsx("circle", { cx, cy, r: 190, fill: "none", stroke: color, strokeWidth: 0.3, opacity: 0.03 }),
2573
- [ids.grad1, ids.grad2, ids.grad3].map((gradId, ri) => /* @__PURE__ */ jsx(
2574
- "circle",
2530
+ GROUPS.map((g, i) => /* @__PURE__ */ jsx(
2531
+ "line",
2575
2532
  {
2576
- cx,
2577
- cy,
2578
- r: RING_DATA[ri].r,
2579
- fill: "none",
2580
- stroke: `url(#${gradId})`,
2581
- strokeWidth: ri === 0 ? 1.5 : 1,
2582
- strokeDasharray: ri === 2 ? "3 6" : void 0
2533
+ x1: cx,
2534
+ y1: cy,
2535
+ x2: g.x,
2536
+ y2: g.y,
2537
+ stroke: color,
2538
+ strokeWidth: 0.8,
2539
+ opacity: 0.1,
2540
+ strokeDasharray: "4 6"
2583
2541
  },
2584
- `ring-${ri}`
2542
+ `conn-${i}`
2585
2543
  )),
2586
- RING_DATA.map((ring, ri) => /* @__PURE__ */ jsx(
2587
- "g",
2588
- {
2589
- style: animated ? {
2590
- transformOrigin: `${cx}px ${cy}px`,
2591
- animation: `sl-orbit ${40 + ri * 20}s linear infinite${ri % 2 === 1 ? " reverse" : ""}`
2592
- } : void 0,
2593
- children: ring.clusters.map((cluster, ci) => {
2594
- const basex = cx + Math.cos(cluster.angle) * ring.r;
2595
- const basey = cy + Math.sin(cluster.angle) * ring.r;
2596
- const opacity = ri === 0 ? 0.6 : ri === 1 ? 0.45 : 0.3;
2597
- const dotR = ri === 0 ? 3.5 : ri === 1 ? 3 : 2.5;
2598
- return /* @__PURE__ */ jsxs("g", { children: [
2599
- Array.from({ length: cluster.dots }, (_, di) => {
2600
- const offsetAngle = cluster.angle + (di - (cluster.dots - 1) / 2) * 0.12;
2601
- const offsetR = ring.r + (di % 2 === 0 ? 6 : -6);
2602
- const dx = cx + Math.cos(offsetAngle) * offsetR;
2603
- const dy = cy + Math.sin(offsetAngle) * offsetR;
2604
- return /* @__PURE__ */ jsx(
2605
- "circle",
2606
- {
2607
- cx: dx,
2608
- cy: dy,
2609
- r: dotR,
2610
- fill: color,
2611
- opacity
2612
- },
2613
- `dot-${ri}-${ci}-${di}`
2614
- );
2615
- }),
2616
- /* @__PURE__ */ jsx("circle", { cx: basex, cy: basey, r: dotR + 1, fill: color, opacity: opacity * 0.7 })
2617
- ] }, `cluster-${ri}-${ci}`);
2544
+ GROUPS.map((g, i) => {
2545
+ const next = GROUPS[(i + 1) % GROUPS.length];
2546
+ return /* @__PURE__ */ jsx(
2547
+ "line",
2548
+ {
2549
+ x1: g.x,
2550
+ y1: g.y,
2551
+ x2: next.x,
2552
+ y2: next.y,
2553
+ stroke: color,
2554
+ strokeWidth: 0.5,
2555
+ opacity: 0.06
2556
+ },
2557
+ `adj-${i}`
2558
+ );
2559
+ }),
2560
+ GROUPS.map((group, gi) => {
2561
+ const dotR = 3;
2562
+ const spread = 14;
2563
+ return /* @__PURE__ */ jsxs("g", { children: [
2564
+ /* @__PURE__ */ jsx("circle", { cx: group.x, cy: group.y, r: 28, fill: `url(#${ids.groupGlow})` }),
2565
+ /* @__PURE__ */ jsx("circle", { cx: group.x, cy: group.y, r: 24, fill: "none", stroke: color, strokeWidth: 0.7, opacity: 0.15 }),
2566
+ Array.from({ length: group.dots }, (_, di) => {
2567
+ const angle = di / group.dots * Math.PI * 2 - Math.PI / 2;
2568
+ const r = di === 0 ? 0 : spread * 0.55;
2569
+ const dx = di === 0 ? group.x : group.x + Math.cos(angle) * r;
2570
+ const dy = di === 0 ? group.y : group.y + Math.sin(angle) * r;
2571
+ return /* @__PURE__ */ jsx(
2572
+ "circle",
2573
+ {
2574
+ cx: dx,
2575
+ cy: dy,
2576
+ r: di === 0 ? dotR + 1 : dotR,
2577
+ fill: color,
2578
+ opacity: di === 0 ? 0.6 : 0.35,
2579
+ style: animated && di === 0 ? { animation: `sl-pulse 3s ease-in-out ${gi * 0.4}s infinite` } : void 0
2580
+ },
2581
+ `dot-${gi}-${di}`
2582
+ );
2618
2583
  })
2619
- },
2620
- `ring-clusters-${ri}`
2621
- )),
2622
- /* @__PURE__ */ jsx("circle", { cx, cy, r: 25, fill: `url(#${ids.nucGlow})` }),
2623
- /* @__PURE__ */ jsx("circle", { cx, cy, r: 8, fill: color, opacity: 0.7, filter: `url(#${ids.glow})` })
2584
+ ] }, `group-${gi}`);
2585
+ }),
2586
+ /* @__PURE__ */ jsx("circle", { cx, cy, r: 16, fill: "none", stroke: color, strokeWidth: 1, opacity: 0.25 }),
2587
+ /* @__PURE__ */ jsx("circle", { cx, cy, r: 6, fill: color, opacity: 0.6, filter: `url(#${ids.glow})` })
2624
2588
  ]
2625
2589
  }
2626
2590
  );
@@ -3687,7 +3687,7 @@ var HeroSection = ({
3687
3687
  className: cn(
3688
3688
  "w-full min-h-[60vh] flex items-center justify-center",
3689
3689
  "px-6 py-20",
3690
- "relative overflow-x-hidden overflow-y-visible",
3690
+ "relative overflow-hidden",
3691
3691
  className
3692
3692
  ),
3693
3693
  children: [
@@ -4021,9 +4021,9 @@ var SplitSection = ({
4021
4021
  className
4022
4022
  ),
4023
4023
  padding: "lg",
4024
- children: /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: cn("flex flex-col lg:flex-row gap-10 lg:gap-16 items-start", isImageLeft && "lg:flex-row-reverse"), children: [
4025
- textContent,
4026
- mediaContent
4024
+ children: /* @__PURE__ */ jsxRuntime.jsxs(Box, { className: cn("max-w-7xl mx-auto flex flex-col lg:flex-row gap-10 lg:gap-16 items-start", isImageLeft && "lg:flex-row-reverse"), children: [
4025
+ /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "flex-1 min-w-0 lg:min-w-[45%]", children: textContent }),
4026
+ /* @__PURE__ */ jsxRuntime.jsx(Box, { className: "flex-1 min-w-0 lg:max-w-[50%]", children: mediaContent })
4027
4027
  ] })
4028
4028
  }
4029
4029
  );
@@ -3663,7 +3663,7 @@ var HeroSection = ({
3663
3663
  className: cn(
3664
3664
  "w-full min-h-[60vh] flex items-center justify-center",
3665
3665
  "px-6 py-20",
3666
- "relative overflow-x-hidden overflow-y-visible",
3666
+ "relative overflow-hidden",
3667
3667
  className
3668
3668
  ),
3669
3669
  children: [
@@ -3997,9 +3997,9 @@ var SplitSection = ({
3997
3997
  className
3998
3998
  ),
3999
3999
  padding: "lg",
4000
- children: /* @__PURE__ */ jsxs(Box, { className: cn("flex flex-col lg:flex-row gap-10 lg:gap-16 items-start", isImageLeft && "lg:flex-row-reverse"), children: [
4001
- textContent,
4002
- mediaContent
4000
+ children: /* @__PURE__ */ jsxs(Box, { className: cn("max-w-7xl mx-auto flex flex-col lg:flex-row gap-10 lg:gap-16 items-start", isImageLeft && "lg:flex-row-reverse"), children: [
4001
+ /* @__PURE__ */ jsx(Box, { className: "flex-1 min-w-0 lg:min-w-[45%]", children: textContent }),
4002
+ /* @__PURE__ */ jsx(Box, { className: "flex-1 min-w-0 lg:max-w-[50%]", children: mediaContent })
4003
4003
  ] })
4004
4004
  }
4005
4005
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@almadar/ui",
3
- "version": "2.15.11",
3
+ "version": "2.15.13",
4
4
  "description": "React UI components, hooks, and providers for Almadar",
5
5
  "type": "module",
6
6
  "main": "./dist/components/index.js",