@opensite/ui 1.6.9 → 1.7.0

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 (31) hide show
  1. package/dist/hero-billing-platform-logos.cjs +77 -52
  2. package/dist/hero-billing-platform-logos.js +77 -51
  3. package/dist/hero-conversion-video-play.cjs +240 -78
  4. package/dist/hero-conversion-video-play.js +233 -75
  5. package/dist/hero-customer-support-layered.cjs +1 -1
  6. package/dist/hero-customer-support-layered.js +1 -1
  7. package/dist/hero-dashed-border-features.cjs +33 -24
  8. package/dist/hero-dashed-border-features.js +33 -24
  9. package/dist/hero-design-showcase-logos.cjs +102 -38
  10. package/dist/hero-design-showcase-logos.js +102 -38
  11. package/dist/hero-grid-pattern-solutions.cjs +187 -49
  12. package/dist/hero-grid-pattern-solutions.d.cts +1 -4
  13. package/dist/hero-grid-pattern-solutions.d.ts +1 -4
  14. package/dist/hero-grid-pattern-solutions.js +188 -50
  15. package/dist/hero-marketplace-scattered-images.cjs +120 -79
  16. package/dist/hero-marketplace-scattered-images.js +120 -79
  17. package/dist/hero-mentorship-video-split.cjs +32 -13
  18. package/dist/hero-mentorship-video-split.js +32 -13
  19. package/dist/hero-premium-split-avatars.cjs +2 -2
  20. package/dist/hero-premium-split-avatars.js +2 -2
  21. package/dist/hero-productivity-launcher-video.cjs +45 -143
  22. package/dist/hero-productivity-launcher-video.d.cts +5 -23
  23. package/dist/hero-productivity-launcher-video.d.ts +5 -23
  24. package/dist/hero-productivity-launcher-video.js +45 -143
  25. package/dist/hero-split-spiral-shapes.cjs +47 -38
  26. package/dist/hero-split-spiral-shapes.js +47 -38
  27. package/dist/hero-task-timer-animated.cjs +59 -59
  28. package/dist/hero-task-timer-animated.js +59 -59
  29. package/dist/registry.cjs +772 -439
  30. package/dist/registry.js +772 -439
  31. package/package.json +1 -1
package/dist/registry.cjs CHANGED
@@ -51892,44 +51892,53 @@ function HeroSplitSpiralShapes({
51892
51892
  const renderImages = React52.useMemo(() => {
51893
51893
  if (imagesSlot) return imagesSlot;
51894
51894
  if (!images || images.length === 0) return null;
51895
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative aspect-3/4", imagesClassName), children: [
51896
- images[0] && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-[10%] left-[8%] w-[38%] overflow-hidden rounded-lg shadow-xl", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "aspect-5/6", children: /* @__PURE__ */ jsxRuntime.jsx(
51897
- img.Img,
51898
- {
51899
- src: images[0].src,
51900
- alt: images[0].alt,
51901
- className: cn(
51902
- "h-full w-full object-cover",
51903
- images[0].className
51904
- ),
51905
- optixFlowConfig
51906
- }
51907
- ) }) }),
51908
- images[1] && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-[20%] right-[12%] w-[20%] overflow-hidden rounded-lg shadow-xl", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "aspect-square", children: /* @__PURE__ */ jsxRuntime.jsx(
51909
- img.Img,
51910
- {
51911
- src: images[1].src,
51912
- alt: images[1].alt,
51913
- className: cn(
51914
- "h-full w-full object-cover",
51915
- images[1].className
51916
- ),
51917
- optixFlowConfig
51918
- }
51919
- ) }) }),
51920
- images[2] && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute right-[24%] bottom-[24%] w-[38%] overflow-hidden rounded-lg shadow-xl", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "aspect-video", children: /* @__PURE__ */ jsxRuntime.jsx(
51921
- img.Img,
51922
- {
51923
- src: images[2].src,
51924
- alt: images[2].alt,
51925
- className: cn(
51926
- "h-full w-full object-cover",
51927
- images[2].className
51928
- ),
51929
- optixFlowConfig
51930
- }
51931
- ) }) })
51932
- ] });
51895
+ return /* @__PURE__ */ jsxRuntime.jsxs(
51896
+ "div",
51897
+ {
51898
+ className: cn(
51899
+ "grid grid-cols-2 gap-4 md:relative md:block md:aspect-3/4",
51900
+ imagesClassName
51901
+ ),
51902
+ children: [
51903
+ images[0] && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-2 overflow-hidden rounded-lg shadow-xl md:absolute md:top-[5%] md:left-[2%] md:w-[55%]", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "aspect-5/6", children: /* @__PURE__ */ jsxRuntime.jsx(
51904
+ img.Img,
51905
+ {
51906
+ src: images[0].src,
51907
+ alt: images[0].alt,
51908
+ className: cn(
51909
+ "h-full w-full object-cover",
51910
+ images[0].className
51911
+ ),
51912
+ optixFlowConfig
51913
+ }
51914
+ ) }) }),
51915
+ images[1] && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-hidden rounded-lg shadow-xl md:absolute md:top-[12%] md:right-[5%] md:w-[35%]", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "aspect-square", children: /* @__PURE__ */ jsxRuntime.jsx(
51916
+ img.Img,
51917
+ {
51918
+ src: images[1].src,
51919
+ alt: images[1].alt,
51920
+ className: cn(
51921
+ "h-full w-full object-cover",
51922
+ images[1].className
51923
+ ),
51924
+ optixFlowConfig
51925
+ }
51926
+ ) }) }),
51927
+ images[2] && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-hidden rounded-lg shadow-xl md:absolute md:right-[10%] md:bottom-[15%] md:w-[55%]", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "aspect-video", children: /* @__PURE__ */ jsxRuntime.jsx(
51928
+ img.Img,
51929
+ {
51930
+ src: images[2].src,
51931
+ alt: images[2].alt,
51932
+ className: cn(
51933
+ "h-full w-full object-cover",
51934
+ images[2].className
51935
+ ),
51936
+ optixFlowConfig
51937
+ }
51938
+ ) }) })
51939
+ ]
51940
+ }
51941
+ );
51933
51942
  }, [imagesSlot, images, imagesClassName, optixFlowConfig]);
