@ugurdemirel/landcraft 0.1.2 → 0.1.4

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 (116) hide show
  1. package/dist/index.cjs +2 -2
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.d.ts +41 -22
  4. package/dist/index.js +2261 -1937
  5. package/dist/index.js.map +1 -1
  6. package/dist/styles.css +3 -0
  7. package/package.json +1 -1
  8. package/src/components/Blog/BlogCard.tsx +12 -0
  9. package/src/components/Blog/BlogSection.tsx +95 -0
  10. package/src/components/Blog/index.ts +8 -0
  11. package/src/components/Blog/parts.tsx +38 -0
  12. package/src/components/Blog/types.ts +42 -0
  13. package/src/components/Blog/variants/Card.tsx +62 -0
  14. package/src/components/Blog/variants/Row.tsx +41 -0
  15. package/src/components/CTA/CTA.tsx +12 -0
  16. package/src/components/CTA/index.ts +2 -0
  17. package/src/components/CTA/parts.tsx +26 -0
  18. package/src/components/CTA/types.ts +12 -0
  19. package/src/components/CTA/variants/Inverse.tsx +50 -0
  20. package/src/components/CTA/variants/Panel.tsx +60 -0
  21. package/src/components/CTA/variants/Surface.tsx +34 -0
  22. package/src/components/FAQ/FAQ.tsx +48 -0
  23. package/src/components/FAQ/index.ts +2 -0
  24. package/src/components/FAQ/parts.tsx +74 -0
  25. package/src/components/FAQ/types.ts +18 -0
  26. package/src/components/FAQ/variants/Accordion.tsx +46 -0
  27. package/src/components/FAQ/variants/Cards.tsx +40 -0
  28. package/src/components/FAQ/variants/Split.tsx +44 -0
  29. package/src/components/Features/FeatureCard.tsx +44 -0
  30. package/src/components/Features/FeatureGrid.tsx +14 -0
  31. package/src/components/Features/index.ts +3 -0
  32. package/src/components/Features/parts.ts +15 -0
  33. package/src/components/Features/types.ts +25 -0
  34. package/src/components/Features/variants/Bento.tsx +32 -0
  35. package/src/components/Features/variants/Columns.tsx +21 -0
  36. package/src/components/Features/variants/EditorialRows.tsx +38 -0
  37. package/src/components/Footer/Footer.tsx +11 -0
  38. package/src/components/Footer/index.ts +2 -0
  39. package/src/components/Footer/parts.tsx +101 -0
  40. package/src/components/Footer/types.ts +32 -0
  41. package/src/components/Footer/variants/Classic.tsx +59 -0
  42. package/src/components/Footer/variants/Editorial.tsx +47 -0
  43. package/src/components/Footer/variants/Minimal.tsx +33 -0
  44. package/src/components/Hero/Hero.tsx +12 -0
  45. package/src/components/Hero/index.ts +2 -0
  46. package/src/components/Hero/parts.tsx +29 -0
  47. package/src/components/Hero/types.ts +20 -0
  48. package/src/components/Hero/variants/Centered.tsx +54 -0
  49. package/src/components/Hero/variants/Split.tsx +53 -0
  50. package/src/components/Hero/variants/Statement.tsx +60 -0
  51. package/src/components/LanguageSwitcher/LanguageSwitcher.tsx +37 -0
  52. package/src/components/LanguageSwitcher/index.ts +6 -0
  53. package/src/components/LanguageSwitcher/parts.tsx +144 -0
  54. package/src/components/LanguageSwitcher/types.ts +40 -0
  55. package/src/components/LanguageSwitcher/useLanguageSwitcher.ts +23 -0
  56. package/src/components/LanguageSwitcher/variants/Dropdown.tsx +88 -0
  57. package/src/components/LanguageSwitcher/variants/Modal.tsx +56 -0
  58. package/src/components/LogoCloud/LogoCloud.tsx +14 -0
  59. package/src/components/LogoCloud/index.ts +2 -0
  60. package/src/components/LogoCloud/parts.tsx +32 -0
  61. package/src/components/LogoCloud/types.ts +16 -0
  62. package/src/components/LogoCloud/variants/Marquee.tsx +30 -0
  63. package/src/components/LogoCloud/variants/Quiet.tsx +26 -0
  64. package/src/components/LogoCloud/variants/Strip.tsx +25 -0
  65. package/src/components/{MegaMenu.tsx → MegaMenu/MegaMenu.tsx} +108 -126
  66. package/src/components/MegaMenu/index.ts +9 -0
  67. package/src/components/MegaMenu/types.ts +56 -0
  68. package/src/components/Modal.tsx +1 -0
  69. package/src/components/Navbar/Navbar.tsx +185 -0
  70. package/src/components/Navbar/index.ts +2 -0
  71. package/src/components/Navbar/types.ts +30 -0
  72. package/src/components/Newsletter/Newsletter.tsx +12 -0
  73. package/src/components/Newsletter/index.ts +2 -0
  74. package/src/components/Newsletter/parts.tsx +23 -0
  75. package/src/components/Newsletter/types.ts +12 -0
  76. package/src/components/Newsletter/useNewsletterForm.ts +27 -0
  77. package/src/components/Newsletter/variants/Card.tsx +62 -0
  78. package/src/components/Newsletter/variants/Inline.tsx +54 -0
  79. package/src/components/Newsletter/variants/Underline.tsx +52 -0
  80. package/src/components/Pricing/Pricing.tsx +37 -0
  81. package/src/components/Pricing/index.ts +2 -0
  82. package/src/components/Pricing/parts.tsx +132 -0
  83. package/src/components/Pricing/types.ts +28 -0
  84. package/src/components/Pricing/variants/Bento.tsx +72 -0
  85. package/src/components/Pricing/variants/Cards.tsx +79 -0
  86. package/src/components/Pricing/variants/Compact.tsx +69 -0
  87. package/src/components/Stats/Stats.tsx +16 -0
  88. package/src/components/Stats/index.ts +2 -0
  89. package/src/components/Stats/parts.tsx +29 -0
  90. package/src/components/Stats/types.ts +23 -0
  91. package/src/components/Stats/variants/Cells.tsx +34 -0
  92. package/src/components/Stats/variants/Editorial.tsx +41 -0
  93. package/src/components/Stats/variants/Hairline.tsx +31 -0
  94. package/src/components/Stats/variants/Ticker.tsx +36 -0
  95. package/src/components/Testimonials/TestimonialCard.tsx +61 -0
  96. package/src/components/Testimonials/Testimonials.tsx +14 -0
  97. package/src/components/Testimonials/index.ts +3 -0
  98. package/src/components/Testimonials/parts.ts +7 -0
  99. package/src/components/Testimonials/types.ts +24 -0
  100. package/src/components/Testimonials/variants/Carousel.tsx +94 -0
  101. package/src/components/Testimonials/variants/Grid.tsx +19 -0
  102. package/src/components/Testimonials/variants/Marquee.tsx +28 -0
  103. package/src/utils/useTokenForeground.ts +1 -0
  104. package/src/components/Blog.tsx +0 -251
  105. package/src/components/CTA.tsx +0 -155
  106. package/src/components/FAQ.tsx +0 -163
  107. package/src/components/Features.tsx +0 -153
  108. package/src/components/Footer.tsx +0 -185
  109. package/src/components/Hero.tsx +0 -169
  110. package/src/components/LanguageSwitcher.tsx +0 -223
  111. package/src/components/LogoCloud.tsx +0 -100
  112. package/src/components/Navbar.tsx +0 -195
  113. package/src/components/Newsletter.tsx +0 -180
  114. package/src/components/Pricing.tsx +0 -336
  115. package/src/components/Stats.tsx +0 -181
  116. package/src/components/Testimonials.tsx +0 -205
