diff --git a/.github/workflows/deploy-assets-to-gh-pages.yaml b/.github/workflows/deploy-assets-to-gh-pages.yaml new file mode 100644 index 0000000..89ae3b1 --- /dev/null +++ b/.github/workflows/deploy-assets-to-gh-pages.yaml @@ -0,0 +1,53 @@ +name: Deploy NR2F1 assets to GitHub Pages +run-name: ${{ github.actor }} is deploying NR2F1 assets to GitHub Pages + +on: + push: + branches: + - main + paths: + - website-assets/**/* + - .deploy-assets-to-gh-pages.yaml + - '!CHANGELOG.md' + workflow_run: + workflows: ["PR validation"] + types: + - completed + +# Sets the GITHUB_TOKEN permissions to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write +# Allow one concurrent deployment +concurrency: + group: 'pages' + cancel-in-progress: true + +jobs: + deploy-assets-to-gh-pages: + runs-on: ubuntu-latest + steps: + - name: Checkout 🛎️ + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set environment and install dependencies + uses: ./.github/actions/prepare + + - name: Build project artifacts + run: pnpm nx build website-assets + + - name: Setup Pages + uses: actions/configure-pages@v5 + + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + # Upload dist repository + path: './dist/apps/website-assets' + + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.github/workflows/deploy-website-production.yaml b/.github/workflows/deploy-website-production.yaml index 155206c..60e3e56 100644 --- a/.github/workflows/deploy-website-production.yaml +++ b/.github/workflows/deploy-website-production.yaml @@ -1,4 +1,4 @@ -name: Deploy FEWD to Vercel production +name: Deploy NR2F1 website to Verceproduction run-name: ${{ github.actor }} is deploying FEWD to vercel production on: diff --git a/nx.json b/nx.json index 7becbb7..1432e3d 100644 --- a/nx.json +++ b/nx.json @@ -12,6 +12,16 @@ "startTargetName": "start", "serveStaticTargetName": "serve-static" } + }, + { + "plugin": "@nx/vite/plugin", + "options": { + "buildTargetName": "build", + "previewTargetName": "preview", + "testTargetName": "test", + "serveTargetName": "serve", + "serveStaticTargetName": "serve-static" + } } ], "generators": { @@ -19,6 +29,11 @@ "application": { "style": "scss" } + }, + "@nx/web:application": { + "style": "css", + "unitTestRunner": "none", + "e2eTestRunner": "none" } } } diff --git a/package.json b/package.json index df135e8..f7a5405 100644 --- a/package.json +++ b/package.json @@ -41,8 +41,10 @@ "babel-jest": "^29.7.0", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", + "jsdom": "~22.1.0", "nx": "18.0.6", "sass": "1.62.1", + "swc-loader": "0.1.15", "ts-jest": "^29.1.5", "ts-node": "10.9.1", "typescript": "~5.3.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d2fc1e5..0627000 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -71,7 +71,7 @@ importers: version: 18.0.6(@babel/core@7.24.7)(@babel/traverse@7.24.7)(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@18.16.9)(js-yaml@4.1.0)(next@14.2.4(@babel/core@7.24.7)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.62.1))(nx@18.0.6(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11)))(typescript@5.3.3)(webpack@5.92.1(@swc/core@1.3.107(@swc/helpers@0.5.11))) '@nx/vite': specifier: 18.0.6 - version: 18.0.6(@babel/traverse@7.24.7)(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@18.16.9)(nx@18.0.6(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11)))(typescript@5.3.3)(vite@5.0.13(@types/node@18.16.9)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1))(vitest@1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@20.0.3)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1)) + version: 18.0.6(@babel/traverse@7.24.7)(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@18.16.9)(nx@18.0.6(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11)))(typescript@5.3.3)(vite@5.0.13(@types/node@18.16.9)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1))(vitest@1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@22.1.0)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1)) '@nx/web': specifier: 18.0.6 version: 18.0.6(@babel/traverse@7.24.7)(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@18.16.9)(nx@18.0.6(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11)))(typescript@5.3.3) @@ -101,7 +101,7 @@ importers: version: 18.2.14 '@vitest/coverage-v8': specifier: ^1.6.0 - version: 1.6.0(vitest@1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@20.0.3)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1)) + version: 1.6.0(vitest@1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@22.1.0)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1)) '@vitest/ui': specifier: ^1.6.0 version: 1.6.0(vitest@1.6.0) @@ -114,12 +114,18 @@ importers: jest-environment-jsdom: specifier: ^29.7.0 version: 29.7.0 + jsdom: + specifier: ~22.1.0 + version: 22.1.0 nx: specifier: 18.0.6 version: 18.0.6(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11)) sass: specifier: 1.62.1 version: 1.62.1 + swc-loader: + specifier: 0.1.15 + version: 0.1.15(@swc/core@1.3.107(@swc/helpers@0.5.11))(webpack@5.92.1(@swc/core@1.3.107(@swc/helpers@0.5.11))) ts-jest: specifier: ^29.1.5 version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@18.16.9)(ts-node@10.9.1(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@18.16.9)(typescript@5.3.3)))(typescript@5.3.3) @@ -134,7 +140,7 @@ importers: version: 5.0.13(@types/node@18.16.9)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1) vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@20.0.3)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1) + version: 1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@22.1.0)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1) packages: @@ -1146,8 +1152,8 @@ packages: resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@eslint/js@8.57.0': - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + '@eslint/js@8.48.0': + resolution: {integrity: sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} '@formatjs/intl-localematcher@0.5.4': @@ -2188,9 +2194,6 @@ packages: '@types/yargs@17.0.32': resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} - '@ungap/structured-clone@1.2.0': - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - '@vitest/coverage-v8@1.6.0': resolution: {integrity: sha512-KvapcbMY/8GYIG0rlwwOKCVNRc0OL20rrhFkg/CHNzncV03TE2XWvO5w9uZYoxNiMEBacAJt3unSOiZ7svePew==} peerDependencies: @@ -3040,6 +3043,10 @@ packages: resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} engines: {node: '>=8'} + cssstyle@3.0.0: + resolution: {integrity: sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==} + engines: {node: '>=14'} + csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} @@ -3051,6 +3058,10 @@ packages: resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} engines: {node: '>=12'} + data-urls@4.0.0: + resolution: {integrity: sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==} + engines: {node: '>=14'} + dataloader@2.2.2: resolution: {integrity: sha512-8YnDaaf7N3k/q5HnTJVuzSyLETjoZjVmHc4AeKAzOvKHEFQKcn64OKBfzHYtE9zGjctNM7V9I0MfnUVLpi7M5g==} @@ -3341,8 +3352,8 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + eslint@8.48.0: + resolution: {integrity: sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true @@ -4281,6 +4292,15 @@ packages: canvas: optional: true + jsdom@22.1.0: + resolution: {integrity: sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==} + engines: {node: '>=16'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + jsesc@0.5.0: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true @@ -5407,6 +5427,9 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + rrweb-cssom@0.6.0: + resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} + run-async@2.4.1: resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} engines: {node: '>=0.12.0'} @@ -5785,6 +5808,12 @@ packages: swap-case@2.0.2: resolution: {integrity: sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw==} + swc-loader@0.1.15: + resolution: {integrity: sha512-cn1WPIeQJvXM4bbo3OwdEIapsQ4uUGOfyFj0h2+2+brT0k76DCGnZXDE2KmcqTd2JSQ+b61z2NPMib7eEwMYYw==} + peerDependencies: + '@swc/core': ^1.2.52 + webpack: '>=2' + symbol-observable@4.0.0: resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==} engines: {node: '>=0.10'} @@ -5890,6 +5919,10 @@ packages: resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} engines: {node: '>=12'} + tr46@4.1.1: + resolution: {integrity: sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==} + engines: {node: '>=14'} + ts-invariant@0.10.3: resolution: {integrity: sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==} engines: {node: '>=8'} @@ -6261,6 +6294,10 @@ packages: resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} engines: {node: '>=12'} + whatwg-url@12.0.1: + resolution: {integrity: sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==} + engines: {node: '>=14'} + whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} @@ -7582,9 +7619,9 @@ snapshots: '@esbuild/win32-x64@0.19.12': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@8.48.0)': dependencies: - eslint: 8.57.0 + eslint: 8.48.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.11.0': {} @@ -7603,7 +7640,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.57.0': {} + '@eslint/js@8.48.0': {} '@formatjs/intl-localematcher@0.5.4': dependencies: @@ -8468,9 +8505,9 @@ snapshots: - '@swc/core' - debug - '@nrwl/vite@18.0.6(@babel/traverse@7.24.7)(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@18.16.9)(nx@18.0.6(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11)))(typescript@5.3.3)(vite@5.0.13(@types/node@18.16.9)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1))(vitest@1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@20.0.3)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1))': + '@nrwl/vite@18.0.6(@babel/traverse@7.24.7)(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@18.16.9)(nx@18.0.6(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11)))(typescript@5.3.3)(vite@5.0.13(@types/node@18.16.9)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1))(vitest@1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@22.1.0)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1))': dependencies: - '@nx/vite': 18.0.6(@babel/traverse@7.24.7)(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@18.16.9)(nx@18.0.6(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11)))(typescript@5.3.3)(vite@5.0.13(@types/node@18.16.9)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1))(vitest@1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@20.0.3)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1)) + '@nx/vite': 18.0.6(@babel/traverse@7.24.7)(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@18.16.9)(nx@18.0.6(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11)))(typescript@5.3.3)(vite@5.0.13(@types/node@18.16.9)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1))(vitest@1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@22.1.0)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1)) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -8556,7 +8593,7 @@ snapshots: '@nx/devkit': 18.0.6(nx@18.0.6(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11))) '@nx/js': 18.0.6(@babel/traverse@7.24.7)(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@18.16.9)(nx@18.0.6(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11)))(typescript@5.3.3) '@nx/linter': 18.0.6(@babel/traverse@7.24.7)(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@18.16.9)(js-yaml@4.1.0)(nx@18.0.6(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11))) - eslint: 8.57.0 + eslint: 8.48.0 tslib: 2.6.3 typescript: 5.3.3 optionalDependencies: @@ -8738,9 +8775,9 @@ snapshots: - typescript - verdaccio - '@nx/vite@18.0.6(@babel/traverse@7.24.7)(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@18.16.9)(nx@18.0.6(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11)))(typescript@5.3.3)(vite@5.0.13(@types/node@18.16.9)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1))(vitest@1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@20.0.3)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1))': + '@nx/vite@18.0.6(@babel/traverse@7.24.7)(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@18.16.9)(nx@18.0.6(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11)))(typescript@5.3.3)(vite@5.0.13(@types/node@18.16.9)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1))(vitest@1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@22.1.0)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1))': dependencies: - '@nrwl/vite': 18.0.6(@babel/traverse@7.24.7)(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@18.16.9)(nx@18.0.6(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11)))(typescript@5.3.3)(vite@5.0.13(@types/node@18.16.9)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1))(vitest@1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@20.0.3)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1)) + '@nrwl/vite': 18.0.6(@babel/traverse@7.24.7)(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@18.16.9)(nx@18.0.6(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11)))(typescript@5.3.3)(vite@5.0.13(@types/node@18.16.9)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1))(vitest@1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@22.1.0)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1)) '@nx/devkit': 18.0.6(nx@18.0.6(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11))) '@nx/js': 18.0.6(@babel/traverse@7.24.7)(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11))(@types/node@18.16.9)(nx@18.0.6(@swc-node/register@1.8.0(@swc/core@1.3.107(@swc/helpers@0.5.11))(@swc/types@0.1.9)(typescript@5.3.3))(@swc/core@1.3.107(@swc/helpers@0.5.11)))(typescript@5.3.3) '@phenomnomnominal/tsquery': 5.0.1(typescript@5.3.3) @@ -8748,7 +8785,7 @@ snapshots: enquirer: 2.3.6 tsconfig-paths: 4.2.0 vite: 5.0.13(@types/node@18.16.9)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1) - vitest: 1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@20.0.3)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1) + vitest: 1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@22.1.0)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1) transitivePeerDependencies: - '@babel/traverse' - '@swc-node/register' @@ -9324,9 +9361,7 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@ungap/structured-clone@1.2.0': {} - - '@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@20.0.3)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1))': + '@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@22.1.0)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -9341,7 +9376,7 @@ snapshots: std-env: 3.7.0 strip-literal: 2.1.0 test-exclude: 6.0.0 - vitest: 1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@20.0.3)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1) + vitest: 1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@22.1.0)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1) transitivePeerDependencies: - supports-color @@ -9376,7 +9411,7 @@ snapshots: pathe: 1.1.2 picocolors: 1.0.1 sirv: 2.0.4 - vitest: 1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@20.0.3)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1) + vitest: 1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@22.1.0)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1) '@vitest/utils@1.6.0': dependencies: @@ -10394,6 +10429,10 @@ snapshots: dependencies: cssom: 0.3.8 + cssstyle@3.0.0: + dependencies: + rrweb-cssom: 0.6.0 + csstype@3.1.3: {} dargs@8.1.0: {} @@ -10404,6 +10443,12 @@ snapshots: whatwg-mimetype: 3.0.0 whatwg-url: 11.0.0 + data-urls@4.0.0: + dependencies: + abab: 2.0.6 + whatwg-mimetype: 3.0.0 + whatwg-url: 12.0.1 + dataloader@2.2.2: {} debounce@1.2.1: {} @@ -10677,16 +10722,15 @@ snapshots: eslint-visitor-keys@3.4.3: {} - eslint@8.57.0: + eslint@8.48.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.48.0) '@eslint-community/regexpp': 4.11.0 '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 + '@eslint/js': 8.48.0 '@humanwhocodes/config-array': 0.11.14 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 @@ -11948,6 +11992,36 @@ snapshots: - supports-color - utf-8-validate + jsdom@22.1.0: + dependencies: + abab: 2.0.6 + cssstyle: 3.0.0 + data-urls: 4.0.0 + decimal.js: 10.4.3 + domexception: 4.0.0 + form-data: 4.0.0 + html-encoding-sniffer: 3.0.0 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.10 + parse5: 7.1.2 + rrweb-cssom: 0.6.0 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 4.1.4 + w3c-xmlserializer: 4.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 2.0.0 + whatwg-mimetype: 3.0.0 + whatwg-url: 12.0.1 + ws: 8.18.0 + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + jsesc@0.5.0: {} jsesc@2.5.2: {} @@ -13062,6 +13136,8 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.18.0 fsevents: 2.3.3 + rrweb-cssom@0.6.0: {} + run-async@2.4.1: {} run-parallel@1.2.0: @@ -13461,6 +13537,12 @@ snapshots: dependencies: tslib: 2.6.3 + swc-loader@0.1.15(@swc/core@1.3.107(@swc/helpers@0.5.11))(webpack@5.92.1(@swc/core@1.3.107(@swc/helpers@0.5.11))): + dependencies: + '@swc/core': 1.3.107(@swc/helpers@0.5.11) + loader-utils: 2.0.4 + webpack: 5.92.1(@swc/core@1.3.107(@swc/helpers@0.5.11)) + symbol-observable@4.0.0: {} symbol-tree@3.2.4: {} @@ -13548,6 +13630,10 @@ snapshots: dependencies: punycode: 2.3.1 + tr46@4.1.1: + dependencies: + punycode: 2.3.1 + ts-invariant@0.10.3: dependencies: tslib: 2.6.3 @@ -13756,7 +13842,7 @@ snapshots: stylus: 0.59.0 terser: 5.31.1 - vitest@1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@20.0.3)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1): + vitest@1.6.0(@types/node@18.16.9)(@vitest/ui@1.6.0)(jsdom@22.1.0)(less@4.1.3)(sass@1.62.1)(stylus@0.59.0)(terser@5.31.1): dependencies: '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 @@ -13781,7 +13867,7 @@ snapshots: optionalDependencies: '@types/node': 18.16.9 '@vitest/ui': 1.6.0(vitest@1.6.0) - jsdom: 20.0.3 + jsdom: 22.1.0 transitivePeerDependencies: - less - lightningcss @@ -13940,6 +14026,11 @@ snapshots: tr46: 3.0.0 webidl-conversions: 7.0.0 + whatwg-url@12.0.1: + dependencies: + tr46: 4.1.1 + webidl-conversions: 7.0.0 + whatwg-url@5.0.0: dependencies: tr46: 0.0.3 diff --git a/website-assets/.babelrc b/website-assets/.babelrc new file mode 100644 index 0000000..f2f3806 --- /dev/null +++ b/website-assets/.babelrc @@ -0,0 +1,3 @@ +{ + "presets": ["@nx/js/babel"] +} diff --git a/website-assets/.swcrc b/website-assets/.swcrc new file mode 100644 index 0000000..3281a95 --- /dev/null +++ b/website-assets/.swcrc @@ -0,0 +1,8 @@ +{ + "jsc": { + "parser": { + "syntax": "typescript" + }, + "target": "es2020" + } +} diff --git a/website-assets/index.html b/website-assets/index.html new file mode 100644 index 0000000..3587395 --- /dev/null +++ b/website-assets/index.html @@ -0,0 +1,83 @@ + + + + + + NR2F1 Foundation | Simple Storage Service (s3) + + + + + + + +
+ + nr2f1 logo + + +