51934
51943
  return /* @__PURE__ */ jsxRuntime.jsx(
51935
51944
  Section,
@@ -52332,7 +52341,7 @@ function HeroMarketplaceScatteredImages({
52332
52341
  action,
52333
52342
  actionSlot,
52334
52343
  tagline,
52335
- taglineIcon = "lucide/globe",
52344
+ taglineIcon,
52336
52345
  taglineSlot,
52337
52346
  images,
52338
52347
  imagesSlot,
@@ -52352,7 +52361,14 @@ function HeroMarketplaceScatteredImages({
52352
52361
  const renderAction = React52.useMemo(() => {
52353
52362
  if (actionSlot) return actionSlot;
52354
52363
  if (!action) return null;
52355
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
52364
+ const {
52365
+ label,
52366
+ icon,
52367
+ iconAfter,
52368
+ children,
52369
+ className: actionClassName,
52370
+ ...pressableProps
52371
+ } = action;
52356
52372
  return /* @__PURE__ */ jsxRuntime.jsx(Pressable, { asButton: true, className: actionClassName, ...pressableProps, children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
52357
52373
  icon,
52358
52374
  label,
@@ -52361,6 +52377,7 @@ function HeroMarketplaceScatteredImages({
52361
52377
  }, [actionSlot, action]);
52362
52378
  const renderTagline = React52.useMemo(() => {
52363
52379
  if (taglineSlot) return taglineSlot;
52380
+ if (!tagline || !taglineIcon) return null;
52364
52381
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-7 flex items-start justify-center gap-2 font-medium md:text-xl", children: [
52365
52382
  /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: taglineIcon, size: 20, className: "mt-0.5" }),
52366
52383
  tagline
@@ -52385,50 +52402,74 @@ function HeroMarketplaceScatteredImages({
52385
52402
  const renderImages = React52.useMemo(() => {
52386
52403
  if (imagesSlot) return imagesSlot;
52387
52404
  if (!images || images.length === 0) return null;
52388
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mx-auto mt-14 max-w-7xl overflow-hidden py-8", imagesClassName), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-2 gap-3 md:grid-cols-3", children: columns.map((colImages, colIndex) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid gap-3", children: colImages.map((image, imgIndex) => {
52389
- const height = heightPatterns[colIndex][imgIndex % heightPatterns[colIndex].length];
52390
- const direction = colIndex % 2 === 0 ? "up" : "down";
52391
- return /* @__PURE__ */ jsxRuntime.jsx(
52392
- framerMotion.motion.div,
52393
- {
52394
- initial: {
52395
- opacity: 0,
52396
- scale: 0.9,
52397
- y: direction === "up" ? 50 : -50
52398
- },
52399
- whileInView: {
52400
- opacity: 1,
52401
- scale: 1,
52402
- y: 0
52403
- },
52404
- transition: {
52405
- duration: 0.5,
52406
- delay: imgIndex * 0.1
52405
+ return /* @__PURE__ */ jsxRuntime.jsx(
52406
+ "div",
52407
+ {
52408
+ className: cn(
52409
+ "mx-auto max-w-7xl overflow-hidden py-8",
52410
+ imagesClassName
52411
+ ),
52412
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-2 gap-3 md:grid-cols-3", children: columns.map((colImages, colIndex) => /* @__PURE__ */ jsxRuntime.jsx(
52413
+ "div",
52414
+ {
52415
+ className: cn(
52416
+ "grid gap-3",
52417
+ colIndex === 2 && "hidden md:grid"
52418
+ ),
52419
+ children: colImages.map((image, imgIndex) => {
52420
+ const height = heightPatterns[colIndex][imgIndex % heightPatterns[colIndex].length];
52421
+ const direction = colIndex % 2 === 0 ? "up" : "down";
52422
+ return /* @__PURE__ */ jsxRuntime.jsx(
52423
+ framerMotion.motion.div,
52424
+ {
52425
+ initial: {
52426
+ opacity: 0,
52427
+ scale: 0.9,
52428
+ y: direction === "up" ? 50 : -50
52429
+ },
52430
+ whileInView: {
52431
+ opacity: 1,
52432
+ scale: 1,
52433
+ y: 0
52434
+ },
52435
+ transition: {
52436
+ duration: 0.5,
52437
+ delay: imgIndex * 0.1
52438
+ },
52439
+ viewport: { once: true },
52440
+ className: cn("w-full overflow-hidden rounded-2xl"),
52441
+ style: { height },
52442
+ children: /* @__PURE__ */ jsxRuntime.jsx(
52443
+ img.Img,
52444
+ {
52445
+ src: image.src,
52446
+ alt: image.alt,
52447
+ className: cn(
52448
+ "h-full w-full rounded-2xl object-cover",
52449
+ image.className
52450
+ ),
52451
+ loading: "lazy",
52452
+ optixFlowConfig
52453
+ }
52454
+ )
52455
+ },
52456
+ imgIndex
52457
+ );
52458
+ })
52407
52459
  },
52408
- viewport: { once: true },
52409
- className: cn(
52410
- "w-full overflow-hidden rounded-2xl",
52411
- getNestedCardBg(background)
52412
- ),
52413
- style: { height },
52414
- children: /* @__PURE__ */ jsxRuntime.jsx(
52415
- img.Img,
52416
- {
52417
- src: image.src,
52418
- alt: image.alt,
52419
- className: cn(
52420
- "h-full w-full rounded-2xl object-cover",
52421
- image.className
52422
- ),
52423
- loading: "lazy",
52424
- optixFlowConfig
52425
- }
52426
- )
52427
- },
52428
- imgIndex
52429
- );
52430
- }) }, colIndex)) }) });
52431
- }, [imagesSlot, images, imagesClassName, optixFlowConfig, columns, heightPatterns, background]);
52460
+ colIndex
52461
+ )) })
52462
+ }
52463
+ );
52464
+ }, [
52465
+ imagesSlot,
52466
+ images,
52467
+ imagesClassName,
52468
+ optixFlowConfig,
52469
+ columns,
52470
+ heightPatterns,
52471
+ background
52472
+ ]);
52432
52473
  return /* @__PURE__ */ jsxRuntime.jsx(
52433
52474
  Section,
52434
52475
  {
@@ -52438,14 +52479,49 @@ function HeroMarketplaceScatteredImages({
52438
52479
  patternOpacity,
52439
52480
  className: cn("relative flex items-center justify-center", className),
52440
52481
  containerClassName,
52441
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
52442
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("relative mx-auto max-w-xl py-10 text-center", contentClassName), children: [
52443
- showGridPattern && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 -z-10 h-full w-full bg-[linear-gradient(to_right,hsl(var(--muted))_1px,transparent_1px),linear-gradient(to_bottom,hsl(var(--muted))_1px,transparent_1px)] mask-[radial-gradient(ellipse_50%_100%_at_50%_50%,#000_60%,transparent_100%)] bg-size-[64px_64px]" }),
52444
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("mb-3 text-4xl lg:text-7xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("mb-3 text-4xl lg:text-7xl", headingClassName), children: heading })),
52445
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-5 text-sm md:text-base text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
52446
- renderAction,
52447
- renderTagline
52448
- ] }),
52482
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-6 items-center", children: [
52483
+ /* @__PURE__ */ jsxRuntime.jsxs(
52484
+ "div",
52485
+ {
52486
+ className: cn(
52487
+ "relative mx-auto max-w-xl py-10 text-center flex flex-col gap-6 items-center",
52488
+ contentClassName
52489
+ ),
52490
+ children: [
52491
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
52492
+ "h1",
52493
+ {
52494
+ className: cn(
52495
+ "mb-3 text-4xl lg:text-7xl text-balance",
52496
+ headingClassName
52497
+ ),
52498
+ children: heading
52499
+ }
52500
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
52501
+ "h1",
52502
+ {
52503
+ className: cn(
52504
+ "mb-3 text-4xl lg:text-7xl text-balance",
52505
+ headingClassName
52506
+ ),
52507
+ children: heading
52508
+ }
52509
+ )),
52510
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
52511
+ "p",
52512
+ {
52513
+ className: cn(
52514
+ "mb-5 text-sm md:text-base text-balance",
52515
+ descriptionClassName
52516
+ ),
52517
+ children: description
52518
+ }
52519
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
52520
+ renderAction,
52521
+ renderTagline
52522
+ ]
52523
+ }
52524
+ ),
52449
52525
  renderImages
52450
52526
  ] })
52451
52527
  }
@@ -52781,30 +52857,39 @@ function HeroDashedBorderFeatures({
52781
52857
  const renderActions = React52.useMemo(() => {
52782
52858
  if (actionsSlot) return actionsSlot;
52783
52859
  if (!actions || actions.length === 0) return null;
52784
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col md:flex-row gap-4", actionsClassName), children: actions.map((action, index) => {
52785
- const {
52786
- label,
52787
- icon,
52788
- iconAfter,
52789
- children,
52790
- className: actionClassName,
52791
- ...pressableProps
52792
- } = action;
52793
- return /* @__PURE__ */ jsxRuntime.jsx(
52794
- Pressable,
52795
- {
52796
- asButton: true,
52797
- className: actionClassName,
52798
- ...pressableProps,
52799
- children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
52800
- icon,
52860
+ return /* @__PURE__ */ jsxRuntime.jsx(
52861
+ "div",
52862
+ {
52863
+ className: cn(
52864
+ "flex flex-col items-center justify-center mt-4 md:flex-row gap-4",
52865
+ actionsClassName
52866
+ ),
52867
+ children: actions.map((action, index) => {
52868
+ const {
52801
52869
  label,
52802
- iconAfter
52803
- ] })
52804
- },
52805
- index
52806
- );
52807
- }) });
52870
+ icon,
52871
+ iconAfter,
52872
+ children,
52873
+ className: actionClassName,
52874
+ ...pressableProps
52875
+ } = action;
52876
+ return /* @__PURE__ */ jsxRuntime.jsx(
52877
+ Pressable,
52878
+ {
52879
+ asButton: true,
52880
+ className: actionClassName,
52881
+ ...pressableProps,
52882
+ children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
52883
+ icon,
52884
+ label,
52885
+ iconAfter
52886
+ ] })
52887
+ },
52888
+ index
52889
+ );
52890
+ })
52891
+ }
52892
+ );
52808
52893
  }, [actionsSlot, actions, actionsClassName]);
