@shipsite.dev/components 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/components.json +532 -0
  2. package/dist/blog/BlogArticle.d.ts +8 -0
  3. package/dist/blog/BlogArticle.d.ts.map +1 -0
  4. package/dist/blog/BlogArticle.js +5 -0
  5. package/dist/blog/BlogArticle.js.map +1 -0
  6. package/dist/blog/BlogCTA.d.ts +8 -0
  7. package/dist/blog/BlogCTA.d.ts.map +1 -0
  8. package/dist/blog/BlogCTA.js +6 -0
  9. package/dist/blog/BlogCTA.js.map +1 -0
  10. package/dist/blog/BlogCTABanner.d.ts +9 -0
  11. package/dist/blog/BlogCTABanner.d.ts.map +1 -0
  12. package/dist/blog/BlogCTABanner.js +7 -0
  13. package/dist/blog/BlogCTABanner.js.map +1 -0
  14. package/dist/blog/BlogFAQ.d.ts +10 -0
  15. package/dist/blog/BlogFAQ.d.ts.map +1 -0
  16. package/dist/blog/BlogFAQ.js +7 -0
  17. package/dist/blog/BlogFAQ.js.map +1 -0
  18. package/dist/blog/BlogIndex.d.ts +9 -0
  19. package/dist/blog/BlogIndex.d.ts.map +1 -0
  20. package/dist/blog/BlogIndex.js +6 -0
  21. package/dist/blog/BlogIndex.js.map +1 -0
  22. package/dist/blog/BlogIntro.d.ts +5 -0
  23. package/dist/blog/BlogIntro.d.ts.map +1 -0
  24. package/dist/blog/BlogIntro.js +5 -0
  25. package/dist/blog/BlogIntro.js.map +1 -0
  26. package/dist/blog/BlogTable.d.ts +7 -0
  27. package/dist/blog/BlogTable.d.ts.map +1 -0
  28. package/dist/blog/BlogTable.js +5 -0
  29. package/dist/blog/BlogTable.js.map +1 -0
  30. package/dist/blog/BlogTip.d.ts +8 -0
  31. package/dist/blog/BlogTip.d.ts.map +1 -0
  32. package/dist/blog/BlogTip.js +5 -0
  33. package/dist/blog/BlogTip.js.map +1 -0
  34. package/dist/blog/StartFreeNowCTA.d.ts +9 -0
  35. package/dist/blog/StartFreeNowCTA.d.ts.map +1 -0
  36. package/dist/blog/StartFreeNowCTA.js +7 -0
  37. package/dist/blog/StartFreeNowCTA.js.map +1 -0
  38. package/dist/context/ShipSiteProvider.d.ts +54 -0
  39. package/dist/context/ShipSiteProvider.d.ts.map +1 -0
  40. package/dist/context/ShipSiteProvider.js +33 -0
  41. package/dist/context/ShipSiteProvider.js.map +1 -0
  42. package/dist/context/ThemeProvider.d.ts +5 -0
  43. package/dist/context/ThemeProvider.d.ts.map +1 -0
  44. package/dist/context/ThemeProvider.js +15 -0
  45. package/dist/context/ThemeProvider.js.map +1 -0
  46. package/dist/index.d.ts +36 -0
  47. package/dist/index.d.ts.map +1 -0
  48. package/dist/index.js +42 -0
  49. package/dist/index.js.map +1 -0
  50. package/dist/layout/Footer.d.ts +2 -0
  51. package/dist/layout/Footer.d.ts.map +1 -0
  52. package/dist/layout/Footer.js +11 -0
  53. package/dist/layout/Footer.js.map +1 -0
  54. package/dist/layout/Header.d.ts +2 -0
  55. package/dist/layout/Header.d.ts.map +1 -0
  56. package/dist/layout/Header.js +15 -0
  57. package/dist/layout/Header.js.map +1 -0
  58. package/dist/legal/LegalPage.d.ts +14 -0
  59. package/dist/legal/LegalPage.d.ts.map +1 -0
  60. package/dist/legal/LegalPage.js +8 -0
  61. package/dist/legal/LegalPage.js.map +1 -0
  62. package/dist/lib/utils.d.ts +3 -0
  63. package/dist/lib/utils.d.ts.map +1 -0
  64. package/dist/lib/utils.js +6 -0
  65. package/dist/lib/utils.js.map +1 -0
  66. package/dist/marketing/AlternatingFeatures.d.ts +24 -0
  67. package/dist/marketing/AlternatingFeatures.d.ts.map +1 -0
  68. package/dist/marketing/AlternatingFeatures.js +13 -0
  69. package/dist/marketing/AlternatingFeatures.js.map +1 -0
  70. package/dist/marketing/BannerCTA.d.ts +15 -0
  71. package/dist/marketing/BannerCTA.d.ts.map +1 -0
  72. package/dist/marketing/BannerCTA.js +11 -0
  73. package/dist/marketing/BannerCTA.js.map +1 -0
  74. package/dist/marketing/BentoGrid.d.ts +17 -0
  75. package/dist/marketing/BentoGrid.d.ts.map +1 -0
  76. package/dist/marketing/BentoGrid.js +10 -0
  77. package/dist/marketing/BentoGrid.js.map +1 -0
  78. package/dist/marketing/CalloutCard.d.ts +10 -0
  79. package/dist/marketing/CalloutCard.d.ts.map +1 -0
  80. package/dist/marketing/CalloutCard.js +11 -0
  81. package/dist/marketing/CalloutCard.js.map +1 -0
  82. package/dist/marketing/CardGrid.d.ts +15 -0
  83. package/dist/marketing/CardGrid.d.ts.map +1 -0
  84. package/dist/marketing/CardGrid.js +10 -0
  85. package/dist/marketing/CardGrid.js.map +1 -0
  86. package/dist/marketing/Carousel.d.ts +16 -0
  87. package/dist/marketing/Carousel.d.ts.map +1 -0
  88. package/dist/marketing/Carousel.js +22 -0
  89. package/dist/marketing/Carousel.js.map +1 -0
  90. package/dist/marketing/Companies.d.ts +16 -0
  91. package/dist/marketing/Companies.d.ts.map +1 -0
  92. package/dist/marketing/Companies.js +11 -0
  93. package/dist/marketing/Companies.js.map +1 -0
  94. package/dist/marketing/FAQ.d.ts +14 -0
  95. package/dist/marketing/FAQ.d.ts.map +1 -0
  96. package/dist/marketing/FAQ.js +11 -0
  97. package/dist/marketing/FAQ.js.map +1 -0
  98. package/dist/marketing/Features.d.ts +16 -0
  99. package/dist/marketing/Features.d.ts.map +1 -0
  100. package/dist/marketing/Features.js +10 -0
  101. package/dist/marketing/Features.js.map +1 -0
  102. package/dist/marketing/Gallery.d.ts +16 -0
  103. package/dist/marketing/Gallery.d.ts.map +1 -0
  104. package/dist/marketing/Gallery.js +15 -0
  105. package/dist/marketing/Gallery.js.map +1 -0
  106. package/dist/marketing/Hero.d.ts +19 -0
  107. package/dist/marketing/Hero.d.ts.map +1 -0
  108. package/dist/marketing/Hero.js +10 -0
  109. package/dist/marketing/Hero.js.map +1 -0
  110. package/dist/marketing/PageHero.d.ts +10 -0
  111. package/dist/marketing/PageHero.d.ts.map +1 -0
  112. package/dist/marketing/PageHero.js +7 -0
  113. package/dist/marketing/PageHero.js.map +1 -0
  114. package/dist/marketing/PricingSection.d.ts +34 -0
  115. package/dist/marketing/PricingSection.d.ts.map +1 -0
  116. package/dist/marketing/PricingSection.js +41 -0
  117. package/dist/marketing/PricingSection.js.map +1 -0
  118. package/dist/marketing/SocialProof.d.ts +8 -0
  119. package/dist/marketing/SocialProof.d.ts.map +1 -0
  120. package/dist/marketing/SocialProof.js +6 -0
  121. package/dist/marketing/SocialProof.js.map +1 -0
  122. package/dist/marketing/Stats.d.ts +15 -0
  123. package/dist/marketing/Stats.d.ts.map +1 -0
  124. package/dist/marketing/Stats.js +16 -0
  125. package/dist/marketing/Stats.js.map +1 -0
  126. package/dist/marketing/Steps.d.ts +14 -0
  127. package/dist/marketing/Steps.d.ts.map +1 -0
  128. package/dist/marketing/Steps.js +16 -0
  129. package/dist/marketing/Steps.js.map +1 -0
  130. package/dist/marketing/TabsSection.d.ts +17 -0
  131. package/dist/marketing/TabsSection.d.ts.map +1 -0
  132. package/dist/marketing/TabsSection.js +22 -0
  133. package/dist/marketing/TabsSection.js.map +1 -0
  134. package/dist/marketing/Testimonial.d.ts +10 -0
  135. package/dist/marketing/Testimonial.d.ts.map +1 -0
  136. package/dist/marketing/Testimonial.js +6 -0
  137. package/dist/marketing/Testimonial.js.map +1 -0
  138. package/dist/marketing/Testimonials.d.ts +19 -0
  139. package/dist/marketing/Testimonials.d.ts.map +1 -0
  140. package/dist/marketing/Testimonials.js +10 -0
  141. package/dist/marketing/Testimonials.js.map +1 -0
  142. package/dist/ui/accordion.d.ts +8 -0
  143. package/dist/ui/accordion.d.ts.map +1 -0
  144. package/dist/ui/accordion.js +19 -0
  145. package/dist/ui/accordion.js.map +1 -0
  146. package/dist/ui/badge.d.ts +11 -0
  147. package/dist/ui/badge.d.ts.map +1 -0
  148. package/dist/ui/badge.js +30 -0
  149. package/dist/ui/badge.js.map +1 -0
  150. package/dist/ui/button.d.ts +11 -0
  151. package/dist/ui/button.d.ts.map +1 -0
  152. package/dist/ui/button.js +34 -0
  153. package/dist/ui/button.js.map +1 -0
  154. package/dist/ui/card.d.ts +9 -0
  155. package/dist/ui/card.d.ts.map +1 -0
  156. package/dist/ui/card.js +22 -0
  157. package/dist/ui/card.js.map +1 -0
  158. package/dist/ui/footer.d.ts +7 -0
  159. package/dist/ui/footer.d.ts.map +1 -0
  160. package/dist/ui/footer.js +16 -0
  161. package/dist/ui/footer.js.map +1 -0
  162. package/dist/ui/glow.d.ts +8 -0
  163. package/dist/ui/glow.d.ts.map +1 -0
  164. package/dist/ui/glow.js +22 -0
  165. package/dist/ui/glow.js.map +1 -0
  166. package/dist/ui/item.d.ts +7 -0
  167. package/dist/ui/item.d.ts.map +1 -0
  168. package/dist/ui/item.js +16 -0
  169. package/dist/ui/item.js.map +1 -0
  170. package/dist/ui/mockup.d.ts +16 -0
  171. package/dist/ui/mockup.d.ts.map +1 -0
  172. package/dist/ui/mockup.js +33 -0
  173. package/dist/ui/mockup.js.map +1 -0
  174. package/dist/ui/navbar.d.ts +7 -0
  175. package/dist/ui/navbar.d.ts.map +1 -0
  176. package/dist/ui/navbar.js +16 -0
  177. package/dist/ui/navbar.js.map +1 -0
  178. package/dist/ui/section.d.ts +4 -0
  179. package/dist/ui/section.d.ts.map +1 -0
  180. package/dist/ui/section.js +7 -0
  181. package/dist/ui/section.js.map +1 -0
  182. package/dist/ui/sheet.d.ts +14 -0
  183. package/dist/ui/sheet.d.ts.map +1 -0
  184. package/dist/ui/sheet.js +41 -0
  185. package/dist/ui/sheet.js.map +1 -0
  186. package/dist/ui/theme-toggle.d.ts +4 -0
  187. package/dist/ui/theme-toggle.d.ts.map +1 -0
  188. package/dist/ui/theme-toggle.js +17 -0
  189. package/dist/ui/theme-toggle.js.map +1 -0
  190. package/package.json +52 -0