Simple Storage Service (s3)

+
+
+

What is it?

+

+ Is a GitHub pages of assets that I need to use for NR2F1 foundation website. I am using it as Simple Storage + Service 😎 +

+

List of assets

+
+

Logos

+ +
+
+ + + + diff --git a/website-assets/project.json b/website-assets/project.json new file mode 100644 index 0000000..8b63e47 --- /dev/null +++ b/website-assets/project.json @@ -0,0 +1,27 @@ +{ + "name": "website-assets", + "$schema": "../node_modules/nx/schemas/project-schema.json", + "projectType": "application", + "sourceRoot": "website-assets/src", + "tags": [], + "targets": { + "build": { + "executor": "@nx/vite:build", + "options": { + "outputPath": "dist/apps/website-assets" + } + }, + "lint": { + "command": "pnpm biome check website" + }, + "format": { + "command": "pnpm biome format website" + }, + "test": { + "executor": "@nx/vite:test", + "options": { + "config": "website/vite.config.ts" + } + } + } +} diff --git a/website-assets/public/assets/.gitkeep b/website-assets/public/assets/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/website-assets/public/assets/nr2f1-foundation-logo-color-navy-text-original.png b/website-assets/public/assets/nr2f1-foundation-logo-color-navy-text-original.png new file mode 100644 index 0000000..23dc84a Binary files /dev/null and b/website-assets/public/assets/nr2f1-foundation-logo-color-navy-text-original.png differ diff --git a/website-assets/public/assets/nr2f1-foundation-logo-color-navy-text.png b/website-assets/public/assets/nr2f1-foundation-logo-color-navy-text.png new file mode 100644 index 0000000..3092d52 Binary files /dev/null and b/website-assets/public/assets/nr2f1-foundation-logo-color-navy-text.png differ diff --git a/website-assets/public/assets/nr2f1-foundation-logo-color-white-text-original.png b/website-assets/public/assets/nr2f1-foundation-logo-color-white-text-original.png new file mode 100644 index 0000000..c6c72ca Binary files /dev/null and b/website-assets/public/assets/nr2f1-foundation-logo-color-white-text-original.png differ diff --git a/website-assets/public/assets/nr2f1-foundation-logo-color-white-text.png b/website-assets/public/assets/nr2f1-foundation-logo-color-white-text.png new file mode 100644 index 0000000..c6c72ca Binary files /dev/null and b/website-assets/public/assets/nr2f1-foundation-logo-color-white-text.png differ diff --git a/website-assets/src/main.ts b/website-assets/src/main.ts new file mode 100644 index 0000000..91bf3e8 --- /dev/null +++ b/website-assets/src/main.ts @@ -0,0 +1,29 @@ +const buttons: HTMLButtonElement[] = Array.from( + document.querySelectorAll('.logos p button'), +); + +const copyTextToClipboard = async (text: string) => { + try { + await navigator.clipboard.writeText(text); + console.log('Text copied to clipboard'); + } catch (err) { + console.error('Error in copying text: ', err); + } +}; + +const changeButtonToCopied = (button: HTMLButtonElement) => + button.classList.add('copied'); + +const copyUrl = async (event: MouseEvent) => { + event.preventDefault(); + const element = event.target as HTMLButtonElement; + if (element) { + const textToCopy = element.innerText; + await copyTextToClipboard(textToCopy); + changeButtonToCopied(element); + } +}; + +for (const button of buttons) { + button.addEventListener('click', copyUrl); +} diff --git a/website-assets/src/styles/index.css b/website-assets/src/styles/index.css new file mode 100644 index 0000000..a36a3b3 --- /dev/null +++ b/website-assets/src/styles/index.css @@ -0,0 +1,4 @@ +@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap'); +@import url('./normalize.css'); +@import url('./variables.css'); +@import url('./main.css') diff --git a/website-assets/src/styles/main.css b/website-assets/src/styles/main.css new file mode 100644 index 0000000..b7a334b --- /dev/null +++ b/website-assets/src/styles/main.css @@ -0,0 +1,111 @@ +* { + box-sizing: border-box; +} + +body { + font-size: 100%; + font-family: "Nunito Sans", sans-serif; + font-optical-sizing: auto; + font-style: normal; + color: var(--navy-900); +} + +img { + display: block; + height: auto; + max-width: 100%; +} + +picture { + display: block; +} + +header { + background-color: var(--navy-900); + color: white; + padding: 1.25rem; + display: flex; + justify-content: space-between; + align-items: center; +} + +header picture { + max-width: 250px; +} + +main { + padding: 1.25rem; +} + +.logos ul { + margin: 0; + padding: 0; + list-style: none; +} + +.logos li { + display: flex; + align-items: center; + column-gap: 1.25rem; + border: 1px solid var(--border-default); + margin: 1.25rem 0; + &.inverse a { + background-color: var(--background-inverse-primary); + color: white; + } +} + +.logos a { + display: block; + margin-right: 1.25rem; +} + +.logos a[href='./assets/logos/ga-text-white-white.svg'] picture, +.logos a[href='./assets/logos/ga-white.svg'] picture { + background-color: black; +} +.logos picture { + width: 250px; +} + +.logos li p { + /* max-width: 80ch; */ +} + +.logos p span { + font-weight: bold; +} + +.logos p button { + padding: 0.2em 0.4em; + margin: 0; + font-size: 85%; + background-color: rgba(27, 31, 35, 0.05); + border-radius: 6px; + font-family: 'Monaco', monospace; + border: none; +} + +.logos p button:active, +.logos p button:focus { + background-color: rgba(27, 31, 35, 0.1); + font-weight: 700; +} + +.logos p button:after { + content: ''; + display: inline-block; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' width='16' height='16'%3E%3Cpath fill-rule='evenodd' d='M5.75 1a.75.75 0 00-.75.75v3c0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75v-3a.75.75 0 00-.75-.75h-4.5zm.75 3V2.5h3V4h-3zm-2.874-.467a.75.75 0 00-.752-1.298A1.75 1.75 0 002 3.75v9.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-9.5a1.75 1.75 0 00-.874-1.515.75.75 0 10-.752 1.298.25.25 0 01.126.217v9.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-9.5a.25.25 0 01.126-.217z' %3E%3C/path%3E%3C/svg%3E%0A"); + width: 1rem; + height: 1rem; + vertical-align: middle; +} + +.logos p button.copied { + color: lightgreen; + background-color: white; +} + +.logos p button.copied:after { + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' version='1.1' width='16' height='16'%3E%3Cstyle%3E path %7B stroke: lightgreen; fill: lightgreen; %7D %3C/style%3E%3Cpath fill-rule='evenodd' d='M5.75 1a.75.75 0 00-.75.75v3c0 .414.336.75.75.75h4.5a.75.75 0 00.75-.75v-3a.75.75 0 00-.75-.75h-4.5zm.75 3V2.5h3V4h-3zm-2.874-.467a.75.75 0 00-.752-1.298A1.75 1.75 0 002 3.75v9.5c0 .966.784 1.75 1.75 1.75h8.5A1.75 1.75 0 0014 13.25v-9.5a1.75 1.75 0 00-.874-1.515.75.75 0 10-.752 1.298.25.25 0 01.126.217v9.5a.25.25 0 01-.25.25h-8.5a.25.25 0 01-.25-.25v-9.5a.25.25 0 01.126-.217z' %3E%3C/path%3E%3C/svg%3E%0A"); +} diff --git a/website-assets/src/styles/normalize.css b/website-assets/src/styles/normalize.css new file mode 100644 index 0000000..2768db4 --- /dev/null +++ b/website-assets/src/styles/normalize.css @@ -0,0 +1,351 @@ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ + +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers. + */ + +body { + margin: 0; +} + +/** + * Render the `main` element consistently in IE. + */ + +main { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Remove the gray background on active links in IE 10. + */ + +a { + background-color: transparent; +} + +/** + * 1. Remove the bottom border in Chrome 57- + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove the border on images inside links in IE 10. + */ + +img { + border-style: none; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers. + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { + /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { + /* 1 */ + text-transform: none; +} + +/** + * Correct the inability to style clickable types in iOS and Safari. + */ + +button, +[type='button'], +[type='reset'], +[type='submit'] { + -webkit-appearance: button; +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type='button']::-moz-focus-inner, +[type='reset']::-moz-focus-inner, +[type='submit']::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type='button']:-moz-focusring, +[type='reset']:-moz-focusring, +[type='submit']:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + vertical-align: baseline; +} + +/** + * Remove the default vertical scrollbar in IE 10+. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10. + * 2. Remove the padding in IE 10. + */ + +[type='checkbox'], +[type='radio'] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type='number']::-webkit-inner-spin-button, +[type='number']::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type='search'] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding in Chrome and Safari on macOS. + */ + +[type='search']::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in Edge, IE 10+, and Firefox. + */ + +details { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ + +/** + * Add the correct display in IE 10+. + */ + +template { + display: none; +} + +/** + * Add the correct display in IE 10. + */ + +[hidden] { + display: none; +} diff --git a/website-assets/src/styles/variables.css b/website-assets/src/styles/variables.css new file mode 100644 index 0000000..68ef6a2 --- /dev/null +++ b/website-assets/src/styles/variables.css @@ -0,0 +1,7 @@ +:root { + --navy-900: rgba(13, 31, 54, 1); + --background-inverse-primary: var(--navy-900); + + --grey-300: rgba(212, 212, 212, 1); + --border-default: var(--grey-300); +} diff --git a/website-assets/tsconfig.app.json b/website-assets/tsconfig.app.json new file mode 100644 index 0000000..69672f7 --- /dev/null +++ b/website-assets/tsconfig.app.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../dist/out-tsc", + "types": ["node"] + }, + "exclude": ["src/**/*.spec.ts", "src/**/*.test.ts"], + "include": ["src/**/*.ts"] +} diff --git a/website-assets/tsconfig.json b/website-assets/tsconfig.json new file mode 100644 index 0000000..d00be96 --- /dev/null +++ b/website-assets/tsconfig.json @@ -0,0 +1,22 @@ +{ + "extends": "../tsconfig.json", + "files": [], + "compilerOptions": { + "target": "ESNext", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ESNext", "DOM"], + "moduleResolution": "Node", + "strict": true, + "resolveJsonModule": true, + "isolatedModules": true, + "esModuleInterop": true, + "noEmit": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noImplicitReturns": true, + "skipLibCheck": true, + "types": ["vite/client"] + }, + "include": ["src"] +} diff --git a/website-assets/tsconfig.spec.json b/website-assets/tsconfig.spec.json new file mode 100644 index 0000000..4f7fed6 --- /dev/null +++ b/website-assets/tsconfig.spec.json @@ -0,0 +1,26 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../dist/out-tsc", + "types": [ + "vitest/globals", + "vitest/importMeta", + "vite/client", + "node", + "vitest" + ] + }, + "include": [ + "vite.config.ts", + "vitest.config.ts", + "src/**/*.test.ts", + "src/**/*.spec.ts", + "src/**/*.test.tsx", + "src/**/*.spec.tsx", + "src/**/*.test.js", + "src/**/*.spec.js", + "src/**/*.test.jsx", + "src/**/*.spec.jsx", + "src/**/*.d.ts" + ] +} diff --git a/website-assets/vite.config.ts b/website-assets/vite.config.ts new file mode 100644 index 0000000..b7e1404 --- /dev/null +++ b/website-assets/vite.config.ts @@ -0,0 +1,39 @@ +/// +import { defineConfig } from 'vite'; + +import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin'; + +export default defineConfig({ + root: __dirname, + cacheDir: '../node_modules/.vite/website-assets', + + server: { + port: 4200, + host: 'localhost', + }, + + preview: { + port: 4300, + host: 'localhost', + }, + + plugins: [nxViteTsPaths()], + + build: { + outDir: '../dist/website-assets', + reportCompressedSize: true, + commonjsOptions: { + transformMixedEsModules: true, + }, + }, + + test: { + globals: true, + cache: { + dir: '../node_modules/.vitest', + }, + environment: 'jsdom', + exclude: ['website/src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'], + reporters: ['default'], + }, +}); diff --git a/website/vite.config.ts b/website/vite.config.ts index df8a117..5b905b9 100644 --- a/website/vite.config.ts +++ b/website/vite.config.ts @@ -7,5 +7,8 @@ export default defineConfig({ plugins: [nxViteTsPaths()], test: { reporters: ['default'], + exclude: [ + 'website-assets/src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}', + ], }, });