52809
52894
  const renderFeatures = React52.useMemo(() => {
52810
52895
  if (featuresSlot) return featuresSlot;
@@ -52859,7 +52944,7 @@ function HeroDashedBorderFeatures({
52859
52944
  "p",
52860
52945
  {
52861
52946
  className: cn(
52862
- "mx-auto mb-6 max-w-2xl text-center lg:text-xl text-balance",
52947
+ "mx-auto mb-8 max-w-2xl text-center lg:text-xl text-balance",
52863
52948
  descriptionClassName
52864
52949
  ),
52865
52950
  children: description
@@ -53212,12 +53297,12 @@ function HeroPremiumSplitAvatars({
53212
53297
  patternOpacity,
53213
53298
  className: cn("relative flex items-center justify-center", className),
53214
53299
  containerClassName,
53215
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex w-full flex-col md:flex-row", children: [
53300
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex w-full flex-col md:flex-row gap-8 md:gap-20", children: [
53216
53301
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex w-full items-center justify-center lg:w-1/2", children: /* @__PURE__ */ jsxRuntime.jsxs(
53217
53302
  "div",
53218
53303
  {
53219
53304
  className: cn(
53220
- "my-10 flex w-[500px] flex-col gap-24",
53305
+ "my-10 flex w-full flex-col gap-6 md:gap-24",
53221
53306
  contentClassName
53222
53307
  ),
53223
53308
  children: [
@@ -53632,7 +53717,7 @@ function HeroTaskTimerAnimated({
53632
53717
  const renderActions = React52.useMemo(() => {
53633
53718
  if (actionsSlot) return actionsSlot;
53634
53719
  if (!actions || actions.length === 0) return null;
53635
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col items-start gap-4 sm:flex-row sm:items-center", children: actions.map((action, index) => {
53720
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col items-start mt-6 md:mt-8 gap-4 sm:flex-row sm:items-center", children: actions.map((action, index) => {
53636
53721
  const {
53637
53722
  label,
53638
53723
  icon,
@@ -53660,32 +53745,41 @@ function HeroTaskTimerAnimated({
53660
53745
  const renderImages = React52.useMemo(() => {
53661
53746
  if (imagesSlot) return imagesSlot;
53662
53747
  if (!images || images.length < 2) return null;
53663
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-10 lg:flex-row", imagesClassName), children: [
53664
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-10 lg:w-[60%]", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-hidden rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx(AspectRatio, { ratio: 1.916786227 / 1, children: /* @__PURE__ */ jsxRuntime.jsx(
53665
- img.Img,
53666
- {
53667
- src: images[0].src,
53668
- alt: images[0].alt,
53669
- className: cn(
53670
- "block size-full object-cover object-top-left",
53671
- images[0].className
53672
- ),
53673
- optixFlowConfig
53674
- }
53675
- ) }) }) }),
53676
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-10 lg:w-[40%]", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-hidden rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx(AspectRatio, { ratio: 1.916786227 / 1, children: /* @__PURE__ */ jsxRuntime.jsx(
53677
- img.Img,
53678
- {
53679
- src: images[1].src,
53680
- alt: images[1].alt,
53681
- className: cn(
53682
- "block size-full object-cover object-top-left",
53683
- images[1].className
53684
- ),
53685
- optixFlowConfig
53686
- }
53687
- ) }) }) })
53688
- ] });
53748
+ return /* @__PURE__ */ jsxRuntime.jsxs(
53749
+ "div",
53750
+ {
53751
+ className: cn(
53752
+ "flex flex-col mt-6 gap-6 md:gap-10 lg:flex-row",
53753
+ imagesClassName
53754
+ ),
53755
+ children: [
53756
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-10 w-full lg:w-[60%]", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-hidden rounded-lg shadow-xl", children: /* @__PURE__ */ jsxRuntime.jsx(AspectRatio, { ratio: 1.916786227 / 1, children: /* @__PURE__ */ jsxRuntime.jsx(
53757
+ img.Img,
53758
+ {
53759
+ src: images[0].src,
53760
+ alt: images[0].alt,
53761
+ className: cn(
53762
+ "block size-full object-cover object-center",
53763
+ images[0].className
53764
+ ),
53765
+ optixFlowConfig
53766
+ }
53767
+ ) }) }) }),
53768
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-col gap-10 w-full lg:w-[40%]", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-hidden rounded-lg shadow-xl", children: /* @__PURE__ */ jsxRuntime.jsx(AspectRatio, { ratio: 1.916786227 / 1, children: /* @__PURE__ */ jsxRuntime.jsx(
53769
+ img.Img,
53770
+ {
53771
+ src: images[1].src,
53772
+ alt: images[1].alt,
53773
+ className: cn(
53774
+ "block size-full object-cover object-center",
53775
+ images[1].className
53776
+ ),
53777
+ optixFlowConfig
53778
+ }
53779
+ ) }) }) })
53780
+ ]
53781
+ }
53782
+ );
53689
53783
  }, [imagesSlot, images, imagesClassName, optixFlowConfig]);
53690
53784
  return /* @__PURE__ */ jsxRuntime.jsx(
53691
53785
  Section,
@@ -53697,38 +53791,29 @@ function HeroTaskTimerAnimated({
53697
53791
  className,
53698
53792
  containerClassName,
53699
53793
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex flex-col gap-6 md:gap-16", children: [
53700
- /* @__PURE__ */ jsxRuntime.jsxs(
53701
- "div",
53702
- {
53703
- className: cn(
53704
- "flex flex-col gap-10 lg:w-[80%] lg:self-center",
53705
- headerClassName
53706
- ),
53707
- children: [
53708
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
53709
- "h1",
53710
- {
53711
- className: cn(
53712
- "max-w-2xl text-6xl font-bold tracking-tight md:text-7xl lg:text-8xl text-balance",
53713
- headingClassName
53714
- ),
53715
- children: heading
53716
- }
53717
- ) : /* @__PURE__ */ jsxRuntime.jsx(
53718
- "h1",
53719
- {
53720
- className: cn(
53721
- "max-w-2xl text-6xl font-bold tracking-tight md:text-7xl lg:text-8xl text-balance",
53722
- headingClassName
53723
- ),
53724
- children: heading
53725
- }
53726
- )),
53727
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-lg text-balance", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
53728
- renderActions
53729
- ]
53730
- }
53731
- ),
53794
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col gap-4 w-full", headerClassName), children: [
53795
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
53796
+ "h1",
53797
+ {
53798
+ className: cn(
53799
+ "max-w-2xl text-6xl font-bold tracking-tight md:text-7xl lg:text-8xl text-balance",
53800
+ headingClassName
53801
+ ),
53802
+ children: heading
53803
+ }
53804
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
53805
+ "h1",
53806
+ {
53807
+ className: cn(
53808
+ "max-w-2xl text-6xl font-bold tracking-tight md:text-7xl lg:text-8xl text-balance",
53809
+ headingClassName
53810
+ ),
53811
+ children: heading
53812
+ }
53813
+ )),
53814
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-lg text-balance", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
53815
+ renderActions
53816
+ ] }),
53732
53817
  renderImages
53733
53818
  ] })
53734
53819
  }
@@ -54132,7 +54217,7 @@ function HeroPresentationPlatformVideo({
54132
54217
  }
54133
54218
  function HeroGridPatternSolutions({
54134
54219
  badgeText,
54135
- badgeHref = "#",
54220
+ badgeHref,
54136
54221
  badgeSlot,
54137
54222
  heading,
54138
54223
  description,
@@ -54140,7 +54225,6 @@ function HeroGridPatternSolutions({
54140
54225
  actionsSlot,
54141
54226
  images,
54142
54227
  imagesSlot,
54143
- showGridPattern = true,
54144
54228
  background,
54145
54229
  spacing = "py-32 md:py-32",
54146
54230
  pattern,
@@ -54154,56 +54238,114 @@ function HeroGridPatternSolutions({
54154
54238
  imagesClassName,
54155
54239
  optixFlowConfig
54156
54240
  }) {
54241
+ const [lightboxOpen, setLightboxOpen] = React52.useState(false);
54242
+ const [lightboxIndex, setLightboxIndex] = React52.useState(0);
54243
+ const lightboxItems = React52.useMemo(
54244
+ () => (images ?? []).map((img, index) => ({
54245
+ id: `hero-grid-image-${index}`,
54246
+ type: "image",
54247
+ src: img.src,
54248
+ alt: img.alt,
54249
+ download: true,
54250
+ share: true
54251
+ })),
54252
+ [images]
54253
+ );
54254
+ const handleImageClick = React52.useCallback((index) => {
54255
+ setLightboxIndex(index);
54256
+ setLightboxOpen(true);
54257
+ }, []);
54258
+ const handleLightboxClose = React52.useCallback(() => {
54259
+ setLightboxOpen(false);
54260
+ }, []);
54157
54261
  const renderBadge = React52.useMemo(() => {
54158
54262
  if (badgeSlot) return badgeSlot;
54159
- return /* @__PURE__ */ jsxRuntime.jsxs(
54160
- Pressable,
54161
- {
54162
- href: badgeHref,
54163
- className: "mx-auto mb-4 flex w-fit items-center gap-2 rounded-full px-4 py-2 text-sm bg-card",
54164
- children: [
54165
- badgeText,
54166
- /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-right", size: 16 })
54167
- ]
54168
- }
54169
- );
54263
+ if (!badgeText) return null;
54264
+ return /* @__PURE__ */ jsxRuntime.jsx(Pressable, { href: badgeHref, children: /* @__PURE__ */ jsxRuntime.jsxs(Badge, { className: "px-2", children: [
54265
+ badgeText,
54266
+ /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/arrow-right" })
54267
+ ] }) });
54170
54268
  }, [badgeSlot, badgeHref, badgeText]);
54171
54269
  const renderActions = React52.useMemo(() => {
54172
54270
  if (actionsSlot) return actionsSlot;
54173
54271
  if (!actions || actions.length === 0) return null;
54174
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col justify-center gap-x-2 gap-y-3 sm:flex-row", actionsClassName), children: actions.map((action, index) => {
54175
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
54176
- return /* @__PURE__ */ jsxRuntime.jsx(
54177
- Pressable,
54178
- {
54179
- asButton: true,
54180
- className: actionClassName,
54181
- ...pressableProps,
54182
- children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
54183
- icon,
54272
+ return /* @__PURE__ */ jsxRuntime.jsx(
54273
+ "div",
54274
+ {
54275
+ className: cn(
54276
+ "flex flex-col justify-center gap-x-2 gap-y-3 sm:flex-row",
54277
+ actionsClassName
54278
+ ),
54279
+ children: actions.map((action, index) => {
54280
+ const {
54184
54281
  label,
54185
- iconAfter
54186
- ] })
54187
- },
54188
- index
54189
- );
54190
- }) });
54282
+ icon,
54283
+ iconAfter,
54284
+ children,
54285
+ className: actionClassName,
54286
+ ...pressableProps
54287
+ } = action;
54288
+ return /* @__PURE__ */ jsxRuntime.jsx(
54289
+ Pressable,
54290
+ {
54291
+ asButton: true,
54292
+ className: actionClassName,
54293
+ ...pressableProps,
54294
+ children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
54295
+ icon,
54296
+ label,
54297
+ iconAfter
54298
+ ] })
54299
+ },
54300
+ index
54301
+ );
54302
+ })
54303
+ }
54304
+ );
54191
54305
  }, [actionsSlot, actions, actionsClassName]);