@@ -0,0 +1,4 @@
1
+ import * as React from "react";
2
+ declare function Section({ className, ...props }: React.ComponentProps<"section">): import("react/jsx-runtime").JSX.Element;
3
+ export { Section };
4
+ //# sourceMappingURL=section.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section.d.ts","sourceRoot":"","sources":["../../src/ui/section.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,iBAAS,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,2CAQxE;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from "../lib/utils";
3
+ function Section({ className, ...props }) {
4
+ return (_jsx("section", { "data-slot": "section", className: cn("line-b px-4 py-12 sm:py-24 md:py-32", className), ...props }));
5
+ }
6
+ export { Section };
7
+ //# sourceMappingURL=section.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section.js","sourceRoot":"","sources":["../../src/ui/section.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,SAAS,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAmC;IACvE,OAAO,CACL,+BACY,SAAS,EACnB,SAAS,EAAE,EAAE,CAAC,qCAAqC,EAAE,SAAS,CAAC,KAC3D,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1,14 @@
1
+ import * as SheetPrimitive from "@radix-ui/react-dialog";
2
+ import * as React from "react";
3
+ declare function Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function SheetTrigger({ ...props }: React.ComponentProps<typeof SheetPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
5
+ declare function SheetClose({ ...props }: React.ComponentProps<typeof SheetPrimitive.Close>): import("react/jsx-runtime").JSX.Element;
6
+ declare function SheetContent({ className, children, side, ...props }: React.ComponentProps<typeof SheetPrimitive.Content> & {
7
+ side?: "top" | "right" | "bottom" | "left";
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ declare function SheetHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
10
+ declare function SheetFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
11
+ declare function SheetTitle({ className, ...props }: React.ComponentProps<typeof SheetPrimitive.Title>): import("react/jsx-runtime").JSX.Element;
12
+ declare function SheetDescription({ className, ...props }: React.ComponentProps<typeof SheetPrimitive.Description>): import("react/jsx-runtime").JSX.Element;
13
+ export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, };
14
+ //# sourceMappingURL=sheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../../src/ui/sheet.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,cAAc,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,iBAAS,KAAK,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,IAAI,CAAC,2CAE5E;AAED,iBAAS,YAAY,CAAC,EACpB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,OAAO,CAAC,2CAErD;AAED,iBAAS,UAAU,CAAC,EAClB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC,2CAEnD;AAwBD,iBAAS,YAAY,CAAC,EACpB,SAAS,EACT,QAAQ,EACR,IAAc,EACd,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,OAAO,CAAC,GAAG;IACvD,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;CAC5C,2CA4BA;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWxE;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAWxE;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC,2CAQnD;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,WAAW,CAAC,2CAQzD;AAED,OAAO,EACL,KAAK,EACL,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,GACb,CAAC"}
@@ -0,0 +1,41 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as SheetPrimitive from "@radix-ui/react-dialog";
4
+ import { XIcon } from "lucide-react";
5
+ import { cn } from "../lib/utils";
6
+ function Sheet({ ...props }) {
7
+ return _jsx(SheetPrimitive.Root, { "data-slot": "sheet", ...props });
8
+ }
9
+ function SheetTrigger({ ...props }) {
10
+ return _jsx(SheetPrimitive.Trigger, { "data-slot": "sheet-trigger", ...props });
11
+ }
12
+ function SheetClose({ ...props }) {
13
+ return _jsx(SheetPrimitive.Close, { "data-slot": "sheet-close", ...props });
14
+ }
15
+ function SheetPortal({ ...props }) {
16
+ return _jsx(SheetPrimitive.Portal, { "data-slot": "sheet-portal", ...props });
17
+ }
18
+ function SheetOverlay({ className, ...props }) {
19
+ return (_jsx(SheetPrimitive.Overlay, { "data-slot": "sheet-overlay", className: cn("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80", className), ...props }));
20
+ }
21
+ function SheetContent({ className, children, side = "right", ...props }) {
22
+ return (_jsxs(SheetPortal, { children: [_jsx(SheetOverlay, {}), _jsxs(SheetPrimitive.Content, { "data-slot": "sheet-content", className: cn("border-border dark:border-border/15 bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 gap-4 p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500", side === "right" &&
23
+ "data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm", side === "left" &&
24
+ "data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm", side === "top" &&
25
+ "data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 border-b", side === "bottom" &&
26
+ "data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 border-t", className), ...props, children: [children, _jsxs(SheetPrimitive.Close, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-6 right-6 z-[100] rounded-sm opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none", children: [_jsx(XIcon, { className: "size-5" }), _jsx("span", { className: "sr-only", children: "Close" })] })] })] }));
27
+ }
28
+ function SheetHeader({ className, ...props }) {
29
+ return (_jsx("div", { "data-slot": "sheet-header", className: cn("flex flex-col space-y-2 text-center sm:text-left", className), ...props }));
30
+ }
31
+ function SheetFooter({ className, ...props }) {
32
+ return (_jsx("div", { "data-slot": "sheet-footer", className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props }));
33
+ }
34
+ function SheetTitle({ className, ...props }) {
35
+ return (_jsx(SheetPrimitive.Title, { "data-slot": "sheet-title", className: cn("text-foreground text-lg font-semibold", className), ...props }));
36
+ }
37
+ function SheetDescription({ className, ...props }) {
38
+ return (_jsx(SheetPrimitive.Description, { "data-slot": "sheet-description", className: cn("text-muted-foreground text-sm", className), ...props }));
39
+ }
40
+ export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, };
41
+ //# sourceMappingURL=sheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheet.js","sourceRoot":"","sources":["../../src/ui/sheet.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function ThemeToggle({ className }: {
2
+ className?: string;
3
+ }): import("react/jsx-runtime").JSX.Element | null;
4
+ //# sourceMappingURL=theme-toggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-toggle.d.ts","sourceRoot":"","sources":["../../src/ui/theme-toggle.tsx"],"names":[],"mappings":"AAOA,wBAAgB,WAAW,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,kDA4ChE"}
@@ -0,0 +1,17 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useEffect, useState } from 'react';
4
+ import { Moon, Sun, Monitor } from 'lucide-react';
5
+ import { useTheme } from 'next-themes';
6
+ import { cn } from '../lib/utils';
7
+ export function ThemeToggle({ className }) {
8
+ const [mounted, setMounted] = useState(false);
9
+ const { theme, setTheme } = useTheme();
10
+ useEffect(() => {
11
+ setMounted(true);
12
+ }, []);
13
+ if (!mounted)
14
+ return null;
15
+ return (_jsxs("div", { className: cn('flex items-center gap-0.5 rounded-full border border-border p-0.5', className), children: [_jsx("button", { onClick: () => setTheme('light'), className: cn('rounded-full p-1.5 transition-colors', theme === 'light' ? 'bg-muted text-foreground' : 'text-muted-foreground hover:text-foreground'), "aria-label": "Light theme", children: _jsx(Sun, { className: "size-3.5" }) }), _jsx("button", { onClick: () => setTheme('system'), className: cn('rounded-full p-1.5 transition-colors', theme === 'system' ? 'bg-muted text-foreground' : 'text-muted-foreground hover:text-foreground'), "aria-label": "System theme", children: _jsx(Monitor, { className: "size-3.5" }) }), _jsx("button", { onClick: () => setTheme('dark'), className: cn('rounded-full p-1.5 transition-colors', theme === 'dark' ? 'bg-muted text-foreground' : 'text-muted-foreground hover:text-foreground'), "aria-label": "Dark theme", children: _jsx(Moon, { className: "size-3.5" }) })] }));
16
+ }
17
+ //# sourceMappingURL=theme-toggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-toggle.js","sourceRoot":"","sources":["../../src/ui/theme-toggle.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,MAAM,UAAU,WAAW,CAAC,EAAE,SAAS,EAA0B;IAC/D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC;IAEvC,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,mEAAmE,EAAE,SAAS,CAAC,aAChG,iBACE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAChC,SAAS,EAAE,EAAE,CACX,sCAAsC,EACtC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,6CAA6C,CAC/F,gBACU,aAAa,YAExB,KAAC,GAAG,IAAC,SAAS,EAAC,UAAU,GAAG,GACrB,EACT,iBACE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,EACjC,SAAS,EAAE,EAAE,CACX,sCAAsC,EACtC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,6CAA6C,CAChG,gBACU,cAAc,YAEzB,KAAC,OAAO,IAAC,SAAS,EAAC,UAAU,GAAG,GACzB,EACT,iBACE,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC/B,SAAS,EAAE,EAAE,CACX,sCAAsC,EACtC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,6CAA6C,CAC9F,gBACU,YAAY,YAEvB,KAAC,IAAI,IAAC,SAAS,EAAC,UAAU,GAAG,GACtB,IACL,CACP,CAAC;AACJ,CAAC"}
package/package.json ADDED
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "@shipsite.dev/components",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "default": "./dist/index.js"
11
+ },
12
+ "./context": {
13
+ "types": "./dist/context/ShipSiteProvider.d.ts",
14
+ "default": "./dist/context/ShipSiteProvider.js"
15
+ },
16
+ "./theme": {
17
+ "types": "./dist/context/ThemeProvider.d.ts",
18
+ "default": "./dist/context/ThemeProvider.js"
19
+ }
20
+ },
21
+ "files": [
22
+ "dist/",
23
+ "components.json"
24
+ ],
25
+ "scripts": {
26
+ "build": "tsc",
27
+ "dev": "tsc --watch",
28
+ "clean": "rm -rf dist"
29
+ },
30
+ "dependencies": {
31
+ "@radix-ui/react-accordion": "^1.2.3",
32
+ "@radix-ui/react-dialog": "^1.1.6",
33
+ "@radix-ui/react-slot": "^1.2.0",
34
+ "class-variance-authority": "^0.7.1",
35
+ "clsx": "^2.1.1",
36
+ "lucide-react": "^0.475.0",
37
+ "next-themes": "^0.4.4",
38
+ "react": "19.2.3",
39
+ "react-dom": "19.2.3",
40
+ "tailwind-merge": "^3.0.2"
41
+ },
42
+ "devDependencies": {
43
+ "typescript": "^5.8.3",
44
+ "@types/react": "^19",
45
+ "@types/node": "^20",
46
+ "tailwindcss": "^4"
47
+ },
48
+ "peerDependencies": {
49
+ "@shipsite.dev/core": "^0.1.0",
50
+ "next": ">=15"
51
+ }
52
+ }