diff --git a/nx-dev/nx-dev/app/brands/page.tsx b/nx-dev/nx-dev/app/brands/page.tsx new file mode 100644 index 0000000000..1400e84f31 --- /dev/null +++ b/nx-dev/nx-dev/app/brands/page.tsx @@ -0,0 +1,52 @@ +import { DefaultLayout } from '@nx/nx-dev/ui-common'; +import { + Hero, + LernaBrand, + NxBrand, + NxCloudBrand, + NxConsoleBrand, +} from '@nx/nx-dev/ui-brands'; +import type { Metadata } from 'next'; + +export const metadata: Metadata = { + title: 'Brands & Guidelines', + description: + 'We’ve created the following guidelines for 3rd party use of our logos, content, and trademarks.', + openGraph: { + url: 'https://nx.dev/brands', + title: 'Brands & Guidelines', + description: + 'We’ve created the following guidelines for 3rd party use of our logos, content, and trademarks.', + images: [ + { + url: 'https://nx.dev/socials/nx-media.png', + width: 800, + height: 421, + alt: 'Nx: Smart Monorepos · Fast CI', + type: 'image/jpeg', + }, + ], + siteName: 'NxDev', + type: 'website', + }, +}; + +export default function BrandsPage() { + return ( + + +
+ +
+
+ +
+
+ +
+
+ +
+
+ ); +} diff --git a/nx-dev/nx-dev/public/assets/brand-kits/lerna-logos-assets.zip b/nx-dev/nx-dev/public/assets/brand-kits/lerna-logos-assets.zip new file mode 100644 index 0000000000..5f28ac783b Binary files /dev/null and b/nx-dev/nx-dev/public/assets/brand-kits/lerna-logos-assets.zip differ diff --git a/nx-dev/nx-dev/public/assets/brand-kits/nx-cloud-logos-assets.zip b/nx-dev/nx-dev/public/assets/brand-kits/nx-cloud-logos-assets.zip new file mode 100644 index 0000000000..9b2045e120 Binary files /dev/null and b/nx-dev/nx-dev/public/assets/brand-kits/nx-cloud-logos-assets.zip differ diff --git a/nx-dev/nx-dev/public/assets/brand-kits/nx-console-logos-assets.zip b/nx-dev/nx-dev/public/assets/brand-kits/nx-console-logos-assets.zip new file mode 100644 index 0000000000..92706edebd Binary files /dev/null and b/nx-dev/nx-dev/public/assets/brand-kits/nx-console-logos-assets.zip differ diff --git a/nx-dev/nx-dev/public/assets/brand-kits/nx-logos-assets.zip b/nx-dev/nx-dev/public/assets/brand-kits/nx-logos-assets.zip new file mode 100644 index 0000000000..1d81c2a27c Binary files /dev/null and b/nx-dev/nx-dev/public/assets/brand-kits/nx-logos-assets.zip differ diff --git a/nx-dev/ui-brands/.babelrc b/nx-dev/ui-brands/.babelrc new file mode 100644 index 0000000000..1ea870ead4 --- /dev/null +++ b/nx-dev/ui-brands/.babelrc @@ -0,0 +1,12 @@ +{ + "presets": [ + [ + "@nx/react/babel", + { + "runtime": "automatic", + "useBuiltIns": "usage" + } + ] + ], + "plugins": [] +} diff --git a/nx-dev/ui-brands/.eslintrc.json b/nx-dev/ui-brands/.eslintrc.json new file mode 100644 index 0000000000..a39ac5d057 --- /dev/null +++ b/nx-dev/ui-brands/.eslintrc.json @@ -0,0 +1,18 @@ +{ + "extends": ["plugin:@nx/react", "../../.eslintrc.json"], + "ignorePatterns": ["!**/*"], + "overrides": [ + { + "files": ["*.ts", "*.tsx", "*.js", "*.jsx"], + "rules": {} + }, + { + "files": ["*.ts", "*.tsx"], + "rules": {} + }, + { + "files": ["*.js", "*.jsx"], + "rules": {} + } + ] +} diff --git a/nx-dev/ui-brands/README.md b/nx-dev/ui-brands/README.md new file mode 100644 index 0000000000..9e73d07e28 --- /dev/null +++ b/nx-dev/ui-brands/README.md @@ -0,0 +1,7 @@ +# ui-brands + +This library was generated with [Nx](https://nx.dev). + +## Running unit tests + +Run `nx test ui-brands` to execute the unit tests via [Jest](https://jestjs.io). diff --git a/nx-dev/ui-brands/project.json b/nx-dev/ui-brands/project.json new file mode 100644 index 0000000000..f9f7c6023a --- /dev/null +++ b/nx-dev/ui-brands/project.json @@ -0,0 +1,9 @@ +{ + "name": "ui-brands", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "nx-dev/ui-brands/src", + "projectType": "library", + "tags": [], + "// targets": "to see all targets run: nx show project ui-brands --web", + "targets": {} +} diff --git a/nx-dev/ui-brands/src/index.ts b/nx-dev/ui-brands/src/index.ts new file mode 100644 index 0000000000..4c1d8381df --- /dev/null +++ b/nx-dev/ui-brands/src/index.ts @@ -0,0 +1,5 @@ +export * from './lib/hero'; +export * from './lib/nx-brand'; +export * from './lib/nx-cloud'; +export * from './lib/lerna-brand'; +export * from './lib/nx-console-brand'; diff --git a/nx-dev/ui-brands/src/lib/hero.tsx b/nx-dev/ui-brands/src/lib/hero.tsx new file mode 100644 index 0000000000..454c287f48 --- /dev/null +++ b/nx-dev/ui-brands/src/lib/hero.tsx @@ -0,0 +1,18 @@ +import { SectionHeading } from '@nx/nx-dev/ui-common'; + +export function Hero() { + return ( +
+ + Brands & Guidelines + + + We’ve created the following guidelines for 3rd party use of our logos, + content, and trademarks. + +
+ ); +} diff --git a/nx-dev/ui-brands/src/lib/lerna-brand.tsx b/nx-dev/ui-brands/src/lib/lerna-brand.tsx new file mode 100644 index 0000000000..8ef4bc7864 --- /dev/null +++ b/nx-dev/ui-brands/src/lib/lerna-brand.tsx @@ -0,0 +1,65 @@ +import { DocumentArrowDownIcon } from '@heroicons/react/24/outline'; +import { + ButtonLink, + SectionDescription, + SectionHeading, +} from '@nx/nx-dev/ui-common'; +import { LernaIcon } from '@nx/nx-dev/ui-icons'; + +export function LernaBrand() { + return ( +
+
+
+
+ + Lerna + + + The Original Tool forJavaScript Monorepos + + + The Lerna trademark includes the Lerna name & logo, and any word, + phrase, image, or other designation that identifies any Nrwl + products. Please don’t modify the marks or use them in a confusing + way, including suggesting sponsorship or endorsement by Nrwl, or + in a way that confuses Nrwl with another brand. + +
+

+ Spelling +

+

+ The preferred written format is Lerna.
For social media + usage, + + #Lerna + {' '} + is an accepted format. +

+ + + + Download Lerna assets{' '} + (zip) + + +
+ +
+
+ ); +} diff --git a/nx-dev/ui-brands/src/lib/nx-brand.tsx b/nx-dev/ui-brands/src/lib/nx-brand.tsx new file mode 100644 index 0000000000..33f5d15e05 --- /dev/null +++ b/nx-dev/ui-brands/src/lib/nx-brand.tsx @@ -0,0 +1,63 @@ +import { DocumentArrowDownIcon } from '@heroicons/react/24/outline'; +import { + ButtonLink, + SectionDescription, + SectionHeading, +} from '@nx/nx-dev/ui-common'; +import { NxIcon } from '@nx/nx-dev/ui-icons'; + +export function NxBrand() { + return ( +
+
+
+
+ + Nx + + + Smart monorepos · Fast CI + + + The Nx trademark includes the Nx name & logo, and any word, + phrase, image, or other designation that identifies any NX + products. Please don’t modify the marks or use them in a confusing + way, including suggesting sponsorship or endorsement by Nx, or in + a way that confuses Nx with another brand. + +
+

+ Spelling +

+

+ The preferred written format is Nx.
For social media usage, + + #NxDevTools + {' '} + is an accepted format. +

+ + + + Download Nx assets (zip) + + +
+ +
+
+ ); +} diff --git a/nx-dev/ui-brands/src/lib/nx-cloud.tsx b/nx-dev/ui-brands/src/lib/nx-cloud.tsx new file mode 100644 index 0000000000..8b601871e2 --- /dev/null +++ b/nx-dev/ui-brands/src/lib/nx-cloud.tsx @@ -0,0 +1,65 @@ +import { DocumentArrowDownIcon } from '@heroicons/react/24/outline'; +import { + ButtonLink, + SectionDescription, + SectionHeading, +} from '@nx/nx-dev/ui-common'; +import { NxCloudIcon } from '@nx/nx-dev/ui-icons'; + +export function NxCloudBrand() { + return ( +
+
+
+
+ + Nx Cloud + + + Fast CI · Built for Monorepos + + + The Nx Cloud trademark includes the Nx Cloud name & logo, and any + word, phrase, image, or other designation that identifies any Nx + products. Please don’t modify the marks or use them in a confusing + way, including suggesting sponsorship or endorsement by Nx, or in + a way that confuses Nx with another brand. + +
+

+ Spelling +

+

+ The preferred written format is Nx Cloud.
For social media + usage, + + #NxCloud + {' '} + is an accepted format. +

+ + + + Download Nx Cloud assets{' '} + (zip) + + +
+ +
+
+ ); +} diff --git a/nx-dev/ui-brands/src/lib/nx-console-brand.tsx b/nx-dev/ui-brands/src/lib/nx-console-brand.tsx new file mode 100644 index 0000000000..651a631eff --- /dev/null +++ b/nx-dev/ui-brands/src/lib/nx-console-brand.tsx @@ -0,0 +1,65 @@ +import { DocumentArrowDownIcon } from '@heroicons/react/24/outline'; +import { + ButtonLink, + SectionDescription, + SectionHeading, +} from '@nx/nx-dev/ui-common'; +import { NxConsoleIcon } from '@nx/nx-dev/ui-icons'; + +export function NxConsoleBrand() { + return ( +
+
+
+
+ + Nx Console + + + The UI for Nx (VSCode ext.) + + + The Nx Console trademark includes the Nx Console name & logo, and + any word, phrase, image, or other designation that identifies any + Nx products. Please don’t modify the marks or use them in a + confusing way, including suggesting sponsorship or endorsement by + Nx, or in a way that confuses Nx with another brand. + +
+

+ Spelling +

+

+ The preferred written format is Nx Console.
For social media + usage, + + #NxConsole + {' '} + is an accepted format. +

+ + + + Download Nx Console assets{' '} + (zip) + + +
+ +
+
+ ); +} diff --git a/nx-dev/ui-brands/tsconfig.json b/nx-dev/ui-brands/tsconfig.json new file mode 100644 index 0000000000..95cfeb243d --- /dev/null +++ b/nx-dev/ui-brands/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "jsx": "react-jsx", + "allowJs": false, + "esModuleInterop": false, + "allowSyntheticDefaultImports": true, + "strict": true + }, + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.lib.json" + } + ], + "extends": "../../tsconfig.base.json" +} diff --git a/nx-dev/ui-brands/tsconfig.lib.json b/nx-dev/ui-brands/tsconfig.lib.json new file mode 100644 index 0000000000..cfc4843293 --- /dev/null +++ b/nx-dev/ui-brands/tsconfig.lib.json @@ -0,0 +1,24 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "types": [ + "node", + + "@nx/react/typings/cssmodule.d.ts", + "@nx/react/typings/image.d.ts" + ] + }, + "exclude": [ + "jest.config.ts", + "src/**/*.spec.ts", + "src/**/*.test.ts", + "src/**/*.spec.tsx", + "src/**/*.test.tsx", + "src/**/*.spec.js", + "src/**/*.test.js", + "src/**/*.spec.jsx", + "src/**/*.test.jsx" + ], + "include": ["src/**/*.js", "src/**/*.jsx", "src/**/*.ts", "src/**/*.tsx"] +} diff --git a/nx-dev/ui-common/src/index.ts b/nx-dev/ui-common/src/index.ts index 855d5dd4cd..545e0c5944 100644 --- a/nx-dev/ui-common/src/index.ts +++ b/nx-dev/ui-common/src/index.ts @@ -21,6 +21,7 @@ export * from './lib/x-icon'; export * from './lib/discord-icon'; export * from './lib/trusted-by'; export * from './lib/testimonials'; +export * from './lib/square-dotted-pattern'; export { resourceMenuItems } from './lib/headers/menu-items'; export { solutionsMenuItems } from './lib/headers/menu-items'; diff --git a/nx-dev/ui-common/src/lib/footer.tsx b/nx-dev/ui-common/src/lib/footer.tsx index ea332b3ea1..d92d814773 100644 --- a/nx-dev/ui-common/src/lib/footer.tsx +++ b/nx-dev/ui-common/src/lib/footer.tsx @@ -22,7 +22,7 @@ export function Footer(): JSX.Element { }, { name: 'Brands & Guidelines', - href: 'https://nx.app/brands?utm_source=nx.dev', + href: '/brands', }, { name: 'Site Map', @@ -259,11 +259,7 @@ export function Footer(): JSX.Element {

© 2024 made with{' '} by{' '} - + - +

diff --git a/nx-dev/ui-common/src/lib/headers/documentation-header.tsx b/nx-dev/ui-common/src/lib/headers/documentation-header.tsx index 98cb2b6a1a..d31067e156 100644 --- a/nx-dev/ui-common/src/lib/headers/documentation-header.tsx +++ b/nx-dev/ui-common/src/lib/headers/documentation-header.tsx @@ -20,7 +20,7 @@ import { import { SectionsMenu } from './sections-menu'; import { AnnouncementBanner } from '../announcement-banner'; import { DiscordIcon } from '../discord-icon'; -import { NxCloudIcon, NxIcon } from '@nx/nx-dev/ui-icons'; +import { NxCloudAnimatedIcon, NxIcon } from '@nx/nx-dev/ui-icons'; function Menu({ tabs }: { tabs: any[] }): JSX.Element { return ( @@ -403,7 +403,7 @@ export function DocumentationHeader({ variant="secondary" size="small" > -