singularity-components 0.1.139 → 0.1.151
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 +15 -0
- package/dist/components/blocks/cards/blogpost-card.d.ts +8 -0
- package/dist/components/blocks/cards/blogpost-card.js +65 -0
- package/dist/components/blocks/cards/blogpost-card.js.map +1 -0
- package/dist/components/blocks/cards/card.d.ts +14 -0
- package/dist/components/blocks/cards/card.js +86 -0
- package/dist/components/blocks/cards/card.js.map +1 -0
- package/dist/components/blocks/index.d.ts +3 -0
- package/dist/components/blocks/index.js +3 -0
- package/dist/components/blocks/index.js.map +1 -0
- package/dist/components/index.d.ts +9 -6
- package/dist/components/index.js +4 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/primitives/accordion/accordion.js +1 -1
- package/dist/components/primitives/accordion/accordion.js.map +1 -1
- package/dist/components/primitives/alert/alert.js +1 -1
- package/dist/components/primitives/alert/alert.js.map +1 -1
- package/dist/components/primitives/badge/badge.d.ts +12 -4
- package/dist/components/primitives/badge/badge.js +15 -15
- package/dist/components/primitives/badge/badge.js.map +1 -1
- package/dist/components/primitives/button/button.d.ts +12 -7
- package/dist/components/primitives/button/button.js +47 -16
- package/dist/components/primitives/button/button.js.map +1 -1
- package/dist/components/primitives/icon/icon.d.ts +2 -2
- package/dist/components/primitives/icon/icon.js +6 -12
- package/dist/components/primitives/icon/icon.js.map +1 -1
- package/dist/components/primitives/index.d.ts +6 -4
- package/dist/components/primitives/index.js +2 -0
- package/dist/components/primitives/index.js.map +1 -1
- package/dist/components/primitives/layout/layout.d.ts +3 -2
- package/dist/components/primitives/layout/layout.js +7 -6
- package/dist/components/primitives/layout/layout.js.map +1 -1
- package/dist/components/primitives/link/link-button.d.ts +13 -0
- package/dist/components/primitives/link/link-button.js +21 -0
- package/dist/components/primitives/link/link-button.js.map +1 -0
- package/dist/components/primitives/link/link.d.ts +36 -0
- package/dist/components/primitives/link/link.js +56 -0
- package/dist/components/primitives/link/link.js.map +1 -0
- package/dist/components/primitives/separator/separator.js +1 -1
- package/dist/components/primitives/separator/separator.js.map +1 -1
- package/dist/components/primitives/spinner/spinner.js +1 -1
- package/dist/components/primitives/spinner/spinner.js.map +1 -1
- package/dist/components/primitives/stack/stack.d.ts +2 -1
- package/dist/components/primitives/stack/stack.js +15 -4
- package/dist/components/primitives/stack/stack.js.map +1 -1
- package/dist/components/primitives/text/internal/text-element.d.ts +25 -3
- package/dist/components/primitives/text/internal/text-element.js +20 -12
- package/dist/components/primitives/text/internal/text-element.js.map +1 -1
- package/dist/components/primitives/text/text-div.d.ts +1 -1
- package/dist/components/primitives/text/text-div.js.map +1 -1
- package/dist/components/primitives/text/text-heading.js +7 -7
- package/dist/components/primitives/text/text-heading.js.map +1 -1
- package/dist/components/primitives/text/text-paragraph.d.ts +8 -2
- package/dist/components/primitives/text/text-paragraph.js +12 -1
- package/dist/components/primitives/text/text-paragraph.js.map +1 -1
- package/dist/components/primitives/text/text-span.js.map +1 -1
- package/dist/components/primitives/text/text-time.js.map +1 -1
- package/dist/components/primitives/ui-image.js +2 -5
- package/dist/components/primitives/ui-image.js.map +1 -1
- package/dist/components/primitives/ui-link.d.ts +4 -2
- package/dist/components/primitives/ui-link.js +5 -11
- package/dist/components/primitives/ui-link.js.map +1 -1
- package/dist/components/sections/body/body.d.ts +19 -0
- package/dist/components/sections/body/body.js +49 -0
- package/dist/components/sections/body/body.js.map +1 -0
- package/dist/components/sections/footer/footer.d.ts +12 -0
- package/dist/components/sections/footer/footer.js +59 -0
- package/dist/components/sections/footer/footer.js.map +1 -0
- package/dist/components/sections/hero/hero.d.ts +6 -0
- package/dist/components/sections/hero/hero.js +271 -0
- package/dist/components/sections/hero/hero.js.map +1 -0
- package/dist/components/sections/index.d.ts +3 -0
- package/dist/components/sections/index.js +4 -0
- package/dist/components/sections/index.js.map +1 -0
- package/dist/components/templates/blogpost/blogpost.d.ts +5 -0
- package/dist/components/templates/blogpost/blogpost.js +173 -0
- package/dist/components/templates/blogpost/blogpost.js.map +1 -0
- package/dist/components/templates/index.d.ts +3 -0
- package/dist/components/templates/index.js +3 -0
- package/dist/components/templates/index.js.map +1 -0
- package/dist/components/templates/startpage/startpage.d.ts +5 -0
- package/dist/components/templates/startpage/startpage.js +48 -0
- package/dist/components/templates/startpage/startpage.js.map +1 -0
- package/dist/components/units/index.d.ts +2 -5
- package/dist/components/units/index.js +0 -3
- package/dist/components/units/index.js.map +1 -1
- package/dist/css/variables.css +75 -73
- package/dist/css/variables.css.map +1 -1
- package/dist/data/posts.d.ts +20 -0
- package/dist/data/posts.js +266 -0
- package/dist/data/posts.js.map +1 -0
- package/dist/index.d.ts +9 -6
- package/dist/lib/hooks/useIsClient.d.ts +3 -0
- package/dist/lib/hooks/useIsClient.js +14 -0
- package/dist/lib/hooks/useIsClient.js.map +1 -0
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.js +1 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/main.css +712 -584
- package/dist/main.css.map +1 -1
- package/dist/utils.js.map +1 -1
- package/package.json +35 -23
- package/dist/components/primitives/accordion/accordion.stories.d.ts +0 -15
- package/dist/components/primitives/accordion/accordion.stories.js +0 -60
- package/dist/components/primitives/accordion/accordion.stories.js.map +0 -1
- package/dist/components/primitives/alert/alert.stories.d.ts +0 -22
- package/dist/components/primitives/alert/alert.stories.js +0 -37
- package/dist/components/primitives/alert/alert.stories.js.map +0 -1
- package/dist/components/primitives/button/button.stories.d.ts +0 -34
- package/dist/components/primitives/button/button.stories.js +0 -74
- package/dist/components/primitives/button/button.stories.js.map +0 -1
- package/dist/components/primitives/button/button_with_icon_variant.d.ts +0 -2
- package/dist/components/primitives/button/button_with_icon_variant.js +0 -1
- package/dist/components/primitives/button/button_with_icon_variant.js.map +0 -1
- package/dist/components/primitives/icon/icon.stories.d.ts +0 -27
- package/dist/components/primitives/icon/icon.stories.js +0 -30
- package/dist/components/primitives/icon/icon.stories.js.map +0 -1
- package/dist/components/primitives/layout/layout.stories.d.ts +0 -32
- package/dist/components/primitives/layout/layout.stories.js +0 -72
- package/dist/components/primitives/layout/layout.stories.js.map +0 -1
- package/dist/components/primitives/separator/separator.stories.d.ts +0 -15
- package/dist/components/primitives/separator/separator.stories.js +0 -18
- package/dist/components/primitives/separator/separator.stories.js.map +0 -1
- package/dist/components/primitives/skeleton/skeleton.stories.d.ts +0 -13
- package/dist/components/primitives/skeleton/skeleton.stories.js +0 -16
- package/dist/components/primitives/skeleton/skeleton.stories.js.map +0 -1
- package/dist/components/primitives/spinner/spinner.stories.d.ts +0 -16
- package/dist/components/primitives/spinner/spinner.stories.js +0 -34
- package/dist/components/primitives/spinner/spinner.stories.js.map +0 -1
- package/dist/components/primitives/stack/stack.stories.d.ts +0 -13
- package/dist/components/primitives/stack/stack.stories.js +0 -26
- package/dist/components/primitives/stack/stack.stories.js.map +0 -1
- package/dist/components/primitives/text/text-div.stories.d.ts +0 -32
- package/dist/components/primitives/text/text-div.stories.js +0 -59
- package/dist/components/primitives/text/text-div.stories.js.map +0 -1
- package/dist/components/primitives/text/text-heading.stories.d.ts +0 -27
- package/dist/components/primitives/text/text-heading.stories.js +0 -47
- package/dist/components/primitives/text/text-heading.stories.js.map +0 -1
- package/dist/components/primitives/text/text-span.stories.d.ts +0 -31
- package/dist/components/primitives/text/text-span.stories.js +0 -59
- package/dist/components/primitives/text/text-span.stories.js.map +0 -1
- package/dist/components/units/cards/blog-card.d.ts +0 -19
- package/dist/components/units/cards/blog-card.js +0 -82
- package/dist/components/units/cards/blog-card.js.map +0 -1
- package/dist/components/units/cards/card.d.ts +0 -15
- package/dist/components/units/cards/card.js +0 -89
- package/dist/components/units/cards/card.js.map +0 -1
- package/dist/components/units/cards/cards.d.ts +0 -17
- package/dist/components/units/cards/cards.js +0 -37
- package/dist/components/units/cards/cards.js.map +0 -1
package/README.md
CHANGED
|
@@ -8,6 +8,7 @@ Export from main.ts
|
|
|
8
8
|
|
|
9
9
|
## Publish to npm
|
|
10
10
|
|
|
11
|
+
npm login (if needed)
|
|
11
12
|
npm publish
|
|
12
13
|
|
|
13
14
|
## Start Storybook:
|
|
@@ -17,3 +18,17 @@ npm run storybook
|
|
|
17
18
|
## Pack locally
|
|
18
19
|
|
|
19
20
|
npm pack singularity-components
|
|
21
|
+
Can check with npm pack --dry-run
|
|
22
|
+
Or run npx npm pack
|
|
23
|
+
|
|
24
|
+
Creates a singularity-components-1.0.0.tgz
|
|
25
|
+
|
|
26
|
+
In other proj add:
|
|
27
|
+
|
|
28
|
+
{
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"singularity-components": "file:../path-to-tarball/singularity-components-1.X.X.tgz"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
and npm install
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Card, CardContent } from "./card";
|
|
3
|
+
import { Link } from "../../primitives/link/link";
|
|
4
|
+
import {
|
|
5
|
+
TextTime,
|
|
6
|
+
TextHeading,
|
|
7
|
+
TextParagraph,
|
|
8
|
+
TextSpan
|
|
9
|
+
} from "../../primitives";
|
|
10
|
+
import { UiImage } from "../../primitives/ui-image";
|
|
11
|
+
function BlogPostCard({ post }) {
|
|
12
|
+
return /* @__PURE__ */ jsx(
|
|
13
|
+
Link,
|
|
14
|
+
{
|
|
15
|
+
href: `/posts/${post.slug}`,
|
|
16
|
+
variant: "card",
|
|
17
|
+
className: "sg:group sg:block",
|
|
18
|
+
children: /* @__PURE__ */ jsxs(Card, { className: "sg:overflow-hidden sg:transition-shadow sg:hover:shadow-lg", children: [
|
|
19
|
+
/* @__PURE__ */ jsx("div", { className: "sg:aspect-16/10 sg:overflow-hidden", children: /* @__PURE__ */ jsx(
|
|
20
|
+
UiImage,
|
|
21
|
+
{
|
|
22
|
+
src: post.image,
|
|
23
|
+
alt: post.title,
|
|
24
|
+
className: "sg:h-full sg:w-full sg:object-cover sg:transition-transform sg:duration-300 sg:group-hover:scale-105",
|
|
25
|
+
loading: "lazy"
|
|
26
|
+
}
|
|
27
|
+
) }),
|
|
28
|
+
/* @__PURE__ */ jsxs(CardContent, { className: "sg:p-5", children: [
|
|
29
|
+
/* @__PURE__ */ jsx(TextTime, { size: "xs", foreground: "muted-foreground", children: post.date }),
|
|
30
|
+
/* @__PURE__ */ jsx(
|
|
31
|
+
TextHeading,
|
|
32
|
+
{
|
|
33
|
+
variant: "h6",
|
|
34
|
+
as: "h3",
|
|
35
|
+
className: "sg:mt-1 sg:group-hover:text-primary sg:transition-colors",
|
|
36
|
+
children: post.title
|
|
37
|
+
}
|
|
38
|
+
),
|
|
39
|
+
/* @__PURE__ */ jsx(
|
|
40
|
+
TextParagraph,
|
|
41
|
+
{
|
|
42
|
+
size: "sm",
|
|
43
|
+
foreground: "muted-foreground",
|
|
44
|
+
className: "sg:mt-2 sg:line-clamp-2",
|
|
45
|
+
children: post.excerpt
|
|
46
|
+
}
|
|
47
|
+
),
|
|
48
|
+
/* @__PURE__ */ jsx(
|
|
49
|
+
TextSpan,
|
|
50
|
+
{
|
|
51
|
+
size: "sm",
|
|
52
|
+
foreground: "primary",
|
|
53
|
+
className: "sg:mt-3 sg:inline-block",
|
|
54
|
+
children: "Read more \u2192"
|
|
55
|
+
}
|
|
56
|
+
)
|
|
57
|
+
] })
|
|
58
|
+
] })
|
|
59
|
+
}
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
export {
|
|
63
|
+
BlogPostCard as default
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=blogpost-card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/blocks/cards/blogpost-card.tsx"],"sourcesContent":["import { Card, CardContent } from \"./card\";\r\nimport type { BlogPost } from \"../../../data/posts\";\r\nimport { Link } from \"../../primitives/link/link\";\r\nimport {\r\n TextTime,\r\n TextHeading,\r\n TextParagraph,\r\n TextSpan,\r\n} from \"../../primitives\";\r\nimport { UiImage } from \"../../primitives/ui-image\";\r\n\r\nexport default function BlogPostCard({ post }: { post: BlogPost }) {\r\n return (\r\n <Link\r\n href={`/posts/${post.slug}`}\r\n variant=\"card\"\r\n className=\"sg:group sg:block\"\r\n >\r\n <Card className=\"sg:overflow-hidden sg:transition-shadow sg:hover:shadow-lg\">\r\n <div className=\"sg:aspect-16/10 sg:overflow-hidden\">\r\n <UiImage\r\n src={post.image}\r\n alt={post.title}\r\n className=\"sg:h-full sg:w-full sg:object-cover sg:transition-transform sg:duration-300 sg:group-hover:scale-105\"\r\n loading=\"lazy\"\r\n />\r\n </div>\r\n <CardContent className=\"sg:p-5\">\r\n <TextTime size=\"xs\" foreground=\"muted-foreground\">\r\n {post.date}\r\n </TextTime>\r\n <TextHeading\r\n variant=\"h6\"\r\n as=\"h3\"\r\n className=\"sg:mt-1 sg:group-hover:text-primary sg:transition-colors\"\r\n >\r\n {post.title}\r\n </TextHeading>\r\n <TextParagraph\r\n size=\"sm\"\r\n foreground=\"muted-foreground\"\r\n className=\"sg:mt-2 sg:line-clamp-2\"\r\n >\r\n {post.excerpt}\r\n </TextParagraph>\r\n <TextSpan\r\n size=\"sm\"\r\n foreground=\"primary\"\r\n className=\"sg:mt-3 sg:inline-block\"\r\n >\r\n Read more →\r\n </TextSpan>\r\n </CardContent>\r\n </Card>\r\n </Link>\r\n );\r\n}\r\n"],"mappings":"AAoBU,cAOF,YAPE;AApBV,SAAS,MAAM,mBAAmB;AAElC,SAAS,YAAY;AACrB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,eAAe;AAET,SAAR,aAA8B,EAAE,KAAK,GAAuB;AACjE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM,UAAU,KAAK,IAAI;AAAA,MACzB,SAAQ;AAAA,MACR,WAAU;AAAA,MAEV,+BAAC,QAAK,WAAU,8DACd;AAAA,4BAAC,SAAI,WAAU,sCACb;AAAA,UAAC;AAAA;AAAA,YACC,KAAK,KAAK;AAAA,YACV,KAAK,KAAK;AAAA,YACV,WAAU;AAAA,YACV,SAAQ;AAAA;AAAA,QACV,GACF;AAAA,QACA,qBAAC,eAAY,WAAU,UACrB;AAAA,8BAAC,YAAS,MAAK,MAAK,YAAW,oBAC5B,eAAK,MACR;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,SAAQ;AAAA,cACR,IAAG;AAAA,cACH,WAAU;AAAA,cAET,eAAK;AAAA;AAAA,UACR;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,MAAK;AAAA,cACL,YAAW;AAAA,cACX,WAAU;AAAA,cAET,eAAK;AAAA;AAAA,UACR;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,MAAK;AAAA,cACL,YAAW;AAAA,cACX,WAAU;AAAA,cACX;AAAA;AAAA,UAED;AAAA,WACF;AAAA,SACF;AAAA;AAAA,EACF;AAEJ;","names":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
|
|
4
|
+
declare function Card({ className, size, ...props }: React.ComponentProps<"div"> & {
|
|
5
|
+
size?: "default" | "sm";
|
|
6
|
+
}): react_jsx_runtime.JSX.Element;
|
|
7
|
+
declare function CardHeader({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
8
|
+
declare function CardTitle({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
9
|
+
declare function CardDescription({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
10
|
+
declare function CardAction({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
11
|
+
declare function CardContent({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
12
|
+
declare function CardFooter({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
13
|
+
|
|
14
|
+
export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle };
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { cn } from "../../../utils";
|
|
4
|
+
function Card({
|
|
5
|
+
className,
|
|
6
|
+
size = "default",
|
|
7
|
+
...props
|
|
8
|
+
}) {
|
|
9
|
+
return /* @__PURE__ */ jsx(
|
|
10
|
+
"div",
|
|
11
|
+
{
|
|
12
|
+
"data-slot": "card",
|
|
13
|
+
"data-size": size,
|
|
14
|
+
className: cn(
|
|
15
|
+
"sg:ring-foreground/10 sg:bg-card sg:gap-6 sg:overflow-hidden sg:rounded-2xl sg:ring-1 sg:has-[>img:first-child]:pt-0 sg:data-[size=sm]:gap-4 sg:data-[size=sm]:py-4 sg:*:[img:first-child]:rounded-t-xl sg:*:[img:last-child]:rounded-b-xl sg:group/card sg:flex sg:flex-col",
|
|
16
|
+
className
|
|
17
|
+
),
|
|
18
|
+
...props
|
|
19
|
+
}
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
function CardHeader({ className, ...props }) {
|
|
23
|
+
return /* @__PURE__ */ jsx(
|
|
24
|
+
"div",
|
|
25
|
+
{
|
|
26
|
+
"data-slot": "card-header",
|
|
27
|
+
className: cn(
|
|
28
|
+
"sg:gap-2 sg:rounded-t-xl sg:px-6 sg:group-data-[size=sm]/card:px-4 sg:[.border-b]:pb-6 sg:group-data-[size=sm]/card:[.border-b]:pb-4 sg:group/card-header sg:@container/card-header sg:grid sg:auto-rows-min sg:items-start sg:has-data-[slot=card-action]:grid-cols-[1fr_auto] sg:has-data-[slot=card-description]:grid-rows-[auto_auto]",
|
|
29
|
+
className
|
|
30
|
+
),
|
|
31
|
+
...props
|
|
32
|
+
}
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
function CardTitle({ className, ...props }) {
|
|
36
|
+
return /* @__PURE__ */ jsx("div", { "data-slot": "card-title", ...props });
|
|
37
|
+
}
|
|
38
|
+
function CardDescription({ className, ...props }) {
|
|
39
|
+
return /* @__PURE__ */ jsx("div", { "data-slot": "card-description", ...props });
|
|
40
|
+
}
|
|
41
|
+
function CardAction({ className, ...props }) {
|
|
42
|
+
return /* @__PURE__ */ jsx(
|
|
43
|
+
"div",
|
|
44
|
+
{
|
|
45
|
+
"data-slot": "card-action",
|
|
46
|
+
className: cn(
|
|
47
|
+
"sg:col-start-2 sg:row-span-2 sg:row-start-1 sg:self-start sg:justify-self-end",
|
|
48
|
+
className
|
|
49
|
+
),
|
|
50
|
+
...props
|
|
51
|
+
}
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
function CardContent({ className, ...props }) {
|
|
55
|
+
return /* @__PURE__ */ jsx(
|
|
56
|
+
"div",
|
|
57
|
+
{
|
|
58
|
+
"data-slot": "card-content",
|
|
59
|
+
className: cn("sg:px-6 sg:group-data-[size=sm]/card:px-4", className),
|
|
60
|
+
...props
|
|
61
|
+
}
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
function CardFooter({ className, ...props }) {
|
|
65
|
+
return /* @__PURE__ */ jsx(
|
|
66
|
+
"div",
|
|
67
|
+
{
|
|
68
|
+
"data-slot": "card-footer",
|
|
69
|
+
className: cn(
|
|
70
|
+
"sg:rounded-b-xl sg:px-6 sg:group-data-[size=sm]/card:px-4 sg:[.border-t]:pt-6 sg:group-data-[size=sm]/card:[.border-t]:pt-4 sg:flex sg:items-center",
|
|
71
|
+
className
|
|
72
|
+
),
|
|
73
|
+
...props
|
|
74
|
+
}
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
export {
|
|
78
|
+
Card,
|
|
79
|
+
CardAction,
|
|
80
|
+
CardContent,
|
|
81
|
+
CardDescription,
|
|
82
|
+
CardFooter,
|
|
83
|
+
CardHeader,
|
|
84
|
+
CardTitle
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/blocks/cards/card.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cn } from \"../../../utils\";\n\nfunction Card({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & { size?: \"default\" | \"sm\" }) {\n return (\n <div\n data-slot=\"card\"\n data-size={size}\n className={cn(\n \"sg:ring-foreground/10 sg:bg-card sg:gap-6 sg:overflow-hidden sg:rounded-2xl sg:ring-1 sg:has-[>img:first-child]:pt-0 sg:data-[size=sm]:gap-4 sg:data-[size=sm]:py-4 sg:*:[img:first-child]:rounded-t-xl sg:*:[img:last-child]:rounded-b-xl sg:group/card sg:flex sg:flex-col\",\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(\n \"sg:gap-2 sg:rounded-t-xl sg:px-6 sg:group-data-[size=sm]/card:px-4 sg:[.border-b]:pb-6 sg:group-data-[size=sm]/card:[.border-b]:pb-4 sg:group/card-header sg:@container/card-header sg:grid sg:auto-rows-min sg:items-start sg:has-data-[slot=card-action]:grid-cols-[1fr_auto] sg:has-data-[slot=card-description]:grid-rows-[auto_auto]\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"card-title\" {...props} />;\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div data-slot=\"card-description\" {...props} />;\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n \"sg:col-start-2 sg:row-span-2 sg:row-start-1 sg:self-start sg:justify-self-end\",\n className,\n )}\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(\"sg:px-6 sg:group-data-[size=sm]/card:px-4\", 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(\n \"sg:rounded-b-xl sg:px-6 sg:group-data-[size=sm]/card:px-4 sg:[.border-t]:pt-6 sg:group-data-[size=sm]/card:[.border-t]:pt-4 sg:flex sg:items-center\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n};\n"],"mappings":"AASI;AATJ,YAAY,WAAW;AACvB,SAAS,UAAU;AAEnB,SAAS,KAAK;AAAA,EACZ;AAAA,EACA,OAAO;AAAA,EACP,GAAG;AACL,GAA8D;AAC5D,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,aAAW;AAAA,MACX,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,WAAW,EAAE,WAAW,GAAG,MAAM,GAAgC;AACxE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,UAAU,EAAE,WAAW,GAAG,MAAM,GAAgC;AACvE,SAAO,oBAAC,SAAI,aAAU,cAAc,GAAG,OAAO;AAChD;AAEA,SAAS,gBAAgB,EAAE,WAAW,GAAG,MAAM,GAAgC;AAC7E,SAAO,oBAAC,SAAI,aAAU,oBAAoB,GAAG,OAAO;AACtD;AAEA,SAAS,WAAW,EAAE,WAAW,GAAG,MAAM,GAAgC;AACxE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,YAAY,EAAE,WAAW,GAAG,MAAM,GAAgC;AACzE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,6CAA6C,SAAS;AAAA,MACnE,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,WAAW,EAAE,WAAW,GAAG,MAAM,GAAgC;AACxE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/blocks/index.ts"],"sourcesContent":["export * from \"./cards/card\";\r\nexport * from \"./cards/blogpost-card\";\r\n"],"mappings":"AAAA,cAAc;AACd,cAAc;","names":[]}
|
|
@@ -1,27 +1,30 @@
|
|
|
1
1
|
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from './primitives/accordion/accordion.js';
|
|
2
2
|
export { Alert, AlertAction, AlertDescription, AlertTitle, alertVariants } from './primitives/alert/alert.js';
|
|
3
|
-
export { Badge, badgeVariants } from './primitives/badge/badge.js';
|
|
3
|
+
export { Badge, badgeVariants, badgeVariantsProps } from './primitives/badge/badge.js';
|
|
4
4
|
export { Badges, BadgesProps } from './primitives/badge/badges.js';
|
|
5
5
|
export { Button, buttonVariants, buttonVariantsProps } from './primitives/button/button.js';
|
|
6
6
|
export { Icon, iconVariants, iconVariantsProps } from './primitives/icon/icon.js';
|
|
7
7
|
export { Layout, LayoutProps, layoutVariants, layoutVariantsProps } from './primitives/layout/layout.js';
|
|
8
|
+
export { Link, linkVariants } from './primitives/link/link.js';
|
|
9
|
+
export { LinkButton } from './primitives/link/link-button.js';
|
|
8
10
|
export { Separator } from './primitives/separator/separator.js';
|
|
9
11
|
export { Skeleton } from './primitives/skeleton/skeleton.js';
|
|
10
12
|
export { Spinner } from './primitives/spinner/spinner.js';
|
|
11
13
|
export { Stack, StackProps, stackVariants } from './primitives/stack/stack.js';
|
|
12
14
|
export { TextDiv } from './primitives/text/text-div.js';
|
|
13
15
|
export { TextHeading, TextHeadingProps, textHeadingVariants, textHeadingVariantsProps } from './primitives/text/text-heading.js';
|
|
14
|
-
export { TextParagraph } from './primitives/text/text-paragraph.js';
|
|
16
|
+
export { TextParagraph, textParagraphVariants, textParagraphVariantsProps } from './primitives/text/text-paragraph.js';
|
|
15
17
|
export { TextSpan } from './primitives/text/text-span.js';
|
|
16
18
|
export { TextTime } from './primitives/text/text-time.js';
|
|
17
19
|
export { UiImage } from './primitives/ui-image.js';
|
|
18
20
|
export { UiLink } from './primitives/ui-link.js';
|
|
21
|
+
export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from './blocks/cards/card.js';
|
|
22
|
+
export { Body } from './sections/body/body.js';
|
|
23
|
+
export { BlogPost } from './templates/blogpost/blogpost.js';
|
|
24
|
+
export { StartPage } from './templates/startpage/startpage.js';
|
|
19
25
|
export { BaseImageProps, DefaultImage, ImageComponentType, ImageProvider, useImage } from './providers/ImageContext.js';
|
|
20
26
|
export { BaseLinkProps, DefaultLink, LinkComponentType, LinkProvider, useLink } from './providers/LinkContext.js';
|
|
21
27
|
export { SingularityProvider } from './providers/SingularityContext.js';
|
|
22
|
-
export { BlogPost } from './units/cards/blog-card.js';
|
|
23
|
-
export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardImage, CardTitle } from './units/cards/card.js';
|
|
24
|
-
export { Cards, CardsProps, getGridColsClass } from './units/cards/cards.js';
|
|
25
28
|
import 'react/jsx-runtime';
|
|
26
29
|
import '@base-ui/react/accordion';
|
|
27
30
|
import 'class-variance-authority/types';
|
|
@@ -31,5 +34,5 @@ import '@base-ui/react/use-render';
|
|
|
31
34
|
import '@base-ui/react/button';
|
|
32
35
|
import 'lucide-react';
|
|
33
36
|
import '@base-ui/react/separator';
|
|
34
|
-
import './primitives/text/internal/text-element.js';
|
|
35
37
|
import '../lib/types.js';
|
|
38
|
+
import './primitives/text/internal/text-element.js';
|
package/dist/components/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/index.ts"],"sourcesContent":["export * from \"./primitives\";\r\nexport * from \"./
|
|
1
|
+
{"version":3,"sources":["../../src/components/index.ts"],"sourcesContent":["export * from \"./primitives\";\r\nexport * from \"./units\";\r\nexport * from \"./blocks\";\r\nexport * from \"./sections\";\r\nexport * from \"./templates\";\r\nexport * from \"./providers\";\r\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { Accordion as AccordionPrimitive } from "@base-ui/react/accordion";
|
|
4
4
|
import { ChevronDownIcon, ChevronUpIcon } from "lucide-react";
|
|
5
|
-
import { cn } from "
|
|
5
|
+
import { cn } from "../../../utils";
|
|
6
6
|
function Accordion({ className, ...props }) {
|
|
7
7
|
return /* @__PURE__ */ jsx(
|
|
8
8
|
AccordionPrimitive.Root,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/primitives/accordion/accordion.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { Accordion as AccordionPrimitive } from \"@base-ui/react/accordion\";\r\nimport { ChevronDownIcon, ChevronUpIcon } from \"lucide-react\";\r\nimport { cn } from \"
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/primitives/accordion/accordion.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { Accordion as AccordionPrimitive } from \"@base-ui/react/accordion\";\r\nimport { ChevronDownIcon, ChevronUpIcon } from \"lucide-react\";\r\nimport { cn } from \"../../../utils\";\r\n\r\nfunction Accordion({ className, ...props }: AccordionPrimitive.Root.Props) {\r\n return (\r\n <AccordionPrimitive.Root\r\n data-slot=\"accordion\"\r\n className={cn(\r\n \"sg:overflow-hidden sg:rounded-2xl sg:border sg:flex sg:w-full sg:flex-col\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction AccordionItem({ className, ...props }: AccordionPrimitive.Item.Props) {\r\n return (\r\n <AccordionPrimitive.Item\r\n data-slot=\"accordion-item\"\r\n className={cn(\"sg:data-open:bg-muted/50 sg:not-last:border-b\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction AccordionTrigger({\r\n className,\r\n children,\r\n ...props\r\n}: AccordionPrimitive.Trigger.Props) {\r\n return (\r\n <AccordionPrimitive.Header className=\"sg:flex\">\r\n <AccordionPrimitive.Trigger\r\n data-slot=\"accordion-trigger\"\r\n className={cn(\r\n \"sg:**:data-[slot=accordion-trigger-icon]:text-muted-foreground sg:gap-6 sg:p-4 sg:text-start sg:text-sm sg:font-medium sg:hover:underline sg:**:data-[slot=accordion-trigger-icon]:ms-auto sg:**:data-[slot=accordion-trigger-icon]:size-4 sg:group/accordion-trigger sg:relative sg:flex sg:flex-1 sg:items-start sg:justify-between sg:border sg:border-transparent sg:transition-all sg:outline-none sg:disabled:pointer-events-none sg:disabled:opacity-50\",\r\n className,\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n <ChevronDownIcon\r\n data-slot=\"accordion-trigger-icon\"\r\n className=\"sg:pointer-events-none sg:shrink-0 sg:group-aria-expanded/accordion-trigger:hidden\"\r\n />\r\n <ChevronUpIcon\r\n data-slot=\"accordion-trigger-icon\"\r\n className=\"sg:pointer-events-none sg:hidden sg:shrink-0 sg:group-aria-expanded/accordion-trigger:inline\"\r\n />\r\n </AccordionPrimitive.Trigger>\r\n </AccordionPrimitive.Header>\r\n );\r\n}\r\n\r\nfunction AccordionContent({\r\n className,\r\n children,\r\n ...props\r\n}: AccordionPrimitive.Panel.Props) {\r\n return (\r\n <AccordionPrimitive.Panel\r\n data-slot=\"accordion-content\"\r\n className=\"sg:data-open:animate-accordion-down sg:data-closed:animate-accordion-up sg:px-4 sg:text-sm sg:overflow-hidden\"\r\n {...props}\r\n >\r\n <div\r\n className={cn(\r\n \"sg:pt-0 sg:pb-4 sg:[&_a]:hover:text-foreground sg:h-(--accordion-panel-height) sg:data-ending-style:h-0 sg:data-starting-style:h-0 sg:[&_a]:underline sg:[&_a]:underline-offset-3 sg:[&_p:not(:last-child)]:mb-4\",\r\n className,\r\n )}\r\n >\r\n {children}\r\n </div>\r\n </AccordionPrimitive.Panel>\r\n );\r\n}\r\n\r\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\r\n"],"mappings":";AAQI,cA4BE,YA5BF;AANJ,SAAS,aAAa,0BAA0B;AAChD,SAAS,iBAAiB,qBAAqB;AAC/C,SAAS,UAAU;AAEnB,SAAS,UAAU,EAAE,WAAW,GAAG,MAAM,GAAkC;AACzE,SACE;AAAA,IAAC,mBAAmB;AAAA,IAAnB;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,cAAc,EAAE,WAAW,GAAG,MAAM,GAAkC;AAC7E,SACE;AAAA,IAAC,mBAAmB;AAAA,IAAnB;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,iDAAiD,SAAS;AAAA,MACvE,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,iBAAiB;AAAA,EACxB;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAqC;AACnC,SACE,oBAAC,mBAAmB,QAAnB,EAA0B,WAAU,WACnC;AAAA,IAAC,mBAAmB;AAAA,IAAnB;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,QACD;AAAA,UAAC;AAAA;AAAA,YACC,aAAU;AAAA,YACV,WAAU;AAAA;AAAA,QACZ;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,aAAU;AAAA,YACV,WAAU;AAAA;AAAA,QACZ;AAAA;AAAA;AAAA,EACF,GACF;AAEJ;AAEA,SAAS,iBAAiB;AAAA,EACxB;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAmC;AACjC,SACE;AAAA,IAAC,mBAAmB;AAAA,IAAnB;AAAA,MACC,aAAU;AAAA,MACV,WAAU;AAAA,MACT,GAAG;AAAA,MAEJ;AAAA,QAAC;AAAA;AAAA,UACC,WAAW;AAAA,YACT;AAAA,YACA;AAAA,UACF;AAAA,UAEC;AAAA;AAAA,MACH;AAAA;AAAA,EACF;AAEJ;","names":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import { cva } from "class-variance-authority";
|
|
4
|
-
import { cn } from "
|
|
4
|
+
import { cn } from "../../../utils";
|
|
5
5
|
const alertVariants = {
|
|
6
6
|
variant: {
|
|
7
7
|
default: "sg:bg-card sg:text-card-foreground",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/primitives/alert/alert.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { cva, type VariantProps } from \"class-variance-authority\";\r\nimport { cn } from \"
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/primitives/alert/alert.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { cva, type VariantProps } from \"class-variance-authority\";\r\nimport { cn } from \"../../../utils\";\r\n\r\nconst alertVariants = {\r\n variant: {\r\n default: \"sg:bg-card sg:text-card-foreground\",\r\n destructive:\r\n \"sg:text-destructive sg:bg-card sg:*:data-[slot=alert-description]:text-destructive/90 sg:*:[svg]:text-current\",\r\n },\r\n};\r\n\r\nconst alertVariantsProps = cva(\r\n \"sg:grid sg:gap-0.5 sg:rounded-lg sg:border sg:px-4 sg:py-3 sg:text-start sg:text-sm sg:has-data-[slot=alert-action]:relative sg:has-data-[slot=alert-action]:pe-18 sg:has-[>svg]:grid-cols-[auto_1fr] sg:has-[>svg]:gap-x-2.5 sg:*:[svg]:row-span-2 sg:*:[svg]:translate-y-0.5 sg:*:[svg]:text-current sg:*:[svg:not([class*=size-])]:size-4 sg:w-full sg:relative sg:group/alert\",\r\n {\r\n variants: alertVariants,\r\n defaultVariants: {\r\n variant: \"default\",\r\n },\r\n },\r\n);\r\n\r\nfunction Alert({\r\n className,\r\n variant,\r\n ...props\r\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariantsProps>) {\r\n return (\r\n <div\r\n data-slot=\"alert\"\r\n role=\"alert\"\r\n className={cn(alertVariantsProps({ variant }), className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\r\n return (\r\n <div\r\n data-slot=\"alert-title\"\r\n className={cn(\r\n \"sg:font-medium sg:group-has-[>svg]/alert:col-start-2 sg:[&_a]:hover:text-foreground sg:[&_a]:underline sg:[&_a]:underline-offset-3\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction AlertDescription({\r\n className,\r\n ...props\r\n}: React.ComponentProps<\"div\">) {\r\n return (\r\n <div\r\n data-slot=\"alert-description\"\r\n className={cn(\r\n \"sg:text-muted-foreground sg:text-sm sg:text-balance sg:md:text-pretty sg:[&_p:not(:last-child)]:mb-4 sg:[&_a]:hover:text-foreground sg:[&_a]:underline sg:[&_a]:underline-offset-3\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nfunction AlertAction({ className, ...props }: React.ComponentProps<\"div\">) {\r\n return (\r\n <div\r\n data-slot=\"alert-action\"\r\n className={cn(\"sg:absolute sg:top-2.5 sg:end-3\", className)}\r\n {...props}\r\n />\r\n );\r\n}\r\n\r\nexport { Alert, AlertTitle, AlertDescription, AlertAction, alertVariants };\r\n"],"mappings":"AA4BI;AA5BJ,YAAY,WAAW;AACvB,SAAS,WAA8B;AACvC,SAAS,UAAU;AAEnB,MAAM,gBAAgB;AAAA,EACpB,SAAS;AAAA,IACP,SAAS;AAAA,IACT,aACE;AAAA,EACJ;AACF;AAEA,MAAM,qBAAqB;AAAA,EACzB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,iBAAiB;AAAA,MACf,SAAS;AAAA,IACX;AAAA,EACF;AACF;AAEA,SAAS,MAAM;AAAA,EACb;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA0E;AACxE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,MAAK;AAAA,MACL,WAAW,GAAG,mBAAmB,EAAE,QAAQ,CAAC,GAAG,SAAS;AAAA,MACvD,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,WAAW,EAAE,WAAW,GAAG,MAAM,GAAgC;AACxE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,iBAAiB;AAAA,EACxB;AAAA,EACA,GAAG;AACL,GAAgC;AAC9B,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ;AAEA,SAAS,YAAY,EAAE,WAAW,GAAG,MAAM,GAAgC;AACzE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,mCAAmC,SAAS;AAAA,MACzD,GAAG;AAAA;AAAA,EACN;AAEJ;","names":[]}
|
|
@@ -3,9 +3,17 @@ import * as class_variance_authority_types from 'class-variance-authority/types'
|
|
|
3
3
|
import { useRender } from '@base-ui/react/use-render';
|
|
4
4
|
import { VariantProps } from 'class-variance-authority';
|
|
5
5
|
|
|
6
|
-
declare const badgeVariants:
|
|
7
|
-
variant
|
|
6
|
+
declare const badgeVariants: {
|
|
7
|
+
variant: {
|
|
8
|
+
default: string;
|
|
9
|
+
secondary: string;
|
|
10
|
+
destructive: string;
|
|
11
|
+
outline: string;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
declare const badgeVariantsProps: (props?: ({
|
|
15
|
+
variant?: "default" | "destructive" | "secondary" | "outline" | null | undefined;
|
|
8
16
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
9
|
-
declare function Badge({ className, variant, render, ...props }: useRender.ComponentProps<"span"> & VariantProps<typeof
|
|
17
|
+
declare function Badge({ className, variant, render, ...props }: useRender.ComponentProps<"span"> & VariantProps<typeof badgeVariantsProps>): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>;
|
|
10
18
|
|
|
11
|
-
export { Badge, badgeVariants };
|
|
19
|
+
export { Badge, badgeVariants, badgeVariantsProps };
|
|
@@ -1,20 +1,19 @@
|
|
|
1
|
-
import { cn } from "
|
|
1
|
+
import { cn } from "../../../utils";
|
|
2
2
|
import { mergeProps } from "@base-ui/react/merge-props";
|
|
3
3
|
import { useRender } from "@base-ui/react/use-render";
|
|
4
4
|
import { cva } from "class-variance-authority";
|
|
5
|
-
const badgeVariants =
|
|
6
|
-
|
|
5
|
+
const badgeVariants = {
|
|
6
|
+
variant: {
|
|
7
|
+
default: "sg:border-transparent sg:bg-primary sg:text-primary-foreground sg:hover:bg-primary/80",
|
|
8
|
+
secondary: "sg:border-transparent sg:bg-secondary sg:text-secondary-foreground sg:hover:bg-secondary/80",
|
|
9
|
+
destructive: "sg:border-transparent sg:bg-destructive sg:text-destructive-foreground sg:hover:bg-destructive/80",
|
|
10
|
+
outline: "sg:text-foreground"
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
const badgeVariantsProps = cva(
|
|
14
|
+
"sg:inline-flex sg:items-center sg:rounded-full sg:border sg:px-2.5 sg:py-0.5 sg:text-xs sg:font-semibold sg:transition-colors sg:focus:outline-none sg:focus:ring-2 sg:focus:ring-ring sg:focus:ring-offset-2",
|
|
7
15
|
{
|
|
8
|
-
variants:
|
|
9
|
-
variant: {
|
|
10
|
-
default: "sg:bg-primary sg:text-primary-foreground sg:[a]:hover:bg-primary/80",
|
|
11
|
-
secondary: "sg:bg-secondary sg:text-secondary-foreground sg:[a]:hover:bg-secondary/80",
|
|
12
|
-
destructive: "sg:bg-destructive/10 sg:[a]:hover:bg-destructive/20 sg:focus-visible:ring-destructive/20 sg:dark:focus-visible:ring-destructive/40 sg:text-destructive sg:dark:bg-destructive/20",
|
|
13
|
-
outline: "sg:border-border sg:text-foreground sg:[a]:hover:bg-muted sg:[a]:hover:text-muted-foreground sg:bg-input/30",
|
|
14
|
-
ghost: "sg:hover:bg-muted sg:hover:text-muted-foreground sg:dark:hover:bg-muted/50",
|
|
15
|
-
link: "sg:text-primary sg:underline-offset-4 sg:hover:underline"
|
|
16
|
-
}
|
|
17
|
-
},
|
|
16
|
+
variants: badgeVariants,
|
|
18
17
|
defaultVariants: {
|
|
19
18
|
variant: "default"
|
|
20
19
|
}
|
|
@@ -30,7 +29,7 @@ function Badge({
|
|
|
30
29
|
defaultTagName: "span",
|
|
31
30
|
props: mergeProps(
|
|
32
31
|
{
|
|
33
|
-
className: cn(
|
|
32
|
+
className: cn(badgeVariantsProps({ className, variant }))
|
|
34
33
|
},
|
|
35
34
|
props
|
|
36
35
|
),
|
|
@@ -43,6 +42,7 @@ function Badge({
|
|
|
43
42
|
}
|
|
44
43
|
export {
|
|
45
44
|
Badge,
|
|
46
|
-
badgeVariants
|
|
45
|
+
badgeVariants,
|
|
46
|
+
badgeVariantsProps
|
|
47
47
|
};
|
|
48
48
|
//# sourceMappingURL=badge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/primitives/badge/badge.tsx"],"sourcesContent":["import { cn } from \"
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/primitives/badge/badge.tsx"],"sourcesContent":["import { cn } from \"../../../utils\";\nimport { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nconst badgeVariants = {\n variant: {\n default:\n \"sg:border-transparent sg:bg-primary sg:text-primary-foreground sg:hover:bg-primary/80\",\n secondary:\n \"sg:border-transparent sg:bg-secondary sg:text-secondary-foreground sg:hover:bg-secondary/80\",\n destructive:\n \"sg:border-transparent sg:bg-destructive sg:text-destructive-foreground sg:hover:bg-destructive/80\",\n outline: \"sg:text-foreground\",\n },\n};\n\nconst badgeVariantsProps = cva(\n \"sg:inline-flex sg:items-center sg:rounded-full sg:border sg:px-2.5 sg:py-0.5 sg:text-xs sg:font-semibold sg:transition-colors sg:focus:outline-none sg:focus:ring-2 sg:focus:ring-ring sg:focus:ring-offset-2\",\n {\n variants: badgeVariants,\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nfunction Badge({\n className,\n variant = \"default\",\n render,\n ...props\n}: useRender.ComponentProps<\"span\"> & VariantProps<typeof badgeVariantsProps>) {\n return useRender({\n defaultTagName: \"span\",\n props: mergeProps<\"span\">(\n {\n className: cn(badgeVariantsProps({ className, variant })),\n },\n props,\n ),\n render,\n state: {\n slot: \"badge\",\n variant,\n },\n });\n}\n\nexport { Badge, badgeVariantsProps, badgeVariants };\n"],"mappings":"AAAA,SAAS,UAAU;AACnB,SAAS,kBAAkB;AAC3B,SAAS,iBAAiB;AAC1B,SAAS,WAA8B;AAEvC,MAAM,gBAAgB;AAAA,EACpB,SAAS;AAAA,IACP,SACE;AAAA,IACF,WACE;AAAA,IACF,aACE;AAAA,IACF,SAAS;AAAA,EACX;AACF;AAEA,MAAM,qBAAqB;AAAA,EACzB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,IACV,iBAAiB;AAAA,MACf,SAAS;AAAA,IACX;AAAA,EACF;AACF;AAEA,SAAS,MAAM;AAAA,EACb;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA,GAAG;AACL,GAA+E;AAC7E,SAAO,UAAU;AAAA,IACf,gBAAgB;AAAA,IAChB,OAAO;AAAA,MACL;AAAA,QACE,WAAW,GAAG,mBAAmB,EAAE,WAAW,QAAQ,CAAC,CAAC;AAAA,MAC1D;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN;AAAA,IACF;AAAA,EACF,CAAC;AACH;","names":[]}
|
|
@@ -2,31 +2,36 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
|
2
2
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
3
3
|
import { Button as Button$1 } from '@base-ui/react/button';
|
|
4
4
|
import { VariantProps } from 'class-variance-authority';
|
|
5
|
+
import { icons } from 'lucide-react';
|
|
5
6
|
|
|
6
7
|
declare const buttonVariants: {
|
|
7
8
|
variant: {
|
|
8
9
|
default: string;
|
|
10
|
+
destructive: string;
|
|
9
11
|
outline: string;
|
|
10
12
|
secondary: string;
|
|
11
13
|
ghost: string;
|
|
12
|
-
destructive: string;
|
|
13
14
|
link: string;
|
|
14
15
|
};
|
|
15
16
|
size: {
|
|
16
|
-
default: string;
|
|
17
|
-
xs: string;
|
|
18
17
|
sm: string;
|
|
18
|
+
default: string;
|
|
19
19
|
lg: string;
|
|
20
|
-
icon: string;
|
|
21
|
-
"icon-xs": string;
|
|
22
20
|
"icon-sm": string;
|
|
21
|
+
"icon-md": string;
|
|
23
22
|
"icon-lg": string;
|
|
24
23
|
};
|
|
25
24
|
};
|
|
26
25
|
declare const buttonVariantsProps: (props?: ({
|
|
27
26
|
variant?: "link" | "default" | "destructive" | "secondary" | "outline" | "ghost" | null | undefined;
|
|
28
|
-
size?: "default" | "
|
|
27
|
+
size?: "default" | "sm" | "lg" | "icon-sm" | "icon-md" | "icon-lg" | null | undefined;
|
|
29
28
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
30
|
-
|
|
29
|
+
type Props = Button$1.Props & VariantProps<typeof buttonVariantsProps> & {
|
|
30
|
+
iconStart?: keyof typeof icons;
|
|
31
|
+
iconStartAnimate?: boolean;
|
|
32
|
+
iconEnd?: keyof typeof icons;
|
|
33
|
+
iconEndAnimate?: boolean;
|
|
34
|
+
};
|
|
35
|
+
declare function Button({ className, variant, size, iconStart, iconStartAnimate, iconEnd, iconEndAnimate, ...props }: Props): react_jsx_runtime.JSX.Element;
|
|
31
36
|
|
|
32
37
|
export { Button, buttonVariants, buttonVariantsProps };
|
|
@@ -1,30 +1,29 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
import { cn } from "
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { cn } from "../../../utils";
|
|
4
4
|
import { Button as ButtonPrimitive } from "@base-ui/react/button";
|
|
5
5
|
import { cva } from "class-variance-authority";
|
|
6
|
+
import { icons } from "lucide-react";
|
|
6
7
|
const buttonVariants = {
|
|
7
8
|
variant: {
|
|
8
|
-
default: "sg:bg-primary sg:text-primary-foreground sg:hover:
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
default: "sg:bg-primary sg:text-primary-foreground sg:hover:brightness-110",
|
|
10
|
+
destructive: "sg:bg-destructive sg:text-destructive-foreground sg:hover:brightness-110",
|
|
11
|
+
outline: "sg:border sg:border-input sg:bg-background sg:hover:bg-muted sg:hover:text-foreground",
|
|
12
|
+
secondary: "sg:bg-secondary sg:text-secondary-foreground sg:hover:brightness-90",
|
|
13
|
+
ghost: "sg:hover:bg-muted sg:hover:text-foreground",
|
|
13
14
|
link: "sg:text-primary sg:underline-offset-4 sg:hover:underline"
|
|
14
15
|
},
|
|
15
16
|
size: {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
lg: "sg:h-10 sg:gap-1.5 sg:px-4 sg:has-data-[icon=inline-end]:pe-3 sg:has-data-[icon=inline-start]:ps-3",
|
|
20
|
-
icon: "sg:size-9",
|
|
21
|
-
"icon-xs": "sg:size-6 sg:[&_svg:not([class*=size-])]:size-3",
|
|
17
|
+
sm: "sg:h-8 sg:gap-1 sg:px-3 sg:has-data-[icon=inline-end]:pr-2 sg:has-data-[icon=inline-start]:pl-2",
|
|
18
|
+
default: "sg:h-9 sg:gap-1.5 sg:px-3 sg:has-data-[icon=inline-end]:pr-2.5 sg:has-data-[icon=inline-start]:pl-2.5",
|
|
19
|
+
lg: "sg:h-10 sg:gap-1.5 sg:px-4 sg:has-data-[icon=inline-end]:pr-3 sg:has-data-[icon=inline-start]:pl-3",
|
|
22
20
|
"icon-sm": "sg:size-8",
|
|
21
|
+
"icon-md": "sg:size-9",
|
|
23
22
|
"icon-lg": "sg:size-10"
|
|
24
23
|
}
|
|
25
24
|
};
|
|
26
25
|
const buttonVariantsProps = cva(
|
|
27
|
-
"sg:
|
|
26
|
+
"sg:inline-flex sg:items-center sg:justify-center sg:gap-2 sg:whitespace-nowrap sg:rounded-md sg:text-sm sg:font-medium sg:ring-offset-background sg:transition-colors sg:focus-visible:outline-none sg:focus-visible:ring-2 sg:focus-visible:ring-ring sg:focus-visible:ring-offset-2 sg:disabled:pointer-events-none sg:disabled:opacity-50 sg:[&_svg]:pointer-events-none sg:[&_svg]:size-4 sg:[&_svg]:shrink-0",
|
|
28
27
|
{
|
|
29
28
|
variants: buttonVariants,
|
|
30
29
|
defaultVariants: {
|
|
@@ -37,14 +36,46 @@ function Button({
|
|
|
37
36
|
className,
|
|
38
37
|
variant = "default",
|
|
39
38
|
size = "default",
|
|
39
|
+
iconStart,
|
|
40
|
+
iconStartAnimate,
|
|
41
|
+
iconEnd,
|
|
42
|
+
iconEndAnimate,
|
|
40
43
|
...props
|
|
41
44
|
}) {
|
|
42
|
-
|
|
45
|
+
const iconAnimateCss = "sg:animate-spin";
|
|
46
|
+
const LucideIconStart = iconStart && icons[iconStart];
|
|
47
|
+
const LucideIconEnd = iconEnd && icons[iconEnd];
|
|
48
|
+
return /* @__PURE__ */ jsxs(
|
|
43
49
|
ButtonPrimitive,
|
|
44
50
|
{
|
|
45
51
|
"data-slot": "button",
|
|
46
52
|
className: cn(buttonVariantsProps({ variant, size, className })),
|
|
47
|
-
...props
|
|
53
|
+
...props,
|
|
54
|
+
children: [
|
|
55
|
+
LucideIconStart && /* @__PURE__ */ jsx(
|
|
56
|
+
LucideIconStart,
|
|
57
|
+
{
|
|
58
|
+
className: cn(
|
|
59
|
+
"sg:size-4",
|
|
60
|
+
iconStartAnimate && iconAnimateCss,
|
|
61
|
+
props.disabled && "sg:opacity-50"
|
|
62
|
+
),
|
|
63
|
+
"data-icon": "inline-start"
|
|
64
|
+
}
|
|
65
|
+
),
|
|
66
|
+
props.children,
|
|
67
|
+
LucideIconEnd && /* @__PURE__ */ jsx(
|
|
68
|
+
LucideIconEnd,
|
|
69
|
+
{
|
|
70
|
+
className: cn(
|
|
71
|
+
"sg:size-4",
|
|
72
|
+
iconEndAnimate && iconAnimateCss,
|
|
73
|
+
props.disabled && "sg:opacity-50"
|
|
74
|
+
),
|
|
75
|
+
"data-icon": "inline-end"
|
|
76
|
+
}
|
|
77
|
+
)
|
|
78
|
+
]
|
|
48
79
|
}
|
|
49
80
|
);
|
|
50
81
|
}
|