package/dist/index.d.ts CHANGED
@@ -74,7 +74,6 @@ export declare interface BlogSectionProps extends Omit<HTMLAttributes<HTMLElemen
74
74
  description?: ReactNode;
75
75
  showAllLabel?: string;
76
76
  showAllHref?: string;
77
- /** Component used to render the "show all" link and post cards. Defaults to `<a>`. Pass your router's `<Link>` (Next.js, Remix, React Router…) for framework-aware navigation. */
78
77
  LinkComponent?: ElementType;
79
78
  }
80
79
 
@@ -183,12 +182,14 @@ export declare const Cpu: (props: IconProps) => JSX_2.Element;
183
182
 
184
183
  export declare const CTA: ForwardRefExoticComponent<CTAProps & RefAttributes<HTMLElement>>;
185
184
 
185
+ declare type CTAOption = "panel" | "surface" | "inverse";
186
+
186
187
  export declare interface CTAProps extends Omit<HTMLAttributes<HTMLElement>, "title"> {
187
188
  title: ReactNode;
188
189
  description?: ReactNode;
189
190
  action?: ReactNode;
190
191
  secondaryAction?: ReactNode;
191
- option?: "panel" | "surface" | "inverse";
192
+ option?: CTAOption;
192
193
  align?: "left" | "center";
193
194
  }
194
195
 
@@ -210,9 +211,11 @@ export declare interface FaqItem {
210
211
  answer: string;
211
212
  }
212
213
 
214
+ declare type FAQOption = "accordion" | "split" | "cards";
215
+
213
216
  export declare interface FAQProps extends Omit<HTMLAttributes<HTMLDivElement>, "title"> {
214
217
  items: FaqItem[];
215
- option?: "accordion" | "split" | "cards";
218
+ option?: FAQOption;
216
219
  allowMultiple?: boolean;
217
220
  defaultOpen?: number[];
218
221
  eyebrow?: ReactNode;
@@ -233,9 +236,11 @@ export declare interface FeatureCardProps extends Omit<HTMLAttributes<HTMLDivEle
233
236
 
234
237
  export declare const FeatureGrid: ForwardRefExoticComponent<FeatureGridProps & RefAttributes<HTMLDivElement>>;
235
238
 
239
+ declare type FeatureGridOption = "columns" | "bento" | "editorialRows";
240
+
236
241
  export declare interface FeatureGridProps extends Omit<HTMLAttributes<HTMLDivElement>, "title"> {
237
242
  features: FeatureItem[];
238
- option?: "columns" | "bento" | "editorialRows";
243
+ option?: FeatureGridOption;
239
244
  columns?: 2 | 3 | 4;
240
245
  }
241
246
 
@@ -247,7 +252,7 @@ export declare interface FeatureItem {
247
252
  }
248
253
 
249
254
  export declare const Footer: {
250
- ({ className, brand, logo, logoSrc, logoAlt, logoClassName, description, columns, socials, bottom, languageSwitcher, option, badge, LinkComponent, ...props }: FooterProps): JSX_2.Element;
255
+ ({ option, ...props }: FooterProps): JSX_2.Element;
251
256
  displayName: string;
252
257
  };
253
258
 
@@ -261,7 +266,7 @@ export declare interface FooterLink {
261
266
  href: string;
262
267
  }
263
268
 
264
- export declare interface FooterProps extends HTMLAttributes<HTMLElement> {
269
+ export declare interface FooterProps extends Omit<HTMLAttributes<HTMLElement>, "title"> {
265
270
  brand?: ReactNode;
266
271
  /** Custom logo node (component, <img>, inline SVG…). Replaces the wordmark. */
267
272
  logo?: ReactNode;
@@ -303,7 +308,7 @@ export declare interface HeroMeta {
303
308
  }
304
309
 
305
310
  export declare interface HeroProps extends Omit<HTMLAttributes<HTMLElement>, "title"> {
306
- variant?: "split" | "centered" | "statement";
311
+ variant?: HeroVariant;
307
312
  eyebrow?: ReactNode;
308
313
  title: ReactNode;
309
314
  description?: ReactNode;
@@ -314,6 +319,8 @@ export declare interface HeroProps extends Omit<HTMLAttributes<HTMLElement>, "ti
314
319
  meta?: HeroMeta[];
315
320
  }
316
321
 
322
+ declare type HeroVariant = "split" | "centered" | "statement";
323
+
317
324
  /**
318
325
  * Minimal 1.5px stroke icon set (Lucide/Heroicons inspired).
319
326
  * No emojis — the library ships a single, consistent icon vocabulary.
@@ -333,7 +340,7 @@ export declare interface LanguageOption {
333
340
  }
334
341
 
335
342
  export declare const LanguageSwitcher: {
336
- ({ className, languages, option, value, defaultValue, onChange, align, modalTitle, showFlag, inverse, ...props }: LanguageSwitcherProps): JSX_2.Element | null;
343
+ ({ option, languages, value, defaultValue, onChange, ...props }: LanguageSwitcherProps): JSX_2.Element | null;
337
344
  displayName: string;
338
345
  };
339
346
 
@@ -367,11 +374,13 @@ export { Lock_2 as Lock }
367
374
 
368
375
  export declare const LogoCloud: ForwardRefExoticComponent<LogoCloudProps & RefAttributes<HTMLDivElement>>;
369
376
 
377
+ declare type LogoCloudOption = "quiet" | "marquee" | "strip";
378
+
370
379
  export declare interface LogoCloudProps extends HTMLAttributes<HTMLDivElement> {
371
380
  logos: LogoItem[];
372
381
  title?: string;
373
382
  /** Visual option: quiet list · infinite marquee · hairline strip */
374
- option?: "quiet" | "marquee" | "strip";
383
+ option?: LogoCloudOption;
375
384
  }
376
385
 
377
386
  export declare interface LogoItem {
@@ -383,7 +392,7 @@ export declare interface LogoItem {
383
392
  export declare const Mail: (props: IconProps) => JSX_2.Element;
384
393
 
385
394
  export declare const MegaMenu: {
386
- ({ className, variant, brand, logo, logoSrc, logoAlt, logoClassName, brandHref, items, actions, cta, sticky, LinkComponent, onKeyDown, ...props }: MegaMenuProps): JSX_2.Element;
395
+ ({ className, variant, brand, logo, logoSrc, logoAlt, logoClassName, brandHref, items, actions, cta, languageSwitcher, sticky, LinkComponent, onKeyDown, ...props }: MegaMenuProps): JSX_2.Element;
387
396
  displayName: string;
388
397
  };
389
398
 
@@ -419,7 +428,7 @@ export declare interface MegaMenuLink {
419
428
  }
420
429
 
421
430
  export declare interface MegaMenuProps extends Omit<HTMLAttributes<HTMLElement>, "title"> {
422
- variant?: "classic" | "floating" | "inverse";
431
+ variant?: MegaMenuVariant;
423
432
  /** Wordmark rendered when no logo is supplied. */
424
433
  brand?: ReactNode;
425
434
  /** Custom logo node (component, <img>, inline SVG…). Replaces the wordmark. */
@@ -433,11 +442,15 @@ export declare interface MegaMenuProps extends Omit<HTMLAttributes<HTMLElement>,
433
442
  /** Rendered at the right side of the bar (desktop) and inside the mobile panel. */
434
443
  actions?: ReactNode;
435
444
  cta?: ReactNode;
445
+ /** Optional language switcher rendered on the right (desktop) and beside the menu button (mobile). */
446
+ languageSwitcher?: ReactNode;
436
447
  sticky?: boolean;
437
448
  /** Component used to render brand, trigger and panel links. Defaults to `<a>`. Pass your router's `<Link>` (Next.js, Remix, React Router…) for framework-aware navigation. */
438
449
  LinkComponent?: ElementType;
439
450
  }
440
451
 
452
+ declare type MegaMenuVariant = "classic" | "floating" | "inverse";
453
+
441
454
  export declare const Menu: (props: IconProps) => JSX_2.Element;
442
455
 
443
456
  /**
@@ -468,7 +481,7 @@ export declare const Navbar: {
468
481
  };
469
482
 
470
483
  export declare interface NavbarProps extends Omit<HTMLAttributes<HTMLElement>, "title"> {
471
- variant?: "classic" | "floating" | "inverse";
484
+ variant?: NavbarVariant;
472
485
  /** Wordmark or fallback text rendered when no logo is supplied. */
473
486
  brand?: ReactNode;
474
487
  /** Custom logo node (component, <img>, inline SVG…). Replaces the wordmark. */
@@ -489,18 +502,22 @@ export declare interface NavbarProps extends Omit<HTMLAttributes<HTMLElement>, "
489
502
  LinkComponent?: ElementType;
490
503
  }
491
504
 
505
+ declare type NavbarVariant = "classic" | "floating" | "inverse";
506
+
492
507
  export declare interface NavLink {
493
508
  label: string;
494
509
  href: string;
495
510
  }
496
511
 
497
512
  export declare const Newsletter: {
498
- ({ className, option, placeholder, buttonLabel, successMessage, note, onSubmit, ...props }: NewsletterProps): JSX_2.Element;
513
+ (props: NewsletterProps): JSX_2.Element;
499
514
  displayName: string;
500
515
  };
501
516
 
517
+ declare type NewsletterOption = "inline" | "card" | "underline";
518
+
502
519
  export declare interface NewsletterProps extends Omit<HTMLAttributes<HTMLFormElement>, "onSubmit"> {
503
- option?: "inline" | "card" | "underline";
520
+ option?: NewsletterOption;
504
521
  placeholder?: string;
505
522
  buttonLabel?: string;
506
523
  successMessage?: string;
@@ -531,9 +548,11 @@ export declare const Pricing: {
531
548
  displayName: string;
532
549
  };
533
550
 
551
+ declare type PricingOption = "cards" | "bento" | "compact";
552
+
534
553
  export declare interface PricingProps extends Omit<HTMLAttributes<HTMLDivElement>, "onSelect"> {
535
554
  plans: Plan[];
536
- option?: "cards" | "bento" | "compact";
555
+ option?: PricingOption;
537
556
  defaultBilling?: "monthly" | "yearly";
538
557
  onSelect?: (plan: Plan, billing: "monthly" | "yearly") => void;
539
558
  }
@@ -634,9 +653,11 @@ export declare interface Stat {
634
653
 
635
654
  export declare const Stats: ForwardRefExoticComponent<StatsProps & RefAttributes<HTMLDListElement>>;
636
655
 
656
+ declare type StatsOption = "editorial" | "hairline" | "cells" | "ticker";
657
+
637
658
  export declare interface StatsProps extends HTMLAttributes<HTMLDListElement> {
638
659
  stats: Stat[];
639
- option?: "editorial" | "hairline" | "cells" | "ticker";
660
+ option?: StatsOption;
640
661
  columns?: 2 | 3 | 4;
641
662
  }
642
663
 
@@ -659,15 +680,13 @@ export declare interface TestimonialCardProps extends HTMLAttributes<HTMLElement
659
680
  testimonial: Testimonial;
660
681
  }
661
682
 
662
- export declare const Testimonials: {
663
- ({ className, items, option, ...props }: TestimonialsProps): JSX_2.Element;
664
- displayName: string;
665
- };
683
+ export declare const Testimonials: ForwardRefExoticComponent<TestimonialsProps & RefAttributes<HTMLDivElement>>;
684
+
685
+ declare type TestimonialsOption = "grid" | "carousel" | "marquee";
666
686
 
667
- /** Holds per-option rendering + controls together. */
668
687
  export declare interface TestimonialsProps extends HTMLAttributes<HTMLDivElement> {
669
688
  items: Testimonial[];
670
- option?: "grid" | "carousel" | "marquee";
689
+ option?: TestimonialsOption;
671
690
  title?: string;
672
691
  }
673
692