54192
54306
  const renderImages = React52.useMemo(() => {
54193
54307
  if (imagesSlot) return imagesSlot;
54194
54308
  if (!images || images.length === 0) return null;
54195
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-20 grid gap-6 md:grid-cols-10", imagesClassName), children: images.map((image, index) => /* @__PURE__ */ jsxRuntime.jsx(
54196
- img.Img,
54309
+ return /* @__PURE__ */ jsxRuntime.jsx(
54310
+ "div",
54197
54311
  {
54198
- src: image.src,
54199
- alt: image.alt,
54200
- className: cn("h-full max-h-[500px] w-full rounded-xl object-cover", image.className),
54201
- optixFlowConfig
54202
- },
54203
- index
54204
- )) });
54205
- }, [imagesSlot, images, imagesClassName, optixFlowConfig]);
54206
- return /* @__PURE__ */ jsxRuntime.jsx(
54312
+ className: cn(
54313
+ "mt-8 md:mt-20 grid grid-cols-2 gap-4 md:flex md:flex-row md:items-center md:justify-center md:gap-6",
54314
+ imagesClassName
54315
+ ),
54316
+ children: images.map((image, index) => /* @__PURE__ */ jsxRuntime.jsx(
54317
+ "div",
54318
+ {
54319
+ className: "cursor-pointer overflow-hidden rounded-xl transition-transform hover:scale-[1.02] hover:shadow-lg",
54320
+ onClick: () => handleImageClick(index),
54321
+ role: "button",
54322
+ tabIndex: 0,
54323
+ onKeyDown: (e) => {
54324
+ if (e.key === "Enter" || e.key === " ") {
54325
+ e.preventDefault();
54326
+ handleImageClick(index);
54327
+ }
54328
+ },
54329
+ "aria-label": `View ${image.alt} in lightbox`,
54330
+ children: /* @__PURE__ */ jsxRuntime.jsx(
54331
+ img.Img,
54332
+ {
54333
+ src: image.src,
54334
+ alt: image.alt,
54335
+ className: cn(
54336
+ "h-full max-h-[200px] max-w-[200px] w-full rounded-xl object-cover shadow-xl",
54337
+ image.className
54338
+ ),
54339
+ optixFlowConfig
54340
+ }
54341
+ )
54342
+ },
54343
+ index
54344
+ ))
54345
+ }
54346
+ );
54347
+ }, [imagesSlot, images, imagesClassName, optixFlowConfig, handleImageClick]);
54348
+ return /* @__PURE__ */ jsxRuntime.jsxs(
54207
54349
  Section,
54208
54350
  {
54209
54351
  background,
@@ -54212,18 +54354,65 @@ function HeroGridPatternSolutions({
54212
54354
  patternOpacity,
54213
54355
  className: cn("relative flex items-center justify-center", className),
54214
54356
  containerClassName,
54215
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
54216
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative overflow-hidden", children: [
54217
- showGridPattern && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 -top-1 -left-1 -z-10 h-full w-full bg-[linear-gradient(to_right,hsl(var(--muted-foreground))_1px,transparent_1px),linear-gradient(to_bottom,hsl(var(--muted-foreground))_1px,transparent_1px)] mask-[radial-gradient(ellipse_50%_100%_at_50%_50%,transparent_60%,#000_100%)] bg-size-[92px_92px] opacity-15" }),
54218
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto max-w-4xl", contentClassName), children: [
54357
+ children: [
54358
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
54359
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative overflow-hidden", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("mx-auto max-w-4xl", contentClassName), children: [
54219
54360
  renderBadge,
54220
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("my-4 mb-6 text-center text-3xl font-semibold lg:text-8xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("my-4 mb-6 text-center text-3xl font-semibold lg:text-8xl", headingClassName), children: heading })),
54221
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mx-auto mb-8 max-w-2xl text-center lg:text-xl text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
54361
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
54362
+ "h1",
54363
+ {
54364
+ className: cn(
54365
+ "my-4 mb-6 text-center text-3xl font-semibold lg:text-8xl text-balance",
54366
+ headingClassName
54367
+ ),
54368
+ children: heading
54369
+ }
54370
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
54371
+ "h1",
54372
+ {
54373
+ className: cn(
54374
+ "my-4 mb-6 text-center text-3xl font-semibold lg:text-8xl text-balance",
54375
+ headingClassName
54376
+ ),
54377
+ children: heading
54378
+ }
54379
+ )),
54380
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
54381
+ "p",
54382
+ {
54383
+ className: cn(
54384
+ "mx-auto mb-8 max-w-2xl text-center lg:text-xl text-balance",
54385
+ descriptionClassName
54386
+ ),
54387
+ children: description
54388
+ }
54389
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
54222
54390
  renderActions
54223
- ] })
54391
+ ] }) }),
54392
+ renderImages
54224
54393
  ] }),
54225
- renderImages
54226
- ] })
54394
+ lightboxOpen && /* @__PURE__ */ jsxRuntime.jsx(
54395
+ lightbox.Lightbox,
54396
+ {
54397
+ items: lightboxItems,
54398
+ initialIndex: lightboxIndex,
54399
+ layout: "horizontal",
54400
+ controls: {
54401
+ navigation: true,
54402
+ thumbnails: true,
54403
+ download: true,
54404
+ share: true,
54405
+ fullscreen: true,
54406
+ captions: true,
54407
+ counter: true
54408
+ },
54409
+ onClose: handleLightboxClose,
54410
+ enableKeyboardShortcuts: true,
54411
+ closeOnEscape: true,
54412
+ closeOnBackdropClick: true
54413
+ }
54414
+ )
54415
+ ]
54227
54416
  }
54228
54417
  );
54229
54418
  }
@@ -54325,7 +54514,14 @@ function HeroBillingPlatformLogos({
54325
54514
  if (actionsSlot) return actionsSlot;
54326
54515
  if (!actions || actions.length === 0) return null;
54327
54516
  return actions.map((action, index) => {
54328
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
54517
+ const {
54518
+ label,
54519
+ icon,
54520
+ iconAfter,
54521
+ children,
54522
+ className: actionClassName,
54523
+ ...pressableProps
54524
+ } = action;
54329
54525
  if (index === 1) {
54330
54526
  return /* @__PURE__ */ jsxRuntime.jsx(
54331
54527
  Pressable,
@@ -54342,19 +54538,11 @@ function HeroBillingPlatformLogos({
54342
54538
  index
54343
54539
  );
54344
54540
  }
54345
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(
54346
- Pressable,
54347
- {
54348
- asButton: true,
54349
- className: actionClassName,
54350
- ...pressableProps,
54351
- children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
54352
- icon,
54353
- label,
54354
- iconAfter
54355
- ] })
54356
- }
54357
- ) }, index);
54541
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(Pressable, { asButton: true, className: actionClassName, ...pressableProps, children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
54542
+ icon,
54543
+ label,
54544
+ iconAfter
54545
+ ] }) }) }, index);
54358
54546
  });
54359
54547
  }, [actionsSlot, actions]);
54360
54548
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -54364,14 +54552,32 @@ function HeroBillingPlatformLogos({
54364
54552
  spacing,
54365
54553
  pattern,
54366
54554
  patternOpacity,
54367
- className: cn("relative flex items-center justify-center dark font-sans", className),
54555
+ className,
54368
54556
  containerClassName,
54369
54557
  children: [
54370
54558
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 items-center justify-center gap-12 lg:grid-cols-[minmax(33.75rem,1fr)_1.5fr] lg:gap-8", children: [
54371
54559
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: contentClassName, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-3", children: [
54372
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-4xl leading-tight md:text-5xl lg:text-[3.5rem]", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
54560
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
54561
+ "h1",
54562
+ {
54563
+ className: cn(
54564
+ "text-4xl leading-tight md:text-5xl lg:text-[3.5rem]",
54565
+ headingClassName
54566
+ ),
54567
+ children: heading
54568
+ }
54569
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
54373
54570
  description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("mb-5 text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
54374
- (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-col items-center gap-4 lg:flex-row", actionsClassName), children: renderActions }) })
54571
+ (actionsSlot || actions && actions.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(
54572
+ "div",
54573
+ {
54574
+ className: cn(
54575
+ "flex flex-col items-center gap-4 lg:flex-row",
54576
+ actionsClassName
54577
+ ),
54578
+ children: renderActions
54579
+ }
54580
+ ) })
54375
54581
  ] }) }),
