@xbg.solutions/create-frontend 1.1.2 → 1.2.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.
- package/bin/xbg-frontend.cjs +32 -0
- package/package.json +17 -3
- package/src/commands/add.cjs +470 -0
- package/src/commands/generate.cjs +24 -0
- package/src/manifest.json +1578 -0
- package/src/registry/advanced/ChartWrapper.svelte +587 -0
- package/src/registry/advanced/DataTable.svelte +645 -0
- package/src/registry/advanced/FormWizard.svelte +546 -0
- package/src/registry/advanced/ImageUpload.svelte +663 -0
- package/src/registry/advanced/index.ts +33 -0
- package/src/registry/atoms/calendar/Calendar.svelte +181 -0
- package/src/registry/atoms/calendar/index.ts +1 -0
- package/src/registry/atoms/dialog/Dialog.svelte +179 -0
- package/src/registry/atoms/dialog/DialogDescription.svelte +16 -0
- package/src/registry/atoms/dialog/DialogFooter.svelte +16 -0
- package/src/registry/atoms/dialog/DialogHeader.svelte +16 -0
- package/src/registry/atoms/dialog/DialogTitle.svelte +16 -0
- package/src/registry/atoms/dialog/index.ts +10 -0
- package/src/registry/atoms/icon/BrandIcon.svelte +47 -0
- package/src/registry/atoms/icon/DynamicIcon.svelte +49 -0
- package/src/registry/atoms/icon/index.ts +2 -0
- package/src/registry/atoms/legend/Legend.svelte +32 -0
- package/src/registry/atoms/legend/index.ts +1 -0
- package/src/registry/atoms/menu/MenuItem.svelte +85 -0
- package/src/registry/atoms/menu/index.ts +1 -0
- package/src/registry/atoms/message/Message.svelte +62 -0
- package/src/registry/atoms/message/index.ts +1 -0
- package/src/registry/atoms/nav/NavItem.svelte +67 -0
- package/src/registry/atoms/nav/index.ts +1 -0
- package/src/registry/atoms/notification-badge/NotificationBadge.svelte +30 -0
- package/src/registry/atoms/notification-badge/index.ts +1 -0
- package/src/registry/atoms/otp-input/OtpInput.svelte +108 -0
- package/src/registry/atoms/otp-input/index.ts +1 -0
- package/src/registry/atoms/select/Select.svelte +216 -0
- package/src/registry/atoms/select/index.ts +6 -0
- package/src/registry/atoms/settings-card/SettingsCard.svelte +48 -0
- package/src/registry/atoms/settings-card/index.ts +1 -0
- package/src/registry/atoms/sidebar-item/SidebarItem.svelte +90 -0
- package/src/registry/atoms/sidebar-item/index.ts +1 -0
- package/src/registry/atoms/statistic-card/StatisticCard.svelte +53 -0
- package/src/registry/atoms/statistic-card/index.ts +1 -0
- package/src/registry/atoms/text-editor/TextEditor.svelte +77 -0
- package/src/registry/atoms/text-editor/index.ts +1 -0
- package/src/registry/atoms/uploader/Uploader.svelte +102 -0
- package/src/registry/atoms/uploader/index.ts +1 -0
- package/src/registry/atoms/user-item/UserItem.svelte +39 -0
- package/src/registry/atoms/user-item/index.ts +1 -0
- package/src/registry/blocks/account-section/AccountSection01.svelte +112 -0
- package/src/registry/blocks/account-section/AccountSection02.svelte +190 -0
- package/src/registry/blocks/account-section/AccountSection03.svelte +161 -0
- package/src/registry/blocks/account-section/AccountSection04.svelte +164 -0
- package/src/registry/blocks/account-section/AccountSection05.svelte +76 -0
- package/src/registry/blocks/account-section/index.ts +5 -0
- package/src/registry/blocks/app-shell/AppShell01.svelte +74 -0
- package/src/registry/blocks/app-shell/AppShell02.svelte +87 -0
- package/src/registry/blocks/app-shell/AppShell03.svelte +79 -0
- package/src/registry/blocks/app-shell/AppShell04.svelte +177 -0
- package/src/registry/blocks/app-shell/index.ts +4 -0
- package/src/registry/blocks/auth/AuthSplitScreen.svelte +132 -0
- package/src/registry/blocks/auth/LoginBlock01.svelte +94 -0
- package/src/registry/blocks/auth/LoginBlock02.svelte +103 -0
- package/src/registry/blocks/auth/LoginBlock03.svelte +53 -0
- package/src/registry/blocks/auth/LoginBlock04.svelte +99 -0
- package/src/registry/blocks/auth/LoginBlock05.svelte +101 -0
- package/src/registry/blocks/auth/OtpBlock01.svelte +115 -0
- package/src/registry/blocks/auth/OtpBlock02.svelte +113 -0
- package/src/registry/blocks/auth/OtpBlock03.svelte +143 -0
- package/src/registry/blocks/auth/OtpBlock04.svelte +122 -0
- package/src/registry/blocks/auth/OtpBlock05.svelte +81 -0
- package/src/registry/blocks/auth/SignupBlock01.svelte +103 -0
- package/src/registry/blocks/auth/SignupBlock02.svelte +94 -0
- package/src/registry/blocks/auth/SignupBlock03.svelte +120 -0
- package/src/registry/blocks/auth/SignupBlock04.svelte +112 -0
- package/src/registry/blocks/auth/SignupBlock05.svelte +77 -0
- package/src/registry/blocks/auth/index.ts +31 -0
- package/src/registry/blocks/banner/Banner01.svelte +67 -0
- package/src/registry/blocks/banner/Banner02.svelte +61 -0
- package/src/registry/blocks/banner/Banner03.svelte +54 -0
- package/src/registry/blocks/banner/Banner04.svelte +49 -0
- package/src/registry/blocks/banner/Banner05.svelte +47 -0
- package/src/registry/blocks/banner/index.ts +5 -0
- package/src/registry/blocks/bento-grid/BentoGrid01.svelte +92 -0
- package/src/registry/blocks/bento-grid/BentoGrid02.svelte +79 -0
- package/src/registry/blocks/bento-grid/BentoGrid03.svelte +79 -0
- package/src/registry/blocks/bento-grid/BentoGrid04.svelte +58 -0
- package/src/registry/blocks/bento-grid/BentoGrid05.svelte +92 -0
- package/src/registry/blocks/bento-grid/BentoGrid06.svelte +42 -0
- package/src/registry/blocks/bento-grid/index.ts +14 -0
- package/src/registry/blocks/blog-section/BlogSection01.svelte +100 -0
- package/src/registry/blocks/blog-section/BlogSection02.svelte +93 -0
- package/src/registry/blocks/blog-section/BlogSection03.svelte +92 -0
- package/src/registry/blocks/blog-section/BlogSection04.svelte +97 -0
- package/src/registry/blocks/blog-section/BlogSection05.svelte +120 -0
- package/src/registry/blocks/blog-section/index.ts +15 -0
- package/src/registry/blocks/buttons/ButtonBookmark.svelte +37 -0
- package/src/registry/blocks/buttons/ButtonLike.svelte +37 -0
- package/src/registry/blocks/buttons/ButtonMenu.svelte +37 -0
- package/src/registry/blocks/buttons/ButtonSplitDropdown.svelte +46 -0
- package/src/registry/blocks/buttons/ButtonStepper.svelte +55 -0
- package/src/registry/blocks/buttons/ButtonSteps.svelte +73 -0
- package/src/registry/blocks/buttons/ButtonToggleGroup.svelte +35 -0
- package/src/registry/blocks/buttons/ButtonsGroup.svelte +63 -0
- package/src/registry/blocks/buttons/SocialButtonsHorizontal.svelte +41 -0
- package/src/registry/blocks/buttons/SocialButtonsVertical.svelte +53 -0
- package/src/registry/blocks/buttons/index.ts +10 -0
- package/src/registry/blocks/calendar/CalendarBlock01.svelte +169 -0
- package/src/registry/blocks/calendar/CalendarBlock02.svelte +133 -0
- package/src/registry/blocks/calendar/CalendarBlock03.svelte +194 -0
- package/src/registry/blocks/calendar/CalendarBlock04.svelte +96 -0
- package/src/registry/blocks/calendar/CalendarBlock05.svelte +97 -0
- package/src/registry/blocks/calendar/CalendarBlock06.svelte +98 -0
- package/src/registry/blocks/calendar/CalendarBlock07.svelte +109 -0
- package/src/registry/blocks/calendar/CalendarBlock08.svelte +71 -0
- package/src/registry/blocks/calendar/CalendarBlock09.svelte +99 -0
- package/src/registry/blocks/calendar/CalendarBlock10.svelte +88 -0
- package/src/registry/blocks/calendar/CalendarBlock11.svelte +99 -0
- package/src/registry/blocks/calendar/CalendarBlock12.svelte +121 -0
- package/src/registry/blocks/calendar/CalendarBlock13.svelte +92 -0
- package/src/registry/blocks/calendar/CalendarBlock14.svelte +71 -0
- package/src/registry/blocks/calendar/CalendarBlock15.svelte +96 -0
- package/src/registry/blocks/calendar/CalendarBlock16.svelte +98 -0
- package/src/registry/blocks/calendar/CalendarBlock17.svelte +88 -0
- package/src/registry/blocks/calendar/CalendarBlock18.svelte +84 -0
- package/src/registry/blocks/calendar/CalendarBlock19.svelte +105 -0
- package/src/registry/blocks/calendar/CalendarBlock20.svelte +78 -0
- package/src/registry/blocks/calendar/CalendarBlock21.svelte +115 -0
- package/src/registry/blocks/calendar/CalendarBlock22.svelte +136 -0
- package/src/registry/blocks/calendar/CalendarBlock23.svelte +112 -0
- package/src/registry/blocks/calendar/CalendarBlock24.svelte +116 -0
- package/src/registry/blocks/calendar/CalendarBlock25.svelte +144 -0
- package/src/registry/blocks/calendar/CalendarBlock26.svelte +163 -0
- package/src/registry/blocks/calendar/CalendarBlock27.svelte +112 -0
- package/src/registry/blocks/calendar/CalendarBlock28.svelte +109 -0
- package/src/registry/blocks/calendar/CalendarBlock29.svelte +126 -0
- package/src/registry/blocks/calendar/CalendarBlock30.svelte +122 -0
- package/src/registry/blocks/calendar/CalendarBlock31.svelte +161 -0
- package/src/registry/blocks/calendar/CalendarBlock32.svelte +154 -0
- package/src/registry/blocks/calendar/index.ts +32 -0
- package/src/registry/blocks/card/Card01.svelte +69 -0
- package/src/registry/blocks/card/Card02.svelte +50 -0
- package/src/registry/blocks/card/Card03.svelte +60 -0
- package/src/registry/blocks/card/Card04.svelte +89 -0
- package/src/registry/blocks/card/Card05.svelte +51 -0
- package/src/registry/blocks/card/Card06.svelte +77 -0
- package/src/registry/blocks/card/Card07.svelte +35 -0
- package/src/registry/blocks/card/Card08.svelte +36 -0
- package/src/registry/blocks/card/index.ts +8 -0
- package/src/registry/blocks/cart/Cart01.svelte +183 -0
- package/src/registry/blocks/cart/Cart02.svelte +103 -0
- package/src/registry/blocks/cart/Cart03.svelte +38 -0
- package/src/registry/blocks/cart/Cart04.svelte +174 -0
- package/src/registry/blocks/cart/index.ts +4 -0
- package/src/registry/blocks/checkout/Checkout01.svelte +237 -0
- package/src/registry/blocks/checkout/Checkout02.svelte +205 -0
- package/src/registry/blocks/checkout/Checkout03.svelte +189 -0
- package/src/registry/blocks/checkout/Checkout04.svelte +109 -0
- package/src/registry/blocks/checkout/index.ts +4 -0
- package/src/registry/blocks/comparison-section/ComparisonSection01.svelte +116 -0
- package/src/registry/blocks/comparison-section/ComparisonSection02.svelte +98 -0
- package/src/registry/blocks/comparison-section/ComparisonSection03.svelte +93 -0
- package/src/registry/blocks/comparison-section/ComparisonSection04.svelte +98 -0
- package/src/registry/blocks/comparison-section/ComparisonSection05.svelte +119 -0
- package/src/registry/blocks/comparison-section/ComparisonSection06.svelte +154 -0
- package/src/registry/blocks/comparison-section/index.ts +6 -0
- package/src/registry/blocks/contact-section/ContactSection01.svelte +64 -0
- package/src/registry/blocks/contact-section/ContactSection02.svelte +108 -0
- package/src/registry/blocks/contact-section/ContactSection03.svelte +64 -0
- package/src/registry/blocks/contact-section/ContactSection04.svelte +30 -0
- package/src/registry/blocks/contact-section/ContactSection05.svelte +71 -0
- package/src/registry/blocks/contact-section/ContactSection06.svelte +88 -0
- package/src/registry/blocks/contact-section/index.ts +6 -0
- package/src/registry/blocks/cta/CTA01.svelte +44 -0
- package/src/registry/blocks/cta/CTA02.svelte +48 -0
- package/src/registry/blocks/cta/CTA03.svelte +53 -0
- package/src/registry/blocks/cta/CTA04.svelte +60 -0
- package/src/registry/blocks/cta/CTA05.svelte +53 -0
- package/src/registry/blocks/cta/CTA06.svelte +44 -0
- package/src/registry/blocks/cta/CTA07.svelte +39 -0
- package/src/registry/blocks/cta/index.ts +7 -0
- package/src/registry/blocks/dashboard/ChartsBlock01.svelte +275 -0
- package/src/registry/blocks/dashboard/DashboardBlock01.svelte +207 -0
- package/src/registry/blocks/dashboard/DashboardBlock02.svelte +259 -0
- package/src/registry/blocks/dashboard/DashboardBlock03.svelte +315 -0
- package/src/registry/blocks/dashboard/DashboardBlock04.svelte +220 -0
- package/src/registry/blocks/dashboard/DashboardBlock05.svelte +158 -0
- package/src/registry/blocks/dashboard/DashboardBlock06.svelte +173 -0
- package/src/registry/blocks/dashboard/DashboardBlock07.svelte +103 -0
- package/src/registry/blocks/dashboard/index.ts +16 -0
- package/src/registry/blocks/description-list/DescriptionList01.svelte +75 -0
- package/src/registry/blocks/description-list/DescriptionList02.svelte +50 -0
- package/src/registry/blocks/description-list/DescriptionList03.svelte +74 -0
- package/src/registry/blocks/description-list/DescriptionList04.svelte +88 -0
- package/src/registry/blocks/description-list/index.ts +4 -0
- package/src/registry/blocks/empty-lp/EmptyLP01.svelte +46 -0
- package/src/registry/blocks/empty-lp/EmptyLP02.svelte +49 -0
- package/src/registry/blocks/empty-lp/EmptyLP03.svelte +61 -0
- package/src/registry/blocks/empty-lp/EmptyLP04.svelte +37 -0
- package/src/registry/blocks/empty-lp/index.ts +4 -0
- package/src/registry/blocks/empty-section/EmptySection01.svelte +47 -0
- package/src/registry/blocks/empty-section/EmptySection02.svelte +93 -0
- package/src/registry/blocks/empty-section/EmptySection03.svelte +101 -0
- package/src/registry/blocks/empty-section/EmptySection04.svelte +76 -0
- package/src/registry/blocks/empty-section/index.ts +4 -0
- package/src/registry/blocks/faq-section/FaqSection01.svelte +114 -0
- package/src/registry/blocks/faq-section/FaqSection02.svelte +137 -0
- package/src/registry/blocks/faq-section/FaqSection03.svelte +107 -0
- package/src/registry/blocks/faq-section/FaqSection04.svelte +74 -0
- package/src/registry/blocks/faq-section/FaqSection05.svelte +69 -0
- package/src/registry/blocks/faq-section/index.ts +11 -0
- package/src/registry/blocks/feature-section/FeatureSection01.svelte +94 -0
- package/src/registry/blocks/feature-section/FeatureSection02.svelte +61 -0
- package/src/registry/blocks/feature-section/FeatureSection03.svelte +85 -0
- package/src/registry/blocks/feature-section/FeatureSection04.svelte +67 -0
- package/src/registry/blocks/feature-section/FeatureSection05.svelte +61 -0
- package/src/registry/blocks/feature-section/FeatureSection06.svelte +58 -0
- package/src/registry/blocks/feature-section/FeatureSection07.svelte +79 -0
- package/src/registry/blocks/feature-section/FeatureSection08.svelte +92 -0
- package/src/registry/blocks/feature-section/FeatureSection09.svelte +58 -0
- package/src/registry/blocks/feature-section/FeatureSection10.svelte +87 -0
- package/src/registry/blocks/feature-section/FeatureSection11.svelte +118 -0
- package/src/registry/blocks/feature-section/FeatureSection12.svelte +76 -0
- package/src/registry/blocks/feature-section/FeatureSection13.svelte +88 -0
- package/src/registry/blocks/feature-section/FeatureSection14.svelte +119 -0
- package/src/registry/blocks/feature-section/FeatureSection15.svelte +122 -0
- package/src/registry/blocks/feature-section/FeatureSection16.svelte +113 -0
- package/src/registry/blocks/feature-section/FeatureSection17.svelte +93 -0
- package/src/registry/blocks/feature-section/FeatureSection18.svelte +97 -0
- package/src/registry/blocks/feature-section/FeatureSection19.svelte +74 -0
- package/src/registry/blocks/feature-section/FeatureSection20.svelte +69 -0
- package/src/registry/blocks/feature-section/index.ts +20 -0
- package/src/registry/blocks/footer/Footer01.svelte +62 -0
- package/src/registry/blocks/footer/Footer02.svelte +67 -0
- package/src/registry/blocks/footer/Footer03.svelte +87 -0
- package/src/registry/blocks/footer/Footer04.svelte +67 -0
- package/src/registry/blocks/footer/Footer05.svelte +20 -0
- package/src/registry/blocks/footer/Footer06.svelte +107 -0
- package/src/registry/blocks/footer/Footer07.svelte +88 -0
- package/src/registry/blocks/footer/Footer08.svelte +84 -0
- package/src/registry/blocks/footer/Footer09.svelte +65 -0
- package/src/registry/blocks/footer/index.ts +19 -0
- package/src/registry/blocks/forms/SettingsBlock.svelte +329 -0
- package/src/registry/blocks/forms/index.ts +1 -0
- package/src/registry/blocks/gallery-section/GallerySection01.svelte +43 -0
- package/src/registry/blocks/gallery-section/GallerySection02.svelte +45 -0
- package/src/registry/blocks/gallery-section/GallerySection03.svelte +43 -0
- package/src/registry/blocks/gallery-section/GallerySection04.svelte +49 -0
- package/src/registry/blocks/gallery-section/GallerySection05.svelte +45 -0
- package/src/registry/blocks/gallery-section/GallerySection06.svelte +49 -0
- package/src/registry/blocks/gallery-section/GallerySection07.svelte +48 -0
- package/src/registry/blocks/gallery-section/GallerySection08.svelte +43 -0
- package/src/registry/blocks/gallery-section/GallerySection09.svelte +55 -0
- package/src/registry/blocks/gallery-section/GallerySection10.svelte +43 -0
- package/src/registry/blocks/gallery-section/GallerySection11.svelte +75 -0
- package/src/registry/blocks/gallery-section/GallerySection12.svelte +76 -0
- package/src/registry/blocks/gallery-section/index.ts +12 -0
- package/src/registry/blocks/header-section/HeaderSection01.svelte +53 -0
- package/src/registry/blocks/header-section/HeaderSection02.svelte +53 -0
- package/src/registry/blocks/header-section/HeaderSection03.svelte +61 -0
- package/src/registry/blocks/header-section/HeaderSection04.svelte +63 -0
- package/src/registry/blocks/header-section/HeaderSection05.svelte +53 -0
- package/src/registry/blocks/header-section/HeaderSection06.svelte +70 -0
- package/src/registry/blocks/header-section/HeaderSection07.svelte +97 -0
- package/src/registry/blocks/header-section/HeaderSection08.svelte +61 -0
- package/src/registry/blocks/header-section/HeaderSection09.svelte +53 -0
- package/src/registry/blocks/header-section/HeaderSection10.svelte +63 -0
- package/src/registry/blocks/header-section/HeaderSection11.svelte +68 -0
- package/src/registry/blocks/header-section/HeaderSection12.svelte +60 -0
- package/src/registry/blocks/header-section/HeaderSection13.svelte +92 -0
- package/src/registry/blocks/header-section/HeaderSection14.svelte +77 -0
- package/src/registry/blocks/header-section/HeaderSection15.svelte +49 -0
- package/src/registry/blocks/header-section/HeaderSection16.svelte +74 -0
- package/src/registry/blocks/header-section/HeaderSection17.svelte +58 -0
- package/src/registry/blocks/header-section/HeaderSection18.svelte +66 -0
- package/src/registry/blocks/header-section/HeaderSection19.svelte +47 -0
- package/src/registry/blocks/header-section/HeaderSection20.svelte +53 -0
- package/src/registry/blocks/header-section/index.ts +20 -0
- package/src/registry/blocks/hero-section/HeroSection01.svelte +69 -0
- package/src/registry/blocks/hero-section/HeroSection02.svelte +47 -0
- package/src/registry/blocks/hero-section/HeroSection03.svelte +56 -0
- package/src/registry/blocks/hero-section/HeroSection04.svelte +69 -0
- package/src/registry/blocks/hero-section/HeroSection05.svelte +73 -0
- package/src/registry/blocks/hero-section/HeroSection06.svelte +78 -0
- package/src/registry/blocks/hero-section/HeroSection07.svelte +48 -0
- package/src/registry/blocks/hero-section/HeroSection08.svelte +73 -0
- package/src/registry/blocks/hero-section/HeroSection09.svelte +51 -0
- package/src/registry/blocks/hero-section/HeroSection10.svelte +47 -0
- package/src/registry/blocks/hero-section/HeroSection11.svelte +60 -0
- package/src/registry/blocks/hero-section/HeroSection12.svelte +74 -0
- package/src/registry/blocks/hero-section/HeroSection13.svelte +86 -0
- package/src/registry/blocks/hero-section/HeroSection14.svelte +116 -0
- package/src/registry/blocks/hero-section/HeroSection15.svelte +75 -0
- package/src/registry/blocks/hero-section/HeroSection16.svelte +92 -0
- package/src/registry/blocks/hero-section/HeroSection17.svelte +78 -0
- package/src/registry/blocks/hero-section/HeroSection18.svelte +82 -0
- package/src/registry/blocks/hero-section/HeroSection19.svelte +72 -0
- package/src/registry/blocks/hero-section/HeroSection20.svelte +79 -0
- package/src/registry/blocks/hero-section/HeroSection21.svelte +75 -0
- package/src/registry/blocks/hero-section/HeroSection22.svelte +103 -0
- package/src/registry/blocks/hero-section/index.ts +22 -0
- package/src/registry/blocks/logo-section/LogoSection01.svelte +54 -0
- package/src/registry/blocks/logo-section/LogoSection02.svelte +56 -0
- package/src/registry/blocks/logo-section/LogoSection03.svelte +58 -0
- package/src/registry/blocks/logo-section/LogoSection04.svelte +58 -0
- package/src/registry/blocks/logo-section/LogoSection05.svelte +43 -0
- package/src/registry/blocks/logo-section/LogoSection06.svelte +43 -0
- package/src/registry/blocks/logo-section/LogoSection07.svelte +56 -0
- package/src/registry/blocks/logo-section/index.ts +7 -0
- package/src/registry/blocks/lp-navbar/LPNavbar01.svelte +94 -0
- package/src/registry/blocks/lp-navbar/LPNavbar02.svelte +96 -0
- package/src/registry/blocks/lp-navbar/LPNavbar03.svelte +97 -0
- package/src/registry/blocks/lp-navbar/LPNavbar04.svelte +103 -0
- package/src/registry/blocks/lp-navbar/LPNavbar05.svelte +173 -0
- package/src/registry/blocks/lp-navbar/LPNavbar06.svelte +200 -0
- package/src/registry/blocks/lp-navbar/LPNavbar07.svelte +202 -0
- package/src/registry/blocks/lp-navbar/index.ts +7 -0
- package/src/registry/blocks/mail/MailBlock.svelte +321 -0
- package/src/registry/blocks/mail/index.ts +2 -0
- package/src/registry/blocks/music/MusicBlock.svelte +239 -0
- package/src/registry/blocks/music/index.ts +1 -0
- package/src/registry/blocks/navbar/Navbar01.svelte +234 -0
- package/src/registry/blocks/navbar/Navbar02.svelte +111 -0
- package/src/registry/blocks/navbar/Navbar03.svelte +88 -0
- package/src/registry/blocks/navbar/index.ts +3 -0
- package/src/registry/blocks/not-found/NotFound01.svelte +29 -0
- package/src/registry/blocks/not-found/NotFound02.svelte +28 -0
- package/src/registry/blocks/not-found/NotFound03.svelte +25 -0
- package/src/registry/blocks/not-found/index.ts +3 -0
- package/src/registry/blocks/order-history/OrderHistory01.svelte +208 -0
- package/src/registry/blocks/order-history/OrderHistory02.svelte +131 -0
- package/src/registry/blocks/order-history/OrderHistory03.svelte +133 -0
- package/src/registry/blocks/order-history/index.ts +3 -0
- package/src/registry/blocks/page-header/PageHeader01.svelte +39 -0
- package/src/registry/blocks/page-header/PageHeader02.svelte +58 -0
- package/src/registry/blocks/page-header/PageHeader03.svelte +64 -0
- package/src/registry/blocks/page-header/PageHeader04.svelte +49 -0
- package/src/registry/blocks/page-header/PageHeader05.svelte +49 -0
- package/src/registry/blocks/page-header/PageHeader06.svelte +58 -0
- package/src/registry/blocks/page-header/PageHeader07.svelte +64 -0
- package/src/registry/blocks/page-header/PageHeader08.svelte +68 -0
- package/src/registry/blocks/page-header/index.ts +8 -0
- package/src/registry/blocks/playground/PlaygroundBlock01.svelte +162 -0
- package/src/registry/blocks/playground/PlaygroundBlock02.svelte +156 -0
- package/src/registry/blocks/playground/index.ts +2 -0
- package/src/registry/blocks/pricing-section/PricingSection01.svelte +109 -0
- package/src/registry/blocks/pricing-section/PricingSection02.svelte +145 -0
- package/src/registry/blocks/pricing-section/PricingSection03.svelte +94 -0
- package/src/registry/blocks/pricing-section/PricingSection04.svelte +103 -0
- package/src/registry/blocks/pricing-section/PricingSection05.svelte +128 -0
- package/src/registry/blocks/pricing-section/index.ts +20 -0
- package/src/registry/blocks/product-card/ProductCard01.svelte +74 -0
- package/src/registry/blocks/product-card/ProductCard02.svelte +108 -0
- package/src/registry/blocks/product-card/ProductCard03.svelte +80 -0
- package/src/registry/blocks/product-card/ProductCard04.svelte +50 -0
- package/src/registry/blocks/product-card/ProductCard05.svelte +107 -0
- package/src/registry/blocks/product-card/index.ts +5 -0
- package/src/registry/blocks/product-detail/ProductDetail01.svelte +174 -0
- package/src/registry/blocks/product-detail/ProductDetail02.svelte +170 -0
- package/src/registry/blocks/product-detail/ProductDetail03.svelte +159 -0
- package/src/registry/blocks/product-detail/ProductDetail04.svelte +106 -0
- package/src/registry/blocks/product-detail/ProductDetail05.svelte +181 -0
- package/src/registry/blocks/product-detail/index.ts +5 -0
- package/src/registry/blocks/product-listing/ProductListing01.svelte +194 -0
- package/src/registry/blocks/product-listing/ProductListing02.svelte +163 -0
- package/src/registry/blocks/product-listing/ProductListing03.svelte +173 -0
- package/src/registry/blocks/product-listing/ProductListing04.svelte +179 -0
- package/src/registry/blocks/product-listing/ProductListing05.svelte +126 -0
- package/src/registry/blocks/product-listing/index.ts +5 -0
- package/src/registry/blocks/product-reviews/ProductReviews01.svelte +156 -0
- package/src/registry/blocks/product-reviews/ProductReviews02.svelte +139 -0
- package/src/registry/blocks/product-reviews/ProductReviews03.svelte +137 -0
- package/src/registry/blocks/product-reviews/ProductReviews04.svelte +129 -0
- package/src/registry/blocks/product-reviews/index.ts +4 -0
- package/src/registry/blocks/promo-section/PromoSection01.svelte +72 -0
- package/src/registry/blocks/promo-section/PromoSection02.svelte +61 -0
- package/src/registry/blocks/promo-section/PromoSection03.svelte +110 -0
- package/src/registry/blocks/promo-section/PromoSection04.svelte +103 -0
- package/src/registry/blocks/promo-section/index.ts +4 -0
- package/src/registry/blocks/rich-text/RichText01.svelte +30 -0
- package/src/registry/blocks/rich-text/RichText02.svelte +72 -0
- package/src/registry/blocks/rich-text/RichText03.svelte +52 -0
- package/src/registry/blocks/rich-text/RichText04.svelte +44 -0
- package/src/registry/blocks/rich-text/RichText05.svelte +56 -0
- package/src/registry/blocks/rich-text/index.ts +5 -0
- package/src/registry/blocks/section/Section01.svelte +38 -0
- package/src/registry/blocks/section/Section02.svelte +90 -0
- package/src/registry/blocks/section/Section03.svelte +95 -0
- package/src/registry/blocks/section/Section04.svelte +117 -0
- package/src/registry/blocks/section/index.ts +4 -0
- package/src/registry/blocks/section-footer/SectionFooter01.svelte +39 -0
- package/src/registry/blocks/section-footer/SectionFooter02.svelte +33 -0
- package/src/registry/blocks/section-footer/SectionFooter03.svelte +33 -0
- package/src/registry/blocks/section-footer/SectionFooter04.svelte +34 -0
- package/src/registry/blocks/section-footer/SectionFooter05.svelte +69 -0
- package/src/registry/blocks/section-footer/index.ts +5 -0
- package/src/registry/blocks/section-header/SectionHeader01.svelte +39 -0
- package/src/registry/blocks/section-header/SectionHeader02.svelte +58 -0
- package/src/registry/blocks/section-header/SectionHeader03.svelte +88 -0
- package/src/registry/blocks/section-header/SectionHeader04.svelte +45 -0
- package/src/registry/blocks/section-header/SectionHeader05.svelte +64 -0
- package/src/registry/blocks/section-header/index.ts +5 -0
- package/src/registry/blocks/settings/Settings01.svelte +202 -0
- package/src/registry/blocks/settings/Settings02.svelte +201 -0
- package/src/registry/blocks/settings/Settings03.svelte +156 -0
- package/src/registry/blocks/settings/Settings04.svelte +175 -0
- package/src/registry/blocks/settings/Settings05.svelte +248 -0
- package/src/registry/blocks/settings/Settings06.svelte +120 -0
- package/src/registry/blocks/settings/Settings07.svelte +136 -0
- package/src/registry/blocks/settings/index.ts +7 -0
- package/src/registry/blocks/sidebar/SidebarLayout01.svelte +108 -0
- package/src/registry/blocks/sidebar/SidebarLayout02.svelte +75 -0
- package/src/registry/blocks/sidebar/SidebarLayout03.svelte +108 -0
- package/src/registry/blocks/sidebar/SidebarLayout04.svelte +111 -0
- package/src/registry/blocks/sidebar/SidebarLayout05.svelte +103 -0
- package/src/registry/blocks/sidebar/SidebarLayout06.svelte +122 -0
- package/src/registry/blocks/sidebar/SidebarLayout07.svelte +183 -0
- package/src/registry/blocks/sidebar/SidebarLayout08.svelte +162 -0
- package/src/registry/blocks/sidebar/SidebarLayout09.svelte +167 -0
- package/src/registry/blocks/sidebar/SidebarLayout10.svelte +159 -0
- package/src/registry/blocks/sidebar/SidebarLayout11.svelte +135 -0
- package/src/registry/blocks/sidebar/SidebarLayout12.svelte +159 -0
- package/src/registry/blocks/sidebar/SidebarLayout13.svelte +103 -0
- package/src/registry/blocks/sidebar/SidebarLayout14.svelte +87 -0
- package/src/registry/blocks/sidebar/SidebarLayout15.svelte +228 -0
- package/src/registry/blocks/sidebar/index.ts +15 -0
- package/src/registry/blocks/sign-in/SignIn01.svelte +140 -0
- package/src/registry/blocks/sign-in/SignIn02.svelte +155 -0
- package/src/registry/blocks/sign-in/SignIn03.svelte +214 -0
- package/src/registry/blocks/sign-in/SignIn04.svelte +163 -0
- package/src/registry/blocks/sign-in/SignIn05.svelte +209 -0
- package/src/registry/blocks/sign-in/SignIn06.svelte +233 -0
- package/src/registry/blocks/sign-in/SignIn07.svelte +268 -0
- package/src/registry/blocks/sign-in/SignIn08.svelte +125 -0
- package/src/registry/blocks/sign-in/SignIn09.svelte +93 -0
- package/src/registry/blocks/sign-in/SignIn10.svelte +74 -0
- package/src/registry/blocks/sign-in/index.ts +10 -0
- package/src/registry/blocks/sign-up/SignUp01.svelte +124 -0
- package/src/registry/blocks/sign-up/SignUp02.svelte +110 -0
- package/src/registry/blocks/sign-up/SignUp03.svelte +182 -0
- package/src/registry/blocks/sign-up/SignUp04.svelte +126 -0
- package/src/registry/blocks/sign-up/SignUp05.svelte +182 -0
- package/src/registry/blocks/sign-up/SignUp06.svelte +221 -0
- package/src/registry/blocks/sign-up/SignUp07.svelte +98 -0
- package/src/registry/blocks/sign-up/index.ts +7 -0
- package/src/registry/blocks/stats-section/StatsSection01.svelte +66 -0
- package/src/registry/blocks/stats-section/StatsSection02.svelte +60 -0
- package/src/registry/blocks/stats-section/StatsSection03.svelte +66 -0
- package/src/registry/blocks/stats-section/StatsSection04.svelte +66 -0
- package/src/registry/blocks/stats-section/StatsSection05.svelte +60 -0
- package/src/registry/blocks/stats-section/StatsSection06.svelte +48 -0
- package/src/registry/blocks/stats-section/StatsSection07.svelte +66 -0
- package/src/registry/blocks/stats-section/index.ts +7 -0
- package/src/registry/blocks/store-navbar/StoreNavbar01.svelte +101 -0
- package/src/registry/blocks/store-navbar/StoreNavbar02.svelte +65 -0
- package/src/registry/blocks/store-navbar/StoreNavbar03.svelte +83 -0
- package/src/registry/blocks/store-navbar/StoreNavbar04.svelte +110 -0
- package/src/registry/blocks/store-navbar/StoreNavbar05.svelte +80 -0
- package/src/registry/blocks/store-navbar/index.ts +5 -0
- package/src/registry/blocks/table-header/TableHeader01.svelte +96 -0
- package/src/registry/blocks/table-header/TableHeader02.svelte +86 -0
- package/src/registry/blocks/table-header/TableHeader03.svelte +99 -0
- package/src/registry/blocks/table-header/TableHeader04.svelte +107 -0
- package/src/registry/blocks/table-header/index.ts +4 -0
- package/src/registry/blocks/tasks/TasksBlock.svelte +286 -0
- package/src/registry/blocks/tasks/index.ts +1 -0
- package/src/registry/blocks/team-section/TeamSection01.svelte +80 -0
- package/src/registry/blocks/team-section/TeamSection02.svelte +102 -0
- package/src/registry/blocks/team-section/TeamSection03.svelte +76 -0
- package/src/registry/blocks/team-section/TeamSection04.svelte +106 -0
- package/src/registry/blocks/team-section/index.ts +13 -0
- package/src/registry/blocks/testimonials/Testimonial01.svelte +74 -0
- package/src/registry/blocks/testimonials/Testimonial02.svelte +74 -0
- package/src/registry/blocks/testimonials/Testimonial03.svelte +79 -0
- package/src/registry/blocks/testimonials/Testimonial04.svelte +113 -0
- package/src/registry/blocks/testimonials/Testimonial05.svelte +74 -0
- package/src/registry/blocks/testimonials/Testimonial06.svelte +114 -0
- package/src/registry/blocks/testimonials/Testimonial07.svelte +131 -0
- package/src/registry/blocks/testimonials/Testimonials01.svelte +60 -0
- package/src/registry/blocks/testimonials/Testimonials02.svelte +61 -0
- package/src/registry/blocks/testimonials/Testimonials03.svelte +79 -0
- package/src/registry/blocks/testimonials/Testimonials04.svelte +74 -0
- package/src/registry/blocks/testimonials/Testimonials05.svelte +68 -0
- package/src/registry/blocks/testimonials/Testimonials06.svelte +82 -0
- package/src/registry/blocks/testimonials/Testimonials07.svelte +98 -0
- package/src/registry/blocks/testimonials/index.ts +16 -0
- package/src/registry/templates/cn.ts +42 -0
- package/src/index.ts +0 -2
- package/tsconfig.json +0 -20
- /package/src/{generate-component.cjs → commands/generate-component.cjs} +0 -0
- /package/src/{generate-route.cjs → commands/generate-route.cjs} +0 -0
- /package/src/{generate-service.cjs → commands/generate-service.cjs} +0 -0
- /package/src/{manage-auth-users.cjs → commands/manage-auth-users.cjs} +0 -0
- /package/src/{setup.cjs → commands/setup.cjs} +0 -0
- /package/src/{validate-setup.cjs → commands/validate.cjs} +0 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn } from '$lib/utils/cn';
|
|
3
|
+
import { Button } from '$lib/components/ui';
|
|
4
|
+
|
|
5
|
+
interface Props {
|
|
6
|
+
class?: string;
|
|
7
|
+
title?: string;
|
|
8
|
+
subtitle?: string;
|
|
9
|
+
primaryLabel?: string;
|
|
10
|
+
secondaryLabel?: string;
|
|
11
|
+
onPrimary?: () => void;
|
|
12
|
+
onSecondary?: () => void;
|
|
13
|
+
onPlay?: () => void;
|
|
14
|
+
videoUrl?: string;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
let {
|
|
18
|
+
class: className,
|
|
19
|
+
title = 'Build your next big idea faster',
|
|
20
|
+
subtitle = 'A comprehensive toolkit that helps you design, develop, and ship production-ready products at lightning speed.',
|
|
21
|
+
primaryLabel = 'Get started',
|
|
22
|
+
secondaryLabel = 'Learn more',
|
|
23
|
+
onPrimary,
|
|
24
|
+
onSecondary,
|
|
25
|
+
onPlay,
|
|
26
|
+
videoUrl,
|
|
27
|
+
}: Props = $props();
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<section class={cn('w-full bg-background px-4 py-20 sm:py-28 sm:px-6 lg:px-8', className)}>
|
|
31
|
+
<div class="mx-auto max-w-6xl">
|
|
32
|
+
<div class="text-center">
|
|
33
|
+
<h1 class="text-4xl sm:text-5xl lg:text-6xl font-bold tracking-tight">
|
|
34
|
+
{title}
|
|
35
|
+
</h1>
|
|
36
|
+
<p class="mt-4 text-lg text-muted-foreground max-w-2xl mx-auto">
|
|
37
|
+
{subtitle}
|
|
38
|
+
</p>
|
|
39
|
+
<div class="mt-8 flex flex-col sm:flex-row gap-3 justify-center">
|
|
40
|
+
<Button size="lg" onclick={onPrimary}>{primaryLabel}</Button>
|
|
41
|
+
<Button variant="outline" size="lg" onclick={onSecondary}>{secondaryLabel}</Button>
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
|
|
45
|
+
<div class="mt-16 relative">
|
|
46
|
+
<div class="mx-auto max-w-4xl">
|
|
47
|
+
<div class="relative aspect-video w-full rounded-xl bg-muted flex items-center justify-center shadow-2xl overflow-hidden">
|
|
48
|
+
{#if videoUrl}
|
|
49
|
+
<video
|
|
50
|
+
src={videoUrl}
|
|
51
|
+
class="w-full h-full object-cover"
|
|
52
|
+
controls
|
|
53
|
+
></video>
|
|
54
|
+
{:else}
|
|
55
|
+
<div class="absolute inset-0 bg-muted"></div>
|
|
56
|
+
{/if}
|
|
57
|
+
|
|
58
|
+
<button
|
|
59
|
+
onclick={onPlay}
|
|
60
|
+
class="absolute inset-0 flex items-center justify-center hover:opacity-80 transition-opacity"
|
|
61
|
+
>
|
|
62
|
+
<div class="h-16 w-16 rounded-full bg-background/90 flex items-center justify-center shadow-lg hover:bg-background transition-colors">
|
|
63
|
+
<svg
|
|
64
|
+
width="24"
|
|
65
|
+
height="24"
|
|
66
|
+
viewBox="0 0 24 24"
|
|
67
|
+
fill="currentColor"
|
|
68
|
+
class="text-foreground ml-1"
|
|
69
|
+
>
|
|
70
|
+
<polygon points="5 3 19 12 5 21 5 3" />
|
|
71
|
+
</svg>
|
|
72
|
+
</div>
|
|
73
|
+
</button>
|
|
74
|
+
</div>
|
|
75
|
+
</div>
|
|
76
|
+
</div>
|
|
77
|
+
</div>
|
|
78
|
+
</section>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn } from '$lib/utils/cn';
|
|
3
|
+
import { Button } from '$lib/components/ui';
|
|
4
|
+
|
|
5
|
+
interface Props {
|
|
6
|
+
class?: string;
|
|
7
|
+
title?: string;
|
|
8
|
+
subtitle?: string;
|
|
9
|
+
primaryLabel?: string;
|
|
10
|
+
secondaryLabel?: string;
|
|
11
|
+
onPrimary?: () => void;
|
|
12
|
+
onSecondary?: () => void;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
let {
|
|
16
|
+
class: className,
|
|
17
|
+
title = 'Build your next big idea faster',
|
|
18
|
+
subtitle = 'A comprehensive toolkit that helps you design, develop, and ship production-ready products at lightning speed.',
|
|
19
|
+
primaryLabel = 'Get started',
|
|
20
|
+
secondaryLabel = 'Learn more',
|
|
21
|
+
onPrimary,
|
|
22
|
+
onSecondary,
|
|
23
|
+
}: Props = $props();
|
|
24
|
+
</script>
|
|
25
|
+
|
|
26
|
+
<section
|
|
27
|
+
class={cn(
|
|
28
|
+
'w-full bg-gradient-to-br from-background via-background to-muted px-4 py-20 sm:py-28 sm:px-6 lg:px-8',
|
|
29
|
+
className
|
|
30
|
+
)}
|
|
31
|
+
>
|
|
32
|
+
<div class="mx-auto max-w-6xl">
|
|
33
|
+
<div class="text-center">
|
|
34
|
+
<h1
|
|
35
|
+
class="bg-gradient-to-r from-foreground to-foreground/60 bg-clip-text text-transparent text-4xl sm:text-5xl lg:text-6xl font-bold tracking-tight"
|
|
36
|
+
>
|
|
37
|
+
{title}
|
|
38
|
+
</h1>
|
|
39
|
+
<p class="mt-4 text-lg text-muted-foreground max-w-2xl mx-auto">
|
|
40
|
+
{subtitle}
|
|
41
|
+
</p>
|
|
42
|
+
<div class="mt-8 flex flex-col sm:flex-row gap-3 justify-center">
|
|
43
|
+
<Button size="lg" onclick={onPrimary}>{primaryLabel}</Button>
|
|
44
|
+
<Button variant="outline" size="lg" onclick={onSecondary}>{secondaryLabel}</Button>
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
|
48
|
+
</section>
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn } from '$lib/utils/cn';
|
|
3
|
+
import { Button } from '$lib/components/ui';
|
|
4
|
+
|
|
5
|
+
interface Props {
|
|
6
|
+
class?: string;
|
|
7
|
+
title?: string;
|
|
8
|
+
subtitle?: string;
|
|
9
|
+
primaryLabel?: string;
|
|
10
|
+
secondaryLabel?: string;
|
|
11
|
+
onPrimary?: () => void;
|
|
12
|
+
onSecondary?: () => void;
|
|
13
|
+
imageUrl?: string;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
let {
|
|
17
|
+
class: className,
|
|
18
|
+
title = 'Build your next big idea faster',
|
|
19
|
+
subtitle = 'A comprehensive toolkit that helps you design, develop, and ship production-ready products at lightning speed.',
|
|
20
|
+
primaryLabel = 'Get started',
|
|
21
|
+
secondaryLabel = 'Learn more',
|
|
22
|
+
onPrimary,
|
|
23
|
+
onSecondary,
|
|
24
|
+
imageUrl,
|
|
25
|
+
}: Props = $props();
|
|
26
|
+
</script>
|
|
27
|
+
|
|
28
|
+
<section class={cn('w-full bg-background px-0 py-0 sm:px-0 lg:px-0', className)}>
|
|
29
|
+
<div class="grid grid-cols-1 sm:grid-cols-2 min-h-[600px]">
|
|
30
|
+
<div class="bg-foreground text-background p-12 flex flex-col justify-center">
|
|
31
|
+
<h1 class="text-4xl sm:text-5xl font-bold tracking-tight">
|
|
32
|
+
{title}
|
|
33
|
+
</h1>
|
|
34
|
+
<p class="mt-4 text-lg text-background/80">
|
|
35
|
+
{subtitle}
|
|
36
|
+
</p>
|
|
37
|
+
</div>
|
|
38
|
+
|
|
39
|
+
<div class="bg-background p-12 flex flex-col justify-center">
|
|
40
|
+
<div class="space-y-4 mb-8">
|
|
41
|
+
<p class="text-muted-foreground">
|
|
42
|
+
{subtitle}
|
|
43
|
+
</p>
|
|
44
|
+
</div>
|
|
45
|
+
<div class="flex flex-col gap-3">
|
|
46
|
+
<Button size="lg" onclick={onPrimary}>{primaryLabel}</Button>
|
|
47
|
+
<Button variant="outline" size="lg" onclick={onSecondary}>{secondaryLabel}</Button>
|
|
48
|
+
</div>
|
|
49
|
+
|
|
50
|
+
{#if imageUrl}
|
|
51
|
+
<img src={imageUrl} alt="Hero" class="mt-8 w-full rounded-lg" />
|
|
52
|
+
{:else}
|
|
53
|
+
<div
|
|
54
|
+
class="mt-8 aspect-video w-full rounded-lg bg-muted flex items-center justify-center"
|
|
55
|
+
>
|
|
56
|
+
<svg
|
|
57
|
+
width="32"
|
|
58
|
+
height="32"
|
|
59
|
+
viewBox="0 0 24 24"
|
|
60
|
+
fill="none"
|
|
61
|
+
stroke="currentColor"
|
|
62
|
+
stroke-width="1"
|
|
63
|
+
class="text-muted-foreground/40"
|
|
64
|
+
>
|
|
65
|
+
<rect x="3" y="3" width="18" height="18" rx="2" />
|
|
66
|
+
<circle cx="8.5" cy="8.5" r="1.5" />
|
|
67
|
+
<polyline points="21 15 16 10 5 21" />
|
|
68
|
+
</svg>
|
|
69
|
+
</div>
|
|
70
|
+
{/if}
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
</section>
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn } from '$lib/utils/cn';
|
|
3
|
+
import { Button } from '$lib/components/ui';
|
|
4
|
+
|
|
5
|
+
interface Props {
|
|
6
|
+
class?: string;
|
|
7
|
+
title?: string;
|
|
8
|
+
subtitle?: string;
|
|
9
|
+
primaryLabel?: string;
|
|
10
|
+
secondaryLabel?: string;
|
|
11
|
+
onPrimary?: () => void;
|
|
12
|
+
onSecondary?: () => void;
|
|
13
|
+
companies?: string[];
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
let {
|
|
17
|
+
class: className,
|
|
18
|
+
title = 'Build your next big idea faster',
|
|
19
|
+
subtitle = 'A comprehensive toolkit that helps you design, develop, and ship production-ready products at lightning speed.',
|
|
20
|
+
primaryLabel = 'Get started',
|
|
21
|
+
secondaryLabel = 'Learn more',
|
|
22
|
+
onPrimary,
|
|
23
|
+
onSecondary,
|
|
24
|
+
companies = ['TechCorp', 'StartupAI', 'CloudScale', 'DataHub', 'DevTools'],
|
|
25
|
+
}: Props = $props();
|
|
26
|
+
</script>
|
|
27
|
+
|
|
28
|
+
<section class={cn('w-full bg-background px-4 py-20 sm:py-28 sm:px-6 lg:px-8', className)}>
|
|
29
|
+
<div class="mx-auto max-w-6xl">
|
|
30
|
+
<div class="text-center">
|
|
31
|
+
<h1 class="text-4xl sm:text-5xl lg:text-6xl font-bold tracking-tight">
|
|
32
|
+
{title}
|
|
33
|
+
</h1>
|
|
34
|
+
<p class="mt-4 text-lg text-muted-foreground max-w-2xl mx-auto">
|
|
35
|
+
{subtitle}
|
|
36
|
+
</p>
|
|
37
|
+
<div class="mt-8 flex flex-col sm:flex-row gap-3 justify-center">
|
|
38
|
+
<Button size="lg" onclick={onPrimary}>{primaryLabel}</Button>
|
|
39
|
+
<Button variant="outline" size="lg" onclick={onSecondary}>{secondaryLabel}</Button>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
|
|
43
|
+
<div class="mt-12 flex flex-wrap justify-center gap-6 opacity-50">
|
|
44
|
+
{#each companies as company}
|
|
45
|
+
<div class="text-sm font-semibold text-muted-foreground whitespace-nowrap">
|
|
46
|
+
{company}
|
|
47
|
+
</div>
|
|
48
|
+
{/each}
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
</section>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn } from '$lib/utils/cn';
|
|
3
|
+
import { Button } from '$lib/components/ui';
|
|
4
|
+
|
|
5
|
+
interface Props {
|
|
6
|
+
class?: string;
|
|
7
|
+
title?: string;
|
|
8
|
+
subtitle?: string;
|
|
9
|
+
primaryLabel?: string;
|
|
10
|
+
secondaryLabel?: string;
|
|
11
|
+
onPrimary?: () => void;
|
|
12
|
+
onSecondary?: () => void;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
let {
|
|
16
|
+
class: className,
|
|
17
|
+
title = 'Build your next big idea faster',
|
|
18
|
+
subtitle = 'A comprehensive toolkit that helps you design, develop, and ship production-ready products at lightning speed.',
|
|
19
|
+
primaryLabel = 'Get started',
|
|
20
|
+
secondaryLabel = 'Learn more',
|
|
21
|
+
onPrimary,
|
|
22
|
+
onSecondary,
|
|
23
|
+
}: Props = $props();
|
|
24
|
+
</script>
|
|
25
|
+
|
|
26
|
+
<section
|
|
27
|
+
class={cn(
|
|
28
|
+
'w-full min-h-screen bg-background px-4 pb-20 flex flex-col justify-end sm:px-6 lg:px-8',
|
|
29
|
+
className
|
|
30
|
+
)}
|
|
31
|
+
style="background-image: radial-gradient(#e5e7eb 1px, transparent 1px); background-size: 20px 20px;"
|
|
32
|
+
>
|
|
33
|
+
<div class="mx-auto max-w-6xl w-full">
|
|
34
|
+
<div>
|
|
35
|
+
<h1 class="text-5xl sm:text-7xl font-black tracking-tight">
|
|
36
|
+
{title}
|
|
37
|
+
</h1>
|
|
38
|
+
<p class="mt-4 text-lg text-muted-foreground max-w-2xl">
|
|
39
|
+
{subtitle}
|
|
40
|
+
</p>
|
|
41
|
+
<div class="mt-8 flex flex-col sm:flex-row gap-3">
|
|
42
|
+
<Button size="lg" onclick={onPrimary}>{primaryLabel}</Button>
|
|
43
|
+
<Button variant="outline" size="lg" onclick={onSecondary}>{secondaryLabel}</Button>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
47
|
+
</section>
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn } from '$lib/utils/cn';
|
|
3
|
+
import { Button } from '$lib/components/ui';
|
|
4
|
+
|
|
5
|
+
interface Props {
|
|
6
|
+
class?: string;
|
|
7
|
+
title?: string;
|
|
8
|
+
subtitle?: string;
|
|
9
|
+
primaryLabel?: string;
|
|
10
|
+
secondaryLabel?: string;
|
|
11
|
+
onPrimary?: () => void;
|
|
12
|
+
onSecondary?: () => void;
|
|
13
|
+
imageUrl?: string;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
let {
|
|
17
|
+
class: className,
|
|
18
|
+
title = 'Build your next big idea faster',
|
|
19
|
+
subtitle = 'A comprehensive toolkit that helps you design, develop, and ship production-ready products at lightning speed.',
|
|
20
|
+
primaryLabel = 'Get started',
|
|
21
|
+
secondaryLabel = 'Learn more',
|
|
22
|
+
onPrimary,
|
|
23
|
+
onSecondary,
|
|
24
|
+
imageUrl,
|
|
25
|
+
}: Props = $props();
|
|
26
|
+
</script>
|
|
27
|
+
|
|
28
|
+
<section
|
|
29
|
+
class={cn('relative w-full min-h-[600px] bg-foreground overflow-hidden flex items-center px-4 py-20 sm:px-6 lg:px-8', className)}
|
|
30
|
+
>
|
|
31
|
+
<div class="absolute inset-0 bg-foreground/70"></div>
|
|
32
|
+
|
|
33
|
+
{#if imageUrl}
|
|
34
|
+
<img src={imageUrl} alt="Hero background" class="absolute inset-0 w-full h-full object-cover" />
|
|
35
|
+
{:else}
|
|
36
|
+
<div class="absolute inset-0 bg-muted"></div>
|
|
37
|
+
{/if}
|
|
38
|
+
|
|
39
|
+
<div class="relative z-10 mx-auto max-w-6xl w-full">
|
|
40
|
+
<div class="text-center">
|
|
41
|
+
<h1 class="text-4xl sm:text-5xl lg:text-6xl font-bold tracking-tight text-background">
|
|
42
|
+
{title}
|
|
43
|
+
</h1>
|
|
44
|
+
<p class="mt-4 text-lg text-background/90 max-w-2xl mx-auto">
|
|
45
|
+
{subtitle}
|
|
46
|
+
</p>
|
|
47
|
+
<div class="mt-8 flex flex-col sm:flex-row gap-3 justify-center">
|
|
48
|
+
<Button size="lg" variant="secondary" onclick={onPrimary}>{primaryLabel}</Button>
|
|
49
|
+
<Button
|
|
50
|
+
size="lg"
|
|
51
|
+
variant="outline"
|
|
52
|
+
onclick={onSecondary}
|
|
53
|
+
class="border-background/30 text-background hover:bg-background/10"
|
|
54
|
+
>
|
|
55
|
+
{secondaryLabel}
|
|
56
|
+
</Button>
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
</section>
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn } from '$lib/utils/cn';
|
|
3
|
+
import { Button } from '$lib/components/ui';
|
|
4
|
+
|
|
5
|
+
interface Props {
|
|
6
|
+
class?: string;
|
|
7
|
+
title?: string;
|
|
8
|
+
subtitle?: string;
|
|
9
|
+
primaryLabel?: string;
|
|
10
|
+
secondaryLabel?: string;
|
|
11
|
+
onPrimary?: () => void;
|
|
12
|
+
onSecondary?: () => void;
|
|
13
|
+
features?: Array<{ title: string; description: string }>;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
let {
|
|
17
|
+
class: className,
|
|
18
|
+
title = 'Build your next big idea faster',
|
|
19
|
+
subtitle = 'A comprehensive toolkit that helps you design, develop, and ship production-ready products at lightning speed.',
|
|
20
|
+
primaryLabel = 'Get started',
|
|
21
|
+
secondaryLabel = 'Learn more',
|
|
22
|
+
onPrimary,
|
|
23
|
+
onSecondary,
|
|
24
|
+
features = [
|
|
25
|
+
{ title: 'Fast Performance', description: 'Lightning-quick load times' },
|
|
26
|
+
{ title: 'Secure by Design', description: 'Enterprise-grade security' },
|
|
27
|
+
{ title: 'Fully Documented', description: 'Comprehensive guides and API docs' },
|
|
28
|
+
{ title: 'Active Support', description: '24/7 community and professional support' },
|
|
29
|
+
],
|
|
30
|
+
}: Props = $props();
|
|
31
|
+
</script>
|
|
32
|
+
|
|
33
|
+
<section class={cn('w-full bg-background px-4 py-20 sm:py-28 sm:px-6 lg:px-8', className)}>
|
|
34
|
+
<div class="mx-auto max-w-6xl">
|
|
35
|
+
<div class="grid grid-cols-1 gap-12 sm:grid-cols-2 sm:items-center">
|
|
36
|
+
<div>
|
|
37
|
+
<h1 class="text-4xl sm:text-5xl lg:text-6xl font-bold tracking-tight">
|
|
38
|
+
{title}
|
|
39
|
+
</h1>
|
|
40
|
+
<p class="mt-4 text-lg text-muted-foreground">
|
|
41
|
+
{subtitle}
|
|
42
|
+
</p>
|
|
43
|
+
<div class="mt-8 flex flex-col sm:flex-row gap-3">
|
|
44
|
+
<Button size="lg" onclick={onPrimary}>{primaryLabel}</Button>
|
|
45
|
+
<Button variant="outline" size="lg" onclick={onSecondary}>{secondaryLabel}</Button>
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
|
48
|
+
|
|
49
|
+
<div class="grid grid-cols-2 gap-4">
|
|
50
|
+
{#each features as feature, i}
|
|
51
|
+
<div>
|
|
52
|
+
<div
|
|
53
|
+
class="flex h-10 w-10 items-center justify-center rounded-lg bg-emerald-100 dark:bg-emerald-900/30 mb-3"
|
|
54
|
+
>
|
|
55
|
+
<svg
|
|
56
|
+
width="20"
|
|
57
|
+
height="20"
|
|
58
|
+
viewBox="0 0 24 24"
|
|
59
|
+
fill="none"
|
|
60
|
+
stroke="currentColor"
|
|
61
|
+
stroke-width="2"
|
|
62
|
+
class="text-emerald-600 dark:text-emerald-400"
|
|
63
|
+
>
|
|
64
|
+
<polyline points="20 6 9 17 4 12" />
|
|
65
|
+
</svg>
|
|
66
|
+
</div>
|
|
67
|
+
<h3 class="font-semibold text-foreground">{feature.title}</h3>
|
|
68
|
+
<p class="text-sm text-muted-foreground mt-1">{feature.description}</p>
|
|
69
|
+
</div>
|
|
70
|
+
{/each}
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
</div>
|
|
74
|
+
</section>
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn } from '$lib/utils/cn';
|
|
3
|
+
import { Button } from '$lib/components/ui';
|
|
4
|
+
|
|
5
|
+
interface Props {
|
|
6
|
+
class?: string;
|
|
7
|
+
announcementText?: string;
|
|
8
|
+
title?: string;
|
|
9
|
+
subtitle?: string;
|
|
10
|
+
primaryLabel?: string;
|
|
11
|
+
secondaryLabel?: string;
|
|
12
|
+
onPrimary?: () => void;
|
|
13
|
+
onSecondary?: () => void;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
let {
|
|
17
|
+
class: className,
|
|
18
|
+
announcementText = 'New: AI-powered features →',
|
|
19
|
+
title = 'Announce Your Latest Feature',
|
|
20
|
+
subtitle = 'Capture attention with a sleek dark hero that highlights your newest innovation. Perfect for product launches and feature announcements.',
|
|
21
|
+
primaryLabel = 'Get started',
|
|
22
|
+
secondaryLabel = 'Learn more',
|
|
23
|
+
onPrimary,
|
|
24
|
+
onSecondary,
|
|
25
|
+
}: Props = $props();
|
|
26
|
+
</script>
|
|
27
|
+
|
|
28
|
+
<section class={cn('w-full bg-gray-950 px-4 py-20 sm:py-28 sm:px-6 lg:px-8', className)}>
|
|
29
|
+
<div class="mx-auto max-w-6xl">
|
|
30
|
+
<div class="text-center">
|
|
31
|
+
<!-- Announcement Pill -->
|
|
32
|
+
<div class="mb-6 inline-flex items-center gap-2 rounded-full border border-gray-800 bg-gray-900 px-4 py-2">
|
|
33
|
+
<span class="text-sm font-medium text-white">✨ {announcementText}</span>
|
|
34
|
+
</div>
|
|
35
|
+
|
|
36
|
+
<!-- Headline -->
|
|
37
|
+
<h1 class="text-5xl sm:text-6xl lg:text-7xl font-bold tracking-tight text-white">
|
|
38
|
+
{title}
|
|
39
|
+
</h1>
|
|
40
|
+
|
|
41
|
+
<!-- Subtitle -->
|
|
42
|
+
<p class="mt-6 text-lg text-gray-400 max-w-2xl mx-auto">
|
|
43
|
+
{subtitle}
|
|
44
|
+
</p>
|
|
45
|
+
|
|
46
|
+
<!-- CTA Buttons -->
|
|
47
|
+
<div class="mt-10 flex flex-col sm:flex-row gap-4 justify-center">
|
|
48
|
+
<Button size="lg" onclick={onPrimary} class="bg-white text-black hover:bg-gray-100">
|
|
49
|
+
{primaryLabel}
|
|
50
|
+
</Button>
|
|
51
|
+
<Button
|
|
52
|
+
variant="outline"
|
|
53
|
+
size="lg"
|
|
54
|
+
onclick={onSecondary}
|
|
55
|
+
class="border-gray-700 text-white hover:bg-gray-900"
|
|
56
|
+
>
|
|
57
|
+
{secondaryLabel}
|
|
58
|
+
</Button>
|
|
59
|
+
</div>
|
|
60
|
+
</div>
|
|
61
|
+
|
|
62
|
+
<!-- Screenshot Mockup -->
|
|
63
|
+
<div class="mt-16 relative">
|
|
64
|
+
<div class="mx-auto max-w-5xl">
|
|
65
|
+
<div
|
|
66
|
+
class="relative aspect-video w-full rounded-2xl bg-gray-800 flex items-center justify-center shadow-2xl border border-gray-700 overflow-hidden"
|
|
67
|
+
>
|
|
68
|
+
<div class="absolute inset-0 bg-gradient-to-b from-gray-700/20 to-transparent" />
|
|
69
|
+
<svg
|
|
70
|
+
width="64"
|
|
71
|
+
height="64"
|
|
72
|
+
viewBox="0 0 24 24"
|
|
73
|
+
fill="none"
|
|
74
|
+
stroke="currentColor"
|
|
75
|
+
stroke-width="1"
|
|
76
|
+
class="text-gray-600 relative z-10"
|
|
77
|
+
>
|
|
78
|
+
<rect x="3" y="3" width="18" height="18" rx="2" />
|
|
79
|
+
<circle cx="8.5" cy="8.5" r="1.5" />
|
|
80
|
+
<polyline points="21 15 16 10 5 21" />
|
|
81
|
+
</svg>
|
|
82
|
+
</div>
|
|
83
|
+
</div>
|
|
84
|
+
</div>
|
|
85
|
+
</div>
|
|
86
|
+
</section>
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn } from '$lib/utils/cn';
|
|
3
|
+
import { Button } from '$lib/components/ui';
|
|
4
|
+
|
|
5
|
+
interface Props {
|
|
6
|
+
class?: string;
|
|
7
|
+
eyebrow?: string;
|
|
8
|
+
title?: string;
|
|
9
|
+
subtitle?: string;
|
|
10
|
+
primaryLabel?: string;
|
|
11
|
+
onPrimary?: () => void;
|
|
12
|
+
userCount?: string;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
let {
|
|
16
|
+
class: className,
|
|
17
|
+
eyebrow = 'Trusted by Industry Leaders',
|
|
18
|
+
title = 'Capture Leads with Ease',
|
|
19
|
+
subtitle = 'Build trust and convert visitors into customers with our streamlined lead capture form.',
|
|
20
|
+
primaryLabel = 'Submit',
|
|
21
|
+
onPrimary,
|
|
22
|
+
userCount = '10,000+',
|
|
23
|
+
}: Props = $props();
|
|
24
|
+
|
|
25
|
+
let formName = $state('');
|
|
26
|
+
let formEmail = $state('');
|
|
27
|
+
let formCompany = $state('');
|
|
28
|
+
|
|
29
|
+
function handleSubmit() {
|
|
30
|
+
onPrimary?.();
|
|
31
|
+
formName = '';
|
|
32
|
+
formEmail = '';
|
|
33
|
+
formCompany = '';
|
|
34
|
+
}
|
|
35
|
+
</script>
|
|
36
|
+
|
|
37
|
+
<section class={cn('w-full bg-white px-4 py-20 sm:py-28 sm:px-6 lg:px-8', className)}>
|
|
38
|
+
<div class="mx-auto max-w-7xl">
|
|
39
|
+
<div class="grid grid-cols-1 lg:grid-cols-2 gap-12 items-center">
|
|
40
|
+
<!-- Left Content -->
|
|
41
|
+
<div>
|
|
42
|
+
<p class="text-sm font-semibold text-blue-600 uppercase tracking-wide">{eyebrow}</p>
|
|
43
|
+
<h1 class="mt-4 text-4xl sm:text-5xl lg:text-6xl font-bold tracking-tight text-gray-900">
|
|
44
|
+
{title}
|
|
45
|
+
</h1>
|
|
46
|
+
<p class="mt-6 text-lg text-gray-600 max-w-xl">
|
|
47
|
+
{subtitle}
|
|
48
|
+
</p>
|
|
49
|
+
|
|
50
|
+
<!-- Trust Signals -->
|
|
51
|
+
<div class="mt-8 flex items-center gap-4">
|
|
52
|
+
<div class="flex -space-x-2">
|
|
53
|
+
<div class="w-10 h-10 rounded-full bg-blue-500 border-2 border-white flex items-center justify-center text-white text-sm font-bold">
|
|
54
|
+
A
|
|
55
|
+
</div>
|
|
56
|
+
<div class="w-10 h-10 rounded-full bg-purple-500 border-2 border-white flex items-center justify-center text-white text-sm font-bold">
|
|
57
|
+
B
|
|
58
|
+
</div>
|
|
59
|
+
<div class="w-10 h-10 rounded-full bg-pink-500 border-2 border-white flex items-center justify-center text-white text-sm font-bold">
|
|
60
|
+
C
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
<p class="text-sm text-gray-700">
|
|
64
|
+
<strong>{userCount}</strong> users already trust us
|
|
65
|
+
</p>
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
|
|
69
|
+
<!-- Right Form Card -->
|
|
70
|
+
<div class="bg-white rounded-2xl shadow-xl border border-gray-200 p-8">
|
|
71
|
+
<h2 class="text-2xl font-bold text-gray-900 mb-6">Get Started Today</h2>
|
|
72
|
+
<form onsubmit={(e) => { e.preventDefault(); handleSubmit(); }} class="space-y-4">
|
|
73
|
+
<div>
|
|
74
|
+
<label for="name" class="block text-sm font-medium text-gray-900 mb-2">Full Name</label>
|
|
75
|
+
<input
|
|
76
|
+
type="text"
|
|
77
|
+
id="name"
|
|
78
|
+
placeholder="John Doe"
|
|
79
|
+
bind:value={formName}
|
|
80
|
+
class="w-full px-4 py-2 rounded-lg border border-gray-300 focus:outline-none focus:ring-2 focus:ring-blue-500"
|
|
81
|
+
required
|
|
82
|
+
/>
|
|
83
|
+
</div>
|
|
84
|
+
<div>
|
|
85
|
+
<label for="email" class="block text-sm font-medium text-gray-900 mb-2">Email</label>
|
|
86
|
+
<input
|
|
87
|
+
type="email"
|
|
88
|
+
id="email"
|
|
89
|
+
placeholder="john@example.com"
|
|
90
|
+
bind:value={formEmail}
|
|
91
|
+
class="w-full px-4 py-2 rounded-lg border border-gray-300 focus:outline-none focus:ring-2 focus:ring-blue-500"
|
|
92
|
+
required
|
|
93
|
+
/>
|
|
94
|
+
</div>
|
|
95
|
+
<div>
|
|
96
|
+
<label for="company" class="block text-sm font-medium text-gray-900 mb-2">Company</label>
|
|
97
|
+
<input
|
|
98
|
+
type="text"
|
|
99
|
+
id="company"
|
|
100
|
+
placeholder="Acme Inc."
|
|
101
|
+
bind:value={formCompany}
|
|
102
|
+
class="w-full px-4 py-2 rounded-lg border border-gray-300 focus:outline-none focus:ring-2 focus:ring-blue-500"
|
|
103
|
+
required
|
|
104
|
+
/>
|
|
105
|
+
</div>
|
|
106
|
+
<Button size="lg" class="w-full" onclick={handleSubmit}>
|
|
107
|
+
{primaryLabel}
|
|
108
|
+
</Button>
|
|
109
|
+
</form>
|
|
110
|
+
<p class="mt-4 text-xs text-gray-500 text-center">
|
|
111
|
+
We respect your privacy. Unsubscribe at any time.
|
|
112
|
+
</p>
|
|
113
|
+
</div>
|
|
114
|
+
</div>
|
|
115
|
+
</div>
|
|
116
|
+
</section>
|