@slashclick/ui 0.1.15 → 0.1.16
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/README.md +108 -108
- package/dist/components/auth/providers.cjs.map +1 -1
- package/dist/components/auth/providers.js.map +1 -1
- package/dist/components/card/back-button.cjs.map +1 -1
- package/dist/components/card/back-button.js.map +1 -1
- package/dist/components/card/card-wrapper.cjs.map +1 -1
- package/dist/components/card/card-wrapper.js.map +1 -1
- package/dist/components/card/header.cjs.map +1 -1
- package/dist/components/card/header.js.map +1 -1
- package/dist/components/combobox/ComboList.cjs.map +1 -1
- package/dist/components/combobox/ComboList.js.map +1 -1
- package/dist/components/combobox/index.cjs.map +1 -1
- package/dist/components/combobox/index.js.map +1 -1
- package/dist/components/dashboard/account-select.cjs.map +1 -1
- package/dist/components/dashboard/account-select.js.map +1 -1
- package/dist/components/dashboard/account-switcher.cjs.map +1 -1
- package/dist/components/dashboard/account-switcher.js.map +1 -1
- package/dist/components/dashboard/sidebar/CollapsibleSection.cjs.map +1 -1
- package/dist/components/dashboard/sidebar/CollapsibleSection.js.map +1 -1
- package/dist/components/dashboard/sidebar/CollapsibleSection.styles.cjs.map +1 -1
- package/dist/components/dashboard/sidebar/CollapsibleSection.styles.js.map +1 -1
- package/dist/components/dashboard/sidebar/EntityList.cjs.map +1 -1
- package/dist/components/dashboard/sidebar/EntityList.js.map +1 -1
- package/dist/components/dashboard/sidebar/EntityList.styles.cjs.map +1 -1
- package/dist/components/dashboard/sidebar/EntityList.styles.js.map +1 -1
- package/dist/components/dashboard/sidebar/SectionHeader.cjs.map +1 -1
- package/dist/components/dashboard/sidebar/SectionHeader.js.map +1 -1
- package/dist/components/dashboard/sidebar/SectionHeader.styles.cjs.map +1 -1
- package/dist/components/dashboard/sidebar/SectionHeader.styles.js.map +1 -1
- package/dist/components/dashboard/sidebar/index.cjs.map +1 -1
- package/dist/components/dashboard/sidebar/index.js.map +1 -1
- package/dist/components/dashboard/sidebar/sidebar.cjs.map +1 -1
- package/dist/components/dashboard/sidebar/sidebar.js.map +1 -1
- package/dist/components/dashboard/sidebar/tabs.cjs.map +1 -1
- package/dist/components/dashboard/sidebar/tabs.js.map +1 -1
- package/dist/components/dashboard/sidebar/types.cjs.map +1 -1
- package/dist/components/dashboard/sidebar-nav.cjs.map +1 -1
- package/dist/components/dashboard/sidebar-nav.js.map +1 -1
- package/dist/components/dashboard/utils/build-nav.cjs.map +1 -1
- package/dist/components/dashboard/utils/build-nav.js.map +1 -1
- package/dist/components/dashboard/with-dashboard.cjs.map +1 -1
- package/dist/components/dashboard/with-dashboard.js.map +1 -1
- package/dist/components/detail/DetailLayout.styles.cjs.map +1 -1
- package/dist/components/detail/DetailLayout.styles.js.map +1 -1
- package/dist/components/detail/index.cjs.map +1 -1
- package/dist/components/detail/index.js.map +1 -1
- package/dist/components/flowbite/card-images.cjs.map +1 -1
- package/dist/components/flowbite/card-images.js.map +1 -1
- package/dist/components/flowbite/gallery.cjs.map +1 -1
- package/dist/components/flowbite/gallery.js.map +1 -1
- package/dist/components/flowbite/masonry.cjs.map +1 -1
- package/dist/components/flowbite/masonry.js.map +1 -1
- package/dist/components/flowbite/search-hero.cjs.map +1 -1
- package/dist/components/flowbite/search-hero.js.map +1 -1
- package/dist/components/generic/copyright.cjs.map +1 -1
- package/dist/components/generic/copyright.js.map +1 -1
- package/dist/components/generic/icons.cjs.map +1 -1
- package/dist/components/generic/icons.js.map +1 -1
- package/dist/components/generic/link.cjs.map +1 -1
- package/dist/components/generic/link.js.map +1 -1
- package/dist/components/header/header.cjs +16 -5
- package/dist/components/header/header.cjs.map +1 -1
- package/dist/components/header/header.d.ts +1 -1
- package/dist/components/header/header.d.ts.map +1 -1
- package/dist/components/header/header.js +6 -5
- package/dist/components/header/header.js.map +1 -1
- package/dist/components/header/internal/main-nav.cjs.map +1 -1
- package/dist/components/header/internal/main-nav.js.map +1 -1
- package/dist/components/header/internal/mobile-nav.cjs.map +1 -1
- package/dist/components/header/internal/mobile-nav.js.map +1 -1
- package/dist/components/header/internal/mode-toggle.cjs.map +1 -1
- package/dist/components/header/internal/mode-toggle.js.map +1 -1
- package/dist/components/header/internal/site-header.cjs.map +1 -1
- package/dist/components/header/internal/site-header.js.map +1 -1
- package/dist/components/header/langbutton/langbutton.cjs.map +1 -1
- package/dist/components/header/langbutton/langbutton.js.map +1 -1
- package/dist/components/header/userbutton/user-dropdown.cjs.map +1 -1
- package/dist/components/header/userbutton/user-dropdown.js.map +1 -1
- package/dist/components/header/userbutton/userbutton.cjs.map +1 -1
- package/dist/components/header/userbutton/userbutton.js.map +1 -1
- package/dist/components/hooks/use-page-nav.cjs.map +1 -1
- package/dist/components/hooks/use-page-nav.js.map +1 -1
- package/dist/components/hooks/use-user-entities.cjs.map +1 -1
- package/dist/components/hooks/use-user-entities.js.map +1 -1
- package/dist/components/icons/apple.cjs.map +1 -1
- package/dist/components/icons/apple.js.map +1 -1
- package/dist/components/icons/facebook.cjs.map +1 -1
- package/dist/components/icons/facebook.js.map +1 -1
- package/dist/components/icons/github.cjs.map +1 -1
- package/dist/components/icons/github.js.map +1 -1
- package/dist/components/icons/google.cjs.map +1 -1
- package/dist/components/icons/google.js.map +1 -1
- package/dist/components/icons/logo.cjs.map +1 -1
- package/dist/components/icons/logo.js.map +1 -1
- package/dist/components/lightbox/GallerySection.cjs.map +1 -1
- package/dist/components/lightbox/GallerySection.js.map +1 -1
- package/dist/components/lightbox/ImageLightbox.cjs.map +1 -1
- package/dist/components/lightbox/ImageLightbox.js.map +1 -1
- package/dist/components/lightbox/ImageLightbox.types.cjs.map +1 -1
- package/dist/components/lightbox/index.cjs.map +1 -1
- package/dist/components/lightbox/index.js.map +1 -1
- package/dist/components/lightbox/useEntityLightbox.cjs.map +1 -1
- package/dist/components/lightbox/useEntityLightbox.js.map +1 -1
- package/dist/components/lightbox/useLightbox.cjs.map +1 -1
- package/dist/components/lightbox/useLightbox.js.map +1 -1
- package/dist/components/search/search.cjs.map +1 -1
- package/dist/components/search/search.js.map +1 -1
- package/dist/components/tailwind/contact.cjs.map +1 -1
- package/dist/components/tailwind/contact.js.map +1 -1
- package/dist/components/tailwind/content-page.cjs.map +1 -1
- package/dist/components/tailwind/content-page.js.map +1 -1
- package/dist/components/tailwind/feature.cjs.map +1 -1
- package/dist/components/tailwind/feature.js.map +1 -1
- package/dist/components/tailwind/featurelist.cjs.map +1 -1
- package/dist/components/tailwind/featurelist.js.map +1 -1
- package/dist/components/tailwind/footer.cjs.map +1 -1
- package/dist/components/tailwind/footer.js.map +1 -1
- package/dist/components/tailwind/hero.cjs.map +1 -1
- package/dist/components/tailwind/hero.js.map +1 -1
- package/dist/components/tailwind/pricing.cjs.map +1 -1
- package/dist/components/tailwind/pricing.js.map +1 -1
- package/dist/components/tailwind/privacy.cjs.map +1 -1
- package/dist/components/tailwind/privacy.js.map +1 -1
- package/dist/components/tailwind/providerIcons.cjs.map +1 -1
- package/dist/components/tailwind/providerIcons.js.map +1 -1
- package/dist/components/ui/avatar.cjs.map +1 -1
- package/dist/components/ui/avatar.js.map +1 -1
- package/dist/components/ui/breadcrumb.cjs.map +1 -1
- package/dist/components/ui/breadcrumb.js.map +1 -1
- package/dist/components/ui/button.cjs.map +1 -1
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/card.cjs.map +1 -1
- package/dist/components/ui/card.js.map +1 -1
- package/dist/components/ui/checkbox.cjs.map +1 -1
- package/dist/components/ui/checkbox.js.map +1 -1
- package/dist/components/ui/command.cjs.map +1 -1
- package/dist/components/ui/command.d.ts.map +1 -1
- package/dist/components/ui/command.js.map +1 -1
- package/dist/components/ui/dialog.cjs.map +1 -1
- package/dist/components/ui/dialog.js.map +1 -1
- package/dist/components/ui/drawer.cjs.map +1 -1
- package/dist/components/ui/drawer.js.map +1 -1
- package/dist/components/ui/dropdown-menu.cjs.map +1 -1
- package/dist/components/ui/dropdown-menu.js.map +1 -1
- package/dist/components/ui/input.cjs.map +1 -1
- package/dist/components/ui/input.js.map +1 -1
- package/dist/components/ui/label.cjs.map +1 -1
- package/dist/components/ui/label.js.map +1 -1
- package/dist/components/ui/menubar.cjs.map +1 -1
- package/dist/components/ui/menubar.js.map +1 -1
- package/dist/components/ui/navigation-menu.cjs.map +1 -1
- package/dist/components/ui/navigation-menu.js.map +1 -1
- package/dist/components/ui/popover.cjs.map +1 -1
- package/dist/components/ui/popover.js.map +1 -1
- package/dist/components/ui/resizable.cjs.map +1 -1
- package/dist/components/ui/resizable.js.map +1 -1
- package/dist/components/ui/scroll-area.cjs.map +1 -1
- package/dist/components/ui/scroll-area.js.map +1 -1
- package/dist/components/ui/select.cjs.map +1 -1
- package/dist/components/ui/select.js.map +1 -1
- package/dist/components/ui/sheet.cjs.map +1 -1
- package/dist/components/ui/sheet.js.map +1 -1
- package/dist/components/ui/skeleton.cjs.map +1 -1
- package/dist/components/ui/skeleton.js.map +1 -1
- package/dist/components/ui/spinner.cjs.map +1 -1
- package/dist/components/ui/spinner.js.map +1 -1
- package/dist/components/ui/switch.cjs.map +1 -1
- package/dist/components/ui/switch.js.map +1 -1
- package/dist/components/ui/tabs.cjs.map +1 -1
- package/dist/components/ui/tabs.js.map +1 -1
- package/dist/components/ui/textarea.cjs.map +1 -1
- package/dist/components/ui/textarea.js.map +1 -1
- package/dist/components/ui/toast.cjs.map +1 -1
- package/dist/components/ui/toast.js.map +1 -1
- package/dist/components/ui/toaster.cjs.map +1 -1
- package/dist/components/ui/toaster.js.map +1 -1
- package/dist/components/ui/tooltip.cjs.map +1 -1
- package/dist/components/ui/tooltip.js.map +1 -1
- package/dist/components/ui/use-toast.cjs.map +1 -1
- package/dist/components/ui/use-toast.js.map +1 -1
- package/dist/components/upgrade-prompt/UpgradePrompt.cjs.map +1 -1
- package/dist/components/upgrade-prompt/UpgradePrompt.js.map +1 -1
- package/dist/components/upgrade-prompt/index.cjs.map +1 -1
- package/dist/components/upgrade-prompt/index.js.map +1 -1
- package/dist/hooks/useRecaptcha.cjs.map +1 -1
- package/dist/hooks/useRecaptcha.js.map +1 -1
- package/dist/lib/utils.cjs.map +1 -1
- package/dist/lib/utils.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/types/nav.cjs.map +1 -1
- package/dist/types/sitemap.cjs.map +1 -1
- package/dist/types/unist.cjs.map +1 -1
- package/package.json +14 -7
- package/styles/theme.css +52 -52
- package/dist/lib/utils.d.cjs +0 -17
- package/dist/lib/utils.d.cjs.map +0 -1
- package/dist/lib/utils.d.js +0 -1
- package/dist/lib/utils.d.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../components/tailwind/hero.tsx"],"sourcesContent":["'use client'\n\nexport interface HeroProps {\n title: string\n description: string\n buttonText: string\n buttonLink: string\n altButtonText: string\n altButtonLink: string\n image?: string\n imageAlt?: string\n navigation: {\n name: string\n href: string\n }[]\n heroButtonText: string\n heroButtonLink: string\n heroButtonAltText: string\n companyName: string\n companyLink: string\n companyLogo: React.ReactElement\n}\n\nexport const Hero = ({\n title,\n description,\n buttonText,\n buttonLink,\n altButtonText,\n altButtonLink,\n heroButtonText,\n heroButtonLink,\n heroButtonAltText,\n}: HeroProps) => {\n return (\n <div className=\"bg-gray-900\">\n <div className=\"relative isolate overflow-hidden pt-14\">\n <img\n src=\"img/hero-left-dark.png\"\n alt=\"\"\n aria-hidden=\"true\"\n className=\"absolute inset-0 -z-10 h-full w-full object-cover\"\n />\n <div\n className=\"absolute inset-x-0 -top-40 -z-10 transform-gpu overflow-hidden blur-3xl sm:-top-80\"\n aria-hidden=\"true\"\n >\n <div\n className=\"aspect-1155/678 bg-linear-to-tr relative left-[calc(50%-11rem)] w-[36.125rem] -translate-x-1/2 rotate-[30deg] from-[#ff80b5] to-[#9089fc] opacity-20 sm:left-[calc(50%-30rem)] sm:w-[72.1875rem]\"\n style={{\n clipPath:\n 'polygon(74.1% 44.1%, 100% 61.6%, 97.5% 26.9%, 85.5% 0.1%, 80.7% 2%, 72.5% 32.5%, 60.2% 62.4%, 52.4% 68.1%, 47.5% 58.3%, 45.2% 34.5%, 27.5% 76.7%, 0.1% 64.9%, 17.9% 100%, 27.6% 76.8%, 76.1% 97.7%, 74.1% 44.1%)',\n }}\n />\n </div>\n <div className=\"mx-auto max-w-2xl py-32 sm:py-48 lg:py-56\">\n <div className=\"hidden sm:mb-8 sm:flex sm:justify-center\">\n <div className=\"relative rounded-full px-3 py-1 text-sm leading-6 text-gray-400 ring-1 ring-white/10 hover:ring-white/20\">\n {heroButtonText}\n <a\n href={heroButtonLink}\n className=\"ml-2 font-semibold text-white\"\n >\n <span className=\"absolute inset-0\" aria-hidden=\"true\" />\n {heroButtonAltText} <span aria-hidden=\"true\">→</span>\n </a>\n </div>\n </div>\n <div className=\"text-center\">\n <h1 className=\"text-4xl font-bold tracking-tight text-white sm:text-6xl dark:text-white\">\n {title}\n </h1>\n <p className=\"mt-6 text-lg leading-8 text-gray-300\">\n {description}\n </p>\n <div className=\"mt-10 flex items-center justify-center gap-x-6\">\n <a\n href={buttonLink}\n data-tour=\"hero-signup\"\n className=\"bg-primary-500 hover:bg-primary-400 focus-visible:outline-primary-400 shadow-2xs rounded-md px-3.5 py-2.5 text-sm font-semibold text-white focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2\"\n >\n {buttonText}\n </a>\n <a\n href={altButtonLink}\n className=\"text-sm font-semibold leading-6 text-white\"\n >\n {altButtonText} <span aria-hidden=\"true\">→</span>\n </a>\n </div>\n </div>\n </div>\n <div\n className=\"absolute inset-x-0 top-[calc(100%-13rem)] -z-10 transform-gpu overflow-hidden blur-3xl sm:top-[calc(100%-30rem)]\"\n aria-hidden=\"true\"\n >\n <div\n className=\"aspect-1155/678 bg-linear-to-tr relative left-[calc(50%+3rem)] w-[36.125rem] -translate-x-1/2 from-[#ff80b5] to-[#9089fc] opacity-20 sm:left-[calc(50%+36rem)] sm:w-[72.1875rem]\"\n style={{\n clipPath:\n 'polygon(74.1% 44.1%, 100% 61.6%, 97.5% 26.9%, 85.5% 0.1%, 80.7% 2%, 72.5% 32.5%, 60.2% 62.4%, 52.4% 68.1%, 47.5% 58.3%, 45.2% 34.5%, 27.5% 76.7%, 0.1% 64.9%, 17.9% 100%, 27.6% 76.8%, 76.1% 97.7%, 74.1% 44.1%)',\n }}\n />\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAqCQ;AAdD,MAAM,OAAO,CAAC;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAiB;AACf,SACE,4CAAC,SAAI,WAAU,eACb,uDAAC,SAAI,WAAU,0CACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,KAAI;AAAA,QACJ,KAAI;AAAA,QACJ,eAAY;AAAA,QACZ,WAAU;AAAA;AAAA,IACZ;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,eAAY;AAAA,QAEZ;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAO;AAAA,cACL,UACE;AAAA,YACJ;AAAA;AAAA,QACF;AAAA;AAAA,IACF;AAAA,IACA,6CAAC,SAAI,WAAU,6CACb;AAAA,kDAAC,SAAI,WAAU,4CACb,uDAAC,SAAI,WAAU,4GACZ;AAAA;AAAA,QACD;AAAA,UAAC;AAAA;AAAA,YACC,MAAM;AAAA,YACN,WAAU;AAAA,YAEV;AAAA,0DAAC,UAAK,WAAU,oBAAmB,eAAY,QAAO;AAAA,cACrD;AAAA,cAAkB;AAAA,cAAC,4CAAC,UAAK,eAAY,QAAO,oBAAM;AAAA;AAAA;AAAA,QACrD;AAAA,SACF,GACF;AAAA,MACA,6CAAC,SAAI,WAAU,eACb;AAAA,oDAAC,QAAG,WAAU,4EACX,iBACH;AAAA,QACA,4CAAC,OAAE,WAAU,wCACV,uBACH;AAAA,QACA,6CAAC,SAAI,WAAU,kDACb;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,MAAM;AAAA,cACN,aAAU;AAAA,cACV,WAAU;AAAA,cAET;AAAA;AAAA,UACH;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,MAAM;AAAA,cACN,WAAU;AAAA,cAET;AAAA;AAAA,gBAAc;AAAA,gBAAC,4CAAC,UAAK,eAAY,QAAO,oBAAC;AAAA;AAAA;AAAA,UAC5C;AAAA,WACF;AAAA,SACF;AAAA,OACF;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,eAAY;AAAA,QAEZ;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAO;AAAA,cACL,UACE;AAAA,YACJ;AAAA;AAAA,QACF;AAAA;AAAA,IACF;AAAA,KACF,GACF;AAEJ;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../components/tailwind/hero.tsx"],"sourcesContent":["'use client'\r\n\r\nexport interface HeroProps {\r\n title: string\r\n description: string\r\n buttonText: string\r\n buttonLink: string\r\n altButtonText: string\r\n altButtonLink: string\r\n image?: string\r\n imageAlt?: string\r\n navigation: {\r\n name: string\r\n href: string\r\n }[]\r\n heroButtonText: string\r\n heroButtonLink: string\r\n heroButtonAltText: string\r\n companyName: string\r\n companyLink: string\r\n companyLogo: React.ReactElement\r\n}\r\n\r\nexport const Hero = ({\r\n title,\r\n description,\r\n buttonText,\r\n buttonLink,\r\n altButtonText,\r\n altButtonLink,\r\n heroButtonText,\r\n heroButtonLink,\r\n heroButtonAltText,\r\n}: HeroProps) => {\r\n return (\r\n <div className=\"bg-gray-900\">\r\n <div className=\"relative isolate overflow-hidden pt-14\">\r\n <img\r\n src=\"img/hero-left-dark.png\"\r\n alt=\"\"\r\n aria-hidden=\"true\"\r\n className=\"absolute inset-0 -z-10 h-full w-full object-cover\"\r\n />\r\n <div\r\n className=\"absolute inset-x-0 -top-40 -z-10 transform-gpu overflow-hidden blur-3xl sm:-top-80\"\r\n aria-hidden=\"true\"\r\n >\r\n <div\r\n className=\"aspect-1155/678 bg-linear-to-tr relative left-[calc(50%-11rem)] w-[36.125rem] -translate-x-1/2 rotate-[30deg] from-[#ff80b5] to-[#9089fc] opacity-20 sm:left-[calc(50%-30rem)] sm:w-[72.1875rem]\"\r\n style={{\r\n clipPath:\r\n 'polygon(74.1% 44.1%, 100% 61.6%, 97.5% 26.9%, 85.5% 0.1%, 80.7% 2%, 72.5% 32.5%, 60.2% 62.4%, 52.4% 68.1%, 47.5% 58.3%, 45.2% 34.5%, 27.5% 76.7%, 0.1% 64.9%, 17.9% 100%, 27.6% 76.8%, 76.1% 97.7%, 74.1% 44.1%)',\r\n }}\r\n />\r\n </div>\r\n <div className=\"mx-auto max-w-2xl py-32 sm:py-48 lg:py-56\">\r\n <div className=\"hidden sm:mb-8 sm:flex sm:justify-center\">\r\n <div className=\"relative rounded-full px-3 py-1 text-sm leading-6 text-gray-400 ring-1 ring-white/10 hover:ring-white/20\">\r\n {heroButtonText}\r\n <a\r\n href={heroButtonLink}\r\n className=\"ml-2 font-semibold text-white\"\r\n >\r\n <span className=\"absolute inset-0\" aria-hidden=\"true\" />\r\n {heroButtonAltText} <span aria-hidden=\"true\">→</span>\r\n </a>\r\n </div>\r\n </div>\r\n <div className=\"text-center\">\r\n <h1 className=\"text-4xl font-bold tracking-tight text-white sm:text-6xl dark:text-white\">\r\n {title}\r\n </h1>\r\n <p className=\"mt-6 text-lg leading-8 text-gray-300\">\r\n {description}\r\n </p>\r\n <div className=\"mt-10 flex items-center justify-center gap-x-6\">\r\n <a\r\n href={buttonLink}\r\n data-tour=\"hero-signup\"\r\n className=\"bg-primary-500 hover:bg-primary-400 focus-visible:outline-primary-400 shadow-2xs rounded-md px-3.5 py-2.5 text-sm font-semibold text-white focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2\"\r\n >\r\n {buttonText}\r\n </a>\r\n <a\r\n href={altButtonLink}\r\n className=\"text-sm font-semibold leading-6 text-white\"\r\n >\r\n {altButtonText} <span aria-hidden=\"true\">→</span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n className=\"absolute inset-x-0 top-[calc(100%-13rem)] -z-10 transform-gpu overflow-hidden blur-3xl sm:top-[calc(100%-30rem)]\"\r\n aria-hidden=\"true\"\r\n >\r\n <div\r\n className=\"aspect-1155/678 bg-linear-to-tr relative left-[calc(50%+3rem)] w-[36.125rem] -translate-x-1/2 from-[#ff80b5] to-[#9089fc] opacity-20 sm:left-[calc(50%+36rem)] sm:w-[72.1875rem]\"\r\n style={{\r\n clipPath:\r\n 'polygon(74.1% 44.1%, 100% 61.6%, 97.5% 26.9%, 85.5% 0.1%, 80.7% 2%, 72.5% 32.5%, 60.2% 62.4%, 52.4% 68.1%, 47.5% 58.3%, 45.2% 34.5%, 27.5% 76.7%, 0.1% 64.9%, 17.9% 100%, 27.6% 76.8%, 76.1% 97.7%, 74.1% 44.1%)',\r\n }}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAqCQ;AAdD,MAAM,OAAO,CAAC;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAiB;AACf,SACE,4CAAC,SAAI,WAAU,eACb,uDAAC,SAAI,WAAU,0CACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,KAAI;AAAA,QACJ,KAAI;AAAA,QACJ,eAAY;AAAA,QACZ,WAAU;AAAA;AAAA,IACZ;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,eAAY;AAAA,QAEZ;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAO;AAAA,cACL,UACE;AAAA,YACJ;AAAA;AAAA,QACF;AAAA;AAAA,IACF;AAAA,IACA,6CAAC,SAAI,WAAU,6CACb;AAAA,kDAAC,SAAI,WAAU,4CACb,uDAAC,SAAI,WAAU,4GACZ;AAAA;AAAA,QACD;AAAA,UAAC;AAAA;AAAA,YACC,MAAM;AAAA,YACN,WAAU;AAAA,YAEV;AAAA,0DAAC,UAAK,WAAU,oBAAmB,eAAY,QAAO;AAAA,cACrD;AAAA,cAAkB;AAAA,cAAC,4CAAC,UAAK,eAAY,QAAO,oBAAM;AAAA;AAAA;AAAA,QACrD;AAAA,SACF,GACF;AAAA,MACA,6CAAC,SAAI,WAAU,eACb;AAAA,oDAAC,QAAG,WAAU,4EACX,iBACH;AAAA,QACA,4CAAC,OAAE,WAAU,wCACV,uBACH;AAAA,QACA,6CAAC,SAAI,WAAU,kDACb;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,MAAM;AAAA,cACN,aAAU;AAAA,cACV,WAAU;AAAA,cAET;AAAA;AAAA,UACH;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,MAAM;AAAA,cACN,WAAU;AAAA,cAET;AAAA;AAAA,gBAAc;AAAA,gBAAC,4CAAC,UAAK,eAAY,QAAO,oBAAC;AAAA;AAAA;AAAA,UAC5C;AAAA,WACF;AAAA,SACF;AAAA,OACF;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,eAAY;AAAA,QAEZ;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAO;AAAA,cACL,UACE;AAAA,YACJ;AAAA;AAAA,QACF;AAAA;AAAA,IACF;AAAA,KACF,GACF;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../components/tailwind/hero.tsx"],"sourcesContent":["'use client'\n\nexport interface HeroProps {\n title: string\n description: string\n buttonText: string\n buttonLink: string\n altButtonText: string\n altButtonLink: string\n image?: string\n imageAlt?: string\n navigation: {\n name: string\n href: string\n }[]\n heroButtonText: string\n heroButtonLink: string\n heroButtonAltText: string\n companyName: string\n companyLink: string\n companyLogo: React.ReactElement\n}\n\nexport const Hero = ({\n title,\n description,\n buttonText,\n buttonLink,\n altButtonText,\n altButtonLink,\n heroButtonText,\n heroButtonLink,\n heroButtonAltText,\n}: HeroProps) => {\n return (\n <div className=\"bg-gray-900\">\n <div className=\"relative isolate overflow-hidden pt-14\">\n <img\n src=\"img/hero-left-dark.png\"\n alt=\"\"\n aria-hidden=\"true\"\n className=\"absolute inset-0 -z-10 h-full w-full object-cover\"\n />\n <div\n className=\"absolute inset-x-0 -top-40 -z-10 transform-gpu overflow-hidden blur-3xl sm:-top-80\"\n aria-hidden=\"true\"\n >\n <div\n className=\"aspect-1155/678 bg-linear-to-tr relative left-[calc(50%-11rem)] w-[36.125rem] -translate-x-1/2 rotate-[30deg] from-[#ff80b5] to-[#9089fc] opacity-20 sm:left-[calc(50%-30rem)] sm:w-[72.1875rem]\"\n style={{\n clipPath:\n 'polygon(74.1% 44.1%, 100% 61.6%, 97.5% 26.9%, 85.5% 0.1%, 80.7% 2%, 72.5% 32.5%, 60.2% 62.4%, 52.4% 68.1%, 47.5% 58.3%, 45.2% 34.5%, 27.5% 76.7%, 0.1% 64.9%, 17.9% 100%, 27.6% 76.8%, 76.1% 97.7%, 74.1% 44.1%)',\n }}\n />\n </div>\n <div className=\"mx-auto max-w-2xl py-32 sm:py-48 lg:py-56\">\n <div className=\"hidden sm:mb-8 sm:flex sm:justify-center\">\n <div className=\"relative rounded-full px-3 py-1 text-sm leading-6 text-gray-400 ring-1 ring-white/10 hover:ring-white/20\">\n {heroButtonText}\n <a\n href={heroButtonLink}\n className=\"ml-2 font-semibold text-white\"\n >\n <span className=\"absolute inset-0\" aria-hidden=\"true\" />\n {heroButtonAltText} <span aria-hidden=\"true\">→</span>\n </a>\n </div>\n </div>\n <div className=\"text-center\">\n <h1 className=\"text-4xl font-bold tracking-tight text-white sm:text-6xl dark:text-white\">\n {title}\n </h1>\n <p className=\"mt-6 text-lg leading-8 text-gray-300\">\n {description}\n </p>\n <div className=\"mt-10 flex items-center justify-center gap-x-6\">\n <a\n href={buttonLink}\n data-tour=\"hero-signup\"\n className=\"bg-primary-500 hover:bg-primary-400 focus-visible:outline-primary-400 shadow-2xs rounded-md px-3.5 py-2.5 text-sm font-semibold text-white focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2\"\n >\n {buttonText}\n </a>\n <a\n href={altButtonLink}\n className=\"text-sm font-semibold leading-6 text-white\"\n >\n {altButtonText} <span aria-hidden=\"true\">→</span>\n </a>\n </div>\n </div>\n </div>\n <div\n className=\"absolute inset-x-0 top-[calc(100%-13rem)] -z-10 transform-gpu overflow-hidden blur-3xl sm:top-[calc(100%-30rem)]\"\n aria-hidden=\"true\"\n >\n <div\n className=\"aspect-1155/678 bg-linear-to-tr relative left-[calc(50%+3rem)] w-[36.125rem] -translate-x-1/2 from-[#ff80b5] to-[#9089fc] opacity-20 sm:left-[calc(50%+36rem)] sm:w-[72.1875rem]\"\n style={{\n clipPath:\n 'polygon(74.1% 44.1%, 100% 61.6%, 97.5% 26.9%, 85.5% 0.1%, 80.7% 2%, 72.5% 32.5%, 60.2% 62.4%, 52.4% 68.1%, 47.5% 58.3%, 45.2% 34.5%, 27.5% 76.7%, 0.1% 64.9%, 17.9% 100%, 27.6% 76.8%, 76.1% 97.7%, 74.1% 44.1%)',\n }}\n />\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":";AAqCQ,cAsBM,YAtBN;AAdD,MAAM,OAAO,CAAC;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAiB;AACf,SACE,oBAAC,SAAI,WAAU,eACb,+BAAC,SAAI,WAAU,0CACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,KAAI;AAAA,QACJ,KAAI;AAAA,QACJ,eAAY;AAAA,QACZ,WAAU;AAAA;AAAA,IACZ;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,eAAY;AAAA,QAEZ;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAO;AAAA,cACL,UACE;AAAA,YACJ;AAAA;AAAA,QACF;AAAA;AAAA,IACF;AAAA,IACA,qBAAC,SAAI,WAAU,6CACb;AAAA,0BAAC,SAAI,WAAU,4CACb,+BAAC,SAAI,WAAU,4GACZ;AAAA;AAAA,QACD;AAAA,UAAC;AAAA;AAAA,YACC,MAAM;AAAA,YACN,WAAU;AAAA,YAEV;AAAA,kCAAC,UAAK,WAAU,oBAAmB,eAAY,QAAO;AAAA,cACrD;AAAA,cAAkB;AAAA,cAAC,oBAAC,UAAK,eAAY,QAAO,oBAAM;AAAA;AAAA;AAAA,QACrD;AAAA,SACF,GACF;AAAA,MACA,qBAAC,SAAI,WAAU,eACb;AAAA,4BAAC,QAAG,WAAU,4EACX,iBACH;AAAA,QACA,oBAAC,OAAE,WAAU,wCACV,uBACH;AAAA,QACA,qBAAC,SAAI,WAAU,kDACb;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,MAAM;AAAA,cACN,aAAU;AAAA,cACV,WAAU;AAAA,cAET;AAAA;AAAA,UACH;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,MAAM;AAAA,cACN,WAAU;AAAA,cAET;AAAA;AAAA,gBAAc;AAAA,gBAAC,oBAAC,UAAK,eAAY,QAAO,oBAAC;AAAA;AAAA;AAAA,UAC5C;AAAA,WACF;AAAA,SACF;AAAA,OACF;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,eAAY;AAAA,QAEZ;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAO;AAAA,cACL,UACE;AAAA,YACJ;AAAA;AAAA,QACF;AAAA;AAAA,IACF;AAAA,KACF,GACF;AAEJ;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../components/tailwind/hero.tsx"],"sourcesContent":["'use client'\r\n\r\nexport interface HeroProps {\r\n title: string\r\n description: string\r\n buttonText: string\r\n buttonLink: string\r\n altButtonText: string\r\n altButtonLink: string\r\n image?: string\r\n imageAlt?: string\r\n navigation: {\r\n name: string\r\n href: string\r\n }[]\r\n heroButtonText: string\r\n heroButtonLink: string\r\n heroButtonAltText: string\r\n companyName: string\r\n companyLink: string\r\n companyLogo: React.ReactElement\r\n}\r\n\r\nexport const Hero = ({\r\n title,\r\n description,\r\n buttonText,\r\n buttonLink,\r\n altButtonText,\r\n altButtonLink,\r\n heroButtonText,\r\n heroButtonLink,\r\n heroButtonAltText,\r\n}: HeroProps) => {\r\n return (\r\n <div className=\"bg-gray-900\">\r\n <div className=\"relative isolate overflow-hidden pt-14\">\r\n <img\r\n src=\"img/hero-left-dark.png\"\r\n alt=\"\"\r\n aria-hidden=\"true\"\r\n className=\"absolute inset-0 -z-10 h-full w-full object-cover\"\r\n />\r\n <div\r\n className=\"absolute inset-x-0 -top-40 -z-10 transform-gpu overflow-hidden blur-3xl sm:-top-80\"\r\n aria-hidden=\"true\"\r\n >\r\n <div\r\n className=\"aspect-1155/678 bg-linear-to-tr relative left-[calc(50%-11rem)] w-[36.125rem] -translate-x-1/2 rotate-[30deg] from-[#ff80b5] to-[#9089fc] opacity-20 sm:left-[calc(50%-30rem)] sm:w-[72.1875rem]\"\r\n style={{\r\n clipPath:\r\n 'polygon(74.1% 44.1%, 100% 61.6%, 97.5% 26.9%, 85.5% 0.1%, 80.7% 2%, 72.5% 32.5%, 60.2% 62.4%, 52.4% 68.1%, 47.5% 58.3%, 45.2% 34.5%, 27.5% 76.7%, 0.1% 64.9%, 17.9% 100%, 27.6% 76.8%, 76.1% 97.7%, 74.1% 44.1%)',\r\n }}\r\n />\r\n </div>\r\n <div className=\"mx-auto max-w-2xl py-32 sm:py-48 lg:py-56\">\r\n <div className=\"hidden sm:mb-8 sm:flex sm:justify-center\">\r\n <div className=\"relative rounded-full px-3 py-1 text-sm leading-6 text-gray-400 ring-1 ring-white/10 hover:ring-white/20\">\r\n {heroButtonText}\r\n <a\r\n href={heroButtonLink}\r\n className=\"ml-2 font-semibold text-white\"\r\n >\r\n <span className=\"absolute inset-0\" aria-hidden=\"true\" />\r\n {heroButtonAltText} <span aria-hidden=\"true\">→</span>\r\n </a>\r\n </div>\r\n </div>\r\n <div className=\"text-center\">\r\n <h1 className=\"text-4xl font-bold tracking-tight text-white sm:text-6xl dark:text-white\">\r\n {title}\r\n </h1>\r\n <p className=\"mt-6 text-lg leading-8 text-gray-300\">\r\n {description}\r\n </p>\r\n <div className=\"mt-10 flex items-center justify-center gap-x-6\">\r\n <a\r\n href={buttonLink}\r\n data-tour=\"hero-signup\"\r\n className=\"bg-primary-500 hover:bg-primary-400 focus-visible:outline-primary-400 shadow-2xs rounded-md px-3.5 py-2.5 text-sm font-semibold text-white focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2\"\r\n >\r\n {buttonText}\r\n </a>\r\n <a\r\n href={altButtonLink}\r\n className=\"text-sm font-semibold leading-6 text-white\"\r\n >\r\n {altButtonText} <span aria-hidden=\"true\">→</span>\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n className=\"absolute inset-x-0 top-[calc(100%-13rem)] -z-10 transform-gpu overflow-hidden blur-3xl sm:top-[calc(100%-30rem)]\"\r\n aria-hidden=\"true\"\r\n >\r\n <div\r\n className=\"aspect-1155/678 bg-linear-to-tr relative left-[calc(50%+3rem)] w-[36.125rem] -translate-x-1/2 from-[#ff80b5] to-[#9089fc] opacity-20 sm:left-[calc(50%+36rem)] sm:w-[72.1875rem]\"\r\n style={{\r\n clipPath:\r\n 'polygon(74.1% 44.1%, 100% 61.6%, 97.5% 26.9%, 85.5% 0.1%, 80.7% 2%, 72.5% 32.5%, 60.2% 62.4%, 52.4% 68.1%, 47.5% 58.3%, 45.2% 34.5%, 27.5% 76.7%, 0.1% 64.9%, 17.9% 100%, 27.6% 76.8%, 76.1% 97.7%, 74.1% 44.1%)',\r\n }}\r\n />\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n"],"mappings":";AAqCQ,cAsBM,YAtBN;AAdD,MAAM,OAAO,CAAC;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAiB;AACf,SACE,oBAAC,SAAI,WAAU,eACb,+BAAC,SAAI,WAAU,0CACb;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,KAAI;AAAA,QACJ,KAAI;AAAA,QACJ,eAAY;AAAA,QACZ,WAAU;AAAA;AAAA,IACZ;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,eAAY;AAAA,QAEZ;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAO;AAAA,cACL,UACE;AAAA,YACJ;AAAA;AAAA,QACF;AAAA;AAAA,IACF;AAAA,IACA,qBAAC,SAAI,WAAU,6CACb;AAAA,0BAAC,SAAI,WAAU,4CACb,+BAAC,SAAI,WAAU,4GACZ;AAAA;AAAA,QACD;AAAA,UAAC;AAAA;AAAA,YACC,MAAM;AAAA,YACN,WAAU;AAAA,YAEV;AAAA,kCAAC,UAAK,WAAU,oBAAmB,eAAY,QAAO;AAAA,cACrD;AAAA,cAAkB;AAAA,cAAC,oBAAC,UAAK,eAAY,QAAO,oBAAM;AAAA;AAAA;AAAA,QACrD;AAAA,SACF,GACF;AAAA,MACA,qBAAC,SAAI,WAAU,eACb;AAAA,4BAAC,QAAG,WAAU,4EACX,iBACH;AAAA,QACA,oBAAC,OAAE,WAAU,wCACV,uBACH;AAAA,QACA,qBAAC,SAAI,WAAU,kDACb;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,MAAM;AAAA,cACN,aAAU;AAAA,cACV,WAAU;AAAA,cAET;AAAA;AAAA,UACH;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,MAAM;AAAA,cACN,WAAU;AAAA,cAET;AAAA;AAAA,gBAAc;AAAA,gBAAC,oBAAC,UAAK,eAAY,QAAO,oBAAC;AAAA;AAAA;AAAA,UAC5C;AAAA,WACF;AAAA,SACF;AAAA,OACF;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,eAAY;AAAA,QAEZ;AAAA,UAAC;AAAA;AAAA,YACC,WAAU;AAAA,YACV,OAAO;AAAA,cACL,UACE;AAAA,YACJ;AAAA;AAAA,QACF;AAAA;AAAA,IACF;AAAA,KACF,GACF;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../components/tailwind/pricing.tsx"],"sourcesContent":["'use client'\nimport { useState } from 'react'\nimport { Check, Zap } from 'lucide-react'\n\nconst FREE_FEATURES = [\n '1 story',\n '10 characters',\n '10 locations',\n '1 timeline',\n 'Image galleries',\n 'Public sharing',\n]\n\nconst PRO_FEATURES = [\n 'Unlimited stories',\n 'Unlimited characters',\n 'Unlimited locations',\n 'Unlimited timelines',\n 'Image galleries',\n 'Public sharing',\n 'Priority support',\n]\n\nfunction classNames(...classes: string[]) {\n return classes.filter(Boolean).join(' ')\n}\n\ninterface PricingProps {\n onSubscribe?: () => void\n}\n\nexport const Pricing = ({ onSubscribe }: PricingProps) => {\n const [loading, setLoading] = useState(false)\n const [error, setError] = useState<string | null>(null)\n\n const handleSubscribe = async () => {\n if (onSubscribe) {\n onSubscribe()\n return\n }\n setLoading(true)\n setError(null)\n try {\n const response = await fetch('/api/subscription/checkout', {\n method: 'POST',\n })\n if (!response.ok) {\n if (response.status === 401) {\n window.location.href = `/signin?callbackUrl=${encodeURIComponent(window.location.pathname)}`\n return\n }\n const data = (await response.json().catch(() => ({}))) as {\n error?: string\n }\n throw new Error(data.error ?? 'Failed to create checkout session')\n }\n const data = (await response.json()) as { url: string }\n if (data.url) {\n window.location.href = data.url\n }\n } catch (err) {\n setError(\n err instanceof Error\n ? err.message\n : 'Something went wrong. Please try again.',\n )\n } finally {\n setLoading(false)\n }\n }\n\n return (\n <div className=\"bg-gray-900\">\n <main>\n {/* Header */}\n <div className=\"mx-auto mt-16 max-w-7xl px-6 sm:mt-32 lg:px-8\">\n <div className=\"mx-auto max-w-4xl text-center\">\n <h1 className=\"text-base font-semibold leading-7 text-indigo-400\">\n Pricing\n </h1>\n <p className=\"mt-2 text-4xl font-bold tracking-tight text-white sm:text-5xl\">\n Start free. Upgrade when you're ready.\n </p>\n </div>\n <p className=\"mx-auto mt-6 max-w-2xl text-center text-lg leading-8 text-gray-300\">\n Build your story bible for free. Subscribe for unlimited worlds,\n characters, and creative freedom.\n </p>\n\n {/* Pricing cards */}\n <div className=\"isolate mx-auto mt-16 grid max-w-2xl grid-cols-1 gap-8 lg:mx-0 lg:max-w-none lg:grid-cols-2\">\n {/* Free tier */}\n <div className=\"rounded-3xl p-8 ring-1 ring-white/10 xl:p-10\">\n <div className=\"flex items-center justify-between gap-x-4\">\n <h2 className=\"text-lg font-semibold leading-8 text-white\">\n Preview\n </h2>\n <p className=\"rounded-full bg-white/10 px-2.5 py-1 text-xs font-semibold leading-5 text-white\">\n Free forever\n </p>\n </div>\n <p className=\"mt-4 text-sm leading-6 text-gray-300\">\n Explore Story Bible and start building your creative world with\n no commitment.\n </p>\n <p className=\"mt-6 flex items-baseline gap-x-1\">\n <span className=\"text-4xl font-bold tracking-tight text-white\">\n $0\n </span>\n <span className=\"text-sm font-semibold leading-6 text-gray-300\">\n /month\n </span>\n </p>\n <a\n href=\"/signin\"\n className=\"mt-6 block rounded-md bg-white/10 px-3 py-2 text-center text-sm font-semibold leading-6 text-white hover:bg-white/20 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white\"\n >\n Get started free\n </a>\n <ul\n role=\"list\"\n className=\"mt-8 space-y-3 text-sm leading-6 text-gray-300 xl:mt-10\"\n >\n {FREE_FEATURES.map((feature) => (\n <li key={feature} className=\"flex gap-x-3\">\n <Check\n className=\"h-6 w-5 flex-none text-white\"\n aria-hidden=\"true\"\n />\n {feature}\n </li>\n ))}\n </ul>\n </div>\n\n {/* Pro tier */}\n <div className=\"rounded-3xl bg-white/5 p-8 ring-2 ring-indigo-500 xl:p-10\">\n <div className=\"flex items-center justify-between gap-x-4\">\n <h2 className=\"text-lg font-semibold leading-8 text-white\">\n Pro\n </h2>\n <p className=\"rounded-full bg-indigo-500 px-2.5 py-1 text-xs font-semibold leading-5 text-white\">\n Most popular\n </p>\n </div>\n <p className=\"mt-4 text-sm leading-6 text-gray-300\">\n Unlock unlimited stories, characters, locations, and timelines.\n Build entire universes.\n </p>\n <p className=\"mt-6 flex items-baseline gap-x-1\">\n <span className=\"text-4xl font-bold tracking-tight text-white\">\n $9.99\n </span>\n <span className=\"text-sm font-semibold leading-6 text-gray-300\">\n /month\n </span>\n </p>\n <button\n onClick={handleSubscribe}\n disabled={loading}\n className={classNames(\n 'mt-6 flex w-full items-center justify-center gap-2 rounded-md px-3 py-2 text-center text-sm font-semibold leading-6 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-500',\n loading\n ? 'cursor-not-allowed bg-indigo-400 text-white'\n : 'shadow-2xs bg-indigo-500 text-white hover:bg-indigo-400',\n )}\n >\n <Zap className=\"h-4 w-4\" aria-hidden=\"true\" />\n {loading ? 'Redirecting…' : 'Subscribe — $9.99/mo'}\n </button>\n {error && (\n <p className=\"mt-3 text-center text-sm text-red-400\">{error}</p>\n )}\n <ul\n role=\"list\"\n className=\"mt-8 space-y-3 text-sm leading-6 text-gray-300 xl:mt-10\"\n >\n {PRO_FEATURES.map((feature) => (\n <li key={feature} className=\"flex gap-x-3\">\n <Check\n className=\"h-6 w-5 flex-none text-white\"\n aria-hidden=\"true\"\n />\n {feature}\n </li>\n ))}\n </ul>\n </div>\n </div>\n\n {/* FAQ */}\n <div className=\"mx-auto mt-24 max-w-2xl pb-24\">\n <h2 className=\"text-2xl font-bold leading-10 tracking-tight text-white\">\n Frequently asked questions\n </h2>\n <dl className=\"mt-10 space-y-8\">\n <div>\n <dt className=\"text-base font-semibold leading-7 text-white\">\n Can I cancel anytime?\n </dt>\n <dd className=\"mt-2 text-base leading-7 text-gray-300\">\n Yes. You can cancel at any time from the subscription\n management page. You retain Pro access until the end of your\n current billing period.\n </dd>\n </div>\n <div>\n <dt className=\"text-base font-semibold leading-7 text-white\">\n What happens to my data if I downgrade?\n </dt>\n <dd className=\"mt-2 text-base leading-7 text-gray-300\">\n Your existing stories and characters are never deleted.\n You'll just be unable to create new ones beyond the\n preview limits until you resubscribe.\n </dd>\n </div>\n <div>\n <dt className=\"text-base font-semibold leading-7 text-white\">\n Is billing monthly or annually?\n </dt>\n <dd className=\"mt-2 text-base leading-7 text-gray-300\">\n Currently monthly only. Annual billing with a discount is\n coming soon.\n </dd>\n </div>\n </dl>\n </div>\n </div>\n </main>\n </div>\n )\n}\n"],"mappings":"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","names":["data"]}
|
|
1
|
+
{"version":3,"sources":["../../../components/tailwind/pricing.tsx"],"sourcesContent":["'use client'\r\nimport { useState } from 'react'\r\nimport { Check, Zap } from 'lucide-react'\r\n\r\nconst FREE_FEATURES = [\r\n '1 story',\r\n '10 characters',\r\n '10 locations',\r\n '1 timeline',\r\n 'Image galleries',\r\n 'Public sharing',\r\n]\r\n\r\nconst PRO_FEATURES = [\r\n 'Unlimited stories',\r\n 'Unlimited characters',\r\n 'Unlimited locations',\r\n 'Unlimited timelines',\r\n 'Image galleries',\r\n 'Public sharing',\r\n 'Priority support',\r\n]\r\n\r\nfunction classNames(...classes: string[]) {\r\n return classes.filter(Boolean).join(' ')\r\n}\r\n\r\ninterface PricingProps {\r\n onSubscribe?: () => void\r\n}\r\n\r\nexport const Pricing = ({ onSubscribe }: PricingProps) => {\r\n const [loading, setLoading] = useState(false)\r\n const [error, setError] = useState<string | null>(null)\r\n\r\n const handleSubscribe = async () => {\r\n if (onSubscribe) {\r\n onSubscribe()\r\n return\r\n }\r\n setLoading(true)\r\n setError(null)\r\n try {\r\n const response = await fetch('/api/subscription/checkout', {\r\n method: 'POST',\r\n })\r\n if (!response.ok) {\r\n if (response.status === 401) {\r\n window.location.href = `/signin?callbackUrl=${encodeURIComponent(window.location.pathname)}`\r\n return\r\n }\r\n const data = (await response.json().catch(() => ({}))) as {\r\n error?: string\r\n }\r\n throw new Error(data.error ?? 'Failed to create checkout session')\r\n }\r\n const data = (await response.json()) as { url: string }\r\n if (data.url) {\r\n window.location.href = data.url\r\n }\r\n } catch (err) {\r\n setError(\r\n err instanceof Error\r\n ? err.message\r\n : 'Something went wrong. Please try again.',\r\n )\r\n } finally {\r\n setLoading(false)\r\n }\r\n }\r\n\r\n return (\r\n <div className=\"bg-gray-900\">\r\n <main>\r\n {/* Header */}\r\n <div className=\"mx-auto mt-16 max-w-7xl px-6 sm:mt-32 lg:px-8\">\r\n <div className=\"mx-auto max-w-4xl text-center\">\r\n <h1 className=\"text-base font-semibold leading-7 text-indigo-400\">\r\n Pricing\r\n </h1>\r\n <p className=\"mt-2 text-4xl font-bold tracking-tight text-white sm:text-5xl\">\r\n Start free. Upgrade when you're ready.\r\n </p>\r\n </div>\r\n <p className=\"mx-auto mt-6 max-w-2xl text-center text-lg leading-8 text-gray-300\">\r\n Build your story bible for free. Subscribe for unlimited worlds,\r\n characters, and creative freedom.\r\n </p>\r\n\r\n {/* Pricing cards */}\r\n <div className=\"isolate mx-auto mt-16 grid max-w-2xl grid-cols-1 gap-8 lg:mx-0 lg:max-w-none lg:grid-cols-2\">\r\n {/* Free tier */}\r\n <div className=\"rounded-3xl p-8 ring-1 ring-white/10 xl:p-10\">\r\n <div className=\"flex items-center justify-between gap-x-4\">\r\n <h2 className=\"text-lg font-semibold leading-8 text-white\">\r\n Preview\r\n </h2>\r\n <p className=\"rounded-full bg-white/10 px-2.5 py-1 text-xs font-semibold leading-5 text-white\">\r\n Free forever\r\n </p>\r\n </div>\r\n <p className=\"mt-4 text-sm leading-6 text-gray-300\">\r\n Explore Story Bible and start building your creative world with\r\n no commitment.\r\n </p>\r\n <p className=\"mt-6 flex items-baseline gap-x-1\">\r\n <span className=\"text-4xl font-bold tracking-tight text-white\">\r\n $0\r\n </span>\r\n <span className=\"text-sm font-semibold leading-6 text-gray-300\">\r\n /month\r\n </span>\r\n </p>\r\n <a\r\n href=\"/signin\"\r\n className=\"mt-6 block rounded-md bg-white/10 px-3 py-2 text-center text-sm font-semibold leading-6 text-white hover:bg-white/20 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white\"\r\n >\r\n Get started free\r\n </a>\r\n <ul\r\n role=\"list\"\r\n className=\"mt-8 space-y-3 text-sm leading-6 text-gray-300 xl:mt-10\"\r\n >\r\n {FREE_FEATURES.map((feature) => (\r\n <li key={feature} className=\"flex gap-x-3\">\r\n <Check\r\n className=\"h-6 w-5 flex-none text-white\"\r\n aria-hidden=\"true\"\r\n />\r\n {feature}\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n\r\n {/* Pro tier */}\r\n <div className=\"rounded-3xl bg-white/5 p-8 ring-2 ring-indigo-500 xl:p-10\">\r\n <div className=\"flex items-center justify-between gap-x-4\">\r\n <h2 className=\"text-lg font-semibold leading-8 text-white\">\r\n Pro\r\n </h2>\r\n <p className=\"rounded-full bg-indigo-500 px-2.5 py-1 text-xs font-semibold leading-5 text-white\">\r\n Most popular\r\n </p>\r\n </div>\r\n <p className=\"mt-4 text-sm leading-6 text-gray-300\">\r\n Unlock unlimited stories, characters, locations, and timelines.\r\n Build entire universes.\r\n </p>\r\n <p className=\"mt-6 flex items-baseline gap-x-1\">\r\n <span className=\"text-4xl font-bold tracking-tight text-white\">\r\n $9.99\r\n </span>\r\n <span className=\"text-sm font-semibold leading-6 text-gray-300\">\r\n /month\r\n </span>\r\n </p>\r\n <button\r\n onClick={handleSubscribe}\r\n disabled={loading}\r\n className={classNames(\r\n 'mt-6 flex w-full items-center justify-center gap-2 rounded-md px-3 py-2 text-center text-sm font-semibold leading-6 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-500',\r\n loading\r\n ? 'cursor-not-allowed bg-indigo-400 text-white'\r\n : 'shadow-2xs bg-indigo-500 text-white hover:bg-indigo-400',\r\n )}\r\n >\r\n <Zap className=\"h-4 w-4\" aria-hidden=\"true\" />\r\n {loading ? 'Redirecting…' : 'Subscribe — $9.99/mo'}\r\n </button>\r\n {error && (\r\n <p className=\"mt-3 text-center text-sm text-red-400\">{error}</p>\r\n )}\r\n <ul\r\n role=\"list\"\r\n className=\"mt-8 space-y-3 text-sm leading-6 text-gray-300 xl:mt-10\"\r\n >\r\n {PRO_FEATURES.map((feature) => (\r\n <li key={feature} className=\"flex gap-x-3\">\r\n <Check\r\n className=\"h-6 w-5 flex-none text-white\"\r\n aria-hidden=\"true\"\r\n />\r\n {feature}\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n {/* FAQ */}\r\n <div className=\"mx-auto mt-24 max-w-2xl pb-24\">\r\n <h2 className=\"text-2xl font-bold leading-10 tracking-tight text-white\">\r\n Frequently asked questions\r\n </h2>\r\n <dl className=\"mt-10 space-y-8\">\r\n <div>\r\n <dt className=\"text-base font-semibold leading-7 text-white\">\r\n Can I cancel anytime?\r\n </dt>\r\n <dd className=\"mt-2 text-base leading-7 text-gray-300\">\r\n Yes. You can cancel at any time from the subscription\r\n management page. You retain Pro access until the end of your\r\n current billing period.\r\n </dd>\r\n </div>\r\n <div>\r\n <dt className=\"text-base font-semibold leading-7 text-white\">\r\n What happens to my data if I downgrade?\r\n </dt>\r\n <dd className=\"mt-2 text-base leading-7 text-gray-300\">\r\n Your existing stories and characters are never deleted.\r\n You'll just be unable to create new ones beyond the\r\n preview limits until you resubscribe.\r\n </dd>\r\n </div>\r\n <div>\r\n <dt className=\"text-base font-semibold leading-7 text-white\">\r\n Is billing monthly or annually?\r\n </dt>\r\n <dd className=\"mt-2 text-base leading-7 text-gray-300\">\r\n Currently monthly only. Annual billing with a discount is\r\n coming soon.\r\n </dd>\r\n </div>\r\n </dl>\r\n </div>\r\n </div>\r\n </main>\r\n </div>\r\n )\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA4EU;AA3EV,mBAAyB;AACzB,0BAA2B;AAE3B,MAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,MAAM,eAAe;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,SAAS,cAAc,SAAmB;AACxC,SAAO,QAAQ,OAAO,OAAO,EAAE,KAAK,GAAG;AACzC;AAMO,MAAM,UAAU,CAAC,EAAE,YAAY,MAAoB;AACxD,QAAM,CAAC,SAAS,UAAU,QAAI,uBAAS,KAAK;AAC5C,QAAM,CAAC,OAAO,QAAQ,QAAI,uBAAwB,IAAI;AAEtD,QAAM,kBAAkB,MAAY;AAnCtC;AAoCI,QAAI,aAAa;AACf,kBAAY;AACZ;AAAA,IACF;AACA,eAAW,IAAI;AACf,aAAS,IAAI;AACb,QAAI;AACF,YAAM,WAAW,MAAM,MAAM,8BAA8B;AAAA,QACzD,QAAQ;AAAA,MACV,CAAC;AACD,UAAI,CAAC,SAAS,IAAI;AAChB,YAAI,SAAS,WAAW,KAAK;AAC3B,iBAAO,SAAS,OAAO,uBAAuB,mBAAmB,OAAO,SAAS,QAAQ,CAAC;AAC1F;AAAA,QACF;AACA,cAAMA,QAAQ,MAAM,SAAS,KAAK,EAAE,MAAM,OAAO,CAAC,EAAE;AAGpD,cAAM,IAAI,OAAM,KAAAA,MAAK,UAAL,YAAc,mCAAmC;AAAA,MACnE;AACA,YAAM,OAAQ,MAAM,SAAS,KAAK;AAClC,UAAI,KAAK,KAAK;AACZ,eAAO,SAAS,OAAO,KAAK;AAAA,MAC9B;AAAA,IACF,SAAS,KAAK;AACZ;AAAA,QACE,eAAe,QACX,IAAI,UACJ;AAAA,MACN;AAAA,IACF,UAAE;AACA,iBAAW,KAAK;AAAA,IAClB;AAAA,EACF;AAEA,SACE,4CAAC,SAAI,WAAU,eACb,sDAAC,UAEC,uDAAC,SAAI,WAAU,iDACb;AAAA,iDAAC,SAAI,WAAU,iCACb;AAAA,kDAAC,QAAG,WAAU,qDAAoD,qBAElE;AAAA,MACA,4CAAC,OAAE,WAAU,iEAAgE,oDAE7E;AAAA,OACF;AAAA,IACA,4CAAC,OAAE,WAAU,sEAAqE,gHAGlF;AAAA,IAGA,6CAAC,SAAI,WAAU,+FAEb;AAAA,mDAAC,SAAI,WAAU,gDACb;AAAA,qDAAC,SAAI,WAAU,6CACb;AAAA,sDAAC,QAAG,WAAU,8CAA6C,qBAE3D;AAAA,UACA,4CAAC,OAAE,WAAU,mFAAkF,0BAE/F;AAAA,WACF;AAAA,QACA,4CAAC,OAAE,WAAU,wCAAuC,4FAGpD;AAAA,QACA,6CAAC,OAAE,WAAU,oCACX;AAAA,sDAAC,UAAK,WAAU,gDAA+C,gBAE/D;AAAA,UACA,4CAAC,UAAK,WAAU,iDAAgD,oBAEhE;AAAA,WACF;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,WAAU;AAAA,YACX;AAAA;AAAA,QAED;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,WAAU;AAAA,YAET,wBAAc,IAAI,CAAC,YAClB,6CAAC,QAAiB,WAAU,gBAC1B;AAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,WAAU;AAAA,kBACV,eAAY;AAAA;AAAA,cACd;AAAA,cACC;AAAA,iBALM,OAMT,CACD;AAAA;AAAA,QACH;AAAA,SACF;AAAA,MAGA,6CAAC,SAAI,WAAU,6DACb;AAAA,qDAAC,SAAI,WAAU,6CACb;AAAA,sDAAC,QAAG,WAAU,8CAA6C,iBAE3D;AAAA,UACA,4CAAC,OAAE,WAAU,qFAAoF,0BAEjG;AAAA,WACF;AAAA,QACA,4CAAC,OAAE,WAAU,wCAAuC,qGAGpD;AAAA,QACA,6CAAC,OAAE,WAAU,oCACX;AAAA,sDAAC,UAAK,WAAU,gDAA+C,mBAE/D;AAAA,UACA,4CAAC,UAAK,WAAU,iDAAgD,oBAEhE;AAAA,WACF;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,SAAS;AAAA,YACT,UAAU;AAAA,YACV,WAAW;AAAA,cACT;AAAA,cACA,UACI,gDACA;AAAA,YACN;AAAA,YAEA;AAAA,0DAAC,2BAAI,WAAU,WAAU,eAAY,QAAO;AAAA,cAC3C,UAAU,sBAAiB;AAAA;AAAA;AAAA,QAC9B;AAAA,QACC,SACC,4CAAC,OAAE,WAAU,yCAAyC,iBAAM;AAAA,QAE9D;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,WAAU;AAAA,YAET,uBAAa,IAAI,CAAC,YACjB,6CAAC,QAAiB,WAAU,gBAC1B;AAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,WAAU;AAAA,kBACV,eAAY;AAAA;AAAA,cACd;AAAA,cACC;AAAA,iBALM,OAMT,CACD;AAAA;AAAA,QACH;AAAA,SACF;AAAA,OACF;AAAA,IAGA,6CAAC,SAAI,WAAU,iCACb;AAAA,kDAAC,QAAG,WAAU,2DAA0D,wCAExE;AAAA,MACA,6CAAC,QAAG,WAAU,mBACZ;AAAA,qDAAC,SACC;AAAA,sDAAC,QAAG,WAAU,gDAA+C,mCAE7D;AAAA,UACA,4CAAC,QAAG,WAAU,0CAAyC,wJAIvD;AAAA,WACF;AAAA,QACA,6CAAC,SACC;AAAA,sDAAC,QAAG,WAAU,gDAA+C,qDAE7D;AAAA,UACA,4CAAC,QAAG,WAAU,0CAAyC,+JAIvD;AAAA,WACF;AAAA,QACA,6CAAC,SACC;AAAA,sDAAC,QAAG,WAAU,gDAA+C,6CAE7D;AAAA,UACA,4CAAC,QAAG,WAAU,0CAAyC,oFAGvD;AAAA,WACF;AAAA,SACF;AAAA,OACF;AAAA,KACF,GACF,GACF;AAEJ;","names":["data"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../components/tailwind/pricing.tsx"],"sourcesContent":["'use client'\nimport { useState } from 'react'\nimport { Check, Zap } from 'lucide-react'\n\nconst FREE_FEATURES = [\n '1 story',\n '10 characters',\n '10 locations',\n '1 timeline',\n 'Image galleries',\n 'Public sharing',\n]\n\nconst PRO_FEATURES = [\n 'Unlimited stories',\n 'Unlimited characters',\n 'Unlimited locations',\n 'Unlimited timelines',\n 'Image galleries',\n 'Public sharing',\n 'Priority support',\n]\n\nfunction classNames(...classes: string[]) {\n return classes.filter(Boolean).join(' ')\n}\n\ninterface PricingProps {\n onSubscribe?: () => void\n}\n\nexport const Pricing = ({ onSubscribe }: PricingProps) => {\n const [loading, setLoading] = useState(false)\n const [error, setError] = useState<string | null>(null)\n\n const handleSubscribe = async () => {\n if (onSubscribe) {\n onSubscribe()\n return\n }\n setLoading(true)\n setError(null)\n try {\n const response = await fetch('/api/subscription/checkout', {\n method: 'POST',\n })\n if (!response.ok) {\n if (response.status === 401) {\n window.location.href = `/signin?callbackUrl=${encodeURIComponent(window.location.pathname)}`\n return\n }\n const data = (await response.json().catch(() => ({}))) as {\n error?: string\n }\n throw new Error(data.error ?? 'Failed to create checkout session')\n }\n const data = (await response.json()) as { url: string }\n if (data.url) {\n window.location.href = data.url\n }\n } catch (err) {\n setError(\n err instanceof Error\n ? err.message\n : 'Something went wrong. Please try again.',\n )\n } finally {\n setLoading(false)\n }\n }\n\n return (\n <div className=\"bg-gray-900\">\n <main>\n {/* Header */}\n <div className=\"mx-auto mt-16 max-w-7xl px-6 sm:mt-32 lg:px-8\">\n <div className=\"mx-auto max-w-4xl text-center\">\n <h1 className=\"text-base font-semibold leading-7 text-indigo-400\">\n Pricing\n </h1>\n <p className=\"mt-2 text-4xl font-bold tracking-tight text-white sm:text-5xl\">\n Start free. Upgrade when you're ready.\n </p>\n </div>\n <p className=\"mx-auto mt-6 max-w-2xl text-center text-lg leading-8 text-gray-300\">\n Build your story bible for free. Subscribe for unlimited worlds,\n characters, and creative freedom.\n </p>\n\n {/* Pricing cards */}\n <div className=\"isolate mx-auto mt-16 grid max-w-2xl grid-cols-1 gap-8 lg:mx-0 lg:max-w-none lg:grid-cols-2\">\n {/* Free tier */}\n <div className=\"rounded-3xl p-8 ring-1 ring-white/10 xl:p-10\">\n <div className=\"flex items-center justify-between gap-x-4\">\n <h2 className=\"text-lg font-semibold leading-8 text-white\">\n Preview\n </h2>\n <p className=\"rounded-full bg-white/10 px-2.5 py-1 text-xs font-semibold leading-5 text-white\">\n Free forever\n </p>\n </div>\n <p className=\"mt-4 text-sm leading-6 text-gray-300\">\n Explore Story Bible and start building your creative world with\n no commitment.\n </p>\n <p className=\"mt-6 flex items-baseline gap-x-1\">\n <span className=\"text-4xl font-bold tracking-tight text-white\">\n $0\n </span>\n <span className=\"text-sm font-semibold leading-6 text-gray-300\">\n /month\n </span>\n </p>\n <a\n href=\"/signin\"\n className=\"mt-6 block rounded-md bg-white/10 px-3 py-2 text-center text-sm font-semibold leading-6 text-white hover:bg-white/20 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white\"\n >\n Get started free\n </a>\n <ul\n role=\"list\"\n className=\"mt-8 space-y-3 text-sm leading-6 text-gray-300 xl:mt-10\"\n >\n {FREE_FEATURES.map((feature) => (\n <li key={feature} className=\"flex gap-x-3\">\n <Check\n className=\"h-6 w-5 flex-none text-white\"\n aria-hidden=\"true\"\n />\n {feature}\n </li>\n ))}\n </ul>\n </div>\n\n {/* Pro tier */}\n <div className=\"rounded-3xl bg-white/5 p-8 ring-2 ring-indigo-500 xl:p-10\">\n <div className=\"flex items-center justify-between gap-x-4\">\n <h2 className=\"text-lg font-semibold leading-8 text-white\">\n Pro\n </h2>\n <p className=\"rounded-full bg-indigo-500 px-2.5 py-1 text-xs font-semibold leading-5 text-white\">\n Most popular\n </p>\n </div>\n <p className=\"mt-4 text-sm leading-6 text-gray-300\">\n Unlock unlimited stories, characters, locations, and timelines.\n Build entire universes.\n </p>\n <p className=\"mt-6 flex items-baseline gap-x-1\">\n <span className=\"text-4xl font-bold tracking-tight text-white\">\n $9.99\n </span>\n <span className=\"text-sm font-semibold leading-6 text-gray-300\">\n /month\n </span>\n </p>\n <button\n onClick={handleSubscribe}\n disabled={loading}\n className={classNames(\n 'mt-6 flex w-full items-center justify-center gap-2 rounded-md px-3 py-2 text-center text-sm font-semibold leading-6 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-500',\n loading\n ? 'cursor-not-allowed bg-indigo-400 text-white'\n : 'shadow-2xs bg-indigo-500 text-white hover:bg-indigo-400',\n )}\n >\n <Zap className=\"h-4 w-4\" aria-hidden=\"true\" />\n {loading ? 'Redirecting…' : 'Subscribe — $9.99/mo'}\n </button>\n {error && (\n <p className=\"mt-3 text-center text-sm text-red-400\">{error}</p>\n )}\n <ul\n role=\"list\"\n className=\"mt-8 space-y-3 text-sm leading-6 text-gray-300 xl:mt-10\"\n >\n {PRO_FEATURES.map((feature) => (\n <li key={feature} className=\"flex gap-x-3\">\n <Check\n className=\"h-6 w-5 flex-none text-white\"\n aria-hidden=\"true\"\n />\n {feature}\n </li>\n ))}\n </ul>\n </div>\n </div>\n\n {/* FAQ */}\n <div className=\"mx-auto mt-24 max-w-2xl pb-24\">\n <h2 className=\"text-2xl font-bold leading-10 tracking-tight text-white\">\n Frequently asked questions\n </h2>\n <dl className=\"mt-10 space-y-8\">\n <div>\n <dt className=\"text-base font-semibold leading-7 text-white\">\n Can I cancel anytime?\n </dt>\n <dd className=\"mt-2 text-base leading-7 text-gray-300\">\n Yes. You can cancel at any time from the subscription\n management page. You retain Pro access until the end of your\n current billing period.\n </dd>\n </div>\n <div>\n <dt className=\"text-base font-semibold leading-7 text-white\">\n What happens to my data if I downgrade?\n </dt>\n <dd className=\"mt-2 text-base leading-7 text-gray-300\">\n Your existing stories and characters are never deleted.\n You'll just be unable to create new ones beyond the\n preview limits until you resubscribe.\n </dd>\n </div>\n <div>\n <dt className=\"text-base font-semibold leading-7 text-white\">\n Is billing monthly or annually?\n </dt>\n <dd className=\"mt-2 text-base leading-7 text-gray-300\">\n Currently monthly only. Annual billing with a discount is\n coming soon.\n </dd>\n </div>\n </dl>\n </div>\n </div>\n </main>\n </div>\n )\n}\n"],"mappings":"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","names":["data"]}
|
|
1
|
+
{"version":3,"sources":["../../../components/tailwind/pricing.tsx"],"sourcesContent":["'use client'\r\nimport { useState } from 'react'\r\nimport { Check, Zap } from 'lucide-react'\r\n\r\nconst FREE_FEATURES = [\r\n '1 story',\r\n '10 characters',\r\n '10 locations',\r\n '1 timeline',\r\n 'Image galleries',\r\n 'Public sharing',\r\n]\r\n\r\nconst PRO_FEATURES = [\r\n 'Unlimited stories',\r\n 'Unlimited characters',\r\n 'Unlimited locations',\r\n 'Unlimited timelines',\r\n 'Image galleries',\r\n 'Public sharing',\r\n 'Priority support',\r\n]\r\n\r\nfunction classNames(...classes: string[]) {\r\n return classes.filter(Boolean).join(' ')\r\n}\r\n\r\ninterface PricingProps {\r\n onSubscribe?: () => void\r\n}\r\n\r\nexport const Pricing = ({ onSubscribe }: PricingProps) => {\r\n const [loading, setLoading] = useState(false)\r\n const [error, setError] = useState<string | null>(null)\r\n\r\n const handleSubscribe = async () => {\r\n if (onSubscribe) {\r\n onSubscribe()\r\n return\r\n }\r\n setLoading(true)\r\n setError(null)\r\n try {\r\n const response = await fetch('/api/subscription/checkout', {\r\n method: 'POST',\r\n })\r\n if (!response.ok) {\r\n if (response.status === 401) {\r\n window.location.href = `/signin?callbackUrl=${encodeURIComponent(window.location.pathname)}`\r\n return\r\n }\r\n const data = (await response.json().catch(() => ({}))) as {\r\n error?: string\r\n }\r\n throw new Error(data.error ?? 'Failed to create checkout session')\r\n }\r\n const data = (await response.json()) as { url: string }\r\n if (data.url) {\r\n window.location.href = data.url\r\n }\r\n } catch (err) {\r\n setError(\r\n err instanceof Error\r\n ? err.message\r\n : 'Something went wrong. Please try again.',\r\n )\r\n } finally {\r\n setLoading(false)\r\n }\r\n }\r\n\r\n return (\r\n <div className=\"bg-gray-900\">\r\n <main>\r\n {/* Header */}\r\n <div className=\"mx-auto mt-16 max-w-7xl px-6 sm:mt-32 lg:px-8\">\r\n <div className=\"mx-auto max-w-4xl text-center\">\r\n <h1 className=\"text-base font-semibold leading-7 text-indigo-400\">\r\n Pricing\r\n </h1>\r\n <p className=\"mt-2 text-4xl font-bold tracking-tight text-white sm:text-5xl\">\r\n Start free. Upgrade when you're ready.\r\n </p>\r\n </div>\r\n <p className=\"mx-auto mt-6 max-w-2xl text-center text-lg leading-8 text-gray-300\">\r\n Build your story bible for free. Subscribe for unlimited worlds,\r\n characters, and creative freedom.\r\n </p>\r\n\r\n {/* Pricing cards */}\r\n <div className=\"isolate mx-auto mt-16 grid max-w-2xl grid-cols-1 gap-8 lg:mx-0 lg:max-w-none lg:grid-cols-2\">\r\n {/* Free tier */}\r\n <div className=\"rounded-3xl p-8 ring-1 ring-white/10 xl:p-10\">\r\n <div className=\"flex items-center justify-between gap-x-4\">\r\n <h2 className=\"text-lg font-semibold leading-8 text-white\">\r\n Preview\r\n </h2>\r\n <p className=\"rounded-full bg-white/10 px-2.5 py-1 text-xs font-semibold leading-5 text-white\">\r\n Free forever\r\n </p>\r\n </div>\r\n <p className=\"mt-4 text-sm leading-6 text-gray-300\">\r\n Explore Story Bible and start building your creative world with\r\n no commitment.\r\n </p>\r\n <p className=\"mt-6 flex items-baseline gap-x-1\">\r\n <span className=\"text-4xl font-bold tracking-tight text-white\">\r\n $0\r\n </span>\r\n <span className=\"text-sm font-semibold leading-6 text-gray-300\">\r\n /month\r\n </span>\r\n </p>\r\n <a\r\n href=\"/signin\"\r\n className=\"mt-6 block rounded-md bg-white/10 px-3 py-2 text-center text-sm font-semibold leading-6 text-white hover:bg-white/20 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white\"\r\n >\r\n Get started free\r\n </a>\r\n <ul\r\n role=\"list\"\r\n className=\"mt-8 space-y-3 text-sm leading-6 text-gray-300 xl:mt-10\"\r\n >\r\n {FREE_FEATURES.map((feature) => (\r\n <li key={feature} className=\"flex gap-x-3\">\r\n <Check\r\n className=\"h-6 w-5 flex-none text-white\"\r\n aria-hidden=\"true\"\r\n />\r\n {feature}\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n\r\n {/* Pro tier */}\r\n <div className=\"rounded-3xl bg-white/5 p-8 ring-2 ring-indigo-500 xl:p-10\">\r\n <div className=\"flex items-center justify-between gap-x-4\">\r\n <h2 className=\"text-lg font-semibold leading-8 text-white\">\r\n Pro\r\n </h2>\r\n <p className=\"rounded-full bg-indigo-500 px-2.5 py-1 text-xs font-semibold leading-5 text-white\">\r\n Most popular\r\n </p>\r\n </div>\r\n <p className=\"mt-4 text-sm leading-6 text-gray-300\">\r\n Unlock unlimited stories, characters, locations, and timelines.\r\n Build entire universes.\r\n </p>\r\n <p className=\"mt-6 flex items-baseline gap-x-1\">\r\n <span className=\"text-4xl font-bold tracking-tight text-white\">\r\n $9.99\r\n </span>\r\n <span className=\"text-sm font-semibold leading-6 text-gray-300\">\r\n /month\r\n </span>\r\n </p>\r\n <button\r\n onClick={handleSubscribe}\r\n disabled={loading}\r\n className={classNames(\r\n 'mt-6 flex w-full items-center justify-center gap-2 rounded-md px-3 py-2 text-center text-sm font-semibold leading-6 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-500',\r\n loading\r\n ? 'cursor-not-allowed bg-indigo-400 text-white'\r\n : 'shadow-2xs bg-indigo-500 text-white hover:bg-indigo-400',\r\n )}\r\n >\r\n <Zap className=\"h-4 w-4\" aria-hidden=\"true\" />\r\n {loading ? 'Redirecting…' : 'Subscribe — $9.99/mo'}\r\n </button>\r\n {error && (\r\n <p className=\"mt-3 text-center text-sm text-red-400\">{error}</p>\r\n )}\r\n <ul\r\n role=\"list\"\r\n className=\"mt-8 space-y-3 text-sm leading-6 text-gray-300 xl:mt-10\"\r\n >\r\n {PRO_FEATURES.map((feature) => (\r\n <li key={feature} className=\"flex gap-x-3\">\r\n <Check\r\n className=\"h-6 w-5 flex-none text-white\"\r\n aria-hidden=\"true\"\r\n />\r\n {feature}\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n {/* FAQ */}\r\n <div className=\"mx-auto mt-24 max-w-2xl pb-24\">\r\n <h2 className=\"text-2xl font-bold leading-10 tracking-tight text-white\">\r\n Frequently asked questions\r\n </h2>\r\n <dl className=\"mt-10 space-y-8\">\r\n <div>\r\n <dt className=\"text-base font-semibold leading-7 text-white\">\r\n Can I cancel anytime?\r\n </dt>\r\n <dd className=\"mt-2 text-base leading-7 text-gray-300\">\r\n Yes. You can cancel at any time from the subscription\r\n management page. You retain Pro access until the end of your\r\n current billing period.\r\n </dd>\r\n </div>\r\n <div>\r\n <dt className=\"text-base font-semibold leading-7 text-white\">\r\n What happens to my data if I downgrade?\r\n </dt>\r\n <dd className=\"mt-2 text-base leading-7 text-gray-300\">\r\n Your existing stories and characters are never deleted.\r\n You'll just be unable to create new ones beyond the\r\n preview limits until you resubscribe.\r\n </dd>\r\n </div>\r\n <div>\r\n <dt className=\"text-base font-semibold leading-7 text-white\">\r\n Is billing monthly or annually?\r\n </dt>\r\n <dd className=\"mt-2 text-base leading-7 text-gray-300\">\r\n Currently monthly only. Annual billing with a discount is\r\n coming soon.\r\n </dd>\r\n </div>\r\n </dl>\r\n </div>\r\n </div>\r\n </main>\r\n </div>\r\n )\r\n}\r\n"],"mappings":"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","names":["data"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../components/tailwind/privacy.tsx"],"sourcesContent":["import { ContentPage, ContentSection, ContentList } from './content-page'\n\nexport function Privacy() {\n return (\n <ContentPage title=\"Privacy Policy\" lastUpdated=\"March 6, 2026\">\n <ContentSection title=\"Introduction\">\n <p>\n Story Bible Ultimate ("we", "us", or\n "our") is committed to protecting your personal information.\n This Privacy Policy explains how we collect, use, disclose, and\n safeguard your information when you use our service.\n </p>\n </ContentSection>\n\n <ContentSection title=\"Information We Collect\">\n <p>We collect information you provide directly to us, including:</p>\n <ContentList\n items={[\n <>\n <span className=\"font-semibold text-gray-900 dark:text-white\">\n Account information:\n </span>{' '}\n name, email address, and password when you register.\n </>,\n <>\n <span className=\"font-semibold text-gray-900 dark:text-white\">\n Content:\n </span>{' '}\n stories, characters, locations, timelines, and other creative\n content you create or upload.\n </>,\n <>\n <span className=\"font-semibold text-gray-900 dark:text-white\">\n Communications:\n </span>{' '}\n messages you send us through contact forms or support channels.\n </>,\n <>\n <span className=\"font-semibold text-gray-900 dark:text-white\">\n Usage data:\n </span>{' '}\n information about how you interact with our service, including log\n data, device information, and cookies.\n </>,\n ]}\n />\n </ContentSection>\n\n <ContentSection title=\"How We Use Your Information\">\n <p>We use the information we collect to:</p>\n <ContentList\n items={[\n 'Provide, maintain, and improve our services.',\n 'Process transactions and send related information.',\n 'Send technical notices, updates, security alerts, and support messages.',\n 'Respond to comments, questions, and requests for customer service.',\n 'Monitor and analyze trends, usage, and activities to improve the service.',\n 'Detect, investigate, and prevent fraudulent transactions and other illegal activities.',\n ]}\n />\n </ContentSection>\n\n <ContentSection title=\"Sharing of Information\">\n <p>\n We do not sell, trade, or otherwise transfer your personally\n identifiable information to third parties, except as described below:\n </p>\n <ContentList\n items={[\n <>\n <span className=\"font-semibold text-gray-900 dark:text-white\">\n Service providers:\n </span>{' '}\n We may share your information with third-party vendors who perform\n services on our behalf (e.g., hosting, payment processing,\n analytics).\n </>,\n <>\n <span className=\"font-semibold text-gray-900 dark:text-white\">\n Legal requirements:\n </span>{' '}\n We may disclose your information if required by law or in response\n to valid legal process.\n </>,\n <>\n <span className=\"font-semibold text-gray-900 dark:text-white\">\n Business transfers:\n </span>{' '}\n If we are involved in a merger, acquisition, or sale of assets,\n your information may be transferred as part of that transaction.\n </>,\n ]}\n />\n </ContentSection>\n\n <ContentSection title=\"Data Retention\">\n <p>\n We retain your personal information for as long as your account is\n active or as needed to provide you services. You may request deletion\n of your account and associated data at any time by contacting us.\n </p>\n </ContentSection>\n\n <ContentSection title=\"Security\">\n <p>\n We take reasonable measures to help protect information about you from\n loss, theft, misuse, unauthorized access, disclosure, alteration, and\n destruction. However, no internet or electronic storage system is 100%\n secure.\n </p>\n </ContentSection>\n\n <ContentSection title=\"Cookies\">\n <p>\n We use cookies and similar tracking technologies to track activity on\n our service and hold certain information. You can instruct your\n browser to refuse all cookies or to indicate when a cookie is being\n sent.\n </p>\n </ContentSection>\n\n <ContentSection title=\"Your Rights\">\n <p>\n Depending on your location, you may have certain rights regarding your\n personal information, including:\n </p>\n <ContentList\n items={[\n 'The right to access your personal information.',\n 'The right to correct inaccurate data.',\n 'The right to request deletion of your data.',\n 'The right to object to or restrict processing of your data.',\n 'The right to data portability (receiving your data in a structured format).',\n ]}\n />\n <p>To exercise these rights, please contact us at the address below.</p>\n </ContentSection>\n\n <ContentSection title=\"Children's Privacy\">\n <p>\n Our service is not directed to children under the age of 13. We do not\n knowingly collect personally identifiable information from children\n under 13. If we discover that a child under 13 has provided us with\n personal information, we will delete such information promptly.\n </p>\n </ContentSection>\n\n <ContentSection title=\"Changes to This Policy\">\n <p>\n We may update this Privacy Policy from time to time. We will notify\n you of any changes by posting the new policy on this page and updating\n the "Last updated" date. Continued use of the service after\n changes constitutes acceptance of the updated policy.\n </p>\n </ContentSection>\n\n <ContentSection title=\"Contact Us\">\n <p>\n If you have any questions about this Privacy Policy, please reach out:\n </p>\n <p>\n <a\n href=\"/about/contact\"\n className=\"font-semibold text-indigo-600 hover:text-indigo-500 dark:text-indigo-400 dark:hover:text-indigo-300\"\n >\n Contact us via our contact form →\n </a>\n </p>\n </ContentSection>\n </ContentPage>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMQ;AANR,0BAAyD;AAElD,SAAS,UAAU;AACxB,SACE,6CAAC,mCAAY,OAAM,kBAAiB,aAAY,iBAC9C;AAAA,gDAAC,sCAAe,OAAM,gBACpB,sDAAC,OAAE,oOAKH,GACF;AAAA,IAEA,6CAAC,sCAAe,OAAM,0BACpB;AAAA,kDAAC,OAAE,2EAA6D;AAAA,MAChE;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,YACL,4EACE;AAAA,0DAAC,UAAK,WAAU,+CAA8C,kCAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAEd;AAAA,YACA,4EACE;AAAA,0DAAC,UAAK,WAAU,+CAA8C,sBAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAGd;AAAA,YACA,4EACE;AAAA,0DAAC,UAAK,WAAU,+CAA8C,6BAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAEd;AAAA,YACA,4EACE;AAAA,0DAAC,UAAK,WAAU,+CAA8C,yBAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAGd;AAAA,UACF;AAAA;AAAA,MACF;AAAA,OACF;AAAA,IAEA,6CAAC,sCAAe,OAAM,+BACpB;AAAA,kDAAC,OAAE,mDAAqC;AAAA,MACxC;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA;AAAA,MACF;AAAA,OACF;AAAA,IAEA,6CAAC,sCAAe,OAAM,0BACpB;AAAA,kDAAC,OAAE,gJAGH;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,YACL,4EACE;AAAA,0DAAC,UAAK,WAAU,+CAA8C,gCAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAId;AAAA,YACA,4EACE;AAAA,0DAAC,UAAK,WAAU,+CAA8C,iCAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAGd;AAAA,YACA,4EACE;AAAA,0DAAC,UAAK,WAAU,+CAA8C,iCAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAGd;AAAA,UACF;AAAA;AAAA,MACF;AAAA,OACF;AAAA,IAEA,4CAAC,sCAAe,OAAM,kBACpB,sDAAC,OAAE,wNAIH,GACF;AAAA,IAEA,4CAAC,sCAAe,OAAM,YACpB,sDAAC,OAAE,yOAKH,GACF;AAAA,IAEA,4CAAC,sCAAe,OAAM,WACpB,sDAAC,OAAE,6NAKH,GACF;AAAA,IAEA,6CAAC,sCAAe,OAAM,eACpB;AAAA,kDAAC,OAAE,qHAGH;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA;AAAA,MACF;AAAA,MACA,4CAAC,OAAE,+EAAiE;AAAA,OACtE;AAAA,IAEA,4CAAC,sCAAe,OAAM,sBACpB,sDAAC,OAAE,4RAKH,GACF;AAAA,IAEA,4CAAC,sCAAe,OAAM,0BACpB,sDAAC,OAAE,0QAKH,GACF;AAAA,IAEA,6CAAC,sCAAe,OAAM,cACpB;AAAA,kDAAC,OAAE,oFAEH;AAAA,MACA,4CAAC,OACC;AAAA,QAAC;AAAA;AAAA,UACC,MAAK;AAAA,UACL,WAAU;AAAA,UACX;AAAA;AAAA,MAED,GACF;AAAA,OACF;AAAA,KACF;AAEJ;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../components/tailwind/privacy.tsx"],"sourcesContent":["import { ContentPage, ContentSection, ContentList } from './content-page'\r\n\r\nexport function Privacy() {\r\n return (\r\n <ContentPage title=\"Privacy Policy\" lastUpdated=\"March 6, 2026\">\r\n <ContentSection title=\"Introduction\">\r\n <p>\r\n Story Bible Ultimate ("we", "us", or\r\n "our") is committed to protecting your personal information.\r\n This Privacy Policy explains how we collect, use, disclose, and\r\n safeguard your information when you use our service.\r\n </p>\r\n </ContentSection>\r\n\r\n <ContentSection title=\"Information We Collect\">\r\n <p>We collect information you provide directly to us, including:</p>\r\n <ContentList\r\n items={[\r\n <>\r\n <span className=\"font-semibold text-gray-900 dark:text-white\">\r\n Account information:\r\n </span>{' '}\r\n name, email address, and password when you register.\r\n </>,\r\n <>\r\n <span className=\"font-semibold text-gray-900 dark:text-white\">\r\n Content:\r\n </span>{' '}\r\n stories, characters, locations, timelines, and other creative\r\n content you create or upload.\r\n </>,\r\n <>\r\n <span className=\"font-semibold text-gray-900 dark:text-white\">\r\n Communications:\r\n </span>{' '}\r\n messages you send us through contact forms or support channels.\r\n </>,\r\n <>\r\n <span className=\"font-semibold text-gray-900 dark:text-white\">\r\n Usage data:\r\n </span>{' '}\r\n information about how you interact with our service, including log\r\n data, device information, and cookies.\r\n </>,\r\n ]}\r\n />\r\n </ContentSection>\r\n\r\n <ContentSection title=\"How We Use Your Information\">\r\n <p>We use the information we collect to:</p>\r\n <ContentList\r\n items={[\r\n 'Provide, maintain, and improve our services.',\r\n 'Process transactions and send related information.',\r\n 'Send technical notices, updates, security alerts, and support messages.',\r\n 'Respond to comments, questions, and requests for customer service.',\r\n 'Monitor and analyze trends, usage, and activities to improve the service.',\r\n 'Detect, investigate, and prevent fraudulent transactions and other illegal activities.',\r\n ]}\r\n />\r\n </ContentSection>\r\n\r\n <ContentSection title=\"Sharing of Information\">\r\n <p>\r\n We do not sell, trade, or otherwise transfer your personally\r\n identifiable information to third parties, except as described below:\r\n </p>\r\n <ContentList\r\n items={[\r\n <>\r\n <span className=\"font-semibold text-gray-900 dark:text-white\">\r\n Service providers:\r\n </span>{' '}\r\n We may share your information with third-party vendors who perform\r\n services on our behalf (e.g., hosting, payment processing,\r\n analytics).\r\n </>,\r\n <>\r\n <span className=\"font-semibold text-gray-900 dark:text-white\">\r\n Legal requirements:\r\n </span>{' '}\r\n We may disclose your information if required by law or in response\r\n to valid legal process.\r\n </>,\r\n <>\r\n <span className=\"font-semibold text-gray-900 dark:text-white\">\r\n Business transfers:\r\n </span>{' '}\r\n If we are involved in a merger, acquisition, or sale of assets,\r\n your information may be transferred as part of that transaction.\r\n </>,\r\n ]}\r\n />\r\n </ContentSection>\r\n\r\n <ContentSection title=\"Data Retention\">\r\n <p>\r\n We retain your personal information for as long as your account is\r\n active or as needed to provide you services. You may request deletion\r\n of your account and associated data at any time by contacting us.\r\n </p>\r\n </ContentSection>\r\n\r\n <ContentSection title=\"Security\">\r\n <p>\r\n We take reasonable measures to help protect information about you from\r\n loss, theft, misuse, unauthorized access, disclosure, alteration, and\r\n destruction. However, no internet or electronic storage system is 100%\r\n secure.\r\n </p>\r\n </ContentSection>\r\n\r\n <ContentSection title=\"Cookies\">\r\n <p>\r\n We use cookies and similar tracking technologies to track activity on\r\n our service and hold certain information. You can instruct your\r\n browser to refuse all cookies or to indicate when a cookie is being\r\n sent.\r\n </p>\r\n </ContentSection>\r\n\r\n <ContentSection title=\"Your Rights\">\r\n <p>\r\n Depending on your location, you may have certain rights regarding your\r\n personal information, including:\r\n </p>\r\n <ContentList\r\n items={[\r\n 'The right to access your personal information.',\r\n 'The right to correct inaccurate data.',\r\n 'The right to request deletion of your data.',\r\n 'The right to object to or restrict processing of your data.',\r\n 'The right to data portability (receiving your data in a structured format).',\r\n ]}\r\n />\r\n <p>To exercise these rights, please contact us at the address below.</p>\r\n </ContentSection>\r\n\r\n <ContentSection title=\"Children's Privacy\">\r\n <p>\r\n Our service is not directed to children under the age of 13. We do not\r\n knowingly collect personally identifiable information from children\r\n under 13. If we discover that a child under 13 has provided us with\r\n personal information, we will delete such information promptly.\r\n </p>\r\n </ContentSection>\r\n\r\n <ContentSection title=\"Changes to This Policy\">\r\n <p>\r\n We may update this Privacy Policy from time to time. We will notify\r\n you of any changes by posting the new policy on this page and updating\r\n the "Last updated" date. Continued use of the service after\r\n changes constitutes acceptance of the updated policy.\r\n </p>\r\n </ContentSection>\r\n\r\n <ContentSection title=\"Contact Us\">\r\n <p>\r\n If you have any questions about this Privacy Policy, please reach out:\r\n </p>\r\n <p>\r\n <a\r\n href=\"/about/contact\"\r\n className=\"font-semibold text-indigo-600 hover:text-indigo-500 dark:text-indigo-400 dark:hover:text-indigo-300\"\r\n >\r\n Contact us via our contact form →\r\n </a>\r\n </p>\r\n </ContentSection>\r\n </ContentPage>\r\n )\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMQ;AANR,0BAAyD;AAElD,SAAS,UAAU;AACxB,SACE,6CAAC,mCAAY,OAAM,kBAAiB,aAAY,iBAC9C;AAAA,gDAAC,sCAAe,OAAM,gBACpB,sDAAC,OAAE,oOAKH,GACF;AAAA,IAEA,6CAAC,sCAAe,OAAM,0BACpB;AAAA,kDAAC,OAAE,2EAA6D;AAAA,MAChE;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,YACL,4EACE;AAAA,0DAAC,UAAK,WAAU,+CAA8C,kCAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAEd;AAAA,YACA,4EACE;AAAA,0DAAC,UAAK,WAAU,+CAA8C,sBAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAGd;AAAA,YACA,4EACE;AAAA,0DAAC,UAAK,WAAU,+CAA8C,6BAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAEd;AAAA,YACA,4EACE;AAAA,0DAAC,UAAK,WAAU,+CAA8C,yBAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAGd;AAAA,UACF;AAAA;AAAA,MACF;AAAA,OACF;AAAA,IAEA,6CAAC,sCAAe,OAAM,+BACpB;AAAA,kDAAC,OAAE,mDAAqC;AAAA,MACxC;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA;AAAA,MACF;AAAA,OACF;AAAA,IAEA,6CAAC,sCAAe,OAAM,0BACpB;AAAA,kDAAC,OAAE,gJAGH;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,YACL,4EACE;AAAA,0DAAC,UAAK,WAAU,+CAA8C,gCAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAId;AAAA,YACA,4EACE;AAAA,0DAAC,UAAK,WAAU,+CAA8C,iCAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAGd;AAAA,YACA,4EACE;AAAA,0DAAC,UAAK,WAAU,+CAA8C,iCAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAGd;AAAA,UACF;AAAA;AAAA,MACF;AAAA,OACF;AAAA,IAEA,4CAAC,sCAAe,OAAM,kBACpB,sDAAC,OAAE,wNAIH,GACF;AAAA,IAEA,4CAAC,sCAAe,OAAM,YACpB,sDAAC,OAAE,yOAKH,GACF;AAAA,IAEA,4CAAC,sCAAe,OAAM,WACpB,sDAAC,OAAE,6NAKH,GACF;AAAA,IAEA,6CAAC,sCAAe,OAAM,eACpB;AAAA,kDAAC,OAAE,qHAGH;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA;AAAA,MACF;AAAA,MACA,4CAAC,OAAE,+EAAiE;AAAA,OACtE;AAAA,IAEA,4CAAC,sCAAe,OAAM,sBACpB,sDAAC,OAAE,4RAKH,GACF;AAAA,IAEA,4CAAC,sCAAe,OAAM,0BACpB,sDAAC,OAAE,0QAKH,GACF;AAAA,IAEA,6CAAC,sCAAe,OAAM,cACpB;AAAA,kDAAC,OAAE,oFAEH;AAAA,MACA,4CAAC,OACC;AAAA,QAAC;AAAA;AAAA,UACC,MAAK;AAAA,UACL,WAAU;AAAA,UACX;AAAA;AAAA,MAED,GACF;AAAA,OACF;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../components/tailwind/privacy.tsx"],"sourcesContent":["import { ContentPage, ContentSection, ContentList } from './content-page'\n\nexport function Privacy() {\n return (\n <ContentPage title=\"Privacy Policy\" lastUpdated=\"March 6, 2026\">\n <ContentSection title=\"Introduction\">\n <p>\n Story Bible Ultimate ("we", "us", or\n "our") is committed to protecting your personal information.\n This Privacy Policy explains how we collect, use, disclose, and\n safeguard your information when you use our service.\n </p>\n </ContentSection>\n\n <ContentSection title=\"Information We Collect\">\n <p>We collect information you provide directly to us, including:</p>\n <ContentList\n items={[\n <>\n <span className=\"font-semibold text-gray-900 dark:text-white\">\n Account information:\n </span>{' '}\n name, email address, and password when you register.\n </>,\n <>\n <span className=\"font-semibold text-gray-900 dark:text-white\">\n Content:\n </span>{' '}\n stories, characters, locations, timelines, and other creative\n content you create or upload.\n </>,\n <>\n <span className=\"font-semibold text-gray-900 dark:text-white\">\n Communications:\n </span>{' '}\n messages you send us through contact forms or support channels.\n </>,\n <>\n <span className=\"font-semibold text-gray-900 dark:text-white\">\n Usage data:\n </span>{' '}\n information about how you interact with our service, including log\n data, device information, and cookies.\n </>,\n ]}\n />\n </ContentSection>\n\n <ContentSection title=\"How We Use Your Information\">\n <p>We use the information we collect to:</p>\n <ContentList\n items={[\n 'Provide, maintain, and improve our services.',\n 'Process transactions and send related information.',\n 'Send technical notices, updates, security alerts, and support messages.',\n 'Respond to comments, questions, and requests for customer service.',\n 'Monitor and analyze trends, usage, and activities to improve the service.',\n 'Detect, investigate, and prevent fraudulent transactions and other illegal activities.',\n ]}\n />\n </ContentSection>\n\n <ContentSection title=\"Sharing of Information\">\n <p>\n We do not sell, trade, or otherwise transfer your personally\n identifiable information to third parties, except as described below:\n </p>\n <ContentList\n items={[\n <>\n <span className=\"font-semibold text-gray-900 dark:text-white\">\n Service providers:\n </span>{' '}\n We may share your information with third-party vendors who perform\n services on our behalf (e.g., hosting, payment processing,\n analytics).\n </>,\n <>\n <span className=\"font-semibold text-gray-900 dark:text-white\">\n Legal requirements:\n </span>{' '}\n We may disclose your information if required by law or in response\n to valid legal process.\n </>,\n <>\n <span className=\"font-semibold text-gray-900 dark:text-white\">\n Business transfers:\n </span>{' '}\n If we are involved in a merger, acquisition, or sale of assets,\n your information may be transferred as part of that transaction.\n </>,\n ]}\n />\n </ContentSection>\n\n <ContentSection title=\"Data Retention\">\n <p>\n We retain your personal information for as long as your account is\n active or as needed to provide you services. You may request deletion\n of your account and associated data at any time by contacting us.\n </p>\n </ContentSection>\n\n <ContentSection title=\"Security\">\n <p>\n We take reasonable measures to help protect information about you from\n loss, theft, misuse, unauthorized access, disclosure, alteration, and\n destruction. However, no internet or electronic storage system is 100%\n secure.\n </p>\n </ContentSection>\n\n <ContentSection title=\"Cookies\">\n <p>\n We use cookies and similar tracking technologies to track activity on\n our service and hold certain information. You can instruct your\n browser to refuse all cookies or to indicate when a cookie is being\n sent.\n </p>\n </ContentSection>\n\n <ContentSection title=\"Your Rights\">\n <p>\n Depending on your location, you may have certain rights regarding your\n personal information, including:\n </p>\n <ContentList\n items={[\n 'The right to access your personal information.',\n 'The right to correct inaccurate data.',\n 'The right to request deletion of your data.',\n 'The right to object to or restrict processing of your data.',\n 'The right to data portability (receiving your data in a structured format).',\n ]}\n />\n <p>To exercise these rights, please contact us at the address below.</p>\n </ContentSection>\n\n <ContentSection title=\"Children's Privacy\">\n <p>\n Our service is not directed to children under the age of 13. We do not\n knowingly collect personally identifiable information from children\n under 13. If we discover that a child under 13 has provided us with\n personal information, we will delete such information promptly.\n </p>\n </ContentSection>\n\n <ContentSection title=\"Changes to This Policy\">\n <p>\n We may update this Privacy Policy from time to time. We will notify\n you of any changes by posting the new policy on this page and updating\n the "Last updated" date. Continued use of the service after\n changes constitutes acceptance of the updated policy.\n </p>\n </ContentSection>\n\n <ContentSection title=\"Contact Us\">\n <p>\n If you have any questions about this Privacy Policy, please reach out:\n </p>\n <p>\n <a\n href=\"/about/contact\"\n className=\"font-semibold text-indigo-600 hover:text-indigo-500 dark:text-indigo-400 dark:hover:text-indigo-300\"\n >\n Contact us via our contact form →\n </a>\n </p>\n </ContentSection>\n </ContentPage>\n )\n}\n"],"mappings":"AAMQ,SAYI,UAZJ,KAYI,YAZJ;AANR,SAAS,aAAa,gBAAgB,mBAAmB;AAElD,SAAS,UAAU;AACxB,SACE,qBAAC,eAAY,OAAM,kBAAiB,aAAY,iBAC9C;AAAA,wBAAC,kBAAe,OAAM,gBACpB,8BAAC,OAAE,oOAKH,GACF;AAAA,IAEA,qBAAC,kBAAe,OAAM,0BACpB;AAAA,0BAAC,OAAE,2EAA6D;AAAA,MAChE;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,YACL,iCACE;AAAA,kCAAC,UAAK,WAAU,+CAA8C,kCAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAEd;AAAA,YACA,iCACE;AAAA,kCAAC,UAAK,WAAU,+CAA8C,sBAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAGd;AAAA,YACA,iCACE;AAAA,kCAAC,UAAK,WAAU,+CAA8C,6BAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAEd;AAAA,YACA,iCACE;AAAA,kCAAC,UAAK,WAAU,+CAA8C,yBAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAGd;AAAA,UACF;AAAA;AAAA,MACF;AAAA,OACF;AAAA,IAEA,qBAAC,kBAAe,OAAM,+BACpB;AAAA,0BAAC,OAAE,mDAAqC;AAAA,MACxC;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA;AAAA,MACF;AAAA,OACF;AAAA,IAEA,qBAAC,kBAAe,OAAM,0BACpB;AAAA,0BAAC,OAAE,gJAGH;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,YACL,iCACE;AAAA,kCAAC,UAAK,WAAU,+CAA8C,gCAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAId;AAAA,YACA,iCACE;AAAA,kCAAC,UAAK,WAAU,+CAA8C,iCAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAGd;AAAA,YACA,iCACE;AAAA,kCAAC,UAAK,WAAU,+CAA8C,iCAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAGd;AAAA,UACF;AAAA;AAAA,MACF;AAAA,OACF;AAAA,IAEA,oBAAC,kBAAe,OAAM,kBACpB,8BAAC,OAAE,wNAIH,GACF;AAAA,IAEA,oBAAC,kBAAe,OAAM,YACpB,8BAAC,OAAE,yOAKH,GACF;AAAA,IAEA,oBAAC,kBAAe,OAAM,WACpB,8BAAC,OAAE,6NAKH,GACF;AAAA,IAEA,qBAAC,kBAAe,OAAM,eACpB;AAAA,0BAAC,OAAE,qHAGH;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA;AAAA,MACF;AAAA,MACA,oBAAC,OAAE,+EAAiE;AAAA,OACtE;AAAA,IAEA,oBAAC,kBAAe,OAAM,sBACpB,8BAAC,OAAE,4RAKH,GACF;AAAA,IAEA,oBAAC,kBAAe,OAAM,0BACpB,8BAAC,OAAE,0QAKH,GACF;AAAA,IAEA,qBAAC,kBAAe,OAAM,cACpB;AAAA,0BAAC,OAAE,oFAEH;AAAA,MACA,oBAAC,OACC;AAAA,QAAC;AAAA;AAAA,UACC,MAAK;AAAA,UACL,WAAU;AAAA,UACX;AAAA;AAAA,MAED,GACF;AAAA,OACF;AAAA,KACF;AAEJ;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../components/tailwind/privacy.tsx"],"sourcesContent":["import { ContentPage, ContentSection, ContentList } from './content-page'\r\n\r\nexport function Privacy() {\r\n return (\r\n <ContentPage title=\"Privacy Policy\" lastUpdated=\"March 6, 2026\">\r\n <ContentSection title=\"Introduction\">\r\n <p>\r\n Story Bible Ultimate ("we", "us", or\r\n "our") is committed to protecting your personal information.\r\n This Privacy Policy explains how we collect, use, disclose, and\r\n safeguard your information when you use our service.\r\n </p>\r\n </ContentSection>\r\n\r\n <ContentSection title=\"Information We Collect\">\r\n <p>We collect information you provide directly to us, including:</p>\r\n <ContentList\r\n items={[\r\n <>\r\n <span className=\"font-semibold text-gray-900 dark:text-white\">\r\n Account information:\r\n </span>{' '}\r\n name, email address, and password when you register.\r\n </>,\r\n <>\r\n <span className=\"font-semibold text-gray-900 dark:text-white\">\r\n Content:\r\n </span>{' '}\r\n stories, characters, locations, timelines, and other creative\r\n content you create or upload.\r\n </>,\r\n <>\r\n <span className=\"font-semibold text-gray-900 dark:text-white\">\r\n Communications:\r\n </span>{' '}\r\n messages you send us through contact forms or support channels.\r\n </>,\r\n <>\r\n <span className=\"font-semibold text-gray-900 dark:text-white\">\r\n Usage data:\r\n </span>{' '}\r\n information about how you interact with our service, including log\r\n data, device information, and cookies.\r\n </>,\r\n ]}\r\n />\r\n </ContentSection>\r\n\r\n <ContentSection title=\"How We Use Your Information\">\r\n <p>We use the information we collect to:</p>\r\n <ContentList\r\n items={[\r\n 'Provide, maintain, and improve our services.',\r\n 'Process transactions and send related information.',\r\n 'Send technical notices, updates, security alerts, and support messages.',\r\n 'Respond to comments, questions, and requests for customer service.',\r\n 'Monitor and analyze trends, usage, and activities to improve the service.',\r\n 'Detect, investigate, and prevent fraudulent transactions and other illegal activities.',\r\n ]}\r\n />\r\n </ContentSection>\r\n\r\n <ContentSection title=\"Sharing of Information\">\r\n <p>\r\n We do not sell, trade, or otherwise transfer your personally\r\n identifiable information to third parties, except as described below:\r\n </p>\r\n <ContentList\r\n items={[\r\n <>\r\n <span className=\"font-semibold text-gray-900 dark:text-white\">\r\n Service providers:\r\n </span>{' '}\r\n We may share your information with third-party vendors who perform\r\n services on our behalf (e.g., hosting, payment processing,\r\n analytics).\r\n </>,\r\n <>\r\n <span className=\"font-semibold text-gray-900 dark:text-white\">\r\n Legal requirements:\r\n </span>{' '}\r\n We may disclose your information if required by law or in response\r\n to valid legal process.\r\n </>,\r\n <>\r\n <span className=\"font-semibold text-gray-900 dark:text-white\">\r\n Business transfers:\r\n </span>{' '}\r\n If we are involved in a merger, acquisition, or sale of assets,\r\n your information may be transferred as part of that transaction.\r\n </>,\r\n ]}\r\n />\r\n </ContentSection>\r\n\r\n <ContentSection title=\"Data Retention\">\r\n <p>\r\n We retain your personal information for as long as your account is\r\n active or as needed to provide you services. You may request deletion\r\n of your account and associated data at any time by contacting us.\r\n </p>\r\n </ContentSection>\r\n\r\n <ContentSection title=\"Security\">\r\n <p>\r\n We take reasonable measures to help protect information about you from\r\n loss, theft, misuse, unauthorized access, disclosure, alteration, and\r\n destruction. However, no internet or electronic storage system is 100%\r\n secure.\r\n </p>\r\n </ContentSection>\r\n\r\n <ContentSection title=\"Cookies\">\r\n <p>\r\n We use cookies and similar tracking technologies to track activity on\r\n our service and hold certain information. You can instruct your\r\n browser to refuse all cookies or to indicate when a cookie is being\r\n sent.\r\n </p>\r\n </ContentSection>\r\n\r\n <ContentSection title=\"Your Rights\">\r\n <p>\r\n Depending on your location, you may have certain rights regarding your\r\n personal information, including:\r\n </p>\r\n <ContentList\r\n items={[\r\n 'The right to access your personal information.',\r\n 'The right to correct inaccurate data.',\r\n 'The right to request deletion of your data.',\r\n 'The right to object to or restrict processing of your data.',\r\n 'The right to data portability (receiving your data in a structured format).',\r\n ]}\r\n />\r\n <p>To exercise these rights, please contact us at the address below.</p>\r\n </ContentSection>\r\n\r\n <ContentSection title=\"Children's Privacy\">\r\n <p>\r\n Our service is not directed to children under the age of 13. We do not\r\n knowingly collect personally identifiable information from children\r\n under 13. If we discover that a child under 13 has provided us with\r\n personal information, we will delete such information promptly.\r\n </p>\r\n </ContentSection>\r\n\r\n <ContentSection title=\"Changes to This Policy\">\r\n <p>\r\n We may update this Privacy Policy from time to time. We will notify\r\n you of any changes by posting the new policy on this page and updating\r\n the "Last updated" date. Continued use of the service after\r\n changes constitutes acceptance of the updated policy.\r\n </p>\r\n </ContentSection>\r\n\r\n <ContentSection title=\"Contact Us\">\r\n <p>\r\n If you have any questions about this Privacy Policy, please reach out:\r\n </p>\r\n <p>\r\n <a\r\n href=\"/about/contact\"\r\n className=\"font-semibold text-indigo-600 hover:text-indigo-500 dark:text-indigo-400 dark:hover:text-indigo-300\"\r\n >\r\n Contact us via our contact form →\r\n </a>\r\n </p>\r\n </ContentSection>\r\n </ContentPage>\r\n )\r\n}\r\n"],"mappings":"AAMQ,SAYI,UAZJ,KAYI,YAZJ;AANR,SAAS,aAAa,gBAAgB,mBAAmB;AAElD,SAAS,UAAU;AACxB,SACE,qBAAC,eAAY,OAAM,kBAAiB,aAAY,iBAC9C;AAAA,wBAAC,kBAAe,OAAM,gBACpB,8BAAC,OAAE,oOAKH,GACF;AAAA,IAEA,qBAAC,kBAAe,OAAM,0BACpB;AAAA,0BAAC,OAAE,2EAA6D;AAAA,MAChE;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,YACL,iCACE;AAAA,kCAAC,UAAK,WAAU,+CAA8C,kCAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAEd;AAAA,YACA,iCACE;AAAA,kCAAC,UAAK,WAAU,+CAA8C,sBAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAGd;AAAA,YACA,iCACE;AAAA,kCAAC,UAAK,WAAU,+CAA8C,6BAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAEd;AAAA,YACA,iCACE;AAAA,kCAAC,UAAK,WAAU,+CAA8C,yBAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAGd;AAAA,UACF;AAAA;AAAA,MACF;AAAA,OACF;AAAA,IAEA,qBAAC,kBAAe,OAAM,+BACpB;AAAA,0BAAC,OAAE,mDAAqC;AAAA,MACxC;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA;AAAA,MACF;AAAA,OACF;AAAA,IAEA,qBAAC,kBAAe,OAAM,0BACpB;AAAA,0BAAC,OAAE,gJAGH;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,YACL,iCACE;AAAA,kCAAC,UAAK,WAAU,+CAA8C,gCAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAId;AAAA,YACA,iCACE;AAAA,kCAAC,UAAK,WAAU,+CAA8C,iCAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAGd;AAAA,YACA,iCACE;AAAA,kCAAC,UAAK,WAAU,+CAA8C,iCAE9D;AAAA,cAAQ;AAAA,cAAI;AAAA,eAGd;AAAA,UACF;AAAA;AAAA,MACF;AAAA,OACF;AAAA,IAEA,oBAAC,kBAAe,OAAM,kBACpB,8BAAC,OAAE,wNAIH,GACF;AAAA,IAEA,oBAAC,kBAAe,OAAM,YACpB,8BAAC,OAAE,yOAKH,GACF;AAAA,IAEA,oBAAC,kBAAe,OAAM,WACpB,8BAAC,OAAE,6NAKH,GACF;AAAA,IAEA,qBAAC,kBAAe,OAAM,eACpB;AAAA,0BAAC,OAAE,qHAGH;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,OAAO;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA;AAAA,MACF;AAAA,MACA,oBAAC,OAAE,+EAAiE;AAAA,OACtE;AAAA,IAEA,oBAAC,kBAAe,OAAM,sBACpB,8BAAC,OAAE,4RAKH,GACF;AAAA,IAEA,oBAAC,kBAAe,OAAM,0BACpB,8BAAC,OAAE,0QAKH,GACF;AAAA,IAEA,qBAAC,kBAAe,OAAM,cACpB;AAAA,0BAAC,OAAE,oFAEH;AAAA,MACA,oBAAC,OACC;AAAA,QAAC;AAAA;AAAA,UACC,MAAK;AAAA,UACL,WAAU;AAAA,UACX;AAAA;AAAA,MAED,GACF;AAAA,OACF;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../components/tailwind/providerIcons.tsx"],"sourcesContent":["import { AppleIcon } from '../icons/apple'\nimport { FacebookIcon } from '../icons/facebook'\nimport { GithubIcon } from '../icons/github'\nimport { GoogleIcon } from '../icons/google'\n\nexport const ProviderIcons = ({ providerName }: { providerName: string }) => {\n const provider = providerName?.toLowerCase()\n switch (provider) {\n case 'github':\n return <GithubIcon />\n case 'google':\n return <GoogleIcon />\n case 'facebook':\n return <FacebookIcon />\n case 'apple':\n return <AppleIcon />\n default:\n return null\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AASa;AATb,mBAA0B;AAC1B,sBAA6B;AAC7B,oBAA2B;AAC3B,oBAA2B;AAEpB,MAAM,gBAAgB,CAAC,EAAE,aAAa,MAAgC;AAC3E,QAAM,WAAW,6CAAc;AAC/B,UAAQ,UAAU;AAAA,IAChB,KAAK;AACH,aAAO,4CAAC,4BAAW;AAAA,IACrB,KAAK;AACH,aAAO,4CAAC,4BAAW;AAAA,IACrB,KAAK;AACH,aAAO,4CAAC,gCAAa;AAAA,IACvB,KAAK;AACH,aAAO,4CAAC,0BAAU;AAAA,IACpB;AACE,aAAO;AAAA,EACX;AACF;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../components/tailwind/providerIcons.tsx"],"sourcesContent":["import { AppleIcon } from '../icons/apple'\r\nimport { FacebookIcon } from '../icons/facebook'\r\nimport { GithubIcon } from '../icons/github'\r\nimport { GoogleIcon } from '../icons/google'\r\n\r\nexport const ProviderIcons = ({ providerName }: { providerName: string }) => {\r\n const provider = providerName?.toLowerCase()\r\n switch (provider) {\r\n case 'github':\r\n return <GithubIcon />\r\n case 'google':\r\n return <GoogleIcon />\r\n case 'facebook':\r\n return <FacebookIcon />\r\n case 'apple':\r\n return <AppleIcon />\r\n default:\r\n return null\r\n }\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AASa;AATb,mBAA0B;AAC1B,sBAA6B;AAC7B,oBAA2B;AAC3B,oBAA2B;AAEpB,MAAM,gBAAgB,CAAC,EAAE,aAAa,MAAgC;AAC3E,QAAM,WAAW,6CAAc;AAC/B,UAAQ,UAAU;AAAA,IAChB,KAAK;AACH,aAAO,4CAAC,4BAAW;AAAA,IACrB,KAAK;AACH,aAAO,4CAAC,4BAAW;AAAA,IACrB,KAAK;AACH,aAAO,4CAAC,gCAAa;AAAA,IACvB,KAAK;AACH,aAAO,4CAAC,0BAAU;AAAA,IACpB;AACE,aAAO;AAAA,EACX;AACF;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../components/tailwind/providerIcons.tsx"],"sourcesContent":["import { AppleIcon } from '../icons/apple'\nimport { FacebookIcon } from '../icons/facebook'\nimport { GithubIcon } from '../icons/github'\nimport { GoogleIcon } from '../icons/google'\n\nexport const ProviderIcons = ({ providerName }: { providerName: string }) => {\n const provider = providerName?.toLowerCase()\n switch (provider) {\n case 'github':\n return <GithubIcon />\n case 'google':\n return <GoogleIcon />\n case 'facebook':\n return <FacebookIcon />\n case 'apple':\n return <AppleIcon />\n default:\n return null\n }\n}\n"],"mappings":"AASa;AATb,SAAS,iBAAiB;AAC1B,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAEpB,MAAM,gBAAgB,CAAC,EAAE,aAAa,MAAgC;AAC3E,QAAM,WAAW,6CAAc;AAC/B,UAAQ,UAAU;AAAA,IAChB,KAAK;AACH,aAAO,oBAAC,cAAW;AAAA,IACrB,KAAK;AACH,aAAO,oBAAC,cAAW;AAAA,IACrB,KAAK;AACH,aAAO,oBAAC,gBAAa;AAAA,IACvB,KAAK;AACH,aAAO,oBAAC,aAAU;AAAA,IACpB;AACE,aAAO;AAAA,EACX;AACF;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../components/tailwind/providerIcons.tsx"],"sourcesContent":["import { AppleIcon } from '../icons/apple'\r\nimport { FacebookIcon } from '../icons/facebook'\r\nimport { GithubIcon } from '../icons/github'\r\nimport { GoogleIcon } from '../icons/google'\r\n\r\nexport const ProviderIcons = ({ providerName }: { providerName: string }) => {\r\n const provider = providerName?.toLowerCase()\r\n switch (provider) {\r\n case 'github':\r\n return <GithubIcon />\r\n case 'google':\r\n return <GoogleIcon />\r\n case 'facebook':\r\n return <FacebookIcon />\r\n case 'apple':\r\n return <AppleIcon />\r\n default:\r\n return null\r\n }\r\n}\r\n"],"mappings":"AASa;AATb,SAAS,iBAAiB;AAC1B,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAC3B,SAAS,kBAAkB;AAEpB,MAAM,gBAAgB,CAAC,EAAE,aAAa,MAAgC;AAC3E,QAAM,WAAW,6CAAc;AAC/B,UAAQ,UAAU;AAAA,IAChB,KAAK;AACH,aAAO,oBAAC,cAAW;AAAA,IACrB,KAAK;AACH,aAAO,oBAAC,cAAW;AAAA,IACrB,KAAK;AACH,aAAO,oBAAC,gBAAa;AAAA,IACvB,KAAK;AACH,aAAO,oBAAC,aAAU;AAAA,IACpB;AACE,aAAO;AAAA,EACX;AACF;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../components/ui/avatar.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport * as AvatarPrimitive from '@radix-ui/react-avatar'\n\nimport { cn } from '../../lib/utils'\n\nfunction Avatar({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Root>) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n className={cn(\n 'relative flex size-8 shrink-0 overflow-hidden rounded-full',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarImage({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn('aspect-square size-full', className)}\n {...props}\n />\n )\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n 'bg-muted flex h-[40px] w-[40px] items-center justify-center rounded-full',\n className,\n )}\n {...props}\n />\n )\n}\n\nexport { Avatar, AvatarImage, AvatarFallback }\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYI;AATJ,sBAAiC;AAEjC,mBAAmB;AAEnB,SAAS,OAAO,IAGsC;AAHtC,eACd;AAAA;AAAA,EARF,IAOgB,IAEX,kBAFW,IAEX;AAAA,IADH;AAAA;AAGA,SACE;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,eAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,OACI;AAAA,EACN;AAEJ;AAEA,SAAS,YAAY,IAGkC;AAHlC,eACnB;AAAA;AAAA,EAxBF,IAuBqB,IAEhB,kBAFgB,IAEhB;AAAA,IADH;AAAA;AAGA,SACE;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,eAAW,iBAAG,2BAA2B,SAAS;AAAA,OAC9C;AAAA,EACN;AAEJ;AAEA,SAAS,eAAe,IAGkC;AAHlC,eACtB;AAAA;AAAA,EArCF,IAoCwB,IAEnB,kBAFmB,IAEnB;AAAA,IADH;AAAA;AAGA,SACE;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,eAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,OACI;AAAA,EACN;AAEJ;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../components/ui/avatar.tsx"],"sourcesContent":["'use client'\r\n\r\nimport * as React from 'react'\r\nimport * as AvatarPrimitive from '@radix-ui/react-avatar'\r\n\r\nimport { cn } from '../../lib/utils'\r\n\r\nfunction Avatar({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof AvatarPrimitive.Root>) {\r\n return (\r\n <AvatarPrimitive.Root\r\n data-slot=\"avatar\"\r\n className={cn(\r\n 'relative flex size-8 shrink-0 overflow-hidden rounded-full',\r\n className,\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction AvatarImage({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof AvatarPrimitive.Image>) {\r\n return (\r\n <AvatarPrimitive.Image\r\n data-slot=\"avatar-image\"\r\n className={cn('aspect-square size-full', className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction AvatarFallback({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\r\n return (\r\n <AvatarPrimitive.Fallback\r\n data-slot=\"avatar-fallback\"\r\n className={cn(\r\n 'bg-muted flex h-[40px] w-[40px] items-center justify-center rounded-full',\r\n className,\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport { Avatar, AvatarImage, AvatarFallback }\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYI;AATJ,sBAAiC;AAEjC,mBAAmB;AAEnB,SAAS,OAAO,IAGsC;AAHtC,eACd;AAAA;AAAA,EARF,IAOgB,IAEX,kBAFW,IAEX;AAAA,IADH;AAAA;AAGA,SACE;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,eAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,OACI;AAAA,EACN;AAEJ;AAEA,SAAS,YAAY,IAGkC;AAHlC,eACnB;AAAA;AAAA,EAxBF,IAuBqB,IAEhB,kBAFgB,IAEhB;AAAA,IADH;AAAA;AAGA,SACE;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,eAAW,iBAAG,2BAA2B,SAAS;AAAA,OAC9C;AAAA,EACN;AAEJ;AAEA,SAAS,eAAe,IAGkC;AAHlC,eACtB;AAAA;AAAA,EArCF,IAoCwB,IAEnB,kBAFmB,IAEnB;AAAA,IADH;AAAA;AAGA,SACE;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,eAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,OACI;AAAA,EACN;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../components/ui/avatar.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport * as AvatarPrimitive from '@radix-ui/react-avatar'\n\nimport { cn } from '../../lib/utils'\n\nfunction Avatar({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Root>) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n className={cn(\n 'relative flex size-8 shrink-0 overflow-hidden rounded-full',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarImage({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn('aspect-square size-full', className)}\n {...props}\n />\n )\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n 'bg-muted flex h-[40px] w-[40px] items-center justify-center rounded-full',\n className,\n )}\n {...props}\n />\n )\n}\n\nexport { Avatar, AvatarImage, AvatarFallback }\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYI;AATJ,YAAY,qBAAqB;AAEjC,SAAS,UAAU;AAEnB,SAAS,OAAO,IAGsC;AAHtC,eACd;AAAA;AAAA,EARF,IAOgB,IAEX,kBAFW,IAEX;AAAA,IADH;AAAA;AAGA,SACE;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,OACI;AAAA,EACN;AAEJ;AAEA,SAAS,YAAY,IAGkC;AAHlC,eACnB;AAAA;AAAA,EAxBF,IAuBqB,IAEhB,kBAFgB,IAEhB;AAAA,IADH;AAAA;AAGA,SACE;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,2BAA2B,SAAS;AAAA,OAC9C;AAAA,EACN;AAEJ;AAEA,SAAS,eAAe,IAGkC;AAHlC,eACtB;AAAA;AAAA,EArCF,IAoCwB,IAEnB,kBAFmB,IAEnB;AAAA,IADH;AAAA;AAGA,SACE;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,OACI;AAAA,EACN;AAEJ;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../components/ui/avatar.tsx"],"sourcesContent":["'use client'\r\n\r\nimport * as React from 'react'\r\nimport * as AvatarPrimitive from '@radix-ui/react-avatar'\r\n\r\nimport { cn } from '../../lib/utils'\r\n\r\nfunction Avatar({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof AvatarPrimitive.Root>) {\r\n return (\r\n <AvatarPrimitive.Root\r\n data-slot=\"avatar\"\r\n className={cn(\r\n 'relative flex size-8 shrink-0 overflow-hidden rounded-full',\r\n className,\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction AvatarImage({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof AvatarPrimitive.Image>) {\r\n return (\r\n <AvatarPrimitive.Image\r\n data-slot=\"avatar-image\"\r\n className={cn('aspect-square size-full', className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction AvatarFallback({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\r\n return (\r\n <AvatarPrimitive.Fallback\r\n data-slot=\"avatar-fallback\"\r\n className={cn(\r\n 'bg-muted flex h-[40px] w-[40px] items-center justify-center rounded-full',\r\n className,\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport { Avatar, AvatarImage, AvatarFallback }\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYI;AATJ,YAAY,qBAAqB;AAEjC,SAAS,UAAU;AAEnB,SAAS,OAAO,IAGsC;AAHtC,eACd;AAAA;AAAA,EARF,IAOgB,IAEX,kBAFW,IAEX;AAAA,IADH;AAAA;AAGA,SACE;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,OACI;AAAA,EACN;AAEJ;AAEA,SAAS,YAAY,IAGkC;AAHlC,eACnB;AAAA;AAAA,EAxBF,IAuBqB,IAEhB,kBAFgB,IAEhB;AAAA,IADH;AAAA;AAGA,SACE;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,2BAA2B,SAAS;AAAA,OAC9C;AAAA,EACN;AAEJ;AAEA,SAAS,eAAe,IAGkC;AAHlC,eACtB;AAAA;AAAA,EArCF,IAoCwB,IAEnB,kBAFmB,IAEnB;AAAA,IADH;AAAA;AAGA,SACE;AAAA,IAAC,gBAAgB;AAAA,IAAhB;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,OACI;AAAA,EACN;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../components/ui/breadcrumb.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport { ChevronRight } from 'lucide-react'\nimport { cn } from '../../lib/utils'\n\nexport interface BreadcrumbItem {\n label: string\n href?: string\n}\n\nexport interface BreadcrumbProps {\n items: BreadcrumbItem[]\n className?: string\n}\n\nexport function Breadcrumb({ items, className }: BreadcrumbProps) {\n return (\n <nav aria-label=\"breadcrumb\" className={cn('flex items-center', className)}>\n <ol className=\"text-muted-foreground flex flex-wrap items-center gap-1 text-sm leading-none\">\n {items.map((item, index) => (\n <React.Fragment key={index}>\n {index > 0 && (\n <li aria-hidden=\"true\" className=\"flex items-center\">\n <ChevronRight className=\"h-4 w-4\" />\n </li>\n )}\n <li>\n {item.href ? (\n <a\n href={item.href}\n className=\"hover:text-foreground inline-block max-w-[200px] truncate transition-colors\"\n >\n {item.label}\n </a>\n ) : (\n <span\n aria-current=\"page\"\n className=\"text-foreground inline-block max-w-[200px] truncate font-medium\"\n >\n {item.label}\n </span>\n )}\n </li>\n </React.Fragment>\n ))}\n </ol>\n </nav>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAqBU;AAnBV,YAAuB;AACvB,0BAA6B;AAC7B,mBAAmB;AAYZ,SAAS,WAAW,EAAE,OAAO,UAAU,GAAoB;AAChE,SACE,4CAAC,SAAI,cAAW,cAAa,eAAW,iBAAG,qBAAqB,SAAS,GACvE,sDAAC,QAAG,WAAU,gFACX,gBAAM,IAAI,CAAC,MAAM,UAChB,6CAAC,MAAM,UAAN,EACE;AAAA,YAAQ,KACP,4CAAC,QAAG,eAAY,QAAO,WAAU,qBAC/B,sDAAC,oCAAa,WAAU,WAAU,GACpC;AAAA,IAEF,4CAAC,QACE,eAAK,OACJ;AAAA,MAAC;AAAA;AAAA,QACC,MAAM,KAAK;AAAA,QACX,WAAU;AAAA,QAET,eAAK;AAAA;AAAA,IACR,IAEA;AAAA,MAAC;AAAA;AAAA,QACC,gBAAa;AAAA,QACb,WAAU;AAAA,QAET,eAAK;AAAA;AAAA,IACR,GAEJ;AAAA,OAtBmB,KAuBrB,CACD,GACH,GACF;AAEJ;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../components/ui/breadcrumb.tsx"],"sourcesContent":["'use client'\r\n\r\nimport * as React from 'react'\r\nimport { ChevronRight } from 'lucide-react'\r\nimport { cn } from '../../lib/utils'\r\n\r\nexport interface BreadcrumbItem {\r\n label: string\r\n href?: string\r\n}\r\n\r\nexport interface BreadcrumbProps {\r\n items: BreadcrumbItem[]\r\n className?: string\r\n}\r\n\r\nexport function Breadcrumb({ items, className }: BreadcrumbProps) {\r\n return (\r\n <nav aria-label=\"breadcrumb\" className={cn('flex items-center', className)}>\r\n <ol className=\"text-muted-foreground flex flex-wrap items-center gap-1 text-sm leading-none\">\r\n {items.map((item, index) => (\r\n <React.Fragment key={index}>\r\n {index > 0 && (\r\n <li aria-hidden=\"true\" className=\"flex items-center\">\r\n <ChevronRight className=\"h-4 w-4\" />\r\n </li>\r\n )}\r\n <li>\r\n {item.href ? (\r\n <a\r\n href={item.href}\r\n className=\"hover:text-foreground inline-block max-w-[200px] truncate transition-colors\"\r\n >\r\n {item.label}\r\n </a>\r\n ) : (\r\n <span\r\n aria-current=\"page\"\r\n className=\"text-foreground inline-block max-w-[200px] truncate font-medium\"\r\n >\r\n {item.label}\r\n </span>\r\n )}\r\n </li>\r\n </React.Fragment>\r\n ))}\r\n </ol>\r\n </nav>\r\n )\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAqBU;AAnBV,YAAuB;AACvB,0BAA6B;AAC7B,mBAAmB;AAYZ,SAAS,WAAW,EAAE,OAAO,UAAU,GAAoB;AAChE,SACE,4CAAC,SAAI,cAAW,cAAa,eAAW,iBAAG,qBAAqB,SAAS,GACvE,sDAAC,QAAG,WAAU,gFACX,gBAAM,IAAI,CAAC,MAAM,UAChB,6CAAC,MAAM,UAAN,EACE;AAAA,YAAQ,KACP,4CAAC,QAAG,eAAY,QAAO,WAAU,qBAC/B,sDAAC,oCAAa,WAAU,WAAU,GACpC;AAAA,IAEF,4CAAC,QACE,eAAK,OACJ;AAAA,MAAC;AAAA;AAAA,QACC,MAAM,KAAK;AAAA,QACX,WAAU;AAAA,QAET,eAAK;AAAA;AAAA,IACR,IAEA;AAAA,MAAC;AAAA;AAAA,QACC,gBAAa;AAAA,QACb,WAAU;AAAA,QAET,eAAK;AAAA;AAAA,IACR,GAEJ;AAAA,OAtBmB,KAuBrB,CACD,GACH,GACF;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../components/ui/breadcrumb.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport { ChevronRight } from 'lucide-react'\nimport { cn } from '../../lib/utils'\n\nexport interface BreadcrumbItem {\n label: string\n href?: string\n}\n\nexport interface BreadcrumbProps {\n items: BreadcrumbItem[]\n className?: string\n}\n\nexport function Breadcrumb({ items, className }: BreadcrumbProps) {\n return (\n <nav aria-label=\"breadcrumb\" className={cn('flex items-center', className)}>\n <ol className=\"text-muted-foreground flex flex-wrap items-center gap-1 text-sm leading-none\">\n {items.map((item, index) => (\n <React.Fragment key={index}>\n {index > 0 && (\n <li aria-hidden=\"true\" className=\"flex items-center\">\n <ChevronRight className=\"h-4 w-4\" />\n </li>\n )}\n <li>\n {item.href ? (\n <a\n href={item.href}\n className=\"hover:text-foreground inline-block max-w-[200px] truncate transition-colors\"\n >\n {item.label}\n </a>\n ) : (\n <span\n aria-current=\"page\"\n className=\"text-foreground inline-block max-w-[200px] truncate font-medium\"\n >\n {item.label}\n </span>\n )}\n </li>\n </React.Fragment>\n ))}\n </ol>\n </nav>\n )\n}\n"],"mappings":";AAqBU,SAGM,KAHN;AAnBV,YAAY,WAAW;AACvB,SAAS,oBAAoB;AAC7B,SAAS,UAAU;AAYZ,SAAS,WAAW,EAAE,OAAO,UAAU,GAAoB;AAChE,SACE,oBAAC,SAAI,cAAW,cAAa,WAAW,GAAG,qBAAqB,SAAS,GACvE,8BAAC,QAAG,WAAU,gFACX,gBAAM,IAAI,CAAC,MAAM,UAChB,qBAAC,MAAM,UAAN,EACE;AAAA,YAAQ,KACP,oBAAC,QAAG,eAAY,QAAO,WAAU,qBAC/B,8BAAC,gBAAa,WAAU,WAAU,GACpC;AAAA,IAEF,oBAAC,QACE,eAAK,OACJ;AAAA,MAAC;AAAA;AAAA,QACC,MAAM,KAAK;AAAA,QACX,WAAU;AAAA,QAET,eAAK;AAAA;AAAA,IACR,IAEA;AAAA,MAAC;AAAA;AAAA,QACC,gBAAa;AAAA,QACb,WAAU;AAAA,QAET,eAAK;AAAA;AAAA,IACR,GAEJ;AAAA,OAtBmB,KAuBrB,CACD,GACH,GACF;AAEJ;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../components/ui/breadcrumb.tsx"],"sourcesContent":["'use client'\r\n\r\nimport * as React from 'react'\r\nimport { ChevronRight } from 'lucide-react'\r\nimport { cn } from '../../lib/utils'\r\n\r\nexport interface BreadcrumbItem {\r\n label: string\r\n href?: string\r\n}\r\n\r\nexport interface BreadcrumbProps {\r\n items: BreadcrumbItem[]\r\n className?: string\r\n}\r\n\r\nexport function Breadcrumb({ items, className }: BreadcrumbProps) {\r\n return (\r\n <nav aria-label=\"breadcrumb\" className={cn('flex items-center', className)}>\r\n <ol className=\"text-muted-foreground flex flex-wrap items-center gap-1 text-sm leading-none\">\r\n {items.map((item, index) => (\r\n <React.Fragment key={index}>\r\n {index > 0 && (\r\n <li aria-hidden=\"true\" className=\"flex items-center\">\r\n <ChevronRight className=\"h-4 w-4\" />\r\n </li>\r\n )}\r\n <li>\r\n {item.href ? (\r\n <a\r\n href={item.href}\r\n className=\"hover:text-foreground inline-block max-w-[200px] truncate transition-colors\"\r\n >\r\n {item.label}\r\n </a>\r\n ) : (\r\n <span\r\n aria-current=\"page\"\r\n className=\"text-foreground inline-block max-w-[200px] truncate font-medium\"\r\n >\r\n {item.label}\r\n </span>\r\n )}\r\n </li>\r\n </React.Fragment>\r\n ))}\r\n </ol>\r\n </nav>\r\n )\r\n}\r\n"],"mappings":";AAqBU,SAGM,KAHN;AAnBV,YAAY,WAAW;AACvB,SAAS,oBAAoB;AAC7B,SAAS,UAAU;AAYZ,SAAS,WAAW,EAAE,OAAO,UAAU,GAAoB;AAChE,SACE,oBAAC,SAAI,cAAW,cAAa,WAAW,GAAG,qBAAqB,SAAS,GACvE,8BAAC,QAAG,WAAU,gFACX,gBAAM,IAAI,CAAC,MAAM,UAChB,qBAAC,MAAM,UAAN,EACE;AAAA,YAAQ,KACP,oBAAC,QAAG,eAAY,QAAO,WAAU,qBAC/B,8BAAC,gBAAa,WAAU,WAAU,GACpC;AAAA,IAEF,oBAAC,QACE,eAAK,OACJ;AAAA,MAAC;AAAA;AAAA,QACC,MAAM,KAAK;AAAA,QACX,WAAU;AAAA,QAET,eAAK;AAAA;AAAA,IACR,IAEA;AAAA,MAAC;AAAA;AAAA,QACC,gBAAa;AAAA,QACb,WAAU;AAAA,QAET,eAAK;AAAA;AAAA,IACR,GAEJ;AAAA,OAtBmB,KAuBrB,CACD,GACH,GACF;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../components/ui/button.tsx"],"sourcesContent":["import * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../../lib/utils'\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,box-shadow] cursor-pointer disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default:\n 'bg-primary text-primary-foreground shadow-xs hover:bg-primary/90',\n destructive:\n 'bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40',\n outline:\n 'border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground',\n secondary:\n 'bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80',\n ghost: 'hover:bg-accent hover:text-accent-foreground',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-9 px-4 py-2 has-[>svg]:px-3',\n sm: 'h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5',\n lg: 'h-10 rounded-md px-6 has-[>svg]:px-4',\n icon: 'size-9',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n)\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<'button'> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = 'button'\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgDI;AA/CJ,sCAAuC;AAEvC,mBAAmB;AAEnB,MAAM,qBAAiB;AAAA,EACrB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SACE;AAAA,QACF,aACE;AAAA,QACF,SACE;AAAA,QACF,WACE;AAAA,QACF,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA,MACA,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF;AACF;AAEA,SAAS,OAAO,IASX;AATW,eACd;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,EAvCZ,IAmCgB,IAKX,kBALW,IAKX;AAAA,IAJH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAMA,QAAM,OAAO;AAEb,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,eAAW,iBAAG,eAAe,EAAE,SAAS,MAAM,UAAU,CAAC,CAAC;AAAA,OACtD;AAAA,EACN;AAEJ;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../components/ui/button.tsx"],"sourcesContent":["import * as React from 'react'\r\nimport { cva, type VariantProps } from 'class-variance-authority'\r\n\r\nimport { cn } from '../../lib/utils'\r\n\r\nconst buttonVariants = cva(\r\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,box-shadow] cursor-pointer disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\r\n {\r\n variants: {\r\n variant: {\r\n default:\r\n 'bg-primary text-primary-foreground shadow-xs hover:bg-primary/90',\r\n destructive:\r\n 'bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40',\r\n outline:\r\n 'border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground',\r\n secondary:\r\n 'bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80',\r\n ghost: 'hover:bg-accent hover:text-accent-foreground',\r\n link: 'text-primary underline-offset-4 hover:underline',\r\n },\r\n size: {\r\n default: 'h-9 px-4 py-2 has-[>svg]:px-3',\r\n sm: 'h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5',\r\n lg: 'h-10 rounded-md px-6 has-[>svg]:px-4',\r\n icon: 'size-9',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n size: 'default',\r\n },\r\n },\r\n)\r\n\r\nfunction Button({\r\n className,\r\n variant,\r\n size,\r\n asChild = false,\r\n ...props\r\n}: React.ComponentProps<'button'> &\r\n VariantProps<typeof buttonVariants> & {\r\n asChild?: boolean\r\n }) {\r\n const Comp = 'button'\r\n\r\n return (\r\n <Comp\r\n data-slot=\"button\"\r\n className={cn(buttonVariants({ variant, size, className }))}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport { Button, buttonVariants }\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgDI;AA/CJ,sCAAuC;AAEvC,mBAAmB;AAEnB,MAAM,qBAAiB;AAAA,EACrB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SACE;AAAA,QACF,aACE;AAAA,QACF,SACE;AAAA,QACF,WACE;AAAA,QACF,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA,MACA,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF;AACF;AAEA,SAAS,OAAO,IASX;AATW,eACd;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,EAvCZ,IAmCgB,IAKX,kBALW,IAKX;AAAA,IAJH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAMA,QAAM,OAAO;AAEb,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,eAAW,iBAAG,eAAe,EAAE,SAAS,MAAM,UAAU,CAAC,CAAC;AAAA,OACtD;AAAA,EACN;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../components/ui/button.tsx"],"sourcesContent":["import * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../../lib/utils'\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,box-shadow] cursor-pointer disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default:\n 'bg-primary text-primary-foreground shadow-xs hover:bg-primary/90',\n destructive:\n 'bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40',\n outline:\n 'border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground',\n secondary:\n 'bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80',\n ghost: 'hover:bg-accent hover:text-accent-foreground',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-9 px-4 py-2 has-[>svg]:px-3',\n sm: 'h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5',\n lg: 'h-10 rounded-md px-6 has-[>svg]:px-4',\n icon: 'size-9',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n)\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<'button'> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = 'button'\n\n return (\n <Comp\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDI;AA/CJ,SAAS,WAA8B;AAEvC,SAAS,UAAU;AAEnB,MAAM,iBAAiB;AAAA,EACrB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SACE;AAAA,QACF,aACE;AAAA,QACF,SACE;AAAA,QACF,WACE;AAAA,QACF,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA,MACA,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF;AACF;AAEA,SAAS,OAAO,IASX;AATW,eACd;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,EAvCZ,IAmCgB,IAKX,kBALW,IAKX;AAAA,IAJH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAMA,QAAM,OAAO;AAEb,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,eAAe,EAAE,SAAS,MAAM,UAAU,CAAC,CAAC;AAAA,OACtD;AAAA,EACN;AAEJ;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../components/ui/button.tsx"],"sourcesContent":["import * as React from 'react'\r\nimport { cva, type VariantProps } from 'class-variance-authority'\r\n\r\nimport { cn } from '../../lib/utils'\r\n\r\nconst buttonVariants = cva(\r\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,box-shadow] cursor-pointer disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\r\n {\r\n variants: {\r\n variant: {\r\n default:\r\n 'bg-primary text-primary-foreground shadow-xs hover:bg-primary/90',\r\n destructive:\r\n 'bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40',\r\n outline:\r\n 'border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground',\r\n secondary:\r\n 'bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80',\r\n ghost: 'hover:bg-accent hover:text-accent-foreground',\r\n link: 'text-primary underline-offset-4 hover:underline',\r\n },\r\n size: {\r\n default: 'h-9 px-4 py-2 has-[>svg]:px-3',\r\n sm: 'h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5',\r\n lg: 'h-10 rounded-md px-6 has-[>svg]:px-4',\r\n icon: 'size-9',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n size: 'default',\r\n },\r\n },\r\n)\r\n\r\nfunction Button({\r\n className,\r\n variant,\r\n size,\r\n asChild = false,\r\n ...props\r\n}: React.ComponentProps<'button'> &\r\n VariantProps<typeof buttonVariants> & {\r\n asChild?: boolean\r\n }) {\r\n const Comp = 'button'\r\n\r\n return (\r\n <Comp\r\n data-slot=\"button\"\r\n className={cn(buttonVariants({ variant, size, className }))}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport { Button, buttonVariants }\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDI;AA/CJ,SAAS,WAA8B;AAEvC,SAAS,UAAU;AAEnB,MAAM,iBAAiB;AAAA,EACrB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SACE;AAAA,QACF,aACE;AAAA,QACF,SACE;AAAA,QACF,WACE;AAAA,QACF,OAAO;AAAA,QACP,MAAM;AAAA,MACR;AAAA,MACA,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF;AACF;AAEA,SAAS,OAAO,IASX;AATW,eACd;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,EAvCZ,IAmCgB,IAKX,kBALW,IAKX;AAAA,IAJH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAMA,QAAM,OAAO;AAEb,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,eAAe,EAAE,SAAS,MAAM,UAAU,CAAC,CAAC;AAAA,OACtD;AAAA,EACN;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../components/ui/card.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { cn } from '../../lib/utils'\n\nfunction Card({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card\"\n className={cn(\n 'bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn('flex flex-col gap-1.5 px-6', className)}\n {...props}\n />\n )\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn('font-semibold leading-none', className)}\n {...props}\n />\n )\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n )\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn('px-6', className)}\n {...props}\n />\n )\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn('flex items-center px-6', className)}\n {...props}\n />\n )\n}\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMI;AAJJ,mBAAmB;AAEnB,SAAS,KAAK,IAAsD;AAAtD,eAAE,YAJhB,IAIc,IAAgB,kBAAhB,IAAgB,CAAd;AACd,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,eAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,OACI;AAAA,EACN;AAEJ;AAEA,SAAS,WAAW,IAAsD;AAAtD,eAAE,YAjBtB,IAiBoB,IAAgB,kBAAhB,IAAgB,CAAd;AACpB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,eAAW,iBAAG,8BAA8B,SAAS;AAAA,OACjD;AAAA,EACN;AAEJ;AAEA,SAAS,UAAU,IAAsD;AAAtD,eAAE,YA3BrB,IA2BmB,IAAgB,kBAAhB,IAAgB,CAAd;AACnB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,eAAW,iBAAG,8BAA8B,SAAS;AAAA,OACjD;AAAA,EACN;AAEJ;AAEA,SAAS,gBAAgB,IAAsD;AAAtD,eAAE,YArC3B,IAqCyB,IAAgB,kBAAhB,IAAgB,CAAd;AACzB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,eAAW,iBAAG,iCAAiC,SAAS;AAAA,OACpD;AAAA,EACN;AAEJ;AAEA,SAAS,YAAY,IAAsD;AAAtD,eAAE,YA/CvB,IA+CqB,IAAgB,kBAAhB,IAAgB,CAAd;AACrB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,eAAW,iBAAG,QAAQ,SAAS;AAAA,OAC3B;AAAA,EACN;AAEJ;AAEA,SAAS,WAAW,IAAsD;AAAtD,eAAE,YAzDtB,IAyDoB,IAAgB,kBAAhB,IAAgB,CAAd;AACpB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,eAAW,iBAAG,0BAA0B,SAAS;AAAA,OAC7C;AAAA,EACN;AAEJ;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../components/ui/card.tsx"],"sourcesContent":["import * as React from 'react'\r\n\r\nimport { cn } from '../../lib/utils'\r\n\r\nfunction Card({ className, ...props }: React.ComponentProps<'div'>) {\r\n return (\r\n <div\r\n data-slot=\"card\"\r\n className={cn(\r\n 'bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm',\r\n className,\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CardHeader({ className, ...props }: React.ComponentProps<'div'>) {\r\n return (\r\n <div\r\n data-slot=\"card-header\"\r\n className={cn('flex flex-col gap-1.5 px-6', className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CardTitle({ className, ...props }: React.ComponentProps<'div'>) {\r\n return (\r\n <div\r\n data-slot=\"card-title\"\r\n className={cn('font-semibold leading-none', className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CardDescription({ className, ...props }: React.ComponentProps<'div'>) {\r\n return (\r\n <div\r\n data-slot=\"card-description\"\r\n className={cn('text-muted-foreground text-sm', className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CardContent({ className, ...props }: React.ComponentProps<'div'>) {\r\n return (\r\n <div\r\n data-slot=\"card-content\"\r\n className={cn('px-6', className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CardFooter({ className, ...props }: React.ComponentProps<'div'>) {\r\n return (\r\n <div\r\n data-slot=\"card-footer\"\r\n className={cn('flex items-center px-6', className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMI;AAJJ,mBAAmB;AAEnB,SAAS,KAAK,IAAsD;AAAtD,eAAE,YAJhB,IAIc,IAAgB,kBAAhB,IAAgB,CAAd;AACd,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,eAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,OACI;AAAA,EACN;AAEJ;AAEA,SAAS,WAAW,IAAsD;AAAtD,eAAE,YAjBtB,IAiBoB,IAAgB,kBAAhB,IAAgB,CAAd;AACpB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,eAAW,iBAAG,8BAA8B,SAAS;AAAA,OACjD;AAAA,EACN;AAEJ;AAEA,SAAS,UAAU,IAAsD;AAAtD,eAAE,YA3BrB,IA2BmB,IAAgB,kBAAhB,IAAgB,CAAd;AACnB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,eAAW,iBAAG,8BAA8B,SAAS;AAAA,OACjD;AAAA,EACN;AAEJ;AAEA,SAAS,gBAAgB,IAAsD;AAAtD,eAAE,YArC3B,IAqCyB,IAAgB,kBAAhB,IAAgB,CAAd;AACzB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,eAAW,iBAAG,iCAAiC,SAAS;AAAA,OACpD;AAAA,EACN;AAEJ;AAEA,SAAS,YAAY,IAAsD;AAAtD,eAAE,YA/CvB,IA+CqB,IAAgB,kBAAhB,IAAgB,CAAd;AACrB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,eAAW,iBAAG,QAAQ,SAAS;AAAA,OAC3B;AAAA,EACN;AAEJ;AAEA,SAAS,WAAW,IAAsD;AAAtD,eAAE,YAzDtB,IAyDoB,IAAgB,kBAAhB,IAAgB,CAAd;AACpB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,eAAW,iBAAG,0BAA0B,SAAS;AAAA,OAC7C;AAAA,EACN;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../components/ui/card.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { cn } from '../../lib/utils'\n\nfunction Card({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card\"\n className={cn(\n 'bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn('flex flex-col gap-1.5 px-6', className)}\n {...props}\n />\n )\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn('font-semibold leading-none', className)}\n {...props}\n />\n )\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n )\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn('px-6', className)}\n {...props}\n />\n )\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn('flex items-center px-6', className)}\n {...props}\n />\n )\n}\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMI;AAJJ,SAAS,UAAU;AAEnB,SAAS,KAAK,IAAsD;AAAtD,eAAE,YAJhB,IAIc,IAAgB,kBAAhB,IAAgB,CAAd;AACd,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,OACI;AAAA,EACN;AAEJ;AAEA,SAAS,WAAW,IAAsD;AAAtD,eAAE,YAjBtB,IAiBoB,IAAgB,kBAAhB,IAAgB,CAAd;AACpB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,8BAA8B,SAAS;AAAA,OACjD;AAAA,EACN;AAEJ;AAEA,SAAS,UAAU,IAAsD;AAAtD,eAAE,YA3BrB,IA2BmB,IAAgB,kBAAhB,IAAgB,CAAd;AACnB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,8BAA8B,SAAS;AAAA,OACjD;AAAA,EACN;AAEJ;AAEA,SAAS,gBAAgB,IAAsD;AAAtD,eAAE,YArC3B,IAqCyB,IAAgB,kBAAhB,IAAgB,CAAd;AACzB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,iCAAiC,SAAS;AAAA,OACpD;AAAA,EACN;AAEJ;AAEA,SAAS,YAAY,IAAsD;AAAtD,eAAE,YA/CvB,IA+CqB,IAAgB,kBAAhB,IAAgB,CAAd;AACrB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,QAAQ,SAAS;AAAA,OAC3B;AAAA,EACN;AAEJ;AAEA,SAAS,WAAW,IAAsD;AAAtD,eAAE,YAzDtB,IAyDoB,IAAgB,kBAAhB,IAAgB,CAAd;AACpB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,0BAA0B,SAAS;AAAA,OAC7C;AAAA,EACN;AAEJ;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../components/ui/card.tsx"],"sourcesContent":["import * as React from 'react'\r\n\r\nimport { cn } from '../../lib/utils'\r\n\r\nfunction Card({ className, ...props }: React.ComponentProps<'div'>) {\r\n return (\r\n <div\r\n data-slot=\"card\"\r\n className={cn(\r\n 'bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm',\r\n className,\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CardHeader({ className, ...props }: React.ComponentProps<'div'>) {\r\n return (\r\n <div\r\n data-slot=\"card-header\"\r\n className={cn('flex flex-col gap-1.5 px-6', className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CardTitle({ className, ...props }: React.ComponentProps<'div'>) {\r\n return (\r\n <div\r\n data-slot=\"card-title\"\r\n className={cn('font-semibold leading-none', className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CardDescription({ className, ...props }: React.ComponentProps<'div'>) {\r\n return (\r\n <div\r\n data-slot=\"card-description\"\r\n className={cn('text-muted-foreground text-sm', className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CardContent({ className, ...props }: React.ComponentProps<'div'>) {\r\n return (\r\n <div\r\n data-slot=\"card-content\"\r\n className={cn('px-6', className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction CardFooter({ className, ...props }: React.ComponentProps<'div'>) {\r\n return (\r\n <div\r\n data-slot=\"card-footer\"\r\n className={cn('flex items-center px-6', className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMI;AAJJ,SAAS,UAAU;AAEnB,SAAS,KAAK,IAAsD;AAAtD,eAAE,YAJhB,IAIc,IAAgB,kBAAhB,IAAgB,CAAd;AACd,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,OACI;AAAA,EACN;AAEJ;AAEA,SAAS,WAAW,IAAsD;AAAtD,eAAE,YAjBtB,IAiBoB,IAAgB,kBAAhB,IAAgB,CAAd;AACpB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,8BAA8B,SAAS;AAAA,OACjD;AAAA,EACN;AAEJ;AAEA,SAAS,UAAU,IAAsD;AAAtD,eAAE,YA3BrB,IA2BmB,IAAgB,kBAAhB,IAAgB,CAAd;AACnB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,8BAA8B,SAAS;AAAA,OACjD;AAAA,EACN;AAEJ;AAEA,SAAS,gBAAgB,IAAsD;AAAtD,eAAE,YArC3B,IAqCyB,IAAgB,kBAAhB,IAAgB,CAAd;AACzB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,iCAAiC,SAAS;AAAA,OACpD;AAAA,EACN;AAEJ;AAEA,SAAS,YAAY,IAAsD;AAAtD,eAAE,YA/CvB,IA+CqB,IAAgB,kBAAhB,IAAgB,CAAd;AACrB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,QAAQ,SAAS;AAAA,OAC3B;AAAA,EACN;AAEJ;AAEA,SAAS,WAAW,IAAsD;AAAtD,eAAE,YAzDtB,IAyDoB,IAAgB,kBAAhB,IAAgB,CAAd;AACpB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,0BAA0B,SAAS;AAAA,OAC7C;AAAA,EACN;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../components/ui/checkbox.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox'\nimport { CheckIcon } from 'lucide-react'\n\nimport { cn } from '../../lib/utils'\n\nfunction Checkbox({\n className,\n ...props\n}: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n 'border-input data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive shadow-2xs outline-hidden peer size-4 shrink-0 rounded-[4px] border bg-white transition-shadow focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:bg-gray-900',\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"flex items-center justify-center text-current transition-none\"\n >\n <CheckIcon className=\"size-3.5\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n )\n}\n\nexport { Checkbox }\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAyBQ;AAtBR,wBAAmC;AACnC,0BAA0B;AAE1B,mBAAmB;AAEnB,SAAS,SAAS,IAGsC;AAHtC,eAChB;AAAA;AAAA,EATF,IAQkB,IAEb,kBAFa,IAEb;AAAA,IADH;AAAA;AAGA,SACE;AAAA,IAAC,kBAAkB;AAAA,IAAlB;AAAA,MACC,aAAU;AAAA,MACV,eAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,OACI,QANL;AAAA,MAQC;AAAA,QAAC,kBAAkB;AAAA,QAAlB;AAAA,UACC,aAAU;AAAA,UACV,WAAU;AAAA,UAEV,sDAAC,iCAAU,WAAU,YAAW;AAAA;AAAA,MAClC;AAAA;AAAA,EACF;AAEJ;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../components/ui/checkbox.tsx"],"sourcesContent":["'use client'\r\n\r\nimport * as React from 'react'\r\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox'\r\nimport { CheckIcon } from 'lucide-react'\r\n\r\nimport { cn } from '../../lib/utils'\r\n\r\nfunction Checkbox({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\r\n return (\r\n <CheckboxPrimitive.Root\r\n data-slot=\"checkbox\"\r\n className={cn(\r\n 'border-input data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive shadow-2xs outline-hidden peer size-4 shrink-0 rounded-[4px] border bg-white transition-shadow focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:bg-gray-900',\r\n className,\r\n )}\r\n {...props}\r\n >\r\n <CheckboxPrimitive.Indicator\r\n data-slot=\"checkbox-indicator\"\r\n className=\"flex items-center justify-center text-current transition-none\"\r\n >\r\n <CheckIcon className=\"size-3.5\" />\r\n </CheckboxPrimitive.Indicator>\r\n </CheckboxPrimitive.Root>\r\n )\r\n}\r\n\r\nexport { Checkbox }\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAyBQ;AAtBR,wBAAmC;AACnC,0BAA0B;AAE1B,mBAAmB;AAEnB,SAAS,SAAS,IAGsC;AAHtC,eAChB;AAAA;AAAA,EATF,IAQkB,IAEb,kBAFa,IAEb;AAAA,IADH;AAAA;AAGA,SACE;AAAA,IAAC,kBAAkB;AAAA,IAAlB;AAAA,MACC,aAAU;AAAA,MACV,eAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,OACI,QANL;AAAA,MAQC;AAAA,QAAC,kBAAkB;AAAA,QAAlB;AAAA,UACC,aAAU;AAAA,UACV,WAAU;AAAA,UAEV,sDAAC,iCAAU,WAAU,YAAW;AAAA;AAAA,MAClC;AAAA;AAAA,EACF;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../components/ui/checkbox.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox'\nimport { CheckIcon } from 'lucide-react'\n\nimport { cn } from '../../lib/utils'\n\nfunction Checkbox({\n className,\n ...props\n}: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n 'border-input data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive shadow-2xs outline-hidden peer size-4 shrink-0 rounded-[4px] border bg-white transition-shadow focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:bg-gray-900',\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"flex items-center justify-center text-current transition-none\"\n >\n <CheckIcon className=\"size-3.5\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n )\n}\n\nexport { Checkbox }\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBQ;AAtBR,YAAY,uBAAuB;AACnC,SAAS,iBAAiB;AAE1B,SAAS,UAAU;AAEnB,SAAS,SAAS,IAGsC;AAHtC,eAChB;AAAA;AAAA,EATF,IAQkB,IAEb,kBAFa,IAEb;AAAA,IADH;AAAA;AAGA,SACE;AAAA,IAAC,kBAAkB;AAAA,IAAlB;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,OACI,QANL;AAAA,MAQC;AAAA,QAAC,kBAAkB;AAAA,QAAlB;AAAA,UACC,aAAU;AAAA,UACV,WAAU;AAAA,UAEV,8BAAC,aAAU,WAAU,YAAW;AAAA;AAAA,MAClC;AAAA;AAAA,EACF;AAEJ;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../components/ui/checkbox.tsx"],"sourcesContent":["'use client'\r\n\r\nimport * as React from 'react'\r\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox'\r\nimport { CheckIcon } from 'lucide-react'\r\n\r\nimport { cn } from '../../lib/utils'\r\n\r\nfunction Checkbox({\r\n className,\r\n ...props\r\n}: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\r\n return (\r\n <CheckboxPrimitive.Root\r\n data-slot=\"checkbox\"\r\n className={cn(\r\n 'border-input data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive shadow-2xs outline-hidden peer size-4 shrink-0 rounded-[4px] border bg-white transition-shadow focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:bg-gray-900',\r\n className,\r\n )}\r\n {...props}\r\n >\r\n <CheckboxPrimitive.Indicator\r\n data-slot=\"checkbox-indicator\"\r\n className=\"flex items-center justify-center text-current transition-none\"\r\n >\r\n <CheckIcon className=\"size-3.5\" />\r\n </CheckboxPrimitive.Indicator>\r\n </CheckboxPrimitive.Root>\r\n )\r\n}\r\n\r\nexport { Checkbox }\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBQ;AAtBR,YAAY,uBAAuB;AACnC,SAAS,iBAAiB;AAE1B,SAAS,UAAU;AAEnB,SAAS,SAAS,IAGsC;AAHtC,eAChB;AAAA;AAAA,EATF,IAQkB,IAEb,kBAFa,IAEb;AAAA,IADH;AAAA;AAGA,SACE;AAAA,IAAC,kBAAkB;AAAA,IAAlB;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,OACI,QANL;AAAA,MAQC;AAAA,QAAC,kBAAkB;AAAA,QAAlB;AAAA,UACC,aAAU;AAAA,UACV,WAAU;AAAA,UAEV,8BAAC,aAAU,WAAU,YAAW;AAAA;AAAA,MAClC;AAAA;AAAA,EACF;AAEJ;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../components/ui/command.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport { type DialogProps } from '@radix-ui/react-dialog'\nimport { Command as CommandPrimitive } from 'cmdk'\nimport { Search } from 'lucide-react'\n\nimport { cn } from '../../lib/utils'\nimport { Dialog, DialogContent } from './dialog'\n\nconst Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n 'bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md',\n className,\n )}\n {...props}\n />\n))\nCommand.displayName = CommandPrimitive.displayName\n\ninterface CommandDialogProps extends DialogProps {}\n\nconst CommandDialog = ({ children, ...props }: CommandDialogProps) => {\n return (\n <Dialog {...props}>\n <DialogContent className=\"overflow-hidden p-0 shadow-lg\">\n <Command className=\"[&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n )\n}\n\nconst CommandInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => (\n <div className=\"flex items-center border-b px-3\" cmdk-input-wrapper=\"\">\n <Search className=\"mr-2 h-4 w-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n 'placeholder:text-muted-foreground flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n />\n </div>\n))\n\nCommandInput.displayName = CommandPrimitive.Input.displayName\n\nconst CommandList = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.List\n ref={ref}\n className={cn('max-h-[300px] overflow-y-auto overflow-x-hidden', className)}\n {...props}\n />\n))\n\nCommandList.displayName = CommandPrimitive.List.displayName\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => (\n <CommandPrimitive.Empty\n ref={ref}\n className=\"py-6 text-center text-sm\"\n {...props}\n />\n))\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n 'text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium',\n className,\n )}\n {...props}\n />\n))\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Separator\n ref={ref}\n className={cn('bg-border -mx-1 h-px', className)}\n {...props}\n />\n))\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName\n\nconst CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n ref={ref}\n className={cn(\n 'aria-selected:bg-accent aria-selected:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className,\n )}\n {...props}\n />\n))\n\nCommandItem.displayName = CommandPrimitive.Item.displayName\n\nconst CommandShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n 'text-muted-foreground ml-auto text-xs tracking-widest',\n className,\n )}\n {...props}\n />\n )\n}\nCommandShortcut.displayName = 'CommandShortcut'\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n}\n"],"mappings":"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","names":["CommandPrimitive"]}
|
|
1
|
+
{"version":3,"sources":["../../../components/ui/command.tsx"],"sourcesContent":["'use client'\r\n\r\nimport * as React from 'react'\r\nimport { type DialogProps } from '@radix-ui/react-dialog'\r\nimport { Command as CommandPrimitive } from 'cmdk'\r\nimport { Search } from 'lucide-react'\r\n\r\nimport { cn } from '../../lib/utils'\r\nimport { Dialog, DialogContent } from './dialog'\r\n\r\nconst Command = React.forwardRef<\r\n React.ElementRef<typeof CommandPrimitive>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\r\n>(({ className, ...props }, ref) => (\r\n <CommandPrimitive\r\n ref={ref}\r\n className={cn(\r\n 'bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md',\r\n className,\r\n )}\r\n {...props}\r\n />\r\n))\r\nCommand.displayName = CommandPrimitive.displayName\r\n\r\ninterface CommandDialogProps extends DialogProps {}\r\n\r\nconst CommandDialog = ({ children, ...props }: CommandDialogProps) => {\r\n return (\r\n <Dialog {...props}>\r\n <DialogContent className=\"overflow-hidden p-0 shadow-lg\">\r\n <Command className=\"[&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\r\n {children}\r\n </Command>\r\n </DialogContent>\r\n </Dialog>\r\n )\r\n}\r\n\r\nconst CommandInput = React.forwardRef<\r\n React.ElementRef<typeof CommandPrimitive.Input>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\r\n>(({ className, ...props }, ref) => (\r\n <div className=\"flex items-center border-b px-3\" cmdk-input-wrapper=\"\">\r\n <Search className=\"mr-2 h-4 w-4 shrink-0 opacity-50\" />\r\n <CommandPrimitive.Input\r\n ref={ref}\r\n className={cn(\r\n 'placeholder:text-muted-foreground flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none disabled:cursor-not-allowed disabled:opacity-50',\r\n className,\r\n )}\r\n {...props}\r\n />\r\n </div>\r\n))\r\n\r\nCommandInput.displayName = CommandPrimitive.Input.displayName\r\n\r\nconst CommandList = React.forwardRef<\r\n React.ElementRef<typeof CommandPrimitive.List>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\r\n>(({ className, ...props }, ref) => (\r\n <CommandPrimitive.List\r\n ref={ref}\r\n className={cn('max-h-[300px] overflow-y-auto overflow-x-hidden', className)}\r\n {...props}\r\n />\r\n))\r\n\r\nCommandList.displayName = CommandPrimitive.List.displayName\r\n\r\nconst CommandEmpty = React.forwardRef<\r\n React.ElementRef<typeof CommandPrimitive.Empty>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\r\n>((props, ref) => (\r\n <CommandPrimitive.Empty\r\n ref={ref}\r\n className=\"py-6 text-center text-sm\"\r\n {...props}\r\n />\r\n))\r\n\r\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName\r\n\r\nconst CommandGroup = React.forwardRef<\r\n React.ElementRef<typeof CommandPrimitive.Group>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\r\n>(({ className, ...props }, ref) => (\r\n <CommandPrimitive.Group\r\n ref={ref}\r\n className={cn(\r\n 'text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium',\r\n className,\r\n )}\r\n {...props}\r\n />\r\n))\r\n\r\nCommandGroup.displayName = CommandPrimitive.Group.displayName\r\n\r\nconst CommandSeparator = React.forwardRef<\r\n React.ElementRef<typeof CommandPrimitive.Separator>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\r\n>(({ className, ...props }, ref) => (\r\n <CommandPrimitive.Separator\r\n ref={ref}\r\n className={cn('bg-border -mx-1 h-px', className)}\r\n {...props}\r\n />\r\n))\r\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName\r\n\r\nconst CommandItem = React.forwardRef<\r\n React.ElementRef<typeof CommandPrimitive.Item>,\r\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\r\n>(({ className, ...props }, ref) => (\r\n <CommandPrimitive.Item\r\n ref={ref}\r\n className={cn(\r\n 'aria-selected:bg-accent aria-selected:text-accent-foreground relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\r\n className,\r\n )}\r\n {...props}\r\n />\r\n))\r\n\r\nCommandItem.displayName = CommandPrimitive.Item.displayName\r\n\r\nconst CommandShortcut = ({\r\n className,\r\n ...props\r\n}: React.HTMLAttributes<HTMLSpanElement>) => {\r\n return (\r\n <span\r\n className={cn(\r\n 'text-muted-foreground ml-auto text-xs tracking-widest',\r\n className,\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\nCommandShortcut.displayName = 'CommandShortcut'\r\n\r\nexport {\r\n Command,\r\n CommandDialog,\r\n CommandInput,\r\n CommandList,\r\n CommandEmpty,\r\n CommandGroup,\r\n CommandItem,\r\n CommandShortcut,\r\n CommandSeparator,\r\n}\r\n"],"mappings":"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","names":["CommandPrimitive"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../components/ui/command.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAOzD,QAAA,MAAM,OAAO;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../components/ui/command.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAOzD,QAAA,MAAM,OAAO;;;;;;;;;qDAiJygL,CAAC;;;;;;;sFArIrhL,CAAA;AAGF,UAAU,kBAAmB,SAAQ,WAAW;CAAG;AAEnD,QAAA,MAAM,aAAa,GAAI,wBAAwB,kBAAkB,sBAUhE,CAAA;AAED,QAAA,MAAM,YAAY;;;;;;;0FAehB,CAAA;AAIF,QAAA,MAAM,WAAW;;;;;;;;sFASf,CAAA;AAIF,QAAA,MAAM,YAAY;;;;;;uJAShB,CAAA;AAIF,QAAA,MAAM,YAAY;;;;;;;;;;sFAYhB,CAAA;AAIF,QAAA,MAAM,gBAAgB;;;;;;sFASpB,CAAA;AAGF,QAAA,MAAM,WAAW;;;;;;;;;;;;sFAYf,CAAA;AAIF,QAAA,MAAM,eAAe;8BAGlB,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;;CAUvC,CAAA;AAGD,OAAO,EACL,OAAO,EACP,aAAa,EACb,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,eAAe,EACf,gBAAgB,GACjB,CAAA"}
|