54376
54582
  imagesSlot ? imagesSlot : mainImage ? /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative mr-auto ml-auto aspect-[1.28581291/1] w-full max-w-149 lg:mr-0 lg:ml-auto", children: [
54377
54583
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative mx-auto aspect-[1.020365896/1] h-full w-[79.35%] max-w-118.25 overflow-hidden rounded-3xl", children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -54379,7 +54585,10 @@ function HeroBillingPlatformLogos({
54379
54585
  {
54380
54586
  src: mainImage.src,
54381
54587
  alt: mainImage.alt,
54382
- className: cn("relative z-10 w-full object-cover", mainImage.className),
54588
+ className: cn(
54589
+ "relative z-10 w-full object-cover",
54590
+ mainImage.className
54591
+ ),
54383
54592
  optixFlowConfig
54384
54593
  }
54385
54594
  ) }),
@@ -54388,7 +54597,10 @@ function HeroBillingPlatformLogos({
54388
54597
  {
54389
54598
  src: overlayImages[0].src,
54390
54599
  alt: overlayImages[0].alt,
54391
- className: cn("size-full object-cover", overlayImages[0].className),
54600
+ className: cn(
54601
+ "size-full object-cover",
54602
+ overlayImages[0].className
54603
+ ),
54392
54604
  optixFlowConfig
54393
54605
  }
54394
54606
  ) }),
@@ -54397,7 +54609,10 @@ function HeroBillingPlatformLogos({
54397
54609
  {
54398
54610
  src: overlayImages[1].src,
54399
54611
  alt: overlayImages[1].alt,
54400
- className: cn("size-full object-cover", overlayImages[1].className),
54612
+ className: cn(
54613
+ "size-full object-cover",
54614
+ overlayImages[1].className
54615
+ ),
54401
54616
  optixFlowConfig
54402
54617
  }
54403
54618
  ) }),
@@ -54406,43 +54621,44 @@ function HeroBillingPlatformLogos({
54406
54621
  {
54407
54622
  src: overlayImages[2].src,
54408
54623
  alt: overlayImages[2].alt,
54409
- className: cn("size-full object-cover", overlayImages[2].className),
54624
+ className: cn(
54625
+ "size-full object-cover",
54626
+ overlayImages[2].className
54627
+ ),
54410
54628
  optixFlowConfig
54411
54629
  }
54412
54630
  ) })
54413
54631
  ] }) }) : null
54414
54632
  ] }) }),
54415
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col items-center justify-center gap-8 pt-28", logosClassName), children: [
54416
- logosTagline && (typeof logosTagline === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "px-5 text-center font-mono text-sm font-medium uppercase", children: logosTagline }) : /* @__PURE__ */ jsxRuntime.jsx("div", { children: logosTagline })),
54417
- logosSlot ? logosSlot : logos && logos.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
54418
- Carousel,
54419
- {
54420
- opts: {
54421
- loop: true,
54422
- align: "center"
54423
- },
54424
- plugins: [
54425
- AutoScroll3__default.default({
54426
- speed: 1
54427
- }),
54428
- Autoplay__default.default({
54429
- playOnInit: true,
54430
- delay: 1e3
54431
- })
54432
- ],
54433
- className: "relative w-full max-w-(--breakpoint-2xl) overflow-hidden",
54434
- children: /* @__PURE__ */ jsxRuntime.jsx(CarouselContent, { className: "items-center", children: logos.map((logo, index) => /* @__PURE__ */ jsxRuntime.jsx(CarouselItem, { className: "w-fit basis-auto px-7", children: /* @__PURE__ */ jsxRuntime.jsx(
54435
- img.Img,
54436
- {
54437
- src: typeof logo.src === "string" ? logo.src : logo.src.light,
54438
- alt: logo.alt,
54439
- className: cn("h-8 w-full object-fill", logo.imgClassName),
54440
- optixFlowConfig
54633
+ /* @__PURE__ */ jsxRuntime.jsxs(
54634
+ "div",
54635
+ {
54636
+ className: cn(
54637
+ "flex flex-col items-center justify-center gap-8 pt-28",
54638
+ logosClassName
54639
+ ),
54640
+ children: [
54641
+ logosTagline && (typeof logosTagline === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "px-5 text-center font-mono text-sm font-medium uppercase", children: logosTagline }) : /* @__PURE__ */ jsxRuntime.jsx("div", { children: logosTagline })),
54642
+ logosSlot ? logosSlot : logos && logos.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
54643
+ Carousel,
54644
+ {
54645
+ opts: { loop: true },
54646
+ plugins: [AutoScroll3__default.default({ playOnInit: true, speed: 1 })],
54647
+ className: "relative w-full max-w-(--breakpoint-2xl) overflow-hidden",
54648
+ children: /* @__PURE__ */ jsxRuntime.jsx(CarouselContent, { className: "items-center", children: [...logos, ...logos].map((logo, index) => /* @__PURE__ */ jsxRuntime.jsx(CarouselItem, { className: "w-fit basis-auto px-7", children: /* @__PURE__ */ jsxRuntime.jsx(
54649
+ img.Img,
54650
+ {
54651
+ src: typeof logo.src === "string" ? logo.src : logo.src.light,
54652
+ alt: logo.alt,
54653
+ className: cn("h-8 w-full object-fill", logo.imgClassName),
54654
+ optixFlowConfig
54655
+ }
54656
+ ) }, index)) })
54441
54657
  }
54442
- ) }, index)) })
54443
- }
54444
- ) : null
54445
- ] })
54658
+ ) : null
54659
+ ]
54660
+ }
54661
+ )
54446
54662
  ]
54447
54663
  }
54448
54664
  );
@@ -54717,64 +54933,42 @@ function HeroConversionVideoPlay({
54717
54933
  if (actionsSlot) return actionsSlot;
54718
54934
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
54719
54935
  primaryAction && (() => {
54720
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = primaryAction;
54721
- return /* @__PURE__ */ jsxRuntime.jsxs(
54936
+ const {
54937
+ label,
54938
+ icon,
54939
+ iconAfter,
54940
+ children,
54941
+ className: actionClassName,
54942
+ ...pressableProps
54943
+ } = primaryAction;
54944
+ return /* @__PURE__ */ jsxRuntime.jsx(
54722
54945
  Pressable,
54723
54946
  {
54724
54947
  asButton: true,
54725
54948
  className: actionClassName,
54726
54949
  ...pressableProps,
54727
- children: [
54728
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative z-10 flex items-center gap-2.5", children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
54729
- icon,
54730
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: label }),
54731
- iconAfter
54732
- ] }) }),
54733
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute bottom-16 -left-16 aspect-square w-16 rounded-full bg-pink-400 transition-all duration-300 group-hover:bottom-1/2 group-hover:-left-5 group-hover:w-[110%] group-hover:translate-y-1/2" })
54734
- ]
54950
+ children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
54951
+ icon,
54952
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: label }),
54953
+ iconAfter
54954
+ ] })
54735
54955
  }
