diff --git a/apps/nameai.io/app/layout.tsx b/apps/nameai.io/app/layout.tsx index 41143fa78..5fa4a4c00 100644 --- a/apps/nameai.io/app/layout.tsx +++ b/apps/nameai.io/app/layout.tsx @@ -7,7 +7,7 @@ import Link from "next/link"; import type { Metadata } from "next"; import { Button } from "@namehash/namekit-react"; import { Toaster } from "sonner"; -import { Footer } from "@namehash/internal"; +import { Footer } from "@namehash/namehashlabs-react"; const inter = Inter({ subsets: ["latin"] }); diff --git a/apps/nameai.io/package.json b/apps/nameai.io/package.json index e606a51ea..50322113d 100644 --- a/apps/nameai.io/package.json +++ b/apps/nameai.io/package.json @@ -13,7 +13,7 @@ "@headlessui/react": "2.2.0", "@heroicons/react": "2.2.0", "@namehash/ens-webfont": "workspace:*", - "@namehash/internal": "workspace:*", + "@namehash/namehashlabs-react": "workspace:*", "@namehash/nameai": "workspace:*", "@namehash/namekit-react": "workspace:*", "classcat": "5.0.5", diff --git a/apps/nameai.io/tailwind.config.ts b/apps/nameai.io/tailwind.config.ts index 957002d07..a45fe9ade 100644 --- a/apps/nameai.io/tailwind.config.ts +++ b/apps/nameai.io/tailwind.config.ts @@ -6,7 +6,7 @@ export default { "./pages/**/*.{js,ts,jsx,tsx,mdx}", "./components/**/*.{js,ts,jsx,tsx,mdx}", "./app/**/*.{js,ts,jsx,tsx,mdx}", - "./node_modules/@namehash/internal/src/**/*.{js,jsx,ts,tsx}", + "./node_modules/@namehash/namehashlabs-react/src/**/*.{js,jsx,ts,tsx}", ], theme: { extend: { diff --git a/apps/namegraph.dev/app/layout.tsx b/apps/namegraph.dev/app/layout.tsx index 3873c85e2..ea0e925f6 100644 --- a/apps/namegraph.dev/app/layout.tsx +++ b/apps/namegraph.dev/app/layout.tsx @@ -5,7 +5,7 @@ import { GithubIcon } from "@/components/footer/github-icon"; import { TldSelect } from "@/components/tld-select"; import { Providers } from "@/components/providers"; import { Button } from "@/components/ui/button"; -import { Footer } from "@namehash/internal"; +import { Footer } from "@namehash/namehashlabs-react"; import "@namehash/namekit-react/styles.css"; import "@namehash/nameguard-react/styles.css"; import "ethereum-identity-kit/css"; diff --git a/apps/namegraph.dev/package.json b/apps/namegraph.dev/package.json index fc5309b2f..fafa5c797 100644 --- a/apps/namegraph.dev/package.json +++ b/apps/namegraph.dev/package.json @@ -12,7 +12,7 @@ "@adraffy/ens-normalize": "1.11.0", "@heroicons/react": "2.2.0", "@namehash/ens-utils": "workspace:*", - "@namehash/internal": "workspace:*", + "@namehash/namehashlabs-react": "workspace:*", "@namehash/nameai": "1.1.4", "@namehash/namegraph-sdk": "workspace:*", "@namehash/nameguard": "0.9.0", diff --git a/apps/namegraph.dev/tailwind.config.ts b/apps/namegraph.dev/tailwind.config.ts index 796f574fa..a9cd209eb 100644 --- a/apps/namegraph.dev/tailwind.config.ts +++ b/apps/namegraph.dev/tailwind.config.ts @@ -6,7 +6,7 @@ const config: Config = { "./pages/**/*.{js,ts,jsx,tsx,mdx}", "./components/**/*.{js,ts,jsx,tsx,mdx}", "./app/**/*.{js,ts,jsx,tsx,mdx}", - "./node_modules/@namehash/internal/src/**/*.{js,jsx,ts,tsx}", + "./node_modules/@namehash/namehashlabs-react/src/**/*.{js,jsx,ts,tsx}", ], safelist: ["rounded-big", "rounded-biggest"], theme: { diff --git a/apps/nameguard.io/package.json b/apps/nameguard.io/package.json index 3c5aaf445..66b0a8cf0 100644 --- a/apps/nameguard.io/package.json +++ b/apps/nameguard.io/package.json @@ -14,6 +14,7 @@ "@namehash/internal": "workspace:*", "@namehash/nameguard": "workspace:*", "@namehash/nameguard-react": "workspace:*", + "@namehash/namehashlabs-react": "workspace:*", "@namehash/namekit-react": "workspace:*", "@vercel/analytics": "1.3.1", "@vercel/speed-insights": "1.0.12", diff --git a/apps/nameguard.io/src/app/layout.tsx b/apps/nameguard.io/src/app/layout.tsx index 5b5ff5e3e..ff85d9ad1 100644 --- a/apps/nameguard.io/src/app/layout.tsx +++ b/apps/nameguard.io/src/app/layout.tsx @@ -10,7 +10,7 @@ import React from "react"; import { Analytics } from "@vercel/analytics/react"; import { SpeedInsights } from "@vercel/speed-insights/next"; import { Header } from "@/components/organisms"; -import { Footer } from "@namehash/internal"; +import { Footer } from "@namehash/namehashlabs-react"; const inter = Inter({ variable: "--font-inter", subsets: ["latin"] }); diff --git a/apps/nameguard.io/tailwind.config.ts b/apps/nameguard.io/tailwind.config.ts index ae13d0232..e65943488 100644 --- a/apps/nameguard.io/tailwind.config.ts +++ b/apps/nameguard.io/tailwind.config.ts @@ -7,6 +7,7 @@ const config: Config = { "./src/app/**/*.{js,ts,jsx,tsx,mdx}", "./src/app/*.{js,ts,jsx,tsx,mdx}", "./node_modules/@namehash/nameguard-react/**/*.{js,jsx,ts,tsx}", + "./node_modules/@namehash/namehashlabs-react/**/*.{js,jsx,ts,tsx}", "./node_modules/@namehash/internal/src/**/*.{js,jsx,ts,tsx}", ], theme: { diff --git a/apps/namehashlabs.org/app/layout.tsx b/apps/namehashlabs.org/app/layout.tsx index dacca2b2b..31aec746d 100644 --- a/apps/namehashlabs.org/app/layout.tsx +++ b/apps/namehashlabs.org/app/layout.tsx @@ -20,7 +20,7 @@ import { defaultMetaOpengraph, defaultMetaTwitter, } from "./shared-metadata"; -import { Footer } from "@namehash/internal"; +import { Footer } from "@namehash/namehashlabs-react"; import Providers from "@/components/3 - organisms/Providers"; const inter = Inter({ diff --git a/apps/namehashlabs.org/package.json b/apps/namehashlabs.org/package.json index 09a7e53de..b675559e1 100644 --- a/apps/namehashlabs.org/package.json +++ b/apps/namehashlabs.org/package.json @@ -14,6 +14,7 @@ "@heroicons/react": "2.2.0", "@namehash/ens-webfont": "workspace:*", "@namehash/internal": "workspace:*", + "@namehash/namehashlabs-react": "workspace:*", "@namehash/namekit-react": "workspace:*", "@tanstack/react-query": "5.65.1", "@vercel/analytics": "1.3.1", diff --git a/apps/namehashlabs.org/tailwind.config.ts b/apps/namehashlabs.org/tailwind.config.ts index 8ddb8375b..30baeedfd 100644 --- a/apps/namehashlabs.org/tailwind.config.ts +++ b/apps/namehashlabs.org/tailwind.config.ts @@ -6,6 +6,7 @@ const config: Config = { "./components/**/*.{js,ts,jsx,tsx,mdx}", "./app/**/*.{js,ts,jsx,tsx,mdx}", "./node_modules/@namehash/internal/src/**/*.{js,jsx,ts,tsx}", + "./node_modules/@namehash/namehashlabs-react/src/**/*.{js,jsx,ts,tsx}", ], theme: { extend: { diff --git a/apps/namekit.io/package.json b/apps/namekit.io/package.json index 778d63f2c..98e7ecd47 100644 --- a/apps/namekit.io/package.json +++ b/apps/namekit.io/package.json @@ -21,6 +21,7 @@ "react-dom": "18.3.1", "react-hot-toast": "2.4.1", "@namehash/internal": "workspace:*", + "@namehash/namehashlabs-react": "workspace:*", "@namehash/namekit-react": "workspace:*", "@namehash/ens-webfont": "workspace:*", "react-wrap-balancer": "1.1.1" diff --git a/apps/namekit.io/src/app/layout.tsx b/apps/namekit.io/src/app/layout.tsx index 2c12f6454..535117d3a 100644 --- a/apps/namekit.io/src/app/layout.tsx +++ b/apps/namekit.io/src/app/layout.tsx @@ -5,7 +5,7 @@ import "@namehash/ens-webfont"; import { Header } from "@/components/organisms/header"; import { Inter } from "next/font/google"; -import { Footer } from "@namehash/internal"; +import { Footer } from "@namehash/namehashlabs-react"; const inter = Inter({ subsets: ["latin"], diff --git a/apps/namekit.io/tailwind.config.ts b/apps/namekit.io/tailwind.config.ts index 0b4edd24f..e1830603b 100644 --- a/apps/namekit.io/tailwind.config.ts +++ b/apps/namekit.io/tailwind.config.ts @@ -6,6 +6,7 @@ export default { "./src/components/**/*.{js,ts,jsx,tsx,mdx}", "./src/app/**/*.{js,ts,jsx,tsx,mdx}", "./node_modules/@namehash/internal/src/**/*.{js,jsx,ts,tsx}", + "./node_modules/@namehash/namehashlabs-react/src/**/*.{js,jsx,ts,tsx}", ], theme: { extend: { diff --git a/internal/internal/src/index.ts b/internal/internal/src/index.ts index f00d1cb80..d3c1a2d98 100644 --- a/internal/internal/src/index.ts +++ b/internal/internal/src/index.ts @@ -5,5 +5,3 @@ export { validateContactFormData } from "./contact-form/validation"; export { type ContactFormDataProps } from "./contact-form/types"; export { CalendarButton } from "./calendar-button"; - -export { Footer } from "./footer"; diff --git a/packages/namehashlabs-react/CHANGELOG.md b/packages/namehashlabs-react/CHANGELOG.md new file mode 100644 index 000000000..d18df3af9 --- /dev/null +++ b/packages/namehashlabs-react/CHANGELOG.md @@ -0,0 +1 @@ +# @namehash/namehashlabs-react \ No newline at end of file diff --git a/packages/namehashlabs-react/LICENSE b/packages/namehashlabs-react/LICENSE new file mode 100644 index 000000000..f6a94f8b1 --- /dev/null +++ b/packages/namehashlabs-react/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 NameHash + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/namehashlabs-react/package.json b/packages/namehashlabs-react/package.json new file mode 100644 index 000000000..207da7af5 --- /dev/null +++ b/packages/namehashlabs-react/package.json @@ -0,0 +1,63 @@ +{ + "name": "@namehash/namehashlabs-react", + "description": "Larger React UI components for building webpages NameHash-style", + "version": "0.0.1", + "license": "MIT", + "type": "commonjs", + "repository": { + "type": "git", + "url": "git+https://github.com/namehash/namekit.git", + "directory": "packages/namhashlabs-react" + }, + "homepage": "https://github.com/namehash/namekit/tree/main/packages/namehashlabs-react", + "keywords": [ + "ENS", + "NameKit", + "NameHash", + "NameHashLabs" + ], + "scripts": { + "build": "tsup", + "dev": "tsup --watch" + }, + "sideEffects": false, + "main": "./dist/index.mjs", + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "styles": "./dist/index.css", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs", + "default": "./dist/index.mjs" + }, + "./styles.css": { + "import": "./dist/index.css", + "default": "./dist/index.css" + } + }, + "dependencies": { + "@namehash/namekit-react": "workspace:*", + "classcat": "5.0.5" + }, + "devDependencies": { + "@namekit/tsconfig": "workspace:*", + "@types/react": "18.3.1", + "@types/react-dom": "18.3.1", + "autoprefixer": "10.4.20", + "next": "14.2.21", + "postcss": "8.4.47", + "react": "18.3.1", + "react-dom": "18.3.1", + "tailwindcss": "3.4.13", + "tsup": "8.3.5", + "typescript": "5.6.2" + }, + "peerDependencies": { + "react": "^18", + "react-dom": "^18" + }, + "publishConfig": { + "access": "public" + } +} diff --git a/packages/namehashlabs-react/postcss.config.js b/packages/namehashlabs-react/postcss.config.js new file mode 100644 index 000000000..12a703d90 --- /dev/null +++ b/packages/namehashlabs-react/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/internal/internal/src/footer.tsx b/packages/namehashlabs-react/src/footer.tsx similarity index 100% rename from internal/internal/src/footer.tsx rename to packages/namehashlabs-react/src/footer.tsx diff --git a/internal/internal/src/icons/efp-icon.tsx b/packages/namehashlabs-react/src/icons/efp-icon.tsx similarity index 100% rename from internal/internal/src/icons/efp-icon.tsx rename to packages/namehashlabs-react/src/icons/efp-icon.tsx diff --git a/internal/internal/src/icons/email-icon.tsx b/packages/namehashlabs-react/src/icons/email-icon.tsx similarity index 100% rename from internal/internal/src/icons/email-icon.tsx rename to packages/namehashlabs-react/src/icons/email-icon.tsx diff --git a/internal/internal/src/icons/farcaster-icon.tsx b/packages/namehashlabs-react/src/icons/farcaster-icon.tsx similarity index 100% rename from internal/internal/src/icons/farcaster-icon.tsx rename to packages/namehashlabs-react/src/icons/farcaster-icon.tsx diff --git a/internal/internal/src/icons/github-icon.tsx b/packages/namehashlabs-react/src/icons/github-icon.tsx similarity index 100% rename from internal/internal/src/icons/github-icon.tsx rename to packages/namehashlabs-react/src/icons/github-icon.tsx diff --git a/internal/internal/src/icons/index.ts b/packages/namehashlabs-react/src/icons/index.ts similarity index 100% rename from internal/internal/src/icons/index.ts rename to packages/namehashlabs-react/src/icons/index.ts diff --git a/internal/internal/src/icons/namehash-labs-logo.tsx b/packages/namehashlabs-react/src/icons/namehash-labs-logo.tsx similarity index 100% rename from internal/internal/src/icons/namehash-labs-logo.tsx rename to packages/namehashlabs-react/src/icons/namehash-labs-logo.tsx diff --git a/internal/internal/src/icons/service-provider-badge.tsx b/packages/namehashlabs-react/src/icons/service-provider-badge.tsx similarity index 100% rename from internal/internal/src/icons/service-provider-badge.tsx rename to packages/namehashlabs-react/src/icons/service-provider-badge.tsx diff --git a/internal/internal/src/icons/telegram-icon.tsx b/packages/namehashlabs-react/src/icons/telegram-icon.tsx similarity index 100% rename from internal/internal/src/icons/telegram-icon.tsx rename to packages/namehashlabs-react/src/icons/telegram-icon.tsx diff --git a/internal/internal/src/icons/twitter-icon.tsx b/packages/namehashlabs-react/src/icons/twitter-icon.tsx similarity index 100% rename from internal/internal/src/icons/twitter-icon.tsx rename to packages/namehashlabs-react/src/icons/twitter-icon.tsx diff --git a/packages/namehashlabs-react/src/index.ts b/packages/namehashlabs-react/src/index.ts new file mode 100644 index 000000000..5a7475dcd --- /dev/null +++ b/packages/namehashlabs-react/src/index.ts @@ -0,0 +1,3 @@ +import "./styles.css"; + +export { Footer } from "./footer"; diff --git a/packages/namehashlabs-react/src/styles.css b/packages/namehashlabs-react/src/styles.css new file mode 100644 index 000000000..b5c61c956 --- /dev/null +++ b/packages/namehashlabs-react/src/styles.css @@ -0,0 +1,3 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; diff --git a/packages/namehashlabs-react/tailwind.config.ts b/packages/namehashlabs-react/tailwind.config.ts new file mode 100644 index 000000000..07563c2f5 --- /dev/null +++ b/packages/namehashlabs-react/tailwind.config.ts @@ -0,0 +1,7 @@ +import type { Config } from "tailwindcss"; + +const config: Config = { + content: ["src/**/*.{ts,tsx,js,jsx,mdx}"], +}; + +export default config; diff --git a/packages/namehashlabs-react/tsconfig.json b/packages/namehashlabs-react/tsconfig.json new file mode 100644 index 000000000..05f051798 --- /dev/null +++ b/packages/namehashlabs-react/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "strict": true, + "jsx": "react-jsx", + "module": "ES2020", + "outDir": "./dist", + "rootDir": "./src", + "moduleResolution": "bundler", + "target": "ES2020", + "resolveJsonModule": true, + "lib": ["dom", "dom.iterable", "esnext"], + "declaration": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true + }, + "include": ["src/**/*.ts", "src/**/*.tsx"] +} diff --git a/packages/namehashlabs-react/tsup.config.js b/packages/namehashlabs-react/tsup.config.js new file mode 100644 index 000000000..79e7412ac --- /dev/null +++ b/packages/namehashlabs-react/tsup.config.js @@ -0,0 +1,11 @@ +import { defineConfig } from 'tsup'; + +export default defineConfig({ + entry: { + index: 'src/index.ts', + }, + dts: true, + format: ["esm"], + clean: true, + skipNodeModulesBundle: true, +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4fcae857a..08ee8b47d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -99,12 +99,12 @@ importers: '@namehash/ens-webfont': specifier: workspace:* version: link:../../packages/ens-webfont - '@namehash/internal': - specifier: workspace:* - version: link:../../internal/internal '@namehash/nameai': specifier: workspace:* version: link:../../packages/nameai-sdk + '@namehash/namehashlabs-react': + specifier: workspace:* + version: link:../../packages/namehashlabs-react '@namehash/namekit-react': specifier: workspace:* version: link:../../packages/namekit-react @@ -169,9 +169,6 @@ importers: '@namehash/ens-utils': specifier: workspace:* version: link:../../packages/ens-utils - '@namehash/internal': - specifier: workspace:* - version: link:../../internal/internal '@namehash/nameai': specifier: 1.1.4 version: 1.1.4(bufferutil@4.0.9)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.24.1) @@ -184,6 +181,9 @@ importers: '@namehash/nameguard-react': specifier: 0.8.2 version: 0.8.2(@types/react@18.3.1)(bufferutil@4.0.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.6.2)(utf-8-validate@5.0.10)(zod@3.24.1) + '@namehash/namehashlabs-react': + specifier: workspace:* + version: link:../../packages/namehashlabs-react '@namehash/namekit-react': specifier: workspace:* version: link:../../packages/namekit-react @@ -317,6 +317,9 @@ importers: '@namehash/nameguard-react': specifier: workspace:* version: link:../../packages/nameguard-react + '@namehash/namehashlabs-react': + specifier: workspace:* + version: link:../../packages/namehashlabs-react '@namehash/namekit-react': specifier: workspace:* version: link:../../packages/namekit-react @@ -390,6 +393,9 @@ importers: '@namehash/internal': specifier: workspace:* version: link:../../internal/internal + '@namehash/namehashlabs-react': + specifier: workspace:* + version: link:../../packages/namehashlabs-react '@namehash/namekit-react': specifier: workspace:* version: link:../../packages/namekit-react @@ -484,6 +490,9 @@ importers: '@namehash/internal': specifier: workspace:* version: link:../../internal/internal + '@namehash/namehashlabs-react': + specifier: workspace:* + version: link:../../packages/namehashlabs-react '@namehash/namekit-react': specifier: workspace:* version: link:../../packages/namekit-react @@ -870,6 +879,49 @@ importers: specifier: 1.6.0 version: 1.6.0(@types/node@22.7.4) + packages/namehashlabs-react: + dependencies: + '@namehash/namekit-react': + specifier: workspace:* + version: link:../namekit-react + classcat: + specifier: 5.0.5 + version: 5.0.5 + devDependencies: + '@namekit/tsconfig': + specifier: workspace:* + version: link:../../internal/tsconfig + '@types/react': + specifier: 18.3.1 + version: 18.3.1 + '@types/react-dom': + specifier: 18.3.1 + version: 18.3.1 + autoprefixer: + specifier: 10.4.20 + version: 10.4.20(postcss@8.4.47) + next: + specifier: 14.2.21 + version: 14.2.21(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + postcss: + specifier: 8.4.47 + version: 8.4.47 + react: + specifier: 18.3.1 + version: 18.3.1 + react-dom: + specifier: 18.3.1 + version: 18.3.1(react@18.3.1) + tailwindcss: + specifier: 3.4.13 + version: 3.4.13 + tsup: + specifier: 8.3.5 + version: 8.3.5(jiti@1.21.7)(postcss@8.4.47)(typescript@5.6.2)(yaml@2.7.0) + typescript: + specifier: 5.6.2 + version: 5.6.2 + packages/namekit-react: dependencies: '@adraffy/ens-normalize': @@ -9217,7 +9269,7 @@ snapshots: '@types/react-dom@18.3.1': dependencies: - '@types/react': 18.3.11 + '@types/react': 19.0.8 '@types/react-dom@19.0.3(@types/react@19.0.8)': dependencies: