@ugurdemirel/landcraft 0.1.9 → 0.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/Badge.cjs +2 -0
- package/dist/cjs/components/Badge.cjs.map +1 -0
- package/dist/cjs/components/Blog/BlogCard.cjs +2 -0
- package/dist/cjs/components/Blog/BlogCard.cjs.map +1 -0
- package/dist/cjs/components/Blog/BlogSection.cjs +2 -0
- package/dist/cjs/components/Blog/BlogSection.cjs.map +1 -0
- package/dist/cjs/components/Blog/parts.cjs +2 -0
- package/dist/cjs/components/Blog/parts.cjs.map +1 -0
- package/dist/cjs/components/Blog/variants/Card.cjs +2 -0
- package/dist/cjs/components/Blog/variants/Card.cjs.map +1 -0
- package/dist/cjs/components/Blog/variants/Row.cjs +2 -0
- package/dist/cjs/components/Blog/variants/Row.cjs.map +1 -0
- package/dist/cjs/components/Button.cjs +2 -0
- package/dist/cjs/components/Button.cjs.map +1 -0
- package/dist/cjs/components/CTA/CTA.cjs +2 -0
- package/dist/cjs/components/CTA/CTA.cjs.map +1 -0
- package/dist/cjs/components/CTA/parts.cjs +2 -0
- package/dist/cjs/components/CTA/parts.cjs.map +1 -0
- package/dist/cjs/components/CTA/variants/Inverse.cjs +3 -0
- package/dist/cjs/components/CTA/variants/Inverse.cjs.map +1 -0
- package/dist/cjs/components/CTA/variants/Panel.cjs +3 -0
- package/dist/cjs/components/CTA/variants/Panel.cjs.map +1 -0
- package/dist/cjs/components/CTA/variants/Surface.cjs +2 -0
- package/dist/cjs/components/CTA/variants/Surface.cjs.map +1 -0
- package/dist/cjs/components/Card.cjs +2 -0
- package/dist/cjs/components/Card.cjs.map +1 -0
- package/dist/cjs/components/Container.cjs +2 -0
- package/dist/cjs/components/Container.cjs.map +1 -0
- package/dist/cjs/components/FAQ/FAQ.cjs +2 -0
- package/dist/cjs/components/FAQ/FAQ.cjs.map +1 -0
- package/dist/cjs/components/FAQ/parts.cjs +3 -0
- package/dist/cjs/components/FAQ/parts.cjs.map +1 -0
- package/dist/cjs/components/FAQ/variants/Accordion.cjs +3 -0
- package/dist/cjs/components/FAQ/variants/Accordion.cjs.map +1 -0
- package/dist/cjs/components/FAQ/variants/Cards.cjs +2 -0
- package/dist/cjs/components/FAQ/variants/Cards.cjs.map +1 -0
- package/dist/cjs/components/FAQ/variants/Split.cjs +2 -0
- package/dist/cjs/components/FAQ/variants/Split.cjs.map +1 -0
- package/dist/cjs/components/Features/FeatureCard.cjs +2 -0
- package/dist/cjs/components/Features/FeatureCard.cjs.map +1 -0
- package/dist/cjs/components/Features/FeatureGrid.cjs +2 -0
- package/dist/cjs/components/Features/FeatureGrid.cjs.map +1 -0
- package/dist/cjs/components/Features/parts.cjs +2 -0
- package/dist/cjs/components/Features/parts.cjs.map +1 -0
- package/dist/cjs/components/Features/variants/Bento.cjs +2 -0
- package/dist/cjs/components/Features/variants/Bento.cjs.map +1 -0
- package/dist/cjs/components/Features/variants/Columns.cjs +2 -0
- package/dist/cjs/components/Features/variants/Columns.cjs.map +1 -0
- package/dist/cjs/components/Features/variants/EditorialRows.cjs +2 -0
- package/dist/cjs/components/Features/variants/EditorialRows.cjs.map +1 -0
- package/dist/cjs/components/Footer/Footer.cjs +2 -0
- package/dist/cjs/components/Footer/Footer.cjs.map +1 -0
- package/dist/cjs/components/Footer/parts.cjs +2 -0
- package/dist/cjs/components/Footer/parts.cjs.map +1 -0
- package/dist/cjs/components/Footer/variants/Classic.cjs +2 -0
- package/dist/cjs/components/Footer/variants/Classic.cjs.map +1 -0
- package/dist/cjs/components/Footer/variants/Editorial.cjs +2 -0
- package/dist/cjs/components/Footer/variants/Editorial.cjs.map +1 -0
- package/dist/cjs/components/Footer/variants/Minimal.cjs +2 -0
- package/dist/cjs/components/Footer/variants/Minimal.cjs.map +1 -0
- package/dist/cjs/components/Hero/Hero.cjs +2 -0
- package/dist/cjs/components/Hero/Hero.cjs.map +1 -0
- package/dist/cjs/components/Hero/parts.cjs +2 -0
- package/dist/cjs/components/Hero/parts.cjs.map +1 -0
- package/dist/cjs/components/Hero/variants/Centered.cjs +2 -0
- package/dist/cjs/components/Hero/variants/Centered.cjs.map +1 -0
- package/dist/cjs/components/Hero/variants/Split.cjs +2 -0
- package/dist/cjs/components/Hero/variants/Split.cjs.map +1 -0
- package/dist/cjs/components/Hero/variants/Statement.cjs +3 -0
- package/dist/cjs/components/Hero/variants/Statement.cjs.map +1 -0
- package/dist/cjs/components/LanguageSwitcher/LanguageSwitcher.cjs +3 -0
- package/dist/cjs/components/LanguageSwitcher/LanguageSwitcher.cjs.map +1 -0
- package/dist/cjs/components/LanguageSwitcher/parts.cjs +3 -0
- package/dist/cjs/components/LanguageSwitcher/parts.cjs.map +1 -0
- package/dist/cjs/components/LanguageSwitcher/useLanguageSwitcher.cjs +3 -0
- package/dist/cjs/components/LanguageSwitcher/useLanguageSwitcher.cjs.map +1 -0
- package/dist/cjs/components/LanguageSwitcher/variants/Dropdown.cjs +3 -0
- package/dist/cjs/components/LanguageSwitcher/variants/Dropdown.cjs.map +1 -0
- package/dist/cjs/components/LanguageSwitcher/variants/Modal.cjs +3 -0
- package/dist/cjs/components/LanguageSwitcher/variants/Modal.cjs.map +1 -0
- package/dist/cjs/components/LogoCloud/LogoCloud.cjs +2 -0
- package/dist/cjs/components/LogoCloud/LogoCloud.cjs.map +1 -0
- package/dist/cjs/components/LogoCloud/parts.cjs +2 -0
- package/dist/cjs/components/LogoCloud/parts.cjs.map +1 -0
- package/dist/cjs/components/LogoCloud/variants/Marquee.cjs +2 -0
- package/dist/cjs/components/LogoCloud/variants/Marquee.cjs.map +1 -0
- package/dist/cjs/components/LogoCloud/variants/Quiet.cjs +2 -0
- package/dist/cjs/components/LogoCloud/variants/Quiet.cjs.map +1 -0
- package/dist/cjs/components/LogoCloud/variants/Strip.cjs +2 -0
- package/dist/cjs/components/LogoCloud/variants/Strip.cjs.map +1 -0
- package/dist/cjs/components/MegaMenu/MegaMenu.cjs +3 -0
- package/dist/cjs/components/MegaMenu/MegaMenu.cjs.map +1 -0
- package/dist/cjs/components/Modal.cjs +3 -0
- package/dist/cjs/components/Modal.cjs.map +1 -0
- package/dist/cjs/components/Navbar/Navbar.cjs +3 -0
- package/dist/cjs/components/Navbar/Navbar.cjs.map +1 -0
- package/dist/cjs/components/Newsletter/Newsletter.cjs +2 -0
- package/dist/cjs/components/Newsletter/Newsletter.cjs.map +1 -0
- package/dist/cjs/components/Newsletter/parts.cjs +2 -0
- package/dist/cjs/components/Newsletter/parts.cjs.map +1 -0
- package/dist/cjs/components/Newsletter/useNewsletterForm.cjs +3 -0
- package/dist/cjs/components/Newsletter/useNewsletterForm.cjs.map +1 -0
- package/dist/cjs/components/Newsletter/variants/Card.cjs +3 -0
- package/dist/cjs/components/Newsletter/variants/Card.cjs.map +1 -0
- package/dist/cjs/components/Newsletter/variants/Inline.cjs +3 -0
- package/dist/cjs/components/Newsletter/variants/Inline.cjs.map +1 -0
- package/dist/cjs/components/Newsletter/variants/Underline.cjs +3 -0
- package/dist/cjs/components/Newsletter/variants/Underline.cjs.map +1 -0
- package/dist/cjs/components/Pricing/Pricing.cjs +3 -0
- package/dist/cjs/components/Pricing/Pricing.cjs.map +1 -0
- package/dist/cjs/components/Pricing/parts.cjs +3 -0
- package/dist/cjs/components/Pricing/parts.cjs.map +1 -0
- package/dist/cjs/components/Pricing/variants/Bento.cjs +2 -0
- package/dist/cjs/components/Pricing/variants/Bento.cjs.map +1 -0
- package/dist/cjs/components/Pricing/variants/Cards.cjs +2 -0
- package/dist/cjs/components/Pricing/variants/Cards.cjs.map +1 -0
- package/dist/cjs/components/Pricing/variants/Compact.cjs +2 -0
- package/dist/cjs/components/Pricing/variants/Compact.cjs.map +1 -0
- package/dist/cjs/components/Prose.cjs +2 -0
- package/dist/cjs/components/Prose.cjs.map +1 -0
- package/dist/cjs/components/Section.cjs +2 -0
- package/dist/cjs/components/Section.cjs.map +1 -0
- package/dist/cjs/components/Slot.cjs +2 -0
- package/dist/cjs/components/Slot.cjs.map +1 -0
- package/dist/cjs/components/Stats/Stats.cjs +2 -0
- package/dist/cjs/components/Stats/Stats.cjs.map +1 -0
- package/dist/cjs/components/Stats/parts.cjs +2 -0
- package/dist/cjs/components/Stats/parts.cjs.map +1 -0
- package/dist/cjs/components/Stats/variants/Cells.cjs +2 -0
- package/dist/cjs/components/Stats/variants/Cells.cjs.map +1 -0
- package/dist/cjs/components/Stats/variants/Editorial.cjs +2 -0
- package/dist/cjs/components/Stats/variants/Editorial.cjs.map +1 -0
- package/dist/cjs/components/Stats/variants/Hairline.cjs +2 -0
- package/dist/cjs/components/Stats/variants/Hairline.cjs.map +1 -0
- package/dist/cjs/components/Stats/variants/Ticker.cjs +2 -0
- package/dist/cjs/components/Stats/variants/Ticker.cjs.map +1 -0
- package/dist/cjs/components/Testimonials/TestimonialCard.cjs +2 -0
- package/dist/cjs/components/Testimonials/TestimonialCard.cjs.map +1 -0
- package/dist/cjs/components/Testimonials/Testimonials.cjs +2 -0
- package/dist/cjs/components/Testimonials/Testimonials.cjs.map +1 -0
- package/dist/cjs/components/Testimonials/parts.cjs +2 -0
- package/dist/cjs/components/Testimonials/parts.cjs.map +1 -0
- package/dist/cjs/components/Testimonials/variants/Carousel.cjs +3 -0
- package/dist/cjs/components/Testimonials/variants/Carousel.cjs.map +1 -0
- package/dist/cjs/components/Testimonials/variants/Grid.cjs +2 -0
- package/dist/cjs/components/Testimonials/variants/Grid.cjs.map +1 -0
- package/dist/cjs/components/Testimonials/variants/Marquee.cjs +2 -0
- package/dist/cjs/components/Testimonials/variants/Marquee.cjs.map +1 -0
- package/dist/cjs/icons.cjs +2 -0
- package/dist/cjs/icons.cjs.map +1 -0
- package/dist/cjs/index.cjs +2 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.cjs +2 -0
- package/dist/cjs/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.cjs.map +1 -0
- package/dist/cjs/node_modules/.pnpm/tailwind-merge@2.6.1/node_modules/tailwind-merge/dist/bundle-mjs.cjs +2 -0
- package/dist/cjs/node_modules/.pnpm/tailwind-merge@2.6.1/node_modules/tailwind-merge/dist/bundle-mjs.cjs.map +1 -0
- package/dist/cjs/utils/cn.cjs +2 -0
- package/dist/cjs/utils/cn.cjs.map +1 -0
- package/dist/cjs/utils/contrast.cjs +2 -0
- package/dist/cjs/utils/contrast.cjs.map +1 -0
- package/dist/cjs/utils/iso2Flag.cjs +8 -0
- package/dist/cjs/utils/iso2Flag.cjs.map +1 -0
- package/dist/cjs/utils/useTokenForeground.cjs +3 -0
- package/dist/cjs/utils/useTokenForeground.cjs.map +1 -0
- package/dist/es/components/Badge.js +51 -0
- package/dist/es/components/Badge.js.map +1 -0
- package/dist/es/components/Blog/BlogCard.js +12 -0
- package/dist/es/components/Blog/BlogCard.js.map +1 -0
- package/dist/es/components/Blog/BlogSection.js +65 -0
- package/dist/es/components/Blog/BlogSection.js.map +1 -0
- package/dist/es/components/Blog/parts.js +29 -0
- package/dist/es/components/Blog/parts.js.map +1 -0
- package/dist/es/components/Blog/variants/Card.js +46 -0
- package/dist/es/components/Blog/variants/Card.js.map +1 -0
- package/dist/es/components/Blog/variants/Row.js +33 -0
- package/dist/es/components/Blog/variants/Row.js.map +1 -0
- package/dist/es/components/Button.js +73 -0
- package/dist/es/components/Button.js.map +1 -0
- package/dist/es/components/CTA/CTA.js +11 -0
- package/dist/es/components/CTA/CTA.js.map +1 -0
- package/dist/es/components/CTA/parts.js +26 -0
- package/dist/es/components/CTA/parts.js.map +1 -0
- package/dist/es/components/CTA/variants/Inverse.js +47 -0
- package/dist/es/components/CTA/variants/Inverse.js.map +1 -0
- package/dist/es/components/CTA/variants/Panel.js +63 -0
- package/dist/es/components/CTA/variants/Panel.js.map +1 -0
- package/dist/es/components/CTA/variants/Surface.js +28 -0
- package/dist/es/components/CTA/variants/Surface.js.map +1 -0
- package/dist/es/components/Card.js +63 -0
- package/dist/es/components/Card.js.map +1 -0
- package/dist/es/components/Container.js +58 -0
- package/dist/es/components/Container.js.map +1 -0
- package/dist/es/components/FAQ/FAQ.js +40 -0
- package/dist/es/components/FAQ/FAQ.js.map +1 -0
- package/dist/es/components/FAQ/parts.js +56 -0
- package/dist/es/components/FAQ/parts.js.map +1 -0
- package/dist/es/components/FAQ/variants/Accordion.js +43 -0
- package/dist/es/components/FAQ/variants/Accordion.js.map +1 -0
- package/dist/es/components/FAQ/variants/Cards.js +33 -0
- package/dist/es/components/FAQ/variants/Cards.js.map +1 -0
- package/dist/es/components/FAQ/variants/Split.js +35 -0
- package/dist/es/components/FAQ/variants/Split.js.map +1 -0
- package/dist/es/components/Features/FeatureCard.js +40 -0
- package/dist/es/components/Features/FeatureCard.js.map +1 -0
- package/dist/es/components/Features/FeatureGrid.js +13 -0
- package/dist/es/components/Features/FeatureGrid.js.map +1 -0
- package/dist/es/components/Features/parts.js +17 -0
- package/dist/es/components/Features/parts.js.map +1 -0
- package/dist/es/components/Features/variants/Bento.js +27 -0
- package/dist/es/components/Features/variants/Bento.js.map +1 -0
- package/dist/es/components/Features/variants/Columns.js +13 -0
- package/dist/es/components/Features/variants/Columns.js.map +1 -0
- package/dist/es/components/Features/variants/EditorialRows.js +25 -0
- package/dist/es/components/Features/variants/EditorialRows.js.map +1 -0
- package/dist/es/components/Footer/Footer.js +10 -0
- package/dist/es/components/Footer/Footer.js.map +1 -0
- package/dist/es/components/Footer/parts.js +65 -0
- package/dist/es/components/Footer/parts.js.map +1 -0
- package/dist/es/components/Footer/variants/Classic.js +43 -0
- package/dist/es/components/Footer/variants/Classic.js.map +1 -0
- package/dist/es/components/Footer/variants/Editorial.js +39 -0
- package/dist/es/components/Footer/variants/Editorial.js.map +1 -0
- package/dist/es/components/Footer/variants/Minimal.js +20 -0
- package/dist/es/components/Footer/variants/Minimal.js.map +1 -0
- package/dist/es/components/Hero/Hero.js +11 -0
- package/dist/es/components/Hero/Hero.js.map +1 -0
- package/dist/es/components/Hero/parts.js +21 -0
- package/dist/es/components/Hero/parts.js.map +1 -0
- package/dist/es/components/Hero/variants/Centered.js +41 -0
- package/dist/es/components/Hero/variants/Centered.js.map +1 -0
- package/dist/es/components/Hero/variants/Split.js +36 -0
- package/dist/es/components/Hero/variants/Split.js.map +1 -0
- package/dist/es/components/Hero/variants/Statement.js +46 -0
- package/dist/es/components/Hero/variants/Statement.js.map +1 -0
- package/dist/es/components/LanguageSwitcher/LanguageSwitcher.js +34 -0
- package/dist/es/components/LanguageSwitcher/LanguageSwitcher.js.map +1 -0
- package/dist/es/components/LanguageSwitcher/parts.js +107 -0
- package/dist/es/components/LanguageSwitcher/parts.js.map +1 -0
- package/dist/es/components/LanguageSwitcher/useLanguageSwitcher.js +13 -0
- package/dist/es/components/LanguageSwitcher/useLanguageSwitcher.js.map +1 -0
- package/dist/es/components/LanguageSwitcher/variants/Dropdown.js +87 -0
- package/dist/es/components/LanguageSwitcher/variants/Dropdown.js.map +1 -0
- package/dist/es/components/LanguageSwitcher/variants/Modal.js +54 -0
- package/dist/es/components/LanguageSwitcher/variants/Modal.js.map +1 -0
- package/dist/es/components/LogoCloud/LogoCloud.js +13 -0
- package/dist/es/components/LogoCloud/LogoCloud.js.map +1 -0
- package/dist/es/components/LogoCloud/parts.js +22 -0
- package/dist/es/components/LogoCloud/parts.js.map +1 -0
- package/dist/es/components/LogoCloud/variants/Marquee.js +18 -0
- package/dist/es/components/LogoCloud/variants/Marquee.js.map +1 -0
- package/dist/es/components/LogoCloud/variants/Quiet.js +15 -0
- package/dist/es/components/LogoCloud/variants/Quiet.js.map +1 -0
- package/dist/es/components/LogoCloud/variants/Strip.js +15 -0
- package/dist/es/components/LogoCloud/variants/Strip.js.map +1 -0
- package/dist/es/components/MegaMenu/MegaMenu.js +371 -0
- package/dist/es/components/MegaMenu/MegaMenu.js.map +1 -0
- package/dist/es/components/Modal.js +81 -0
- package/dist/es/components/Modal.js.map +1 -0
- package/dist/es/components/Navbar/Navbar.js +135 -0
- package/dist/es/components/Navbar/Navbar.js.map +1 -0
- package/dist/es/components/Newsletter/Newsletter.js +13 -0
- package/dist/es/components/Newsletter/Newsletter.js.map +1 -0
- package/dist/es/components/Newsletter/parts.js +18 -0
- package/dist/es/components/Newsletter/parts.js.map +1 -0
- package/dist/es/components/Newsletter/useNewsletterForm.js +20 -0
- package/dist/es/components/Newsletter/useNewsletterForm.js.map +1 -0
- package/dist/es/components/Newsletter/variants/Card.js +55 -0
- package/dist/es/components/Newsletter/variants/Card.js.map +1 -0
- package/dist/es/components/Newsletter/variants/Inline.js +51 -0
- package/dist/es/components/Newsletter/variants/Inline.js.map +1 -0
- package/dist/es/components/Newsletter/variants/Underline.js +51 -0
- package/dist/es/components/Newsletter/variants/Underline.js.map +1 -0
- package/dist/es/components/Pricing/Pricing.js +32 -0
- package/dist/es/components/Pricing/Pricing.js.map +1 -0
- package/dist/es/components/Pricing/parts.js +119 -0
- package/dist/es/components/Pricing/parts.js.map +1 -0
- package/dist/es/components/Pricing/variants/Bento.js +47 -0
- package/dist/es/components/Pricing/variants/Bento.js.map +1 -0
- package/dist/es/components/Pricing/variants/Cards.js +49 -0
- package/dist/es/components/Pricing/variants/Cards.js.map +1 -0
- package/dist/es/components/Pricing/variants/Compact.js +49 -0
- package/dist/es/components/Pricing/variants/Compact.js.map +1 -0
- package/dist/es/components/Prose.js +36 -0
- package/dist/es/components/Prose.js.map +1 -0
- package/dist/es/components/Section.js +69 -0
- package/dist/es/components/Section.js.map +1 -0
- package/dist/es/components/Slot.js +33 -0
- package/dist/es/components/Slot.js.map +1 -0
- package/dist/es/components/Stats/Stats.js +14 -0
- package/dist/es/components/Stats/Stats.js.map +1 -0
- package/dist/es/components/Stats/parts.js +32 -0
- package/dist/es/components/Stats/parts.js.map +1 -0
- package/dist/es/components/Stats/variants/Cells.js +28 -0
- package/dist/es/components/Stats/variants/Cells.js.map +1 -0
- package/dist/es/components/Stats/variants/Editorial.js +32 -0
- package/dist/es/components/Stats/variants/Editorial.js.map +1 -0
- package/dist/es/components/Stats/variants/Hairline.js +25 -0
- package/dist/es/components/Stats/variants/Hairline.js.map +1 -0
- package/dist/es/components/Stats/variants/Ticker.js +29 -0
- package/dist/es/components/Stats/variants/Ticker.js.map +1 -0
- package/dist/es/components/Testimonials/TestimonialCard.js +50 -0
- package/dist/es/components/Testimonials/TestimonialCard.js.map +1 -0
- package/dist/es/components/Testimonials/Testimonials.js +13 -0
- package/dist/es/components/Testimonials/Testimonials.js.map +1 -0
- package/dist/es/components/Testimonials/parts.js +5 -0
- package/dist/es/components/Testimonials/parts.js.map +1 -0
- package/dist/es/components/Testimonials/variants/Carousel.js +83 -0
- package/dist/es/components/Testimonials/variants/Carousel.js.map +1 -0
- package/dist/es/components/Testimonials/variants/Grid.js +12 -0
- package/dist/es/components/Testimonials/variants/Grid.js.map +1 -0
- package/dist/es/components/Testimonials/variants/Marquee.js +15 -0
- package/dist/es/components/Testimonials/variants/Marquee.js.map +1 -0
- package/dist/es/icons.js +158 -0
- package/dist/es/icons.js.map +1 -0
- package/dist/es/index.js +106 -0
- package/dist/es/index.js.map +1 -0
- package/dist/es/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js +17 -0
- package/dist/es/node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js.map +1 -0
- package/dist/es/node_modules/.pnpm/tailwind-merge@2.6.1/node_modules/tailwind-merge/dist/bundle-mjs.js +2266 -0
- package/dist/es/node_modules/.pnpm/tailwind-merge@2.6.1/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
- package/dist/es/utils/cn.js +9 -0
- package/dist/es/utils/cn.js.map +1 -0
- package/dist/es/utils/contrast.js +48 -0
- package/dist/es/utils/contrast.js.map +1 -0
- package/dist/es/utils/iso2Flag.js +17 -0
- package/dist/es/utils/iso2Flag.js.map +1 -0
- package/dist/es/utils/useTokenForeground.js +28 -0
- package/dist/es/utils/useTokenForeground.js.map +1 -0
- package/package.json +5 -5
- package/dist/index.cjs +0 -8
- package/dist/index.cjs.map +0 -1
- package/dist/index.js +0 -5128
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { jsxs as t, jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as s } from "react";
|
|
3
|
+
import { cn as m } from "../../../utils/cn.js";
|
|
4
|
+
import { ArrowRight as c } from "../../../icons.js";
|
|
5
|
+
import { Badge as f } from "../../Badge.js";
|
|
6
|
+
import { Cover as u, AuthorMark as x } from "../parts.js";
|
|
7
|
+
const g = s(
|
|
8
|
+
({ className: o, post: e, LinkComponent: n, ...l }, d) => {
|
|
9
|
+
const i = n ?? "a", a = e.author;
|
|
10
|
+
return /* @__PURE__ */ t(
|
|
11
|
+
i,
|
|
12
|
+
{
|
|
13
|
+
ref: d,
|
|
14
|
+
href: e.href ?? "#",
|
|
15
|
+
className: m(
|
|
16
|
+
"group flex h-full cursor-pointer flex-col overflow-hidden rounded-xl border border-border bg-surface transition-colors duration-200 hover:border-foreground/20",
|
|
17
|
+
o
|
|
18
|
+
),
|
|
19
|
+
...l,
|
|
20
|
+
children: [
|
|
21
|
+
/* @__PURE__ */ r("div", { className: "overflow-hidden", children: /* @__PURE__ */ r(u, { post: e }) }),
|
|
22
|
+
/* @__PURE__ */ t("div", { className: "flex flex-1 flex-col p-6", children: [
|
|
23
|
+
/* @__PURE__ */ t("div", { className: "flex items-center justify-between gap-3", children: [
|
|
24
|
+
e.category ? /* @__PURE__ */ r(f, { variant: "soft", size: "sm", children: e.category }) : /* @__PURE__ */ r("span", {}),
|
|
25
|
+
e.readTime ? /* @__PURE__ */ r("span", { className: "text-xs text-muted-foreground", children: e.readTime }) : null
|
|
26
|
+
] }),
|
|
27
|
+
/* @__PURE__ */ r("h3", { className: "mt-4 font-display text-lg font-semibold leading-snug tracking-tight text-foreground sm:text-xl", children: e.title }),
|
|
28
|
+
e.excerpt ? /* @__PURE__ */ r("p", { className: "mt-2.5 line-clamp-2 text-sm leading-6 text-muted-foreground", children: e.excerpt }) : null,
|
|
29
|
+
/* @__PURE__ */ t("div", { className: "mt-5 flex items-center justify-between gap-3 border-t border-border pt-4", children: [
|
|
30
|
+
a ? /* @__PURE__ */ t("span", { className: "flex min-w-0 items-center gap-2.5", children: [
|
|
31
|
+
/* @__PURE__ */ r(x, { name: a.name, avatar: a.avatar }),
|
|
32
|
+
/* @__PURE__ */ r("span", { className: "truncate text-xs font-medium text-foreground", children: a.name })
|
|
33
|
+
] }) : /* @__PURE__ */ r("span", { className: "text-xs tabular-nums text-muted-foreground", children: e.date }),
|
|
34
|
+
/* @__PURE__ */ r(c, { className: "h-4 w-4 text-foreground/35 transition-all duration-200 group-hover:translate-x-0.5 group-hover:text-foreground" })
|
|
35
|
+
] })
|
|
36
|
+
] })
|
|
37
|
+
]
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
g.displayName = "BlogCardCard";
|
|
43
|
+
export {
|
|
44
|
+
g as BlogCardCard
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=Card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Card.js","sources":["../../../../../src/components/Blog/variants/Card.tsx"],"sourcesContent":["import { forwardRef, type ElementType } from \"react\";\nimport { cn } from \"../../../utils/cn\";\nimport { ArrowRight } from \"../../../icons\";\nimport { Badge } from \"../../Badge\";\nimport { AuthorMark, Cover } from \"../parts\";\nimport type { BlogPost } from \"../types\";\n\ninterface BlogCardCardProps {\n post: BlogPost;\n LinkComponent?: ElementType;\n className?: string;\n}\n\nexport const BlogCardCard = forwardRef<HTMLAnchorElement, BlogCardCardProps>(\n ({ className, post, LinkComponent, ...props }, ref) => {\n const Link = LinkComponent ?? \"a\";\n const author = post.author;\n return (\n <Link\n ref={ref}\n href={post.href ?? \"#\"}\n className={cn(\n \"group flex h-full cursor-pointer flex-col overflow-hidden rounded-xl border border-border bg-surface transition-colors duration-200 hover:border-foreground/20\",\n className,\n )}\n {...props}\n >\n <div className=\"overflow-hidden\">\n <Cover post={post} />\n </div>\n <div className=\"flex flex-1 flex-col p-6\">\n <div className=\"flex items-center justify-between gap-3\">\n {post.category ? <Badge variant=\"soft\" size=\"sm\">{post.category}</Badge> : <span />}\n {post.readTime ? (\n <span className=\"text-xs text-muted-foreground\">{post.readTime}</span>\n ) : null}\n </div>\n <h3 className=\"mt-4 font-display text-lg font-semibold leading-snug tracking-tight text-foreground sm:text-xl\">\n {post.title}\n </h3>\n {post.excerpt ? (\n <p className=\"mt-2.5 line-clamp-2 text-sm leading-6 text-muted-foreground\">\n {post.excerpt}\n </p>\n ) : null}\n <div className=\"mt-5 flex items-center justify-between gap-3 border-t border-border pt-4\">\n {author ? (\n <span className=\"flex min-w-0 items-center gap-2.5\">\n <AuthorMark name={author.name} avatar={author.avatar} />\n <span className=\"truncate text-xs font-medium text-foreground\">{author.name}</span>\n </span>\n ) : (\n <span className=\"text-xs tabular-nums text-muted-foreground\">{post.date}</span>\n )}\n <ArrowRight className=\"h-4 w-4 text-foreground/35 transition-all duration-200 group-hover:translate-x-0.5 group-hover:text-foreground\" />\n </div>\n </div>\n </Link>\n );\n },\n);\nBlogCardCard.displayName = \"BlogCardCard\";"],"names":["BlogCardCard","forwardRef","className","post","LinkComponent","props","ref","Link","author","jsxs","cn","jsx","Cover","Badge","AuthorMark","ArrowRight"],"mappings":";;;;;;AAaO,MAAMA,IAAeC;AAAA,EAC1B,CAAC,EAAE,WAAAC,GAAW,MAAAC,GAAM,eAAAC,GAAe,GAAGC,EAAA,GAASC,MAAQ;AACrD,UAAMC,IAAOH,KAAiB,KACxBI,IAASL,EAAK;AACpB,WACE,gBAAAM;AAAA,MAACF;AAAA,MAAA;AAAA,QACC,KAAAD;AAAA,QACA,MAAMH,EAAK,QAAQ;AAAA,QACnB,WAAWO;AAAA,UACT;AAAA,UACAR;AAAA,QAAA;AAAA,QAED,GAAGG;AAAA,QAEJ,UAAA;AAAA,UAAA,gBAAAM,EAAC,SAAI,WAAU,mBACb,UAAA,gBAAAA,EAACC,GAAA,EAAM,MAAAT,GAAY,GACrB;AAAA,UACA,gBAAAM,EAAC,OAAA,EAAI,WAAU,4BACb,UAAA;AAAA,YAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,2CACZ,UAAA;AAAA,cAAAN,EAAK,WAAW,gBAAAQ,EAACE,GAAA,EAAM,SAAQ,QAAO,MAAK,MAAM,UAAAV,EAAK,SAAA,CAAS,IAAW,gBAAAQ,EAAC,QAAA,EAAK;AAAA,cAChFR,EAAK,WACJ,gBAAAQ,EAAC,QAAA,EAAK,WAAU,iCAAiC,UAAAR,EAAK,UAAS,IAC7D;AAAA,YAAA,GACN;AAAA,YACA,gBAAAQ,EAAC,MAAA,EAAG,WAAU,kGACX,YAAK,OACR;AAAA,YACCR,EAAK,UACJ,gBAAAQ,EAAC,KAAA,EAAE,WAAU,+DACV,UAAAR,EAAK,SACR,IACE;AAAA,YACJ,gBAAAM,EAAC,OAAA,EAAI,WAAU,4EACZ,UAAA;AAAA,cAAAD,IACC,gBAAAC,EAAC,QAAA,EAAK,WAAU,qCACd,UAAA;AAAA,gBAAA,gBAAAE,EAACG,KAAW,MAAMN,EAAO,MAAM,QAAQA,EAAO,QAAQ;AAAA,gBACtD,gBAAAG,EAAC,QAAA,EAAK,WAAU,gDAAgD,YAAO,KAAA,CAAK;AAAA,cAAA,GAC9E,IAEA,gBAAAA,EAAC,QAAA,EAAK,WAAU,8CAA8C,YAAK,MAAK;AAAA,cAE1E,gBAAAA,EAACI,GAAA,EAAW,WAAU,iHAAA,CAAiH;AAAA,YAAA,EAAA,CACzI;AAAA,UAAA,EAAA,CACF;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AACF;AACAf,EAAa,cAAc;"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsxs as e, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as l } from "react";
|
|
3
|
+
import { cn as s } from "../../../utils/cn.js";
|
|
4
|
+
import { ArrowUpRight as m } from "../../../icons.js";
|
|
5
|
+
const d = l(
|
|
6
|
+
({ className: a, post: r, LinkComponent: o, ...n }, i) => /* @__PURE__ */ e(
|
|
7
|
+
o ?? "a",
|
|
8
|
+
{
|
|
9
|
+
ref: i,
|
|
10
|
+
href: r.href ?? "#",
|
|
11
|
+
className: s("group flex cursor-pointer items-baseline gap-5 py-6", a),
|
|
12
|
+
...n,
|
|
13
|
+
children: [
|
|
14
|
+
/* @__PURE__ */ e("div", { className: "min-w-0 flex-1", children: [
|
|
15
|
+
/* @__PURE__ */ e("div", { className: "flex items-center gap-3", children: [
|
|
16
|
+
r.category ? /* @__PURE__ */ t("span", { className: "rounded-full bg-primary-soft px-2.5 py-0.5 text-xs font-semibold text-primary", children: r.category }) : null,
|
|
17
|
+
/* @__PURE__ */ e("span", { className: "text-xs tabular-nums text-muted-foreground", children: [
|
|
18
|
+
r.date,
|
|
19
|
+
r.readTime ? ` · ${r.readTime}` : ""
|
|
20
|
+
] })
|
|
21
|
+
] }),
|
|
22
|
+
/* @__PURE__ */ t("h3", { className: "mt-2.5 font-display text-xl font-semibold tracking-tight text-foreground transition-transform duration-200 group-hover:translate-x-1 sm:text-2xl", children: r.title })
|
|
23
|
+
] }),
|
|
24
|
+
/* @__PURE__ */ t("span", { className: "text-foreground/30 transition-all duration-200 group-hover:translate-x-0.5 group-hover:text-foreground", children: /* @__PURE__ */ t(m, { className: "h-5 w-5" }) })
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
)
|
|
28
|
+
);
|
|
29
|
+
d.displayName = "BlogCardRow";
|
|
30
|
+
export {
|
|
31
|
+
d as BlogCardRow
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=Row.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Row.js","sources":["../../../../../src/components/Blog/variants/Row.tsx"],"sourcesContent":["import { forwardRef, type ElementType } from \"react\";\nimport { cn } from \"../../../utils/cn\";\nimport { ArrowUpRight } from \"../../../icons\";\nimport type { BlogPost } from \"../types\";\n\ninterface BlogCardRowProps {\n post: BlogPost;\n LinkComponent?: ElementType;\n className?: string;\n}\n\nexport const BlogCardRow = forwardRef<HTMLAnchorElement, BlogCardRowProps>(\n ({ className, post, LinkComponent, ...props }, ref) => {\n const Link = LinkComponent ?? \"a\";\n return (\n <Link\n ref={ref}\n href={post.href ?? \"#\"}\n className={cn(\"group flex cursor-pointer items-baseline gap-5 py-6\", className)}\n {...props}\n >\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex items-center gap-3\">\n {post.category ? <span className=\"rounded-full bg-primary-soft px-2.5 py-0.5 text-xs font-semibold text-primary\">{post.category}</span> : null}\n <span className=\"text-xs tabular-nums text-muted-foreground\">\n {post.date}\n {post.readTime ? ` · ${post.readTime}` : \"\"}\n </span>\n </div>\n <h3 className=\"mt-2.5 font-display text-xl font-semibold tracking-tight text-foreground transition-transform duration-200 group-hover:translate-x-1 sm:text-2xl\">\n {post.title}\n </h3>\n </div>\n <span className=\"text-foreground/30 transition-all duration-200 group-hover:translate-x-0.5 group-hover:text-foreground\">\n <ArrowUpRight className=\"h-5 w-5\" />\n </span>\n </Link>\n );\n },\n);\nBlogCardRow.displayName = \"BlogCardRow\";"],"names":["BlogCardRow","forwardRef","className","post","LinkComponent","props","ref","jsxs","cn","jsx","ArrowUpRight"],"mappings":";;;;AAWO,MAAMA,IAAcC;AAAA,EACzB,CAAC,EAAE,WAAAC,GAAW,MAAAC,GAAM,eAAAC,GAAe,GAAGC,EAAA,GAASC,MAG3C,gBAAAC;AAAA,IAFWH,KAAiB;AAAA,IAE3B;AAAA,MACC,KAAAE;AAAA,MACA,MAAMH,EAAK,QAAQ;AAAA,MACnB,WAAWK,EAAG,uDAAuDN,CAAS;AAAA,MAC7E,GAAGG;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAE,EAAC,OAAA,EAAI,WAAU,kBACb,UAAA;AAAA,UAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,2BACZ,UAAA;AAAA,YAAAJ,EAAK,WAAW,gBAAAM,EAAC,QAAA,EAAK,WAAU,iFAAiF,UAAAN,EAAK,UAAS,IAAU;AAAA,YAC1I,gBAAAI,EAAC,QAAA,EAAK,WAAU,8CACb,UAAA;AAAA,cAAAJ,EAAK;AAAA,cACLA,EAAK,WAAW,MAAMA,EAAK,QAAQ,KAAK;AAAA,YAAA,EAAA,CAC3C;AAAA,UAAA,GACF;AAAA,UACA,gBAAAM,EAAC,MAAA,EAAG,WAAU,oJACX,YAAK,MAAA,CACR;AAAA,QAAA,GACF;AAAA,QACA,gBAAAA,EAAC,UAAK,WAAU,0GACd,4BAACC,GAAA,EAAa,WAAU,WAAU,EAAA,CACpC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;AACAV,EAAY,cAAc;"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { jsx as o, jsxs as x } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as v } from "react";
|
|
3
|
+
import { cn as t } from "../utils/cn.js";
|
|
4
|
+
import { getContrastText as y } from "../utils/contrast.js";
|
|
5
|
+
import { Slot as k } from "./Slot.js";
|
|
6
|
+
const N = {
|
|
7
|
+
primary: "bg-primary text-on-primary hover:bg-primary-hover",
|
|
8
|
+
dark: "bg-secondary text-on-secondary hover:bg-secondary-hover",
|
|
9
|
+
outline: "border border-border bg-transparent text-foreground hover:border-foreground/30 hover:bg-surface",
|
|
10
|
+
ghost: "text-foreground hover:bg-surface",
|
|
11
|
+
link: "px-0 h-auto text-primary hover:text-primary-hover"
|
|
12
|
+
}, j = {
|
|
13
|
+
sm: "h-9 px-4 text-[13px] gap-1.5",
|
|
14
|
+
md: "h-11 px-5 text-sm gap-2",
|
|
15
|
+
lg: "h-12 px-7 text-[15px] gap-2"
|
|
16
|
+
}, w = "group inline-flex select-none items-center justify-center rounded-lg font-medium tracking-tight transition-[background-color,border-color,color,box-shadow] duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50 cursor-pointer", B = v(
|
|
17
|
+
({
|
|
18
|
+
className: g,
|
|
19
|
+
variant: n = "primary",
|
|
20
|
+
size: m = "md",
|
|
21
|
+
iconLeft: s,
|
|
22
|
+
iconRight: i,
|
|
23
|
+
customColor: r,
|
|
24
|
+
fullWidth: b,
|
|
25
|
+
asChild: f,
|
|
26
|
+
style: a,
|
|
27
|
+
type: h = "button",
|
|
28
|
+
children: l,
|
|
29
|
+
...c
|
|
30
|
+
}, d) => {
|
|
31
|
+
const u = r ? {
|
|
32
|
+
...a,
|
|
33
|
+
backgroundColor: r,
|
|
34
|
+
color: y(r)
|
|
35
|
+
} : a, e = n === "link", p = t(
|
|
36
|
+
w,
|
|
37
|
+
j[m],
|
|
38
|
+
r ? "hover:brightness-95" : N[n],
|
|
39
|
+
e && "underline-offset-4 hover:underline",
|
|
40
|
+
b && "w-full",
|
|
41
|
+
g
|
|
42
|
+
);
|
|
43
|
+
return f ? /* @__PURE__ */ o(k, { ref: d, style: u, className: p, ...c, children: l }) : /* @__PURE__ */ x(
|
|
44
|
+
"button",
|
|
45
|
+
{
|
|
46
|
+
ref: d,
|
|
47
|
+
type: h,
|
|
48
|
+
style: u,
|
|
49
|
+
className: p,
|
|
50
|
+
...c,
|
|
51
|
+
children: [
|
|
52
|
+
s ? /* @__PURE__ */ o("span", { className: t("shrink-0", !e && "opacity-70"), children: s }) : null,
|
|
53
|
+
l,
|
|
54
|
+
i ? /* @__PURE__ */ o(
|
|
55
|
+
"span",
|
|
56
|
+
{
|
|
57
|
+
className: t(
|
|
58
|
+
"shrink-0 transition-transform duration-200",
|
|
59
|
+
!e && "opacity-70 group-hover:translate-x-0.5"
|
|
60
|
+
),
|
|
61
|
+
children: i
|
|
62
|
+
}
|
|
63
|
+
) : null
|
|
64
|
+
]
|
|
65
|
+
}
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
);
|
|
69
|
+
B.displayName = "Button";
|
|
70
|
+
export {
|
|
71
|
+
B as Button
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=Button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.js","sources":["../../../src/components/Button.tsx"],"sourcesContent":["import { forwardRef, type ButtonHTMLAttributes, type CSSProperties, type ReactNode } from \"react\";\nimport { cn } from \"../utils/cn\";\nimport { getContrastText } from \"../utils/contrast\";\nimport { Slot } from \"./Slot\";\n\nexport type ButtonVariant = \"primary\" | \"dark\" | \"outline\" | \"ghost\" | \"link\";\nexport type ButtonSize = \"sm\" | \"md\" | \"lg\";\n\nexport interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n variant?: ButtonVariant;\n size?: ButtonSize;\n iconLeft?: ReactNode;\n iconRight?: ReactNode;\n /** Paints the button with an arbitrary CSS color; text color is computed for contrast. */\n customColor?: string;\n fullWidth?: boolean;\n /**\n * When `true`, the button styling is applied to a single child element\n * instead of a `<button>`. Use it to render a framework router `<Link>`\n * (Next.js, Remix, React Router…). `iconLeft` / `iconRight` are ignored;\n * pass icons inside the child instead.\n */\n asChild?: boolean;\n}\n\nconst variants: Record<ButtonVariant, string> = {\n primary: \"bg-primary text-on-primary hover:bg-primary-hover\",\n dark: \"bg-secondary text-on-secondary hover:bg-secondary-hover\",\n outline:\n \"border border-border bg-transparent text-foreground hover:border-foreground/30 hover:bg-surface\",\n ghost: \"text-foreground hover:bg-surface\",\n link: \"px-0 h-auto text-primary hover:text-primary-hover\",\n};\n\nconst sizes: Record<ButtonSize, string> = {\n sm: \"h-9 px-4 text-[13px] gap-1.5\",\n md: \"h-11 px-5 text-sm gap-2\",\n lg: \"h-12 px-7 text-[15px] gap-2\",\n};\n\nconst base =\n \"group inline-flex select-none items-center justify-center rounded-lg font-medium tracking-tight transition-[background-color,border-color,color,box-shadow] duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50 cursor-pointer\";\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant = \"primary\",\n size = \"md\",\n iconLeft,\n iconRight,\n customColor,\n fullWidth,\n asChild,\n style,\n type = \"button\",\n children,\n ...props\n },\n ref,\n ) => {\n const customStyle: CSSProperties | undefined = customColor\n ? {\n ...style,\n backgroundColor: customColor,\n color: getContrastText(customColor),\n }\n : style;\n\n const isLink = variant === \"link\";\n\n const classes = cn(\n base,\n sizes[size],\n customColor ? \"hover:brightness-95\" : variants[variant],\n isLink && \"underline-offset-4 hover:underline\",\n fullWidth && \"w-full\",\n className,\n );\n\n if (asChild) {\n return (\n <Slot ref={ref} style={customStyle} className={classes} {...props}>\n {children}\n </Slot>\n );\n }\n\n return (\n <button\n ref={ref}\n type={type}\n style={customStyle}\n className={classes}\n {...props}\n >\n {iconLeft ? <span className={cn(\"shrink-0\", !isLink && \"opacity-70\")}>{iconLeft}</span> : null}\n {children}\n {iconRight ? (\n <span\n className={cn(\n \"shrink-0 transition-transform duration-200\",\n !isLink && \"opacity-70 group-hover:translate-x-0.5\",\n )}\n >\n {iconRight}\n </span>\n ) : null}\n </button>\n );\n },\n);\nButton.displayName = \"Button\";"],"names":["variants","sizes","base","Button","forwardRef","className","variant","size","iconLeft","iconRight","customColor","fullWidth","asChild","style","type","children","props","ref","customStyle","getContrastText","isLink","classes","cn","jsx","Slot","jsxs"],"mappings":";;;;;AAyBA,MAAMA,IAA0C;AAAA,EAC9C,SAAS;AAAA,EACT,MAAM;AAAA,EACN,SACE;AAAA,EACF,OAAO;AAAA,EACP,MAAM;AACR,GAEMC,IAAoC;AAAA,EACxC,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAEMC,IACJ,qXAEWC,IAASC;AAAA,EACpB,CACE;AAAA,IACE,WAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,MAAAC,IAAO;AAAA,IACP,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,aAAAC;AAAA,IACA,WAAAC;AAAA,IACA,SAAAC;AAAA,IACA,OAAAC;AAAA,IACA,MAAAC,IAAO;AAAA,IACP,UAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAELC,MACG;AACH,UAAMC,IAAyCR,IAC3C;AAAA,MACE,GAAGG;AAAA,MACH,iBAAiBH;AAAA,MACjB,OAAOS,EAAgBT,CAAW;AAAA,IAAA,IAEpCG,GAEEO,IAASd,MAAY,QAErBe,IAAUC;AAAA,MACdpB;AAAA,MACAD,EAAMM,CAAI;AAAA,MACVG,IAAc,wBAAwBV,EAASM,CAAO;AAAA,MACtDc,KAAU;AAAA,MACVT,KAAa;AAAA,MACbN;AAAA,IAAA;AAGF,WAAIO,IAEA,gBAAAW,EAACC,KAAK,KAAAP,GAAU,OAAOC,GAAa,WAAWG,GAAU,GAAGL,GACzD,UAAAD,EAAA,CACH,IAKF,gBAAAU;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAAR;AAAA,QACA,MAAAH;AAAA,QACA,OAAOI;AAAA,QACP,WAAWG;AAAA,QACV,GAAGL;AAAA,QAEH,UAAA;AAAA,UAAAR,IAAW,gBAAAe,EAAC,QAAA,EAAK,WAAWD,EAAG,YAAY,CAACF,KAAU,YAAY,GAAI,UAAAZ,EAAA,CAAS,IAAU;AAAA,UACzFO;AAAA,UACAN,IACC,gBAAAc;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAWD;AAAA,gBACT;AAAA,gBACA,CAACF,KAAU;AAAA,cAAA;AAAA,cAGZ,UAAAX;AAAA,YAAA;AAAA,UAAA,IAED;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAGV;AACF;AACAN,EAAO,cAAc;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx as m } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as o } from "react";
|
|
3
|
+
import { CTAPanel as t } from "./variants/Panel.js";
|
|
4
|
+
import { CTASurface as i } from "./variants/Surface.js";
|
|
5
|
+
import { CTAInverse as a } from "./variants/Inverse.js";
|
|
6
|
+
const n = o(({ option: f = "panel", ...r }, e) => f === "surface" ? /* @__PURE__ */ m(i, { ref: e, ...r }) : f === "inverse" ? /* @__PURE__ */ m(a, { ref: e, ...r }) : /* @__PURE__ */ m(t, { ref: e, ...r }));
|
|
7
|
+
n.displayName = "CTA";
|
|
8
|
+
export {
|
|
9
|
+
n as CTA
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=CTA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CTA.js","sources":["../../../../src/components/CTA/CTA.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport type { CTAProps } from \"./types\";\nimport { CTAPanel } from \"./variants/Panel\";\nimport { CTASurface } from \"./variants/Surface\";\nimport { CTAInverse } from \"./variants/Inverse\";\n\nexport const CTA = forwardRef<HTMLElement, CTAProps>(({ option = \"panel\", ...props }, ref) => {\n if (option === \"surface\") return <CTASurface ref={ref} {...props} />;\n if (option === \"inverse\") return <CTAInverse ref={ref} {...props} />;\n return <CTAPanel ref={ref} {...props} />;\n});\nCTA.displayName = \"CTA\";"],"names":["CTA","forwardRef","option","props","ref","CTASurface","CTAInverse","jsx","CTAPanel"],"mappings":";;;;;AAMO,MAAMA,IAAMC,EAAkC,CAAC,EAAE,QAAAC,IAAS,SAAS,GAAGC,EAAA,GAASC,MAChFF,MAAW,8BAAmBG,GAAA,EAAW,KAAAD,GAAW,GAAGD,GAAO,IAC9DD,MAAW,8BAAmBI,GAAA,EAAW,KAAAF,GAAW,GAAGD,GAAO,IAC3D,gBAAAI,EAACC,GAAA,EAAS,KAAAJ,GAAW,GAAGD,EAAA,CAAO,CACvC;AACDH,EAAI,cAAc;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsxs as c } from "react/jsx-runtime";
|
|
2
|
+
import { cn as i } from "../../utils/cn.js";
|
|
3
|
+
function f({
|
|
4
|
+
action: e,
|
|
5
|
+
secondaryAction: r,
|
|
6
|
+
align: t,
|
|
7
|
+
actionClassName: n = "flex flex-wrap items-center gap-4"
|
|
8
|
+
}) {
|
|
9
|
+
return /* @__PURE__ */ c(
|
|
10
|
+
"div",
|
|
11
|
+
{
|
|
12
|
+
className: i(
|
|
13
|
+
n,
|
|
14
|
+
t === "center" && "justify-center"
|
|
15
|
+
),
|
|
16
|
+
children: [
|
|
17
|
+
e,
|
|
18
|
+
r
|
|
19
|
+
]
|
|
20
|
+
}
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
export {
|
|
24
|
+
f as CTAActions
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=parts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parts.js","sources":["../../../../src/components/CTA/parts.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn\";\n\nexport function CTAActions({\n action,\n secondaryAction,\n align,\n actionClassName = \"flex flex-wrap items-center gap-4\",\n}: {\n action?: ReactNode;\n secondaryAction?: ReactNode;\n align?: \"left\" | \"center\";\n actionClassName?: string;\n}) {\n return (\n <div\n className={cn(\n actionClassName,\n align === \"center\" && \"justify-center\",\n )}\n >\n {action}\n {secondaryAction}\n </div>\n );\n}"],"names":["CTAActions","action","secondaryAction","align","actionClassName","jsxs","cn"],"mappings":";;AAGO,SAASA,EAAW;AAAA,EACzB,QAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,OAAAC;AAAA,EACA,iBAAAC,IAAkB;AACpB,GAKG;AACD,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACTF;AAAA,QACAD,MAAU,YAAY;AAAA,MAAA;AAAA,MAGvB,UAAA;AAAA,QAAAF;AAAA,QACAC;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as e, jsxs as o } from "react/jsx-runtime";
|
|
3
|
+
import { forwardRef as p } from "react";
|
|
4
|
+
import { cn as t } from "../../../utils/cn.js";
|
|
5
|
+
import { Container as f } from "../../Container.js";
|
|
6
|
+
import { useTokenForeground as u } from "../../../utils/useTokenForeground.js";
|
|
7
|
+
import { CTAActions as v } from "../parts.js";
|
|
8
|
+
const y = p(
|
|
9
|
+
({ className: n, title: s, description: l, action: a, secondaryAction: m, align: r = "left", id: i, ...c }, d) => {
|
|
10
|
+
const x = u("--color-secondary");
|
|
11
|
+
return /* @__PURE__ */ e("section", { ref: d, id: i, className: t("w-full py-6 pb-20", n), ...c, children: /* @__PURE__ */ e(f, { children: /* @__PURE__ */ o(
|
|
12
|
+
"div",
|
|
13
|
+
{
|
|
14
|
+
className: "relative overflow-hidden rounded-[1.75rem] px-7 py-16 sm:px-16 sm:py-20",
|
|
15
|
+
style: {
|
|
16
|
+
backgroundColor: "rgb(var(--color-secondary))",
|
|
17
|
+
color: x
|
|
18
|
+
},
|
|
19
|
+
children: [
|
|
20
|
+
/* @__PURE__ */ e("div", { "aria-hidden": !0, className: "pointer-events-none absolute inset-0 grain opacity-[0.09] mix-blend-overlay" }),
|
|
21
|
+
/* @__PURE__ */ o(
|
|
22
|
+
"div",
|
|
23
|
+
{
|
|
24
|
+
className: t(
|
|
25
|
+
"relative flex flex-col items-start gap-10",
|
|
26
|
+
r === "center" && "items-center text-center",
|
|
27
|
+
"lg:flex-row lg:items-end lg:justify-between"
|
|
28
|
+
),
|
|
29
|
+
children: [
|
|
30
|
+
/* @__PURE__ */ o("div", { className: t("max-w-3xl", r === "center" && "mx-auto"), children: [
|
|
31
|
+
/* @__PURE__ */ e("h2", { className: "font-display text-balance text-4xl font-semibold leading-[1.02] tracking-[-0.03em] sm:text-6xl", children: s }),
|
|
32
|
+
l ? /* @__PURE__ */ e("p", { className: t("mt-5 max-w-xl text-pretty text-base leading-7 sm:text-lg", r === "center" && "mx-auto"), children: l }) : null
|
|
33
|
+
] }),
|
|
34
|
+
/* @__PURE__ */ e(v, { action: a, secondaryAction: m, align: r })
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
)
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
) }) });
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
y.displayName = "CTAInverse";
|
|
44
|
+
export {
|
|
45
|
+
y as CTAInverse
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=Inverse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Inverse.js","sources":["../../../../../src/components/CTA/variants/Inverse.tsx"],"sourcesContent":["\"use client\";\nimport { forwardRef } from \"react\";\nimport { cn } from \"../../../utils/cn\";\nimport { Container } from \"../../Container\";\nimport { useTokenForeground } from \"../../../utils/useTokenForeground\";\nimport { CTAActions } from \"../parts\";\nimport type { CTAProps } from \"../types\";\n\n/** inverse — ink panel with a wide left-aligned split. */\nexport const CTAInverse = forwardRef<HTMLElement, CTAProps>(\n ({ className, title, description, action, secondaryAction, align = \"left\", id, ...props }, ref) => {\n const fg = useTokenForeground(\"--color-secondary\");\n\n return (\n <section ref={ref} id={id} className={cn(\"w-full py-6 pb-20\", className)} {...props}>\n <Container>\n <div\n className=\"relative overflow-hidden rounded-[1.75rem] px-7 py-16 sm:px-16 sm:py-20\"\n style={{\n backgroundColor: \"rgb(var(--color-secondary))\",\n color: fg,\n }}\n >\n <div aria-hidden className=\"pointer-events-none absolute inset-0 grain opacity-[0.09] mix-blend-overlay\" />\n <div\n className={cn(\n \"relative flex flex-col items-start gap-10\",\n align === \"center\" && \"items-center text-center\",\n \"lg:flex-row lg:items-end lg:justify-between\",\n )}\n >\n <div className={cn(\"max-w-3xl\", align === \"center\" && \"mx-auto\")}>\n <h2 className=\"font-display text-balance text-4xl font-semibold leading-[1.02] tracking-[-0.03em] sm:text-6xl\">\n {title}\n </h2>\n {description ? (\n <p className={cn(\"mt-5 max-w-xl text-pretty text-base leading-7 sm:text-lg\", align === \"center\" && \"mx-auto\")}>\n {description}\n </p>\n ) : null}\n </div>\n <CTAActions action={action} secondaryAction={secondaryAction} align={align} />\n </div>\n </div>\n </Container>\n </section>\n );\n },\n);\nCTAInverse.displayName = \"CTAInverse\";"],"names":["CTAInverse","forwardRef","className","title","description","action","secondaryAction","align","id","props","ref","fg","useTokenForeground","jsx","cn","Container","jsxs","CTAActions"],"mappings":";;;;;;AASO,MAAMA,IAAaC;AAAA,EACxB,CAAC,EAAE,WAAAC,GAAW,OAAAC,GAAO,aAAAC,GAAa,QAAAC,GAAQ,iBAAAC,GAAiB,OAAAC,IAAQ,QAAQ,IAAAC,GAAI,GAAGC,EAAA,GAASC,MAAQ;AACjG,UAAMC,IAAKC,EAAmB,mBAAmB;AAEjD,WACE,gBAAAC,EAAC,WAAA,EAAQ,KAAAH,GAAU,IAAAF,GAAQ,WAAWM,EAAG,qBAAqBZ,CAAS,GAAI,GAAGO,GAC5E,UAAA,gBAAAI,EAACE,GAAA,EACC,UAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,OAAO;AAAA,UACL,iBAAiB;AAAA,UACjB,OAAOL;AAAA,QAAA;AAAA,QAGT,UAAA;AAAA,UAAA,gBAAAE,EAAC,OAAA,EAAI,eAAW,IAAC,WAAU,+EAA8E;AAAA,UACzG,gBAAAG;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAWF;AAAA,gBACT;AAAA,gBACAP,MAAU,YAAY;AAAA,gBACtB;AAAA,cAAA;AAAA,cAGF,UAAA;AAAA,gBAAA,gBAAAS,EAAC,SAAI,WAAWF,EAAG,aAAaP,MAAU,YAAY,SAAS,GAC7D,UAAA;AAAA,kBAAA,gBAAAM,EAAC,MAAA,EAAG,WAAU,kGACX,UAAAV,GACH;AAAA,kBACCC,IACC,gBAAAS,EAAC,KAAA,EAAE,WAAWC,EAAG,4DAA4DP,MAAU,YAAY,SAAS,GACzG,UAAAH,EAAA,CACH,IACE;AAAA,gBAAA,GACN;AAAA,gBACA,gBAAAS,EAACI,GAAA,EAAW,QAAAZ,GAAgB,iBAAAC,GAAkC,OAAAC,EAAA,CAAc;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAC9E;AAAA,MAAA;AAAA,IAAA,GAEJ,EAAA,CACF;AAAA,EAEJ;AACF;AACAP,EAAW,cAAc;"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as e, jsxs as a } from "react/jsx-runtime";
|
|
3
|
+
import { forwardRef as x } from "react";
|
|
4
|
+
import { cn as t } from "../../../utils/cn.js";
|
|
5
|
+
import { Container as f } from "../../Container.js";
|
|
6
|
+
import { useTokenForeground as u } from "../../../utils/useTokenForeground.js";
|
|
7
|
+
import { CTAActions as v } from "../parts.js";
|
|
8
|
+
const y = x(
|
|
9
|
+
({ className: l, title: n, description: o, action: i, secondaryAction: s, align: r = "left", id: m, ...c }, d) => {
|
|
10
|
+
const p = u("--color-primary");
|
|
11
|
+
return /* @__PURE__ */ e("section", { ref: d, id: m, className: t("w-full py-6 pb-20", l), ...c, children: /* @__PURE__ */ e(f, { children: /* @__PURE__ */ a(
|
|
12
|
+
"div",
|
|
13
|
+
{
|
|
14
|
+
className: "relative overflow-hidden rounded-[1.75rem] px-7 py-14 sm:px-14 sm:py-20",
|
|
15
|
+
style: {
|
|
16
|
+
background: "radial-gradient(120% 160% at 0% 0%, rgb(var(--color-primary)), rgb(var(--color-primary-hover)) 55%, rgb(var(--color-primary) / 0.85))",
|
|
17
|
+
color: p
|
|
18
|
+
},
|
|
19
|
+
children: [
|
|
20
|
+
/* @__PURE__ */ e("div", { "aria-hidden": !0, className: "pointer-events-none absolute inset-0 grain opacity-[0.07] mix-blend-overlay" }),
|
|
21
|
+
/* @__PURE__ */ e(
|
|
22
|
+
"div",
|
|
23
|
+
{
|
|
24
|
+
"aria-hidden": !0,
|
|
25
|
+
className: "pointer-events-none absolute -right-24 -top-24 h-72 w-72 rounded-full",
|
|
26
|
+
style: { background: "rgb(var(--color-accent))", opacity: 0.35, filter: "blur(60px)" }
|
|
27
|
+
}
|
|
28
|
+
),
|
|
29
|
+
/* @__PURE__ */ a(
|
|
30
|
+
"div",
|
|
31
|
+
{
|
|
32
|
+
className: t(
|
|
33
|
+
"relative flex flex-col gap-9",
|
|
34
|
+
r === "center" ? "items-center text-center" : "items-start"
|
|
35
|
+
),
|
|
36
|
+
children: [
|
|
37
|
+
/* @__PURE__ */ a("div", { className: t("max-w-2xl", r === "center" && "mx-auto"), children: [
|
|
38
|
+
/* @__PURE__ */ e("h2", { className: "font-display text-balance text-3xl font-semibold leading-[1.06] tracking-[-0.02em] sm:text-5xl", children: n }),
|
|
39
|
+
o ? /* @__PURE__ */ e(
|
|
40
|
+
"p",
|
|
41
|
+
{
|
|
42
|
+
className: t(
|
|
43
|
+
"mt-4 text-pretty text-base leading-7 sm:text-lg",
|
|
44
|
+
r === "center" && "mx-auto max-w-xl"
|
|
45
|
+
),
|
|
46
|
+
children: o
|
|
47
|
+
}
|
|
48
|
+
) : null
|
|
49
|
+
] }),
|
|
50
|
+
/* @__PURE__ */ e(v, { action: i, secondaryAction: s, align: r })
|
|
51
|
+
]
|
|
52
|
+
}
|
|
53
|
+
)
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
) }) });
|
|
57
|
+
}
|
|
58
|
+
);
|
|
59
|
+
y.displayName = "CTAPanel";
|
|
60
|
+
export {
|
|
61
|
+
y as CTAPanel
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=Panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Panel.js","sources":["../../../../../src/components/CTA/variants/Panel.tsx"],"sourcesContent":["\"use client\";\nimport { forwardRef } from \"react\";\nimport { cn } from \"../../../utils/cn\";\nimport { Container } from \"../../Container\";\nimport { useTokenForeground } from \"../../../utils/useTokenForeground\";\nimport { CTAActions } from \"../parts\";\nimport type { CTAProps } from \"../types\";\n\n/** panel — brand gradient panel, rounded corners. */\nexport const CTAPanel = forwardRef<HTMLElement, CTAProps>(\n ({ className, title, description, action, secondaryAction, align = \"left\", id, ...props }, ref) => {\n const fg = useTokenForeground(\"--color-primary\");\n\n return (\n <section ref={ref} id={id} className={cn(\"w-full py-6 pb-20\", className)} {...props}>\n <Container>\n <div\n className=\"relative overflow-hidden rounded-[1.75rem] px-7 py-14 sm:px-14 sm:py-20\"\n style={{\n background:\n \"radial-gradient(120% 160% at 0% 0%, rgb(var(--color-primary)), rgb(var(--color-primary-hover)) 55%, rgb(var(--color-primary) / 0.85))\",\n color: fg,\n }}\n >\n <div aria-hidden className=\"pointer-events-none absolute inset-0 grain opacity-[0.07] mix-blend-overlay\" />\n <div\n aria-hidden\n className=\"pointer-events-none absolute -right-24 -top-24 h-72 w-72 rounded-full\"\n style={{ background: \"rgb(var(--color-accent))\", opacity: 0.35, filter: \"blur(60px)\" }}\n />\n <div\n className={cn(\n \"relative flex flex-col gap-9\",\n align === \"center\" ? \"items-center text-center\" : \"items-start\",\n )}\n >\n <div className={cn(\"max-w-2xl\", align === \"center\" && \"mx-auto\")}>\n <h2 className=\"font-display text-balance text-3xl font-semibold leading-[1.06] tracking-[-0.02em] sm:text-5xl\">\n {title}\n </h2>\n {description ? (\n <p\n className={cn(\n \"mt-4 text-pretty text-base leading-7 sm:text-lg\",\n align === \"center\" && \"mx-auto max-w-xl\",\n )}\n >\n {description}\n </p>\n ) : null}\n </div>\n <CTAActions action={action} secondaryAction={secondaryAction} align={align} />\n </div>\n </div>\n </Container>\n </section>\n );\n },\n);\nCTAPanel.displayName = \"CTAPanel\";"],"names":["CTAPanel","forwardRef","className","title","description","action","secondaryAction","align","id","props","ref","fg","useTokenForeground","jsx","cn","Container","jsxs","CTAActions"],"mappings":";;;;;;AASO,MAAMA,IAAWC;AAAA,EACtB,CAAC,EAAE,WAAAC,GAAW,OAAAC,GAAO,aAAAC,GAAa,QAAAC,GAAQ,iBAAAC,GAAiB,OAAAC,IAAQ,QAAQ,IAAAC,GAAI,GAAGC,EAAA,GAASC,MAAQ;AACjG,UAAMC,IAAKC,EAAmB,iBAAiB;AAE/C,WACE,gBAAAC,EAAC,WAAA,EAAQ,KAAAH,GAAU,IAAAF,GAAQ,WAAWM,EAAG,qBAAqBZ,CAAS,GAAI,GAAGO,GAC5E,UAAA,gBAAAI,EAACE,GAAA,EACC,UAAA,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,OAAO;AAAA,UACL,YACE;AAAA,UACF,OAAOL;AAAA,QAAA;AAAA,QAGT,UAAA;AAAA,UAAA,gBAAAE,EAAC,OAAA,EAAI,eAAW,IAAC,WAAU,+EAA8E;AAAA,UACzG,gBAAAA;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,eAAW;AAAA,cACX,WAAU;AAAA,cACV,OAAO,EAAE,YAAY,4BAA4B,SAAS,MAAM,QAAQ,aAAA;AAAA,YAAa;AAAA,UAAA;AAAA,UAEvF,gBAAAG;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAWF;AAAA,gBACT;AAAA,gBACAP,MAAU,WAAW,6BAA6B;AAAA,cAAA;AAAA,cAGpD,UAAA;AAAA,gBAAA,gBAAAS,EAAC,SAAI,WAAWF,EAAG,aAAaP,MAAU,YAAY,SAAS,GAC7D,UAAA;AAAA,kBAAA,gBAAAM,EAAC,MAAA,EAAG,WAAU,kGACX,UAAAV,GACH;AAAA,kBACCC,IACC,gBAAAS;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,WAAWC;AAAA,wBACT;AAAA,wBACAP,MAAU,YAAY;AAAA,sBAAA;AAAA,sBAGvB,UAAAH;AAAA,oBAAA;AAAA,kBAAA,IAED;AAAA,gBAAA,GACN;AAAA,gBACA,gBAAAS,EAACI,GAAA,EAAW,QAAAZ,GAAgB,iBAAAC,GAAkC,OAAAC,EAAA,CAAc;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAC9E;AAAA,MAAA;AAAA,IAAA,GAEJ,EAAA,CACF;AAAA,EAEJ;AACF;AACAP,EAAS,cAAc;"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as e, jsxs as s } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as d } from "react";
|
|
3
|
+
import { cn as r } from "../../../utils/cn.js";
|
|
4
|
+
import { Container as f } from "../../Container.js";
|
|
5
|
+
import { CTAActions as p } from "../parts.js";
|
|
6
|
+
const u = d(
|
|
7
|
+
({ className: l, title: o, description: m, action: a, secondaryAction: c, align: t = "left", id: n, ...x }, i) => /* @__PURE__ */ e("section", { ref: i, id: n, className: r("w-full", l), ...x, children: /* @__PURE__ */ e(f, { className: "py-20 sm:py-24", children: /* @__PURE__ */ s(
|
|
8
|
+
"div",
|
|
9
|
+
{
|
|
10
|
+
className: r(
|
|
11
|
+
"flex flex-col gap-10 border-t border-border pt-14 sm:flex-row sm:items-end sm:justify-between sm:pt-16",
|
|
12
|
+
t === "center" && "items-center text-center sm:flex-col sm:items-center"
|
|
13
|
+
),
|
|
14
|
+
children: [
|
|
15
|
+
/* @__PURE__ */ s("div", { className: r("max-w-3xl", t === "center" && "mx-auto"), children: [
|
|
16
|
+
/* @__PURE__ */ e("h2", { className: "font-display text-4xl font-semibold leading-[1.03] tracking-[-0.03em] text-balance text-foreground sm:text-6xl", children: o }),
|
|
17
|
+
m ? /* @__PURE__ */ e("p", { className: r("mt-5 max-w-xl text-pretty text-base leading-7 text-muted-foreground sm:text-lg", t === "center" && "mx-auto"), children: m }) : null
|
|
18
|
+
] }),
|
|
19
|
+
/* @__PURE__ */ e(p, { action: a, secondaryAction: c, align: t })
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
) }) })
|
|
23
|
+
);
|
|
24
|
+
u.displayName = "CTASurface";
|
|
25
|
+
export {
|
|
26
|
+
u as CTASurface
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=Surface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Surface.js","sources":["../../../../../src/components/CTA/variants/Surface.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { cn } from \"../../../utils/cn\";\nimport { Container } from \"../../Container\";\nimport { CTAActions } from \"../parts\";\nimport type { CTAProps } from \"../types\";\n\n/** surface — quiet paper band: hairline rule, big display type, actions right. */\nexport const CTASurface = forwardRef<HTMLElement, CTAProps>(\n ({ className, title, description, action, secondaryAction, align = \"left\", id, ...props }, ref) => (\n <section ref={ref} id={id} className={cn(\"w-full\", className)} {...props}>\n <Container className=\"py-20 sm:py-24\">\n <div\n className={cn(\n \"flex flex-col gap-10 border-t border-border pt-14 sm:flex-row sm:items-end sm:justify-between sm:pt-16\",\n align === \"center\" && \"items-center text-center sm:flex-col sm:items-center\",\n )}\n >\n <div className={cn(\"max-w-3xl\", align === \"center\" && \"mx-auto\")}>\n <h2 className=\"font-display text-4xl font-semibold leading-[1.03] tracking-[-0.03em] text-balance text-foreground sm:text-6xl\">\n {title}\n </h2>\n {description ? (\n <p className={cn(\"mt-5 max-w-xl text-pretty text-base leading-7 text-muted-foreground sm:text-lg\", align === \"center\" && \"mx-auto\")}>\n {description}\n </p>\n ) : null}\n </div>\n <CTAActions action={action} secondaryAction={secondaryAction} align={align} />\n </div>\n </Container>\n </section>\n ),\n);\nCTASurface.displayName = \"CTASurface\";"],"names":["CTASurface","forwardRef","className","title","description","action","secondaryAction","align","id","props","ref","jsx","cn","Container","jsxs","CTAActions"],"mappings":";;;;;AAOO,MAAMA,IAAaC;AAAA,EACxB,CAAC,EAAE,WAAAC,GAAW,OAAAC,GAAO,aAAAC,GAAa,QAAAC,GAAQ,iBAAAC,GAAiB,OAAAC,IAAQ,QAAQ,IAAAC,GAAI,GAAGC,EAAA,GAASC,MACzF,gBAAAC,EAAC,WAAA,EAAQ,KAAAD,GAAU,IAAAF,GAAQ,WAAWI,EAAG,UAAUV,CAAS,GAAI,GAAGO,GACjE,UAAA,gBAAAE,EAACE,GAAA,EAAU,WAAU,kBACnB,UAAA,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWF;AAAA,QACT;AAAA,QACAL,MAAU,YAAY;AAAA,MAAA;AAAA,MAGxB,UAAA;AAAA,QAAA,gBAAAO,EAAC,SAAI,WAAWF,EAAG,aAAaL,MAAU,YAAY,SAAS,GAC7D,UAAA;AAAA,UAAA,gBAAAI,EAAC,MAAA,EAAG,WAAU,kHACX,UAAAR,GACH;AAAA,UACCC,IACC,gBAAAO,EAAC,KAAA,EAAE,WAAWC,EAAG,kFAAkFL,MAAU,YAAY,SAAS,GAC/H,UAAAH,EAAA,CACH,IACE;AAAA,QAAA,GACN;AAAA,QACA,gBAAAO,EAACI,GAAA,EAAW,QAAAV,GAAgB,iBAAAC,GAAkC,OAAAC,EAAA,CAAc;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA,GAEhF,EAAA,CACF;AAEJ;AACAP,EAAW,cAAc;"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { jsx as s, jsxs as n } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as a } from "react";
|
|
3
|
+
import { cn as d } from "../utils/cn.js";
|
|
4
|
+
const l = {
|
|
5
|
+
outlined: "border border-border bg-surface",
|
|
6
|
+
elevated: "border border-border bg-surface shadow-soft",
|
|
7
|
+
inset: "bg-surface-strong"
|
|
8
|
+
}, c = a(
|
|
9
|
+
({ className: e, variant: r = "outlined", interactive: o = !1, ...t }, i) => /* @__PURE__ */ s(
|
|
10
|
+
"div",
|
|
11
|
+
{
|
|
12
|
+
ref: i,
|
|
13
|
+
className: d(
|
|
14
|
+
"rounded-xl transition-[border-color,box-shadow,transform] duration-200",
|
|
15
|
+
l[r],
|
|
16
|
+
o && "cursor-pointer hover:-translate-y-0.5 hover:border-foreground/20 hover:shadow-raised",
|
|
17
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background",
|
|
18
|
+
e
|
|
19
|
+
),
|
|
20
|
+
...t
|
|
21
|
+
}
|
|
22
|
+
)
|
|
23
|
+
);
|
|
24
|
+
c.displayName = "Card";
|
|
25
|
+
const f = a(
|
|
26
|
+
({ className: e, icon: r, children: o, ...t }, i) => /* @__PURE__ */ n("div", { ref: i, className: d("flex flex-col gap-2 p-6 pb-0", e), ...t, children: [
|
|
27
|
+
r ? /* @__PURE__ */ s("div", { className: "mb-1.5", children: r }) : null,
|
|
28
|
+
o
|
|
29
|
+
] })
|
|
30
|
+
);
|
|
31
|
+
f.displayName = "CardHeader";
|
|
32
|
+
const m = a(
|
|
33
|
+
({ className: e, ...r }, o) => /* @__PURE__ */ s(
|
|
34
|
+
"h3",
|
|
35
|
+
{
|
|
36
|
+
ref: o,
|
|
37
|
+
className: d("font-display text-lg font-semibold tracking-tight text-foreground", e),
|
|
38
|
+
...r
|
|
39
|
+
}
|
|
40
|
+
)
|
|
41
|
+
);
|
|
42
|
+
m.displayName = "CardTitle";
|
|
43
|
+
const b = a(
|
|
44
|
+
({ className: e, ...r }, o) => /* @__PURE__ */ s("p", { ref: o, className: d("text-sm leading-6 text-muted-foreground", e), ...r })
|
|
45
|
+
);
|
|
46
|
+
b.displayName = "CardDescription";
|
|
47
|
+
const p = a(
|
|
48
|
+
({ className: e, ...r }, o) => /* @__PURE__ */ s("div", { ref: o, className: d("p-6 pt-5", e), ...r })
|
|
49
|
+
);
|
|
50
|
+
p.displayName = "CardContent";
|
|
51
|
+
const u = a(
|
|
52
|
+
({ className: e, ...r }, o) => /* @__PURE__ */ s("div", { ref: o, className: d("flex items-center gap-3 border-t border-border/70 p-6 pt-5", e), ...r })
|
|
53
|
+
);
|
|
54
|
+
u.displayName = "CardFooter";
|
|
55
|
+
export {
|
|
56
|
+
c as Card,
|
|
57
|
+
p as CardContent,
|
|
58
|
+
b as CardDescription,
|
|
59
|
+
u as CardFooter,
|
|
60
|
+
f as CardHeader,
|
|
61
|
+
m as CardTitle
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=Card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Card.js","sources":["../../../src/components/Card.tsx"],"sourcesContent":["import { forwardRef, type HTMLAttributes, type ReactNode } from \"react\";\nimport { cn } from \"../utils/cn\";\n\nexport type CardVariant = \"outlined\" | \"elevated\" | \"inset\";\n\nexport interface CardProps extends HTMLAttributes<HTMLDivElement> {\n variant?: CardVariant;\n /** Softens the whole card with hover lift + border tint. */\n interactive?: boolean;\n}\n\nconst variants: Record<CardVariant, string> = {\n outlined: \"border border-border bg-surface\",\n elevated: \"border border-border bg-surface shadow-soft\",\n inset: \"bg-surface-strong\",\n};\n\nexport const Card = forwardRef<HTMLDivElement, CardProps>(\n ({ className, variant = \"outlined\", interactive = false, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"rounded-xl transition-[border-color,box-shadow,transform] duration-200\",\n variants[variant],\n interactive &&\n \"cursor-pointer hover:-translate-y-0.5 hover:border-foreground/20 hover:shadow-raised\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background\",\n className,\n )}\n {...props}\n />\n ),\n);\nCard.displayName = \"Card\";\n\nexport interface CardHeaderProps extends HTMLAttributes<HTMLDivElement> {\n icon?: ReactNode;\n}\n\nexport const CardHeader = forwardRef<HTMLDivElement, CardHeaderProps>(\n ({ className, icon, children, ...props }, ref) => (\n <div ref={ref} className={cn(\"flex flex-col gap-2 p-6 pb-0\", className)} {...props}>\n {icon ? <div className=\"mb-1.5\">{icon}</div> : null}\n {children}\n </div>\n ),\n);\nCardHeader.displayName = \"CardHeader\";\n\nexport const CardTitle = forwardRef<HTMLHeadingElement, HTMLAttributes<HTMLHeadingElement>>(\n ({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn(\"font-display text-lg font-semibold tracking-tight text-foreground\", className)}\n {...props}\n />\n ),\n);\nCardTitle.displayName = \"CardTitle\";\n\nexport const CardDescription = forwardRef<HTMLParagraphElement, HTMLAttributes<HTMLParagraphElement>>(\n ({ className, ...props }, ref) => (\n <p ref={ref} className={cn(\"text-sm leading-6 text-muted-foreground\", className)} {...props} />\n ),\n);\nCardDescription.displayName = \"CardDescription\";\n\nexport const CardContent = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-5\", className)} {...props} />\n ),\n);\nCardContent.displayName = \"CardContent\";\n\nexport const CardFooter = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"flex items-center gap-3 border-t border-border/70 p-6 pt-5\", className)} {...props} />\n ),\n);\nCardFooter.displayName = \"CardFooter\";"],"names":["variants","Card","forwardRef","className","variant","interactive","props","ref","jsx","cn","CardHeader","icon","children","jsxs","CardTitle","CardDescription","CardContent","CardFooter"],"mappings":";;;AAWA,MAAMA,IAAwC;AAAA,EAC5C,UAAU;AAAA,EACV,UAAU;AAAA,EACV,OAAO;AACT,GAEaC,IAAOC;AAAA,EAClB,CAAC,EAAE,WAAAC,GAAW,SAAAC,IAAU,YAAY,aAAAC,IAAc,IAAO,GAAGC,KAASC,MACnE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAD;AAAA,MACA,WAAWE;AAAA,QACT;AAAA,QACAT,EAASI,CAAO;AAAA,QAChBC,KACE;AAAA,QACF;AAAA,QACAF;AAAA,MAAA;AAAA,MAED,GAAGG;AAAA,IAAA;AAAA,EAAA;AAGV;AACAL,EAAK,cAAc;AAMZ,MAAMS,IAAaR;AAAA,EACxB,CAAC,EAAE,WAAAC,GAAW,MAAAQ,GAAM,UAAAC,GAAU,GAAGN,KAASC,MACxC,gBAAAM,EAAC,OAAA,EAAI,KAAAN,GAAU,WAAWE,EAAG,gCAAgCN,CAAS,GAAI,GAAGG,GAC1E,UAAA;AAAA,IAAAK,IAAO,gBAAAH,EAAC,OAAA,EAAI,WAAU,UAAU,aAAK,IAAS;AAAA,IAC9CI;AAAA,EAAA,EAAA,CACH;AAEJ;AACAF,EAAW,cAAc;AAElB,MAAMI,IAAYZ;AAAA,EACvB,CAAC,EAAE,WAAAC,GAAW,GAAGG,EAAA,GAASC,MACxB,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAD;AAAA,MACA,WAAWE,EAAG,qEAAqEN,CAAS;AAAA,MAC3F,GAAGG;AAAA,IAAA;AAAA,EAAA;AAGV;AACAQ,EAAU,cAAc;AAEjB,MAAMC,IAAkBb;AAAA,EAC7B,CAAC,EAAE,WAAAC,GAAW,GAAGG,EAAA,GAASC,MACxB,gBAAAC,EAAC,KAAA,EAAE,KAAAD,GAAU,WAAWE,EAAG,2CAA2CN,CAAS,GAAI,GAAGG,EAAA,CAAO;AAEjG;AACAS,EAAgB,cAAc;AAEvB,MAAMC,IAAcd;AAAA,EACzB,CAAC,EAAE,WAAAC,GAAW,GAAGG,EAAA,GAASC,MACxB,gBAAAC,EAAC,OAAA,EAAI,KAAAD,GAAU,WAAWE,EAAG,YAAYN,CAAS,GAAI,GAAGG,EAAA,CAAO;AAEpE;AACAU,EAAY,cAAc;AAEnB,MAAMC,IAAaf;AAAA,EACxB,CAAC,EAAE,WAAAC,GAAW,GAAGG,EAAA,GAASC,MACxB,gBAAAC,EAAC,OAAA,EAAI,KAAAD,GAAU,WAAWE,EAAG,8DAA8DN,CAAS,GAAI,GAAGG,EAAA,CAAO;AAEtH;AACAW,EAAW,cAAc;"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as o } from "react";
|
|
3
|
+
import { cn as s } from "../utils/cn.js";
|
|
4
|
+
const r = {
|
|
5
|
+
sm: "max-w-xl",
|
|
6
|
+
md: "max-w-3xl",
|
|
7
|
+
lg: "max-w-5xl",
|
|
8
|
+
xl: "max-w-6xl"
|
|
9
|
+
}, g = o(
|
|
10
|
+
({ className: p, as: l, size: a = "xl", gutters: m = !0, ...x }, t) => /* @__PURE__ */ e(
|
|
11
|
+
l ?? "div",
|
|
12
|
+
{
|
|
13
|
+
ref: t,
|
|
14
|
+
className: s(
|
|
15
|
+
"mx-auto w-full",
|
|
16
|
+
a !== "full" && r[a],
|
|
17
|
+
m && "px-5 sm:px-8",
|
|
18
|
+
p
|
|
19
|
+
),
|
|
20
|
+
...x
|
|
21
|
+
}
|
|
22
|
+
)
|
|
23
|
+
);
|
|
24
|
+
g.displayName = "Container";
|
|
25
|
+
const c = {
|
|
26
|
+
0: "gap-0",
|
|
27
|
+
1: "gap-1",
|
|
28
|
+
2: "gap-2",
|
|
29
|
+
3: "gap-3",
|
|
30
|
+
4: "gap-4",
|
|
31
|
+
5: "gap-5",
|
|
32
|
+
6: "gap-6",
|
|
33
|
+
8: "gap-8",
|
|
34
|
+
10: "gap-10",
|
|
35
|
+
12: "gap-12",
|
|
36
|
+
16: "gap-16",
|
|
37
|
+
20: "gap-20"
|
|
38
|
+
}, f = o(
|
|
39
|
+
({ className: p, gap: l = 4, horizontal: a = !1, ...m }, x) => /* @__PURE__ */ e(
|
|
40
|
+
"div",
|
|
41
|
+
{
|
|
42
|
+
ref: x,
|
|
43
|
+
className: s(
|
|
44
|
+
"flex",
|
|
45
|
+
a ? "flex-row flex-wrap items-center" : "flex-col",
|
|
46
|
+
c[l],
|
|
47
|
+
p
|
|
48
|
+
),
|
|
49
|
+
...m
|
|
50
|
+
}
|
|
51
|
+
)
|
|
52
|
+
);
|
|
53
|
+
f.displayName = "Stack";
|
|
54
|
+
export {
|
|
55
|
+
g as Container,
|
|
56
|
+
f as Stack
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=Container.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Container.js","sources":["../../../src/components/Container.tsx"],"sourcesContent":["import { forwardRef, type ElementType, type HTMLAttributes } from \"react\";\nimport { cn } from \"../utils/cn\";\n\nexport type ContainerSize = \"sm\" | \"md\" | \"lg\" | \"xl\" | \"full\";\n\nexport interface ContainerProps extends HTMLAttributes<HTMLElement> {\n /** Render as a specific element (section, header, …). */\n as?: ElementType;\n /**\n * Maximum content width:\n * `sm` → prose · `md` → reading · `lg` → plans/splits ·\n * `xl` → default marketing page · `full` → edge-to-edge.\n */\n size?: ContainerSize;\n /** Responsive gutters (px-5 / sm:px-8). Disable for flush content. */\n gutters?: boolean;\n}\n\nconst sizes: Record<Exclude<ContainerSize, \"full\">, string> = {\n sm: \"max-w-xl\",\n md: \"max-w-3xl\",\n lg: \"max-w-5xl\",\n xl: \"max-w-6xl\",\n};\n\n/**\n * Shared layout wrapper — the single source of the container + gutter rules\n * used across Section, Footer, CTA, templates…\n */\nexport const Container = forwardRef<HTMLElement, ContainerProps>(\n ({ className, as, size = \"xl\", gutters = true, ...props }, ref) => {\n const Tag = (as ?? \"div\") as ElementType;\n return (\n <Tag\n ref={ref as never}\n className={cn(\n \"mx-auto w-full\",\n size !== \"full\" && sizes[size],\n gutters && \"px-5 sm:px-8\",\n className,\n )}\n {...props}\n />\n );\n },\n);\nContainer.displayName = \"Container\";\n\nexport type StackGap = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | 12 | 16 | 20;\n\nconst gaps: Record<StackGap, string> = {\n 0: \"gap-0\",\n 1: \"gap-1\",\n 2: \"gap-2\",\n 3: \"gap-3\",\n 4: \"gap-4\",\n 5: \"gap-5\",\n 6: \"gap-6\",\n 8: \"gap-8\",\n 10: \"gap-10\",\n 12: \"gap-12\",\n 16: \"gap-16\",\n 20: \"gap-20\",\n};\n\nexport interface StackProps extends HTMLAttributes<HTMLDivElement> {\n gap?: StackGap;\n horizontal?: boolean;\n}\n\n/** Vertical (or horizontal) rhythm helper using flex gaps. */\nexport const Stack = forwardRef<HTMLDivElement, StackProps>(\n ({ className, gap = 4, horizontal = false, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"flex\",\n horizontal ? \"flex-row flex-wrap items-center\" : \"flex-col\",\n gaps[gap],\n className,\n )}\n {...props}\n />\n ),\n);\nStack.displayName = \"Stack\";"],"names":["sizes","Container","forwardRef","className","as","size","gutters","props","ref","jsx","cn","gaps","Stack","gap","horizontal"],"mappings":";;;AAkBA,MAAMA,IAAwD;AAAA,EAC5D,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAMaC,IAAYC;AAAA,EACvB,CAAC,EAAE,WAAAC,GAAW,IAAAC,GAAI,MAAAC,IAAO,MAAM,SAAAC,IAAU,IAAM,GAAGC,EAAA,GAASC,MAGvD,gBAAAC;AAAA,IAFWL,KAAM;AAAA,IAEhB;AAAA,MACC,KAAAI;AAAA,MACA,WAAWE;AAAA,QACT;AAAA,QACAL,MAAS,UAAUL,EAAMK,CAAI;AAAA,QAC7BC,KAAW;AAAA,QACXH;AAAA,MAAA;AAAA,MAED,GAAGI;AAAA,IAAA;AAAA,EAAA;AAIZ;AACAN,EAAU,cAAc;AAIxB,MAAMU,IAAiC;AAAA,EACrC,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN,GAQaC,IAAQV;AAAA,EACnB,CAAC,EAAE,WAAAC,GAAW,KAAAU,IAAM,GAAG,YAAAC,IAAa,IAAO,GAAGP,KAASC,MACrD,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,KAAAD;AAAA,MACA,WAAWE;AAAA,QACT;AAAA,QACAI,IAAa,oCAAoC;AAAA,QACjDH,EAAKE,CAAG;AAAA,QACRV;AAAA,MAAA;AAAA,MAED,GAAGI;AAAA,IAAA;AAAA,EAAA;AAGV;AACAK,EAAM,cAAc;"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { FaqCards as x } from "./variants/Cards.js";
|
|
3
|
+
import { FaqAccordion as F } from "./variants/Accordion.js";
|
|
4
|
+
import { FaqSplit as p } from "./variants/Split.js";
|
|
5
|
+
const q = ({
|
|
6
|
+
className: o,
|
|
7
|
+
items: i,
|
|
8
|
+
option: m = "accordion",
|
|
9
|
+
allowMultiple: a = !1,
|
|
10
|
+
defaultOpen: f = [],
|
|
11
|
+
eyebrow: t,
|
|
12
|
+
title: d,
|
|
13
|
+
description: n,
|
|
14
|
+
...c
|
|
15
|
+
}) => m === "cards" ? /* @__PURE__ */ r(x, { className: o, items: i, eyebrow: t, ...c }) : m === "split" ? /* @__PURE__ */ r(
|
|
16
|
+
p,
|
|
17
|
+
{
|
|
18
|
+
className: o,
|
|
19
|
+
items: i,
|
|
20
|
+
allowMultiple: a,
|
|
21
|
+
defaultOpen: f,
|
|
22
|
+
eyebrow: t,
|
|
23
|
+
title: d,
|
|
24
|
+
description: n,
|
|
25
|
+
...c
|
|
26
|
+
}
|
|
27
|
+
) : /* @__PURE__ */ r("div", { className: "mx-auto w-full max-w-3xl", children: /* @__PURE__ */ r(
|
|
28
|
+
F,
|
|
29
|
+
{
|
|
30
|
+
className: o,
|
|
31
|
+
items: i,
|
|
32
|
+
allowMultiple: a,
|
|
33
|
+
defaultOpen: f
|
|
34
|
+
}
|
|
35
|
+
) });
|
|
36
|
+
q.displayName = "FAQ";
|
|
37
|
+
export {
|
|
38
|
+
q as FAQ
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=FAQ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FAQ.js","sources":["../../../../src/components/FAQ/FAQ.tsx"],"sourcesContent":["import type { FAQProps } from \"./types\";\nimport { FaqCards } from \"./variants/Cards\";\nimport { FaqAccordion } from \"./variants/Accordion\";\nimport { FaqSplit } from \"./variants/Split\";\n\nexport const FAQ = ({\n className,\n items,\n option = \"accordion\",\n allowMultiple = false,\n defaultOpen = [],\n eyebrow,\n title,\n description,\n ...props\n}: FAQProps) => {\n if (option === \"cards\") {\n return <FaqCards className={className} items={items} eyebrow={eyebrow} {...props} />;\n }\n\n if (option === \"split\") {\n return (\n <FaqSplit\n className={className}\n items={items}\n allowMultiple={allowMultiple}\n defaultOpen={defaultOpen}\n eyebrow={eyebrow}\n title={title}\n description={description}\n {...props}\n />\n );\n }\n\n // accordion\n return (\n <div className=\"mx-auto w-full max-w-3xl\">\n <FaqAccordion\n className={className}\n items={items}\n allowMultiple={allowMultiple}\n defaultOpen={defaultOpen}\n />\n </div>\n );\n};\nFAQ.displayName = \"FAQ\";"],"names":["FAQ","className","items","option","allowMultiple","defaultOpen","eyebrow","title","description","props","FaqCards","jsx","FaqSplit","FaqAccordion"],"mappings":";;;;AAKO,MAAMA,IAAM,CAAC;AAAA,EAClB,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,eAAAC,IAAgB;AAAA,EAChB,aAAAC,IAAc,CAAA;AAAA,EACd,SAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,GAAGC;AACL,MACMN,MAAW,4BACLO,GAAA,EAAS,WAAAT,GAAsB,OAAAC,GAAc,SAAAI,GAAmB,GAAGG,GAAO,IAGhFN,MAAW,UAEX,gBAAAQ;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,WAAAX;AAAA,IACA,OAAAC;AAAA,IACA,eAAAE;AAAA,IACA,aAAAC;AAAA,IACA,SAAAC;AAAA,IACA,OAAAC;AAAA,IACA,aAAAC;AAAA,IACC,GAAGC;AAAA,EAAA;AAAA,IAOR,gBAAAE,EAAC,OAAA,EAAI,WAAU,4BACb,UAAA,gBAAAA;AAAA,EAACE;AAAA,EAAA;AAAA,IACC,WAAAZ;AAAA,IACA,OAAAC;AAAA,IACA,eAAAE;AAAA,IACA,aAAAC;AAAA,EAAA;AAAA,GAEJ;AAGJL,EAAI,cAAc;"}
|