54736
- );
54737
- })(),
54738
- /* @__PURE__ */ jsxRuntime.jsxs(
54739
- Pressable,
54740
- {
54741
- href: "#",
54742
- onClick: () => setIsVideoOpen(true),
54743
- asButton: true,
54744
- variant: "ghost",
54745
- className: "flex h-fit w-fit items-center gap-2 text-lg font-semibold uppercase hover:bg-transparent",
54746
- children: [
54747
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-10 w-10 rounded-full bg-primary", children: /* @__PURE__ */ jsxRuntime.jsx(
54748
- DynamicIcon,
54749
- {
54750
- name: "lucide/play",
54751
- size: 16,
54752
- className: "m-auto fill-white stroke-white"
54753
- }
54754
- ) }),
54755
- /* @__PURE__ */ jsxRuntime.jsx("div", { children: videoButtonLabel })
54756
- ]
54757
- }
54758
- )
54759
- ] });
54760
- }, [actionsSlot, primaryAction, videoButtonLabel, setIsVideoOpen]);
54761
- const renderLogos = React52.useMemo(() => {
54762
- if (logosSlot) return logosSlot;
54763
- if (!logos || logos.length === 0) return null;
54764
- return logos.map((logo, index) => {
54765
- const src = typeof logo.src === "string" ? logo.src : logo.src.light;
54766
- return /* @__PURE__ */ jsxRuntime.jsx(
54767
- img.Img,
54768
- {
54769
- src,
54770
- alt: logo.alt,
54771
- className: logo.className,
54772
- optixFlowConfig
54773
- },
54774
- index
54775
- );
54776
- });
54777
- }, [logosSlot, logos, optixFlowConfig]);
54956
+ );
54957
+ })(),
54958
+ videoUrl && /* @__PURE__ */ jsxRuntime.jsxs(
54959
+ Pressable,
54960
+ {
54961
+ onClick: () => setIsVideoOpen(true),
54962
+ asButton: true,
54963
+ variant: "link",
54964
+ children: [
54965
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex h-10 w-10 rounded-full bg-primary text-primary-foreground", children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/play" }) }),
54966
+ /* @__PURE__ */ jsxRuntime.jsx("div", { children: videoButtonLabel })
54967
+ ]
54968
+ }
54969
+ )
54970
+ ] });
54971
+ }, [actionsSlot, primaryAction, videoButtonLabel, setIsVideoOpen]);
54778
54972
  return /* @__PURE__ */ jsxRuntime.jsxs(React52.Fragment, { children: [
54779
54973
  /* @__PURE__ */ jsxRuntime.jsx(
54780
54974
  Section,
@@ -54787,42 +54981,91 @@ function HeroConversionVideoPlay({
54787
54981
  containerClassName,
54788
54982
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
54789
54983
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-hidden border-b border-border", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-16 md:gap-24", children: [
54790
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col items-center gap-8", contentClassName), children: [
54791
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-7", children: [
54792
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("max-w-[920px] text-center text-4xl leading-tight font-semibold md:text-6xl lg:text-7xl", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
54793
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("max-w-[750px] text-center text-base leading-relaxed font-normal md:text-xl text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
54794
- ] }),
54795
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex flex-wrap items-center justify-center gap-8", actionsClassName), children: renderActions })
54796
- ] }),
54984
+ /* @__PURE__ */ jsxRuntime.jsxs(
54985
+ "div",
54986
+ {
54987
+ className: cn(
54988
+ "flex flex-col items-center gap-8",
54989
+ contentClassName
54990
+ ),
54991
+ children: [
54992
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-7", children: [
54993
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
54994
+ "h1",
54995
+ {
54996
+ className: cn(
54997
+ "max-w-[920px] text-center text-4xl leading-tight font-semibold md:text-6xl lg:text-7xl text-balance",
54998
+ headingClassName
54999
+ ),
55000
+ children: heading
55001
+ }
55002
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: headingClassName, children: heading })),
55003
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
55004
+ "p",
55005
+ {
55006
+ className: cn(
55007
+ "max-w-[750px] text-center text-base leading-relaxed font-normal md:text-xl text-balance",
55008
+ descriptionClassName
55009
+ ),
55010
+ children: description
55011
+ }
55012
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
55013
+ ] }),
55014
+ /* @__PURE__ */ jsxRuntime.jsx(
55015
+ "div",
55016
+ {
55017
+ className: cn(
55018
+ "flex flex-wrap items-center justify-center gap-8",
55019
+ actionsClassName
55020
+ ),
55021
+ children: renderActions
55022
+ }
55023
+ )
55024
+ ]
55025
+ }
55026
+ ),
54797
55027
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full", children: imageSlot ? imageSlot : image ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative h-fit w-full", imageClassName), children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative z-20 w-full max-w-330 overflow-hidden rounded-t-xl md:rounded-t-3xl", children: /* @__PURE__ */ jsxRuntime.jsx(AspectRatio, { ratio: 2.095238095 / 1, children: /* @__PURE__ */ jsxRuntime.jsx(
54798
55028
  img.Img,
54799
55029
  {
54800
55030
  src: image.src,
54801
55031
  alt: image.alt,
54802
- className: cn("size-full object-cover object-center", image.className),
55032
+ className: cn(
55033
+ "size-full object-cover object-center",
55034
+ image.className
55035
+ ),
54803
55036
  optixFlowConfig
54804
55037
  }
54805
55038
  ) }) }) }) : null })
54806
55039
  ] }) }),
54807
55040
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-16 py-20", children: [
54808
- logosTagline && (typeof logosTagline === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-center text-xl font-medium text-accent-foreground"), children: logosTagline }) : logosTagline),
54809
- (logosSlot || logos && logos.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap items-center justify-center gap-20", children: renderLogos })
55041
+ logosTagline && (typeof logosTagline === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-center text-xl font-medium "), children: logosTagline }) : logosTagline),
55042
+ logosSlot ? logosSlot : logos && logos.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
55043
+ Carousel,
55044
+ {
55045
+ opts: { loop: true },
55046
+ plugins: [AutoScroll3__default.default({ playOnInit: true, speed: 1 })],
55047
+ className: "relative w-full max-w-(--breakpoint-2xl) overflow-hidden",
55048
+ children: /* @__PURE__ */ jsxRuntime.jsx(CarouselContent, { className: "items-center", children: [...logos, ...logos].map((logo, index) => /* @__PURE__ */ jsxRuntime.jsx(CarouselItem, { className: "w-fit basis-auto px-7", children: /* @__PURE__ */ jsxRuntime.jsx(
55049
+ img.Img,
55050
+ {
55051
+ src: typeof logo.src === "string" ? logo.src : logo.src.light,
55052
+ alt: logo.alt,
55053
+ className: cn(
55054
+ "h-8 w-full object-fill",
55055
+ logo.imgClassName
55056
+ ),
55057
+ optixFlowConfig
55058
+ }
55059
+ ) }, index)) })
55060
+ }
55061
+ ) : null
54810
55062
  ] })
54811
55063
  ] })
54812
55064
  }
54813
55065
  ),
54814
- /* @__PURE__ */ jsxRuntime.jsx(Dialog, { open: isVideoOpen, onOpenChange: setIsVideoOpen, children: /* @__PURE__ */ jsxRuntime.jsxs(DialogContent, { className: "sm:max-w-[800px]", children: [
55066
+ /* @__PURE__ */ jsxRuntime.jsx(Dialog, { open: isVideoOpen, onOpenChange: setIsVideoOpen, children: /* @__PURE__ */ jsxRuntime.jsxs(DialogContent, { className: "sm:max-w-200", children: [
54815
55067
  /* @__PURE__ */ jsxRuntime.jsx(DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { children: videoDialogTitle }) }),
54816
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "aspect-video", children: /* @__PURE__ */ jsxRuntime.jsx(
54817
- "iframe",
54818
- {
54819
- className: "h-full w-full",
54820
- src: videoUrl,
54821
- title: videoDialogTitle,
54822
- allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",
54823
- allowFullScreen: true
54824
- }
54825
- ) })
55068
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "aspect-video", children: /* @__PURE__ */ jsxRuntime.jsx("video", { controls: true, autoPlay: true, className: "h-full w-full rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx("source", { src: videoUrl, type: "video/mp4" }) }) })
54826
55069
  ] }) })
54827
55070
  ] });
54828
55071
  }
@@ -54853,42 +55096,70 @@ function HeroDesignShowcaseLogos({
54853
55096
  const renderActions = React52.useMemo(() => {
54854
55097
  if (actionsSlot) return actionsSlot;
54855
55098
  if (!actions || actions.length === 0) return null;
54856
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-3 flex items-center justify-center gap-3", actionsClassName), children: actions.map((action, index) => {
54857
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
54858
- return /* @__PURE__ */ jsxRuntime.jsx(
54859
- Pressable,
54860
- {
54861
- asButton: true,
54862
- className: actionClassName,
54863
- ...pressableProps,
54864
- children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
55099
+ return /* @__PURE__ */ jsxRuntime.jsx(
55100
+ "div",
55101
+ {
55102
+ className: cn(
55103
+ "mt-6 md:mt-12 flex items-center justify-center gap-3",
55104
+ actionsClassName
55105
+ ),
55106
+ children: actions.map((action, index) => {
55107
+ const {
55108
+ label,
54865
55109
  icon,
54866
- label && /* @__PURE__ */ jsxRuntime.jsx("div", { children: label }),
54867
- iconAfter
54868
- ] })
54869
- },
54870
- index
54871
- );
54872
- }) });
55110
+ iconAfter,
55111
+ children,
55112
+ className: actionClassName,
55113
+ ...pressableProps
55114
+ } = action;
55115
+ return /* @__PURE__ */ jsxRuntime.jsx(
55116
+ Pressable,
55117
+ {
55118
+ asButton: true,
55119
+ className: actionClassName,
55120
+ ...pressableProps,
55121
+ children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
55122
+ icon,
55123
+ label && /* @__PURE__ */ jsxRuntime.jsx("div", { children: label }),
55124
+ iconAfter
55125
+ ] })
55126
+ },
55127
+ index
55128
+ );
55129
+ })
55130
+ }
55131
+ );
54873
55132
  }, [actionsSlot, actions, actionsClassName]);
