@forgewp/ui 0.1.8

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 ADDED
@@ -0,0 +1,27 @@
1
+ # @forgewp/registry 🧩
2
+
3
+ The component library for ForgeWP themes. This package contains pre-built, WordPress-ready React components with two distinct styles.
4
+
5
+ ## 🎨 Styles
6
+
7
+ - **`forgewp` (Default)**: The signature "Sharp Edges" look. Zero border-radius, high-contrast borders, and brutalist design.
8
+ - **`shadcn`**: The classic, rounded-corner aesthetic of standard shadcn/ui.
9
+
10
+ ## 📂 Component Types
11
+
12
+ 1. **WordPress Core Components**: Specialized components for WordPress data (Menus, Post Loops, Pagination).
13
+ 2. **UI Components**: Standard building blocks (Buttons, Cards, Inputs) fetched and transformed from shadcn/ui.
14
+
15
+ ## 🚀 Installation
16
+
17
+ This package is intended to be used via the ForgeWP CLI:
18
+
19
+ ```bash
20
+ pnpm forgewp add [component-name]
21
+ # Or
22
+ pnpm forgewp add --name [component-name]
23
+ ```
24
+
25
+ ---
26
+
27
+ Build beautiful themes, faster.
@@ -0,0 +1,30 @@
1
+ export function NotFoundPage() {
2
+ return (
3
+ <div className="relative flex min-h-[70vh] flex-col items-center justify-center bg-zinc-50 px-6 py-24 text-center overflow-hidden">
4
+ {/* Aesthetic grid decoration using Tailwind 4 utility */}
5
+ <div className="absolute inset-0 -z-10 h-full w-full bg-white [background-image:linear-gradient(to_right,#80808012_1px,transparent_1px),linear-gradient(to_bottom,#80808012_1px,transparent_1px)] [background-size:40px_40px]"></div>
6
+
7
+ <div className="relative border-4 border-zinc-900 bg-white p-8 sm:p-12 shadow-[12px_12px_0px_0px_rgba(0,0,0,1)]">
8
+ <span className="text-xs font-bold uppercase tracking-widest text-zinc-400">
9
+ Error 404
10
+ </span>
11
+ <h1 className="mt-4 text-6xl font-black tracking-tighter text-zinc-900 sm:text-8xl">
12
+ LOST?
13
+ </h1>
14
+ <p className="mx-auto mt-6 max-w-md text-sm sm:text-lg leading-relaxed text-zinc-600">
15
+ The page you are looking for has been moved, deleted, or never existed in the first place.
16
+ </p>
17
+ <div className="mt-10">
18
+ <a
19
+ href="#"
20
+ className="inline-flex h-14 items-center justify-center border-2 border-zinc-900 bg-zinc-900 px-8 text-sm font-bold text-white transition-all hover:bg-white hover:text-zinc-900 active:translate-x-1 active:translate-y-1"
21
+ >
22
+ BACK TO HOME
23
+ </a>
24
+ </div>
25
+ </div>
26
+ </div>
27
+ );
28
+ }
29
+
30
+ export default NotFoundPage;
@@ -0,0 +1,29 @@
1
+ export function HeroSection() {
2
+ return (
3
+ <section className="relative bg-white py-24 px-6 md:px-12 border-b-4 border-zinc-950 selection:bg-brand selection:text-white">
4
+ <div className="max-w-4xl mx-auto text-center">
5
+ <span className="inline-block bg-zinc-950 text-white text-[10px] font-mono font-black uppercase tracking-widest px-3 py-1 mb-6 rounded-none select-none">
6
+ Active Framework Preview
7
+ </span>
8
+
9
+ <h1 className="text-4xl md:text-6xl font-black tracking-tight text-zinc-950 mb-6 font-serif leading-none">
10
+ High-Performance WordPress Themes. <br className="hidden md:block"/>Designed in React.
11
+ </h1>
12
+
13
+ <p className="text-base md:text-lg text-zinc-600 max-w-2xl mx-auto mb-10 leading-relaxed font-sans font-medium">
14
+ Build responsive, gorgeous, production-ready block themes using full source code access, hot reload previews, and custom design tokens.
15
+ </p>
16
+
17
+ <div className="flex flex-wrap justify-center gap-4">
18
+ <button className="border-2 border-zinc-950 bg-zinc-950 text-white font-mono text-xs font-black uppercase tracking-widest px-6 py-3 hover:bg-white hover:text-zinc-950 transition-all shadow-[4px_4px_0px_0px_rgba(0,0,0,1)] rounded-none">
19
+ Get Started
20
+ </button>
21
+
22
+ <button className="border-2 border-zinc-950 bg-white text-zinc-950 font-mono text-xs font-black uppercase tracking-widest px-6 py-3 hover:bg-zinc-100 transition-all rounded-none">
23
+ Learn More
24
+ </button>
25
+ </div>
26
+ </div>
27
+ </section>
28
+ );
29
+ }
@@ -0,0 +1,24 @@
1
+ import { useWpTitle } from "@/.forgewp/wordpress";
2
+
3
+ export function Navbar() {
4
+ const siteTitle = useWpTitle();
5
+
6
+ return (
7
+ <header className="w-full bg-white border-b-4 border-zinc-950 py-4 px-6 md:px-12 flex items-center justify-between selection:bg-brand selection:text-white">
8
+ <div className="flex items-center gap-3 font-mono font-black uppercase text-lg tracking-wider text-zinc-950 select-none">
9
+ <span>âš¡ {siteTitle}</span>
10
+ </div>
11
+
12
+ <nav className="hidden md:flex items-center gap-6 font-mono text-xs font-bold uppercase tracking-wider text-zinc-600">
13
+ <a href="#" className="hover:text-zinc-950 transition-colors">Home</a>
14
+ <a href="#" className="hover:text-zinc-950 transition-colors">About</a>
15
+ <a href="#" className="hover:text-zinc-950 transition-colors">Services</a>
16
+ <a href="#" className="hover:text-zinc-950 transition-colors">Contact</a>
17
+ </nav>
18
+
19
+ <button className="border-2 border-zinc-950 bg-zinc-950 text-white font-mono text-xs font-black uppercase tracking-widest px-4 py-2 hover:bg-white hover:text-zinc-950 transition-all shadow-[4px_4px_0px_0px_rgba(0,0,0,1)] rounded-none">
20
+ Launch App
21
+ </button>
22
+ </header>
23
+ );
24
+ }
@@ -0,0 +1,81 @@
1
+ export function PricingTable() {
2
+ const tiers = [
3
+ {
4
+ name: "Starter",
5
+ price: "$0",
6
+ desc: "For hobbyists and individual developers.",
7
+ features: ["1 Active Theme", "Tailwind Integration", "Standard Support"]
8
+ },
9
+ {
10
+ name: "Pro",
11
+ price: "$49",
12
+ desc: "For professional digital design agencies.",
13
+ features: ["Unlimited Themes", "Full Gutenberg Integration", "Priority Support", "Advanced Custom Fields"],
14
+ popular: true
15
+ },
16
+ {
17
+ name: "Enterprise",
18
+ price: "$199",
19
+ desc: "For large enterprise digital scaling.",
20
+ features: ["Everything in Pro", "Dedicated Account Lead", "Custom AST Compilers", "SLA Support"]
21
+ }
22
+ ];
23
+
24
+ return (
25
+ <section className="bg-zinc-50 py-24 px-6 md:px-12 border-b-4 border-zinc-950 selection:bg-brand selection:text-white">
26
+ <div className="max-w-6xl mx-auto">
27
+ <div className="text-center mb-16">
28
+ <h2 className="text-3xl md:text-5xl font-black font-serif tracking-tight text-zinc-950 mb-4 leading-none">
29
+ Transparent Pricing Tiers
30
+ </h2>
31
+ <p className="text-zinc-600 max-w-xl mx-auto text-sm font-mono uppercase tracking-wider font-bold">
32
+ Choose the perfect tier to match your development and deployment scale.
33
+ </p>
34
+ </div>
35
+
36
+ <div className="grid md:grid-cols-3 gap-8">
37
+ {tiers.map((tier) => (
38
+ <div
39
+ key={tier.name}
40
+ className={`bg-white border-4 border-zinc-950 p-8 flex flex-col justify-between rounded-none transition-all ${
41
+ tier.popular ? "shadow-[8px_8px_0px_0px_rgba(0,0,0,1)] scale-105" : "shadow-[4px_4px_0px_0px_rgba(0,0,0,1)]"
42
+ }`}
43
+ >
44
+ <div>
45
+ <div className="flex justify-between items-center mb-4">
46
+ <span className="font-mono font-black text-sm uppercase tracking-wider text-zinc-950">{tier.name}</span>
47
+ {tier.popular && (
48
+ <span className="bg-brand text-white text-[9px] font-mono px-2 py-0.5 uppercase tracking-widest font-black border-2 border-zinc-950">
49
+ Popular
50
+ </span>
51
+ )}
52
+ </div>
53
+
54
+ <div className="mb-6">
55
+ <span className="text-4xl font-serif font-black text-zinc-950">{tier.price}</span>
56
+ <span className="text-zinc-500 font-mono text-xs font-bold">/mo</span>
57
+ </div>
58
+
59
+ <p className="text-zinc-600 text-xs mb-6 leading-relaxed font-semibold">{tier.desc}</p>
60
+
61
+ <ul className="space-y-3 mb-8 text-xs font-bold text-zinc-700">
62
+ {tier.features.map(f => (
63
+ <li key={f} className="flex items-center gap-2">
64
+ <span className="text-zinc-950 font-black">âš¡</span> {f}
65
+ </li>
66
+ ))}
67
+ </ul>
68
+ </div>
69
+
70
+ <button className={`w-full text-center border-2 border-zinc-950 py-3 font-mono text-xs font-black uppercase tracking-wider transition-all rounded-none ${
71
+ tier.popular ? "bg-zinc-950 text-white hover:bg-white hover:text-zinc-950" : "bg-white text-zinc-950 hover:bg-zinc-100"
72
+ }`}>
73
+ Select {tier.name}
74
+ </button>
75
+ </div>
76
+ ))}
77
+ </div>
78
+ </div>
79
+ </section>
80
+ );
81
+ }
package/package.json ADDED
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "@forgewp/ui",
3
+ "version": "0.1.8",
4
+ "description": "Component registry for ForgeWP",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "files": [
8
+ "components"
9
+ ],
10
+ "peerDependencies": {
11
+ "react": "^19.1.0",
12
+ "react-dom": "^19.1.0"
13
+ },
14
+ "devDependencies": {
15
+ "@types/react": "^19.1.4",
16
+ "@types/react-dom": "^19.1.5",
17
+ "react": "^19.1.0",
18
+ "react-dom": "^19.1.0",
19
+ "typescript": "^5.8.3"
20
+ }
21
+ }