Skip to content

Commit 7e29221

Browse files
committed
feat(button) add local font for react support
1 parent 11dcbdf commit 7e29221

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+109
-75
lines changed

components/ui/8bit/button.tsx

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,16 @@
1-
import { Press_Start_2P } from "next/font/google";
2-
31
import { VariantProps, cva } from "class-variance-authority";
42

53
import { cn } from "@/lib/utils";
64

75
import { Button as ShadcnButton } from "@/components/ui/button";
86

9-
const pressStart = Press_Start_2P({
10-
weight: ["400"],
11-
subsets: ["latin"],
12-
});
7+
import "./retro.css";
138

149
export const buttonVariants = cva("", {
1510
variants: {
1611
font: {
1712
normal: "",
18-
retro: pressStart.className,
13+
retro: "retro",
1914
},
2015
variant: {
2116
default: "bg-foreground",
@@ -53,7 +48,7 @@ function Button({ children, ...props }: BitButtonProps) {
5348
{...props}
5449
className={cn(
5550
"rounded-none active:translate-y-1 transition-transform relative",
56-
font !== "normal" && pressStart.className,
51+
font !== "normal" && "retro",
5752
className
5853
)}
5954
size={size}
113 KB
Binary file not shown.

components/ui/8bit/retro.css

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
@font-face {
2+
font-family: "Press Start 2P";
3+
src: url("./fonts/PressStart2P-Regular.ttf") format("truetype");
4+
font-weight: 400;
5+
font-style: normal;
6+
font-display: swap;
7+
}
8+
9+
.retro {
10+
font-family:
11+
"Press Start 2P",
12+
system-ui,
13+
-apple-system,
14+
sans-serif;
15+
line-height: 1.5;
16+
letter-spacing: 0.5px;
17+
}

public/r/8bit-accordion.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"files": [
1111
{
1212
"path": "components/ui/8bit/accordion.tsx",
13-
"content": "\"use client\"\n\nimport * as React from \"react\"\nimport { Press_Start_2P } from \"next/font/google\"\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\"\n\nimport { cn } from \"@/lib/utils\"\nimport {\n Accordion as ShadcnAccordion,\n AccordionContent as ShadcnAccordionContent,\n AccordionItem as ShadcnAccordionItem,\n AccordionTrigger as ShadcnAccordionTrigger,\n} from \"@/components/ui/accordion\"\n\nconst pressStart = Press_Start_2P({\n weight: [\"400\"],\n subsets: [\"latin\"],\n})\n\nexport interface BitAccordionItemProps\n extends React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item> {\n asChild?: boolean\n}\n\nfunction AccordionItem({\n className,\n children,\n ...props\n}: BitAccordionItemProps) {\n return (\n <ShadcnAccordionItem\n className={cn(\n \"border-dashed border-b-4 border-foreground dark:border-ring relative\",\n className\n )}\n {...props}\n >\n {children}\n </ShadcnAccordionItem>\n )\n}\n\nexport interface BitAccordionTriggerProps\n extends React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger> {\n font?: \"normal\" | \"pressStart\"\n}\n\nfunction AccordionTrigger({\n className,\n children,\n font,\n ...props\n}: BitAccordionTriggerProps) {\n return (\n <ShadcnAccordionTrigger\n className={cn(font !== \"normal\" && pressStart.className, className)}\n {...props}\n >\n {children}\n </ShadcnAccordionTrigger>\n )\n}\n\nexport interface BitAccordionContentProps\n extends React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content> {\n font?: \"normal\" | \"pressStart\"\n}\n\nfunction AccordionContent({\n className,\n children,\n font,\n ...props\n}: BitAccordionContentProps) {\n return (\n <div className=\"relative\">\n <ShadcnAccordionContent\n className={cn(\n \"overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\",\n font !== \"normal\" && pressStart.className,\n className\n )}\n {...props}\n >\n <div className=\"pb-4 pt-0 relative z-10 p-1\">{children}</div>\n </ShadcnAccordionContent>\n\n <AccordionPrimitive.Content asChild forceMount />\n </div>\n )\n}\n\nconst Accordion = ShadcnAccordion\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n",
13+
"content": "\"use client\";\n\nimport * as React from \"react\";\n\nimport { Press_Start_2P } from \"next/font/google\";\n\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\n\nimport { cn } from \"@/lib/utils\";\n\nimport {\n Accordion as ShadcnAccordion,\n AccordionContent as ShadcnAccordionContent,\n AccordionItem as ShadcnAccordionItem,\n AccordionTrigger as ShadcnAccordionTrigger,\n} from \"@/components/ui/accordion\";\n\nconst pressStart = Press_Start_2P({\n weight: [\"400\"],\n subsets: [\"latin\"],\n});\n\nexport interface BitAccordionItemProps\n extends React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item> {\n asChild?: boolean;\n}\n\nfunction AccordionItem({\n className,\n children,\n ...props\n}: BitAccordionItemProps) {\n return (\n <ShadcnAccordionItem\n className={cn(\n \"border-dashed border-b-4 border-foreground dark:border-ring relative\",\n className\n )}\n {...props}\n >\n {children}\n </ShadcnAccordionItem>\n );\n}\n\nexport interface BitAccordionTriggerProps\n extends React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger> {\n font?: \"normal\" | \"pressStart\";\n}\n\nfunction AccordionTrigger({\n className,\n children,\n font,\n ...props\n}: BitAccordionTriggerProps) {\n return (\n <ShadcnAccordionTrigger\n className={cn(font !== \"normal\" && pressStart.className, className)}\n {...props}\n >\n {children}\n </ShadcnAccordionTrigger>\n );\n}\n\nexport interface BitAccordionContentProps\n extends React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content> {\n font?: \"normal\" | \"pressStart\";\n}\n\nfunction AccordionContent({\n className,\n children,\n font,\n ...props\n}: BitAccordionContentProps) {\n return (\n <div className=\"relative\">\n <ShadcnAccordionContent\n className={cn(\n \"overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\",\n font !== \"normal\" && pressStart.className,\n className\n )}\n {...props}\n >\n <div className=\"pb-4 pt-0 relative z-10 p-1\">{children}</div>\n </ShadcnAccordionContent>\n\n <AccordionPrimitive.Content asChild forceMount />\n </div>\n );\n}\n\nconst Accordion = ShadcnAccordion;\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n",
1414
"type": "registry:component",
1515
"target": "components/ui/8bit/accordion.tsx"
1616
}

0 commit comments

Comments
 (0)