54874
55133
  const renderLogos = React52.useMemo(() => {
54875
55134
  if (logosSlot) return logosSlot;
54876
55135
  if (!logos || logos.length === 0) return null;
54877
55136
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "py-10 md:py-16", children: [
54878
55137
  logosLabel && (typeof logosLabel === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-center text-sm text-foreground/60", children: logosLabel }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-center text-sm text-foreground/60", children: logosLabel })),
54879
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-8 flex flex-wrap items-center justify-center gap-5 sm:flex-nowrap", logosClassName), children: logos.map((logo, index) => {
54880
- const logoSrc = typeof logo.src === "string" ? logo.src : logo.src.light;
54881
- return /* @__PURE__ */ jsxRuntime.jsx(
54882
- img.Img,
54883
- {
54884
- src: logoSrc,
54885
- alt: logo.alt,
54886
- className: cn("block h-3.5 w-auto opacity-50 md:h-5", logo.className),
54887
- optixFlowConfig
54888
- },
54889
- index
54890
- );
54891
- }) })
55138
+ /* @__PURE__ */ jsxRuntime.jsx(
55139
+ "div",
55140
+ {
55141
+ className: cn(
55142
+ "mt-8 flex flex-wrap items-center justify-center gap-5 sm:flex-nowrap",
55143
+ logosClassName
55144
+ ),
55145
+ children: logos.map((logo, index) => {
55146
+ const logoSrc = typeof logo.src === "string" ? logo.src : logo.src.light;
55147
+ return /* @__PURE__ */ jsxRuntime.jsx(
55148
+ img.Img,
55149
+ {
55150
+ src: logoSrc,
55151
+ alt: logo.alt,
55152
+ className: cn(
55153
+ "block h-3.5 w-auto opacity-50 md:h-5",
55154
+ logo.className
55155
+ ),
55156
+ optixFlowConfig
55157
+ },
55158
+ index
55159
+ );
55160
+ })
55161
+ }
55162
+ )
54892
55163
  ] });
54893
55164
  }, [logosSlot, logos, logosLabel, logosClassName, optixFlowConfig]);
54894
55165
  const renderShowcase = React52.useMemo(() => {
@@ -54899,7 +55170,10 @@ function HeroDesignShowcaseLogos({
54899
55170
  {
54900
55171
  src: showcaseImage.src,
54901
55172
  alt: showcaseImage.alt,
54902
- className: cn("w-full object-cover object-top-left", showcaseImage.className),
55173
+ className: cn(
55174
+ "w-full object-cover object-top-left",
55175
+ showcaseImage.className
55176
+ ),
54903
55177
  optixFlowConfig
54904
55178
  }
54905
55179
  ) }) }) });
@@ -54914,14 +55188,47 @@ function HeroDesignShowcaseLogos({
54914
55188
  className: cn("relative flex items-center justify-center", className),
54915
55189
  containerClassName,
54916
55190
  children: [
54917
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex flex-col items-center gap-8", contentClassName), children: [
54918
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex max-w-[920px] flex-col items-center gap-6", children: [
54919
- heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("mb-6 text-center text-[2.75rem] leading-tight font-semibold md:text-[3.5rem] lg:text-[4.375rem]", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("mb-6 text-center text-[2.75rem] leading-tight font-semibold md:text-[3.5rem] lg:text-[4.375rem]", headingClassName), children: heading })),
54920
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-center text-xl text-muted-foreground", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
54921
- ] }),
54922
- /* @__PURE__ */ jsxRuntime.jsx("div", { children: renderActions }),
54923
- /* @__PURE__ */ jsxRuntime.jsx("div", { children: renderLogos })
54924
- ] }) }),
55191
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: /* @__PURE__ */ jsxRuntime.jsxs(
55192
+ "div",
55193
+ {
55194
+ className: cn("flex flex-col items-center gap-8", contentClassName),
55195
+ children: [
55196
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex max-w-[920px] flex-col items-center gap-6", children: [
55197
+ heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
55198
+ "h1",
55199
+ {
55200
+ className: cn(
55201
+ "mb-6 text-center text-[2.75rem] leading-tight font-semibold md:text-[3.5rem] lg:text-[4.375rem] text-balance",
55202
+ headingClassName
55203
+ ),
55204
+ children: heading
55205
+ }
55206
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
55207
+ "h1",
55208
+ {
55209
+ className: cn(
55210
+ "mb-6 text-center text-[2.75rem] leading-tight font-semibold md:text-[3.5rem] lg:text-[4.375rem] text-balance",
55211
+ headingClassName
55212
+ ),
55213
+ children: heading
55214
+ }
55215
+ )),
55216
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
55217
+ "p",
55218
+ {
55219
+ className: cn(
55220
+ "text-center text-xl text-balance",
55221
+ descriptionClassName
55222
+ ),
55223
+ children: description
55224
+ }
55225
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description }))
55226
+ ] }),
55227
+ /* @__PURE__ */ jsxRuntime.jsx("div", { children: renderActions }),
55228
+ /* @__PURE__ */ jsxRuntime.jsx("div", { children: renderLogos })
55229
+ ]
55230
+ }
55231
+ ) }),
54925
55232
  renderShowcase
54926
55233
  ]
54927
55234
  }
@@ -55015,12 +55322,11 @@ function HeroProductivityLauncherVideo({
55015
55322
  actionsSlot,
55016
55323
  versionInfo,
55017
55324
  versionInfoSlot,
55018
- secondaryCta,
55019
- secondaryCtaSlot,
55020
55325
  videoSrc,
55021
55326
  videoSlot,
55022
55327
  background,
55023
- spacing = "py-32 md:py-32",
55328
+ spacing = "py-0 md:py-0",
55329
+ containerClassName = "mx-auto w-screen min-h-screen h-full max-w-screen relative z-10 px-0 sm:px-0 md:px-0 lg:px-0 flex flex-col items-center justify-center",
55024
55330
  pattern,
55025
55331
  patternOpacity,
55026
55332
  className,
@@ -55032,7 +55338,14 @@ function HeroProductivityLauncherVideo({
55032
55338
  if (actionsSlot) return actionsSlot;
55033
55339
  if (!actions || actions.length === 0) return null;
55034
55340
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap items-center justify-center gap-4", children: actions.map((action, index) => {
55035
- const { label, icon, iconAfter, children, className: actionClassName, ...pressableProps } = action;
55341
+ const {
55342
+ label,
55343
+ icon,
55344
+ iconAfter,
55345
+ children,
55346
+ className: actionClassName,
55347
+ ...pressableProps
55348
+ } = action;
55036
55349
  return /* @__PURE__ */ jsxRuntime.jsx(
55037
55350
  Pressable,
55038
55351
  {
@@ -55052,40 +55365,15 @@ function HeroProductivityLauncherVideo({
55052
55365
  const renderVersionInfo = React52.useMemo(() => {
55053
55366
  if (versionInfoSlot) return versionInfoSlot;
55054
55367
  if (!versionInfo) return null;
55055
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-6 text-xs text-muted-foreground", children: [
55368
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-6 text-xs text-white", children: [
55056
55369
  versionInfo.version && /* @__PURE__ */ jsxRuntime.jsx("span", { children: versionInfo.version }),
55057
55370
  versionInfo.osRequirement && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "relative before:absolute before:-left-3 before:content-['|']", children: versionInfo.osRequirement }),
55058
55371
  versionInfo.installMethod && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "relative before:absolute before:-left-3 before:content-['|']", children: /* @__PURE__ */ jsxRuntime.jsx("button", { onClick: versionInfo.installAction, children: versionInfo.installMethod }) })
55059
55372
  ] });
55060
55373
  }, [versionInfoSlot, versionInfo]);
55061
- const renderSecondaryCta = React52.useMemo(() => {
55062
- if (secondaryCtaSlot) return secondaryCtaSlot;
55063
- if (!secondaryCta) return null;
55064
- return /* @__PURE__ */ jsxRuntime.jsxs(
55065
- Pressable,
55066
- {
55067
- href: secondaryCta.href,
55068
- className: "group relative mt-10 flex h-8 items-center gap-3 overflow-hidden rounded-full border border-border/50 bg-background px-3 py-1 text-sm font-medium",
55069
- children: [
55070
- secondaryCta.primaryText && /* @__PURE__ */ jsxRuntime.jsx("span", { children: secondaryCta.primaryText }),
55071
- secondaryCta.secondaryText && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-1 text-muted-foreground", children: [
55072
- /* @__PURE__ */ jsxRuntime.jsx("span", { children: secondaryCta.secondaryText }),
55073
- /* @__PURE__ */ jsxRuntime.jsx(
55074
- DynamicIcon,
55075
- {
55076
- name: "lucide/arrow-right",
55077
- size: 16,
55078
- className: "stroke-muted-foreground"
55079
- }
55080
- )
55081
- ] })
55082
- ]
55083
- }
55084
- );
55085
- }, [secondaryCtaSlot, secondaryCta]);
55086
55374
  const renderVideo = React52.useMemo(() => {
55087
55375
  if (videoSlot) return videoSlot;
55088
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute -top-24 z-10 h-full w-full before:absolute before:inset-0 before:size-full before:bg-[radial-gradient(circle_at_center,rgba(10,10,10,.3)_15%,rgba(10,10,10,1)_45%)] before:content-['']", children: /* @__PURE__ */ jsxRuntime.jsx(
55376
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-0 z-10 h-full w-full inset-0", children: /* @__PURE__ */ jsxRuntime.jsx(
55089
55377
  "video",
55090
55378
  {
55091
55379
  src: videoSrc,
@@ -55093,7 +55381,7 @@ function HeroProductivityLauncherVideo({
55093
55381
  muted: true,
55094
55382
  autoPlay: true,
55095
55383
  controls: false,
55096
- className: "block size-full object-cover object-center bg-blend-saturation"
55384
+ className: "block size-full object-cover object-center brightness-50"
55097
55385
  }
55098
55386
  ) });
55099
55387
  }, [videoSlot, videoSrc]);
@@ -55104,19 +55392,45 @@ function HeroProductivityLauncherVideo({
55104
55392
  spacing,
55105
55393
  pattern,
55106
55394
  patternOpacity,
55107
- className: cn("relative flex items-center justify-center dark overflow-hidden bg-background py-12 font-sans md:py-20", className),
55108
- containerClassName: "px-6 sm:px-6 md:px-8 lg:px-8",
55395
+ className,
55396
+ containerClassName,
55109
55397
  children: [
55110
55398
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("relative z-20 max-w-204.5", contentClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center", children: [
55111
55399
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-8 px-4 pt-52 pb-32 md:pb-52", children: [
55112
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-100 sm:max-w-135", children: heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-center text-4xl leading-tight font-semibold [text-shadow:0_4px_4px_rgba(0,0,0,0.15)] sm:text-5xl md:text-[4rem]", headingClassName), children: heading }) : /* @__PURE__ */ jsxRuntime.jsx("h1", { className: cn("text-center text-4xl leading-tight font-semibold [text-shadow:0_4px_4px_rgba(0,0,0,0.15)] sm:text-5xl md:text-[4rem]", headingClassName), children: heading })) }),
55113
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-90 md:max-w-full", children: description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-center text-sm leading-normal tracking-tight text-balance text-muted-foreground [text-shadow:0_4px_4px_rgba(0,0,0,0.25)] md:text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })) })
55400
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-100 sm:max-w-135", children: heading && (typeof heading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
55401
+ "h1",
55402
+ {
55403
+ className: cn(
55404
+ "text-center text-4xl leading-tight font-semibold text-shadow-xl sm:text-5xl md:text-6xl text-balance text-white",
55405
+ headingClassName
55406
+ ),
55407
+ children: heading
55408
+ }
55409
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
55410
+ "h1",
55411
+ {
55412
+ className: cn(
55413
+ "text-center text-4xl leading-tight font-semibold text-shadow-xl sm:text-5xl md:text-6xl text-balance text-white",
55414
+ headingClassName
55415
+ ),
55416
+ children: heading
55417
+ }
55418
+ )) }),
55419
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-90 md:max-w-full", children: description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
55420
+ "p",
55421
+ {
55422
+ className: cn(
55423
+ "text-center text-sm leading-normal tracking-tight text-balance md:text-lg text-white",
55424
+ descriptionClassName
55425
+ ),
55426
+ children: description
55427
+ }
55428
+ ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })) })
55114
55429
  ] }),
55115
55430
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-4", children: [
55116
55431
  renderActions,
55117
55432
  renderVersionInfo
55118
- ] }),
55119
- renderSecondaryCta
55433
+ ] })
55120
55434
  ] }) }),
55121
55435
  renderVideo
55122
55436
  ]
@@ -56694,7 +57008,7 @@ function HeroMentorshipVideoSplit({
56694
57008
  if (!videoThumbnail) return null;
56695
57009
  const aspectRatio = videoAspectRatio === "vertical" ? 9 / 16 : 16 / 9;
56696
57010
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4", children: [
56697
- videoLabel && (typeof videoLabel === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xl", children: videoLabel }) : videoLabel),
57011
+ videoLabel && (typeof videoLabel === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-semibold uppercase opacity-75", children: videoLabel }) : videoLabel),
56698
57012
  /* @__PURE__ */ jsxRuntime.jsx(
56699
57013
  Pressable,
56700
57014
  {
@@ -56718,7 +57032,7 @@ function HeroMentorshipVideoSplit({
56718
57032
  optixFlowConfig
56719
57033
  }
56720
57034
  ),
56721
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "m-auto aspect-square z-10", children: /* @__PURE__ */ jsxRuntime.jsx(
57035
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "m-auto aspect-square z-10 bg-card text-card-foreground p-2 rounded-xl shadow-xl", children: /* @__PURE__ */ jsxRuntime.jsx(
56722
57036
  DynamicIcon,
56723
57037
  {
56724
57038
  name: "lucide/play",
@@ -56730,7 +57044,14 @@ function HeroMentorshipVideoSplit({
56730
57044
  }
56731
57045
  )
56732
57046
  ] });
56733
- }, [videoSlot, videoThumbnail, videoLabel, videoAspectRatio, optixFlowConfig, setIsVideoOpen]);
57047
+ }, [
57048
+ videoSlot,
57049
+ videoThumbnail,
57050
+ videoLabel,
57051
+ videoAspectRatio,
57052
+ optixFlowConfig,
57053
+ setIsVideoOpen
57054
+ ]);
56734
57055
  const renderImage = React52.useMemo(() => {
56735
57056
  if (imageSlot) return imageSlot;
56736
57057
  if (!image) return null;
@@ -56758,12 +57079,12 @@ function HeroMentorshipVideoSplit({
56758
57079
  patternOpacity,
56759
57080
  className: cn("relative flex items-center justify-center", className),
56760
57081
  containerClassName,
56761
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid w-full grid-cols-1 gap-6 lg:grid-cols-2", children: [
57082
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex w-full flex-col-reverse md:flex-row gap-6 md:gap-20", children: [
56762
57083
  /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsxs(
56763
57084
  "div",
56764
57085
  {
56765
57086
  className: cn(
56766
- "flex h-full flex-col justify-between gap-4",
57087
+ "flex h-full flex-col justify-between gap-8",
56767
57088
  contentClassName
56768
57089
  ),
56769
57090
  children: [
@@ -56772,7 +57093,7 @@ function HeroMentorshipVideoSplit({
56772
57093
  "h1",
56773
57094
  {
56774
57095
  className: cn(
56775
- "text-4xl font-semibold lg:text-8xl text-balance text-shadow-xl text-center",
57096
+ "text-4xl font-semibold lg:text-8xl text-balance text-shadow-xl",
56776
57097
  headingClassName
56777
57098
  ),
56778
57099
  children: heading
@@ -56781,7 +57102,7 @@ function HeroMentorshipVideoSplit({
56781
57102
  "h1",
56782
57103
  {
56783
57104
  className: cn(
56784
- "text-4xl font-semibold lg:text-8xl text-balance text-shadow-xl text-center",
57105
+ "text-4xl font-semibold lg:text-8xl text-balance text-shadow-xl",
56785
57106
  headingClassName
56786
57107
  ),
56787
57108
  children: heading
@@ -56807,12 +57128,24 @@ function HeroMentorshipVideoSplit({
56807
57128
  ] }) })
56808
57129
  }
56809
57130
  ),
56810
- /* @__PURE__ */ jsxRuntime.jsx(Dialog, { open: isVideoOpen, onOpenChange: setIsVideoOpen, children: /* @__PURE__ */ jsxRuntime.jsxs(DialogContent, { className: cn(
56811
- videoAspectRatio === "vertical" ? "sm:max-w-100" : "sm:max-w-200"
56812
- ), children: [
56813
- /* @__PURE__ */ jsxRuntime.jsx(DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { children: videoTitle }) }),
56814
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: videoAspectRatio === "vertical" ? "aspect-9/16" : "aspect-video", children: /* @__PURE__ */ jsxRuntime.jsx("video", { controls: true, autoPlay: true, className: "h-full w-full rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx("source", { src: videoUrl, type: "video/mp4" }) }) })
56815
- ] }) })
57131
+ /* @__PURE__ */ jsxRuntime.jsx(Dialog, { open: isVideoOpen, onOpenChange: setIsVideoOpen, children: /* @__PURE__ */ jsxRuntime.jsxs(
57132
+ DialogContent,
57133
+ {
57134
+ className: cn(
57135
+ videoAspectRatio === "vertical" ? "sm:max-w-100" : "sm:max-w-200"
57136
+ ),
57137
+ children: [
57138
+ /* @__PURE__ */ jsxRuntime.jsx(DialogHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(DialogTitle, { children: videoTitle }) }),
57139
+ /* @__PURE__ */ jsxRuntime.jsx(
57140
+ "div",
57141
+ {
57142
+ className: videoAspectRatio === "vertical" ? "aspect-9/16" : "aspect-video",
57143
+ children: /* @__PURE__ */ jsxRuntime.jsx("video", { controls: true, autoPlay: true, className: "h-full w-full rounded-lg", children: /* @__PURE__ */ jsxRuntime.jsx("source", { src: videoUrl, type: "video/mp4" }) })
57144
+ }
57145
+ )
57146
+ ]
57147
+ }
57148
+ ) })
56816
57149
  ] });
56817
57150
  }
56818
57151
  function HeroBusinessOperationsMosaic({
@@ -57739,7 +58072,7 @@ function HeroCustomerSupportLayered({
57739
58072
  patternClassName,
57740
58073
  className,
57741
58074
  containerClassName,
57742
- children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 items-center gap-4 md:gap-20 md:grid-cols-2", children: [
58075
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 items-center gap-8 md:gap-20 md:grid-cols-2", children: [
57743
58076
  /* @__PURE__ */ jsxRuntime.jsxs(
57744
58077
  "div",
57745
58078
  {