Compare commits
24 Commits
@verdaccio
...
@verdaccio
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4fc14eab02 | ||
|
|
a2b69a08e2 | ||
|
|
6eea70a6dd | ||
|
|
e533f1d500 | ||
|
|
45cc559f47 | ||
|
|
ce81b3e96d | ||
|
|
31d661c7bd | ||
|
|
b69333778d | ||
|
|
4dcc250fdb | ||
|
|
756a47aee0 | ||
|
|
2c45bc6e82 | ||
|
|
31050ee369 | ||
|
|
9652472780 | ||
|
|
87f903d530 | ||
|
|
8d625d25d2 | ||
|
|
a179f1fd43 | ||
|
|
a049eaa38f | ||
|
|
d2dd76260b | ||
|
|
f38c759cb2 | ||
|
|
28c3aad443 | ||
|
|
a020d4f580 | ||
|
|
160c25ddc5 | ||
|
|
1debee3e9d | ||
|
|
76d78b0328 |
5
.changeset/brown-pandas-wink.md
Normal file
5
.changeset/brown-pandas-wink.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/ui-theme': patch
|
||||
---
|
||||
|
||||
add banner support ukraine
|
||||
5
.changeset/dull-monkeys-search.md
Normal file
5
.changeset/dull-monkeys-search.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/ui-theme': patch
|
||||
---
|
||||
|
||||
show verdaccio logo in the footer even when custom brand is set
|
||||
5
.changeset/lovely-drinks-argue.md
Normal file
5
.changeset/lovely-drinks-argue.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@verdaccio/loaders': patch
|
||||
---
|
||||
|
||||
always create plugin instance with new
|
||||
@@ -50,8 +50,10 @@
|
||||
"afraid-mice-obey",
|
||||
"big-lobsters-sin",
|
||||
"bright-poems-obey",
|
||||
"brown-pandas-wink",
|
||||
"calm-pants-impress",
|
||||
"dry-planes-tap",
|
||||
"dull-monkeys-search",
|
||||
"eleven-brooms-hunt",
|
||||
"eleven-spoons-matter",
|
||||
"fair-lemons-beam",
|
||||
@@ -73,6 +75,7 @@
|
||||
"light-walls-begin",
|
||||
"little-stingrays-rule",
|
||||
"loud-shoes-jog",
|
||||
"lovely-drinks-argue",
|
||||
"many-vans-care",
|
||||
"modern-spies-tell",
|
||||
"neat-toes-report",
|
||||
|
||||
14
.github/workflows/benchmark.yml
vendored
14
.github/workflows/benchmark.yml
vendored
@@ -15,7 +15,7 @@ jobs:
|
||||
name: Prepare build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 14.x
|
||||
@@ -57,12 +57,12 @@ jobs:
|
||||
# - local
|
||||
- 3.13.1
|
||||
- 4.12.2
|
||||
- 5.5.2
|
||||
- 6.0.0-6-next.31
|
||||
- 5.7.0
|
||||
- 6.0.0-6-next.35
|
||||
name: Benchmark autocannon
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 14.x
|
||||
@@ -118,12 +118,12 @@ jobs:
|
||||
# old versions to compare same test along previous releases
|
||||
- 3.13.1
|
||||
- 4.12.2
|
||||
- 5.5.2
|
||||
- 6.0.0-6-next.31
|
||||
- 5.7.0
|
||||
- 6.0.0-6-next.35
|
||||
name: Benchmark hyperfine
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 14.x
|
||||
|
||||
2
.github/workflows/changesets.yml
vendored
2
.github/workflows/changesets.yml
vendored
@@ -20,7 +20,7 @@ jobs:
|
||||
if: github.ref == 'refs/heads/master' && github.repository == 'verdaccio/verdaccio'
|
||||
steps:
|
||||
- name: checkout code repository
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
|
||||
68
.github/workflows/ci.yml
vendored
68
.github/workflows/ci.yml
vendored
@@ -24,7 +24,7 @@ jobs:
|
||||
ports:
|
||||
- 4873:4873
|
||||
steps:
|
||||
- uses: actions/checkout@v2.4.0
|
||||
- uses: actions/checkout@v3
|
||||
- name: Use Node 16
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
@@ -49,7 +49,7 @@ jobs:
|
||||
name: Lint
|
||||
needs: prepare
|
||||
steps:
|
||||
- uses: actions/checkout@v2.4.0
|
||||
- uses: actions/checkout@v3
|
||||
- name: Use Node 16
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
@@ -69,7 +69,7 @@ jobs:
|
||||
name: Format
|
||||
needs: prepare
|
||||
steps:
|
||||
- uses: actions/checkout@v2.4.0
|
||||
- uses: actions/checkout@v3
|
||||
- name: Use Node 16
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
@@ -95,7 +95,7 @@ jobs:
|
||||
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2.4.0
|
||||
- uses: actions/checkout@v3
|
||||
- name: Use Node ${{ matrix.node_version }}
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
@@ -117,12 +117,12 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
name: UI Test E2E Node 16
|
||||
steps:
|
||||
- uses: actions/checkout@v2.4.0
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 16
|
||||
- name: Install pnpm
|
||||
run: npm i pnpm@6.24.1 -g
|
||||
run: npm i pnpm@latest -g
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/.pnpm-store
|
||||
@@ -136,38 +136,40 @@ jobs:
|
||||
run: pnpm test:e2e:ui
|
||||
# env:
|
||||
# DEBUG: verdaccio:e2e*
|
||||
ci-e2e-cli:
|
||||
needs: [format, lint]
|
||||
runs-on: ubuntu-latest
|
||||
# TODO: fails on migrate to node 16, we need to check why
|
||||
name: CLI Test E2E Node 14
|
||||
steps:
|
||||
- uses: actions/checkout@v2.4.0
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 14
|
||||
- name: Install pnpm
|
||||
run: npm i pnpm@6.24.1 -g
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: ~/.pnpm-store
|
||||
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
|
||||
- name: Install
|
||||
## we need scripts, pupetter downloads aditional content
|
||||
run: pnpm recursive install --frozen-lockfile
|
||||
- name: build
|
||||
run: pnpm build
|
||||
- name: Test CLI
|
||||
run: pnpm test:e2e:cli
|
||||
env:
|
||||
DEBUG: verdaccio*
|
||||
# FIXME verify why fails on Node 16 (locally works fine)
|
||||
# ci-e2e-cli:
|
||||
# needs: [format, lint]
|
||||
# runs-on: ubuntu-latest
|
||||
# # TODO: fails on migrate to node 16, we need to check why
|
||||
# name: CLI Test E2E Node 16
|
||||
# steps:
|
||||
# - uses: actions/checkout@v3
|
||||
# - uses: actions/setup-node@v3
|
||||
# with:
|
||||
# node-version: 16
|
||||
# - name: Install pnpm
|
||||
# run: npm i pnpm@latest -g
|
||||
# - uses: actions/cache@v2
|
||||
# with:
|
||||
# path: ~/.pnpm-store
|
||||
# key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
|
||||
# - name: Install
|
||||
# ## we need scripts, pupetter downloads aditional content
|
||||
# run: pnpm recursive install --frozen-lockfile
|
||||
# - name: build
|
||||
# run: pnpm build
|
||||
# - name: Test CLI
|
||||
# run: pnpm test:e2e:cli
|
||||
# env:
|
||||
# DEBUG: verdaccio*
|
||||
sync-translations:
|
||||
needs: [ci-e2e-cli, ci-e2e-ui]
|
||||
# needs: [ci-e2e-cli, ci-e2e-ui]
|
||||
needs: [ci-e2e-ui]
|
||||
runs-on: ubuntu-latest
|
||||
name: synchronize translations
|
||||
if: (github.event_name == 'push' && github.ref == 'refs/heads/master') || github.event_name == 'workflow_dispatch'
|
||||
steps:
|
||||
- uses: actions/checkout@v2.4.0
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 16
|
||||
|
||||
2
.github/workflows/codeql-analysis.yml
vendored
2
.github/workflows/codeql-analysis.yml
vendored
@@ -14,7 +14,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2.4.0
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
# We must fetch at least the immediate parents so that if this is
|
||||
# a pull request then we can checkout the head.
|
||||
|
||||
2
.github/workflows/contributors.yml
vendored
2
.github/workflows/contributors.yml
vendored
@@ -15,7 +15,7 @@ jobs:
|
||||
name: Run script
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
persist-credentials: false
|
||||
fetch-depth: 0
|
||||
|
||||
2
.github/workflows/docker-publish.yml
vendored
2
.github/workflows/docker-publish.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
docker:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- uses: docker/setup-qemu-action@v1
|
||||
- uses: docker/setup-buildx-action@v1
|
||||
with:
|
||||
|
||||
8
.github/workflows/website.yml
vendored
8
.github/workflows/website.yml
vendored
@@ -24,7 +24,7 @@ jobs:
|
||||
env:
|
||||
NODE_OPTIONS: --max_old_space_size=4096
|
||||
steps:
|
||||
- uses: actions/checkout@v2.4.0
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Use Node 14
|
||||
uses: actions/setup-node@v3
|
||||
@@ -41,7 +41,7 @@ jobs:
|
||||
restore-keys: |
|
||||
${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.node-version }}-
|
||||
|
||||
- uses: pnpm/action-setup@v2.1.0
|
||||
- uses: pnpm/action-setup@v2.2.1
|
||||
with:
|
||||
version: 6.10.2
|
||||
run_install: |
|
||||
@@ -97,7 +97,7 @@ jobs:
|
||||
|
||||
- name: Audit preview URL with Lighthouse
|
||||
id: lighthouse_audit
|
||||
uses: treosh/lighthouse-ci-action@v9.3.0
|
||||
uses: treosh/lighthouse-ci-action@9.3.0
|
||||
with:
|
||||
urls: |
|
||||
${{ steps.netlify_preview.outputs.preview-url }}
|
||||
@@ -106,7 +106,7 @@ jobs:
|
||||
|
||||
- name: Format lighthouse score
|
||||
id: format_lighthouse_score
|
||||
uses: actions/github-script@v3
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
github-token: ${{secrets.GITHUB_TOKEN}}
|
||||
script: |
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
[](https://donate.redcrossredcrescent.org/ua/donate/~my-donation?_cv=1)
|
||||
|
||||
> Verdaccio stands for **peace**, stop the war, we will be yellow / blue 🇺🇦 until that happens.
|
||||
|
||||

|
||||
|
||||

|
||||
@@ -26,6 +30,7 @@ Google Cloud Storage** or create your own plugin.
|
||||
|
||||
[](https://twitter.com/verdaccio_npm)
|
||||
[](https://github.com/verdaccio/verdaccio/stargazers)
|
||||
[](https://github.com/vshymanskyy/StandWithUkraine/blob/main/docs/README.md)
|
||||
|
||||
## Install
|
||||
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
"docker": "docker build -t verdaccio/verdaccio:local . --no-cache",
|
||||
"format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,yml,yaml,md}\"",
|
||||
"format:check": "prettier --check \"**/*.{js,jsx,ts,tsx,json,yml,yaml,md}\"",
|
||||
"lint": "eslint --max-warnings 44 \"**/*.{js,jsx,ts,tsx}\"",
|
||||
"lint": "eslint --max-warnings 42 \"**/*.{js,jsx,ts,tsx}\"",
|
||||
"test": "pnpm recursive test --filter ./packages",
|
||||
"test:e2e:cli": "pnpm test --filter ...@verdaccio/e2e-cli",
|
||||
"test:e2e:ui": "pnpm test --filter ...@verdaccio/e2e-ui",
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
# @verdaccio/api
|
||||
|
||||
## 6.0.0-6-next.23
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/auth@6.0.0-6-next.20
|
||||
- @verdaccio/store@6.0.0-6-next.20
|
||||
- @verdaccio/hooks@6.0.0-6-next.12
|
||||
- @verdaccio/middleware@6.0.0-6-next.20
|
||||
|
||||
## 6.0.0-6-next.22
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/api",
|
||||
"version": "6.0.0-6-next.22",
|
||||
"version": "6.0.0-6-next.23",
|
||||
"description": "loaders logic",
|
||||
"main": "./build/index.js",
|
||||
"types": "build/index.d.ts",
|
||||
@@ -39,13 +39,13 @@
|
||||
},
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@verdaccio/auth": "workspace:6.0.0-6-next.19",
|
||||
"@verdaccio/auth": "workspace:6.0.0-6-next.20",
|
||||
"@verdaccio/config": "workspace:6.0.0-6-next.12",
|
||||
"@verdaccio/core": "workspace:6.0.0-6-next.4",
|
||||
"@verdaccio/hooks": "workspace:6.0.0-6-next.12",
|
||||
"@verdaccio/logger": "workspace:6.0.0-6-next.10",
|
||||
"@verdaccio/middleware": "workspace:6.0.0-6-next.19",
|
||||
"@verdaccio/store": "workspace:6.0.0-6-next.19",
|
||||
"@verdaccio/middleware": "workspace:6.0.0-6-next.20",
|
||||
"@verdaccio/store": "workspace:6.0.0-6-next.20",
|
||||
"@verdaccio/utils": "workspace:6.0.0-6-next.10",
|
||||
"abortcontroller-polyfill": "1.7.3",
|
||||
"cookies": "0.8.0",
|
||||
@@ -58,7 +58,7 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "16.11.21",
|
||||
"@verdaccio/server": "workspace:6.0.0-6-next.27",
|
||||
"@verdaccio/server": "workspace:6.0.0-6-next.28",
|
||||
"@verdaccio/types": "workspace:11.0.0-6-next.10",
|
||||
"@verdaccio/helper": "1.0.0",
|
||||
"supertest": "6.2.2"
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @verdaccio/auth
|
||||
|
||||
## 6.0.0-6-next.20
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- Updated dependencies [31d661c7]
|
||||
- @verdaccio/loaders@6.0.0-6-next.11
|
||||
|
||||
## 6.0.0-6-next.19
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/auth",
|
||||
"version": "6.0.0-6-next.19",
|
||||
"version": "6.0.0-6-next.20",
|
||||
"description": "logger",
|
||||
"main": "./build/index.js",
|
||||
"types": "build/index.d.ts",
|
||||
@@ -41,7 +41,7 @@
|
||||
"dependencies": {
|
||||
"@verdaccio/core": "workspace:6.0.0-6-next.4",
|
||||
"@verdaccio/config": "workspace:6.0.0-6-next.12",
|
||||
"@verdaccio/loaders": "workspace:6.0.0-6-next.10",
|
||||
"@verdaccio/loaders": "workspace:6.0.0-6-next.11",
|
||||
"@verdaccio/logger": "workspace:6.0.0-6-next.10",
|
||||
"@verdaccio/utils": "workspace:6.0.0-6-next.10",
|
||||
"debug": "4.3.3",
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @verdaccio/cli
|
||||
|
||||
## 6.0.0-6-next.30
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/fastify-migration@6.0.0-6-next.21
|
||||
- @verdaccio/node-api@6.0.0-6-next.29
|
||||
|
||||
## 6.0.0-6-next.29
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/cli",
|
||||
"version": "6.0.0-6-next.29",
|
||||
"version": "6.0.0-6-next.30",
|
||||
"author": {
|
||||
"name": "Juan Picado",
|
||||
"email": "juanpicado19@gmail.com"
|
||||
@@ -47,8 +47,8 @@
|
||||
"@verdaccio/core": "workspace:6.0.0-6-next.4",
|
||||
"@verdaccio/config": "workspace:6.0.0-6-next.12",
|
||||
"@verdaccio/logger": "workspace:6.0.0-6-next.10",
|
||||
"@verdaccio/node-api": "workspace:6.0.0-6-next.28",
|
||||
"@verdaccio/fastify-migration": "workspace:6.0.0-6-next.20",
|
||||
"@verdaccio/node-api": "workspace:6.0.0-6-next.29",
|
||||
"@verdaccio/fastify-migration": "workspace:6.0.0-6-next.21",
|
||||
"clipanion": "3.1.0",
|
||||
"envinfo": "7.8.1",
|
||||
"kleur": "3.0.3",
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# @verdaccio/fastify-migration
|
||||
|
||||
## 6.0.0-6-next.21
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/auth@6.0.0-6-next.20
|
||||
- @verdaccio/store@6.0.0-6-next.20
|
||||
|
||||
## 6.0.0-6-next.20
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/fastify-migration",
|
||||
"version": "6.0.0-6-next.20",
|
||||
"version": "6.0.0-6-next.21",
|
||||
"description": "Fastify server migration package",
|
||||
"keywords": [
|
||||
"private",
|
||||
@@ -36,9 +36,9 @@
|
||||
"dependencies": {
|
||||
"@verdaccio/core": "workspace:6.0.0-6-next.4",
|
||||
"@verdaccio/config": "workspace:6.0.0-6-next.12",
|
||||
"@verdaccio/auth": "workspace:6.0.0-6-next.19",
|
||||
"@verdaccio/auth": "workspace:6.0.0-6-next.20",
|
||||
"@verdaccio/logger": "workspace:6.0.0-6-next.10",
|
||||
"@verdaccio/store": "workspace:6.0.0-6-next.19",
|
||||
"@verdaccio/store": "workspace:6.0.0-6-next.20",
|
||||
"@verdaccio/tarball": "workspace:11.0.0-6-next.11",
|
||||
"@verdaccio/utils": "workspace:6.0.0-6-next.10",
|
||||
"@verdaccio/readme": "workspace:11.0.0-6-next.4",
|
||||
|
||||
@@ -35,12 +35,11 @@
|
||||
"core-js": "3.20.3",
|
||||
"debug": "4.3.3",
|
||||
"handlebars": "4.7.7",
|
||||
"undici": "4.12.2",
|
||||
"undici-fetch": "1.0.0-rc.4"
|
||||
"undici": "4.15.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "16.11.21",
|
||||
"@verdaccio/auth": "workspace:6.0.0-6-next.19",
|
||||
"@verdaccio/auth": "workspace:6.0.0-6-next.20",
|
||||
"@verdaccio/config": "workspace:6.0.0-6-next.12",
|
||||
"@verdaccio/types": "workspace:11.0.0-6-next.10"
|
||||
},
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
import buildDebug from 'debug';
|
||||
import { fetch } from 'undici';
|
||||
|
||||
import { HTTP_STATUS } from '@verdaccio/core';
|
||||
import { logger } from '@verdaccio/logger';
|
||||
|
||||
const debug = buildDebug('verdaccio:hooks:request');
|
||||
const fetch = require('undici-fetch');
|
||||
|
||||
export type FetchOptions = {
|
||||
body: string;
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import { MockAgent, setGlobalDispatcher } from 'undici';
|
||||
|
||||
import { createRemoteUser, parseConfigFile } from '@verdaccio/config';
|
||||
import { setup } from '@verdaccio/logger';
|
||||
import { Config } from '@verdaccio/types';
|
||||
@@ -16,8 +18,6 @@ const multiNotificationConfig = parseConfigFile(parseConfigurationNotifyFile('mu
|
||||
setup([]);
|
||||
|
||||
const domain = 'http://slack-service';
|
||||
const { MockAgent } = require('undici');
|
||||
const { setGlobalDispatcher } = require('undici-fetch');
|
||||
|
||||
const options = {
|
||||
path: '/foo?auth_token=mySecretToken',
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# @verdaccio/loaders
|
||||
|
||||
## 6.0.0-6-next.11
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 31d661c7: always create plugin instance with new
|
||||
|
||||
## 6.0.0-6-next.10
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/loaders",
|
||||
"version": "6.0.0-6-next.10",
|
||||
"version": "6.0.0-6-next.11",
|
||||
"description": "loaders logic",
|
||||
"main": "./build/index.js",
|
||||
"types": "build/index.d.ts",
|
||||
|
||||
@@ -121,7 +121,7 @@ export function loadPlugin<T extends IPlugin<T>>(
|
||||
try {
|
||||
plugin = isES6(plugin)
|
||||
? new plugin.default(mergeConfig(config, pluginConfigs[pluginId]), params)
|
||||
: plugin(pluginConfigs[pluginId], params);
|
||||
: new plugin(pluginConfigs[pluginId], params);
|
||||
} catch (error: any) {
|
||||
plugin = null;
|
||||
logger.error({ error, pluginId }, 'error loading a plugin @{pluginId}: @{error}');
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# @verdaccio/middleware
|
||||
|
||||
## 6.0.0-6-next.20
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/auth@6.0.0-6-next.20
|
||||
|
||||
## 6.0.0-6-next.19
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/middleware",
|
||||
"version": "6.0.0-6-next.19",
|
||||
"version": "6.0.0-6-next.20",
|
||||
"description": "loaders logic",
|
||||
"main": "./build/index.js",
|
||||
"types": "build/index.d.ts",
|
||||
@@ -40,7 +40,7 @@
|
||||
"dependencies": {
|
||||
"debug": "4.3.3",
|
||||
"body-parser": "1.19.1",
|
||||
"@verdaccio/auth": "workspace:6.0.0-6-next.19",
|
||||
"@verdaccio/auth": "workspace:6.0.0-6-next.20",
|
||||
"@verdaccio/core": "workspace:6.0.0-6-next.4",
|
||||
"@verdaccio/logger": "workspace:6.0.0-6-next.10",
|
||||
"@verdaccio/utils": "workspace:6.0.0-6-next.10",
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
# @verdaccio/node-api
|
||||
|
||||
## 6.0.0-6-next.29
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- @verdaccio/server@6.0.0-6-next.28
|
||||
|
||||
## 6.0.0-6-next.28
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/node-api",
|
||||
"version": "6.0.0-6-next.28",
|
||||
"version": "6.0.0-6-next.29",
|
||||
"description": "node API",
|
||||
"main": "build/index.js",
|
||||
"types": "build/index.d.ts",
|
||||
@@ -42,7 +42,7 @@
|
||||
"@verdaccio/core": "workspace:6.0.0-6-next.4",
|
||||
"@verdaccio/config": "workspace:6.0.0-6-next.12",
|
||||
"@verdaccio/logger": "workspace:6.0.0-6-next.10",
|
||||
"@verdaccio/server": "workspace:6.0.0-6-next.27",
|
||||
"@verdaccio/server": "workspace:6.0.0-6-next.28",
|
||||
"core-js": "3.20.3",
|
||||
"debug": "4.3.3",
|
||||
"lodash": "4.17.21"
|
||||
|
||||
@@ -104,7 +104,7 @@ describe('HTPasswd', () => {
|
||||
done();
|
||||
};
|
||||
wrapper.authenticate('bcrypt', 'password', callback);
|
||||
});
|
||||
}, 15000);
|
||||
});
|
||||
|
||||
describe('addUser()', () => {
|
||||
|
||||
@@ -1,5 +1,17 @@
|
||||
# @verdaccio/ui-theme
|
||||
|
||||
## 6.0.0-6-next.22
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- a2b69a08: add banner support ukraine
|
||||
|
||||
## 6.0.0-6-next.21
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- a179f1fd: show verdaccio logo in the footer even when custom brand is set
|
||||
|
||||
## 6.0.0-6-next.20
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -29,6 +29,7 @@ module.exports = Object.assign({}, config, {
|
||||
'\\.(s?css)$': '<rootDir>/jest/identity.js',
|
||||
'\\.(png)$': '<rootDir>/jest/identity.js',
|
||||
'\\.(svg)$': '<rootDir>/jest/unit/empty.ts',
|
||||
'\\.(jpg)$': '<rootDir>/jest/unit/empty.ts',
|
||||
'github-markdown-css': '<rootDir>/jest/identity.js',
|
||||
// note: this section has to be on sync with webpack configuration
|
||||
'verdaccio-ui/components/(.*)': '<rootDir>/src/components/$1',
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@verdaccio/ui-theme",
|
||||
"version": "6.0.0-6-next.20",
|
||||
"version": "6.0.0-6-next.22",
|
||||
"description": "Verdaccio User Interface",
|
||||
"author": {
|
||||
"name": "Verdaccio Contributors",
|
||||
@@ -33,7 +33,7 @@
|
||||
"@testing-library/dom": "8.11.2",
|
||||
"@testing-library/jest-dom": "5.16.1",
|
||||
"@testing-library/react": "12.1.2",
|
||||
"@verdaccio/node-api": "workspace:6.0.0-6-next.28",
|
||||
"@verdaccio/node-api": "workspace:6.0.0-6-next.29",
|
||||
"@verdaccio/types": "workspace:*",
|
||||
"babel-loader": "8.2.3",
|
||||
"babel-plugin-dynamic-import-node": "2.3.3",
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/* eslint-disable react/jsx-max-depth */
|
||||
import styled from '@emotion/styled';
|
||||
import Box from '@mui/material/Box';
|
||||
import React, { Suspense, useEffect } from 'react';
|
||||
import { Router } from 'react-router-dom';
|
||||
import Box from 'verdaccio-ui/components/Box';
|
||||
import Loading from 'verdaccio-ui/components/Loading';
|
||||
import StyleBaseline from 'verdaccio-ui/design-tokens/StyleBaseline';
|
||||
import loadDayJSLocale from 'verdaccio-ui/design-tokens/load-dayjs-locale';
|
||||
|
||||
@@ -56,7 +56,7 @@ const Footer = () => {
|
||||
{configOptions?.version && (
|
||||
<>
|
||||
{t('footer.powered-by')}
|
||||
<Logo onClick={goToVerdaccioWebsite} size="x-small" />
|
||||
<Logo isDefault={true} onClick={goToVerdaccioWebsite} size="x-small" />
|
||||
{`/ ${configOptions.version}`}
|
||||
</>
|
||||
)}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import Button from '@mui/material/Button';
|
||||
import React, { useState } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { useDispatch, useSelector } from 'react-redux';
|
||||
import Button from 'verdaccio-ui/components/Button';
|
||||
import { useConfig } from 'verdaccio-ui/providers/config';
|
||||
|
||||
import { Dispatch, RootState } from '../../store/store';
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import AccountCircle from '@mui/icons-material/AccountCircle';
|
||||
import IconButton from '@mui/material/IconButton';
|
||||
import Menu from '@mui/material/Menu';
|
||||
import React, { MouseEvent } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import IconButton from 'verdaccio-ui/components/IconButton';
|
||||
import Menu from 'verdaccio-ui/components/Menu';
|
||||
import MenuItem from 'verdaccio-ui/components/MenuItem';
|
||||
|
||||
import HeaderGreetings from './HeaderGreetings';
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
import Button from '@mui/material/Button';
|
||||
import React, { MouseEvent, useContext, useEffect, useState } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import Button from 'verdaccio-ui/components/Button';
|
||||
import ThemeContext from 'verdaccio-ui/design-tokens/ThemeContext';
|
||||
|
||||
import HeaderMenu from './HeaderMenu';
|
||||
import HeaderToolTip from './HeaderToolTip';
|
||||
import { Support } from './Support';
|
||||
import { RightSide } from './styles';
|
||||
|
||||
interface Props {
|
||||
@@ -78,6 +79,7 @@ const HeaderRight: React.FC<Props> = ({
|
||||
tooltipIconType={'search'}
|
||||
/>
|
||||
)}
|
||||
<Support />
|
||||
<HeaderToolTip title={t('header.documentation')} tooltipIconType={'help'} />
|
||||
<HeaderToolTip
|
||||
onClick={onOpenRegistryInfoDialog}
|
||||
|
||||
@@ -3,8 +3,8 @@ import Info from '@mui/icons-material/Info';
|
||||
import NightsStay from '@mui/icons-material/NightsStay';
|
||||
import Search from '@mui/icons-material/Search';
|
||||
import WbSunny from '@mui/icons-material/WbSunny';
|
||||
import IconButton from '@mui/material/IconButton';
|
||||
import React, { forwardRef } from 'react';
|
||||
import IconButton from 'verdaccio-ui/components/IconButton';
|
||||
|
||||
import { IconSearchButton, StyledLink } from './styles';
|
||||
|
||||
@@ -55,7 +55,6 @@ const HeaderToolTipIcon = forwardRef<HeaderToolTipIconRef, Props>(function Heade
|
||||
</IconSearchButton>
|
||||
);
|
||||
case 'dark-mode':
|
||||
// todo(Priscila): Add Zoom transition effect
|
||||
return (
|
||||
<IconButton color="inherit" onClick={onClick} ref={ref} size="large">
|
||||
<NightsStay />
|
||||
@@ -63,7 +62,6 @@ const HeaderToolTipIcon = forwardRef<HeaderToolTipIconRef, Props>(function Heade
|
||||
);
|
||||
|
||||
case 'light-mode':
|
||||
// todo(Priscila): Add Zoom transition effect
|
||||
return (
|
||||
<IconButton color="inherit" onClick={onClick} ref={ref} size="large">
|
||||
<WbSunny />
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import Dialog from '@mui/material/Dialog';
|
||||
import DialogContent from '@mui/material/DialogContent';
|
||||
import i18next from 'i18next';
|
||||
import isEmpty from 'lodash/isEmpty';
|
||||
import React, { useCallback, useEffect } from 'react';
|
||||
import { useDispatch, useSelector } from 'react-redux';
|
||||
import Dialog from 'verdaccio-ui/components/Dialog';
|
||||
import DialogContent from 'verdaccio-ui/components/DialogContent';
|
||||
|
||||
import { LoginBody } from '../../../store/models/login';
|
||||
import { Dispatch, RootState } from '../../../store/store';
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import styled from '@emotion/styled';
|
||||
import CloseIcon from '@mui/icons-material/Close';
|
||||
import DialogTitle from '@mui/material/DialogTitle';
|
||||
import IconButton from '@mui/material/IconButton';
|
||||
import React from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import DialogTitle from 'verdaccio-ui/components/DialogTitle';
|
||||
import IconButton from 'verdaccio-ui/components/IconButton';
|
||||
import { Theme } from 'verdaccio-ui/design-tokens/theme';
|
||||
|
||||
const StyledIconButton = styled(IconButton)<{ theme?: Theme }>(({ theme }) => ({
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/* eslint-disable verdaccio/jsx-spread */
|
||||
import styled from '@emotion/styled';
|
||||
import Button from '@mui/material/Button';
|
||||
import React, { memo } from 'react';
|
||||
import { useForm } from 'react-hook-form';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import Button from 'verdaccio-ui/components/Button';
|
||||
import TextField from 'verdaccio-ui/components/TextField';
|
||||
import { Theme } from 'verdaccio-ui/design-tokens/theme';
|
||||
import { LoginError } from 'verdaccio-ui/utils/login';
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import styled from '@emotion/styled';
|
||||
import Error from '@mui/icons-material/Error';
|
||||
import Box from '@mui/material/Box';
|
||||
import SnackbarContent from '@mui/material/SnackbarContent';
|
||||
import React, { memo } from 'react';
|
||||
import Box from 'verdaccio-ui/components/Box';
|
||||
import SnackbarContent from 'verdaccio-ui/components/SnackbarContent';
|
||||
import { Theme } from 'verdaccio-ui/design-tokens/theme';
|
||||
import { LoginError } from 'verdaccio-ui/utils/login';
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import styled from '@emotion/styled';
|
||||
import CloseIcon from '@mui/icons-material/Close';
|
||||
import LockOutlined from '@mui/icons-material/LockOutlined';
|
||||
import Avatar from '@mui/material/Avatar';
|
||||
import Box from '@mui/material/Box';
|
||||
import IconButton from '@mui/material/IconButton';
|
||||
import React from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import Avatar from 'verdaccio-ui/components/Avatar';
|
||||
import Box from 'verdaccio-ui/components/Box';
|
||||
import Heading from 'verdaccio-ui/components/Heading';
|
||||
import IconButton from 'verdaccio-ui/components/IconButton';
|
||||
import { Theme } from 'verdaccio-ui/design-tokens/theme';
|
||||
|
||||
interface Props {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import Button from '@mui/material/Button';
|
||||
import Dialog from '@mui/material/Dialog';
|
||||
import DialogActions from '@mui/material/DialogActions';
|
||||
import React from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import Button from 'verdaccio-ui/components/Button';
|
||||
import Dialog from 'verdaccio-ui/components/Dialog';
|
||||
import DialogActions from 'verdaccio-ui/components/DialogActions';
|
||||
|
||||
import { Content, Title } from './styles';
|
||||
import { Props } from './types';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import styled from '@emotion/styled';
|
||||
import DialogContent from 'verdaccio-ui/components/DialogContent';
|
||||
import DialogTitle from 'verdaccio-ui/components/DialogTitle';
|
||||
import DialogContent from '@mui/material/DialogContent';
|
||||
import DialogTitle from '@mui/material/DialogTitle';
|
||||
import { Theme } from 'verdaccio-ui/design-tokens/theme';
|
||||
|
||||
export const Title = styled(DialogTitle)<{ theme?: Theme }>((props) => ({
|
||||
|
||||
139
packages/plugins/ui-theme/src/App/Header/Support/Support.tsx
Normal file
139
packages/plugins/ui-theme/src/App/Header/Support/Support.tsx
Normal file
@@ -0,0 +1,139 @@
|
||||
/* eslint-disable verdaccio/jsx-no-style */
|
||||
|
||||
/* eslint-disable react/jsx-max-depth */
|
||||
|
||||
/* eslint-disable react/jsx-pascal-case */
|
||||
import styled from '@emotion/styled';
|
||||
import { Theme } from '@mui/material';
|
||||
import Box from '@mui/material/Box';
|
||||
import Divider from '@mui/material/Divider';
|
||||
import Grid from '@mui/material/Grid';
|
||||
import IconButton from '@mui/material/IconButton';
|
||||
import Modal from '@mui/material/Modal';
|
||||
import Tooltip from '@mui/material/Tooltip';
|
||||
import Typography from '@mui/material/Typography';
|
||||
import FlagsIcon from 'country-flag-icons/react/3x2';
|
||||
import React from 'react';
|
||||
|
||||
import flag from './uk.jpg';
|
||||
|
||||
const style = {
|
||||
position: 'absolute',
|
||||
top: '50%',
|
||||
left: '50%',
|
||||
transform: 'translate(-50%, -50%)',
|
||||
bgcolor: 'background.paper',
|
||||
border: '2px solid #000',
|
||||
boxShadow: 24,
|
||||
p: 4,
|
||||
};
|
||||
|
||||
const Flags = styled('span')<{ theme?: Theme }>(() => ({
|
||||
width: '25px',
|
||||
}));
|
||||
|
||||
const title = 'Support people affected by the war in Ukraine';
|
||||
const Support = () => {
|
||||
const [open, setOpen] = React.useState(false);
|
||||
const handleOpen = () => setOpen(true);
|
||||
const handleClose = () => setOpen(false);
|
||||
return (
|
||||
<>
|
||||
<Tooltip title={title}>
|
||||
<IconButton color="inherit" onClick={handleOpen} size="large">
|
||||
<Flags>
|
||||
<FlagsIcon.UA />
|
||||
</Flags>
|
||||
</IconButton>
|
||||
</Tooltip>
|
||||
<Modal
|
||||
aria-describedby="modal-modal-description"
|
||||
aria-labelledby="modal-modal-title"
|
||||
onClose={handleClose}
|
||||
open={open}
|
||||
>
|
||||
<Box sx={style}>
|
||||
<Grid container={true} spacing={2}>
|
||||
<Grid item={true} xs={12}>
|
||||
<Typography component="h2" variant="h6">
|
||||
{title}
|
||||
</Typography>
|
||||
<Divider />
|
||||
</Grid>
|
||||
<Grid item={true} lg={4} xs={12}>
|
||||
<img alt={title} height="150" src={flag} />
|
||||
</Grid>
|
||||
<Grid item={true} lg={8} xs={12}>
|
||||
<span style={{ fontStyle: 'italic', fontSize: '0.75rem' }}>
|
||||
<Typography>
|
||||
{`Hi, this is a message that I've composed to call your attention to ask
|
||||
for humanitarian support for more than 44 million Ukrainians that are having
|
||||
a hard time suffering for a horrible and unjustified war. It would be great if you
|
||||
decide today to make a difference and help others. You could help by donating
|
||||
to very well-known humanitarian organizations, helping in your local
|
||||
area with food, clothes, donate blood, toys for kids, or your own time. Any help is very welcome.`}
|
||||
</Typography>
|
||||
</span>
|
||||
<ul style={{ padding: '10px 0' }}>
|
||||
<li>
|
||||
<a
|
||||
href="https://twitter.com/denysdovhan/status/1501486563842211843"
|
||||
rel="noreferrer"
|
||||
target="_blank"
|
||||
>
|
||||
{'Listen at Twitter OSS developers about the war'}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
href="https://snyk.io/blog/celebrating-amazing-open-source-innovation-ukraine/"
|
||||
rel="noreferrer"
|
||||
target="_blank"
|
||||
>
|
||||
{'Learn more about Open Source developers in Ukraine'}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
href="https://www.savethechildren.org/us/where-we-work/ukraine/"
|
||||
rel="noreferrer"
|
||||
target="_blank"
|
||||
>
|
||||
{'Donate to Save the Children'}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://www.ifrc.org/" rel="noreferrer" target="_blank">
|
||||
{'Donate to the International Red Cross'}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
href="https://www.hrw.org/news/2022/03/10/ukraine-russian-air-dropped-bombs-hit-residential-area/"
|
||||
rel="noreferrer"
|
||||
target="_blank"
|
||||
>
|
||||
{'Read Reports from Human Rights Watch'}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://europeanbloodalliance.eu/" rel="noreferrer" target="_blank">
|
||||
{'Donate blood in Europe'}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div>
|
||||
<Typography variant="div">{`Spread the voice, make the difference today.`}</Typography>
|
||||
</div>
|
||||
<div style={{ padding: '10px 0', fontWeight: 600 }}>
|
||||
<Typography variant="div">{`Att: Verdaccio Lead Mantainer, Juan P.`}</Typography>
|
||||
</div>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Box>
|
||||
</Modal>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
export { Support };
|
||||
@@ -0,0 +1,3 @@
|
||||
import { Support } from './Support';
|
||||
|
||||
export { Support };
|
||||
BIN
packages/plugins/ui-theme/src/App/Header/Support/uk.jpg
Normal file
BIN
packages/plugins/ui-theme/src/App/Header/Support/uk.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 9.2 KiB |
@@ -1,7 +1,7 @@
|
||||
import { css } from '@emotion/react';
|
||||
import styled from '@emotion/styled';
|
||||
import IconButton from '@mui/material/IconButton';
|
||||
import AppBar from 'verdaccio-ui/components/AppBar';
|
||||
import IconButton from 'verdaccio-ui/components/IconButton';
|
||||
import Link from 'verdaccio-ui/components/Link';
|
||||
import Toolbar from 'verdaccio-ui/components/Toolbar';
|
||||
import { Theme } from 'verdaccio-ui/design-tokens/theme';
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import Box from '@mui/material/Box';
|
||||
import React from 'react';
|
||||
import { isURL } from 'verdaccio-ui/utils/url';
|
||||
|
||||
import { DetailContext } from '../../pages/Version';
|
||||
import Box from '../Box';
|
||||
import ActionBarAction, { ActionBarActionProps } from './ActionBarAction';
|
||||
|
||||
/* eslint-disable verdaccio/jsx-spread */
|
||||
|
||||
@@ -18,7 +18,7 @@ exports[`<ActionBar /> component should render the component in default state 1`
|
||||
font-family: -apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
|
||||
font-weight: 400;
|
||||
font-size: 1rem;
|
||||
line-height: 1.75;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.emotion-3 {
|
||||
@@ -162,8 +162,8 @@ exports[`<ActionBar /> component should render the component in default state 1`
|
||||
rel="noopener noreferrer"
|
||||
target="_blank"
|
||||
>
|
||||
<span
|
||||
class="MuiTypography-root MuiTypography-subtitle1 emotion-1"
|
||||
<p
|
||||
class="MuiTypography-root MuiTypography-body1 emotion-1"
|
||||
>
|
||||
<button
|
||||
class="MuiButtonBase-root MuiFab-root MuiFab-circular MuiFab-sizeSmall emotion-2 emotion-3"
|
||||
@@ -186,7 +186,7 @@ exports[`<ActionBar /> component should render the component in default state 1`
|
||||
class="MuiTouchRipple-root emotion-5"
|
||||
/>
|
||||
</button>
|
||||
</span>
|
||||
</p>
|
||||
</a>
|
||||
<a
|
||||
aria-label="Open an issue"
|
||||
@@ -196,8 +196,8 @@ exports[`<ActionBar /> component should render the component in default state 1`
|
||||
rel="noopener noreferrer"
|
||||
target="_blank"
|
||||
>
|
||||
<span
|
||||
class="MuiTypography-root MuiTypography-subtitle1 emotion-1"
|
||||
<p
|
||||
class="MuiTypography-root MuiTypography-body1 emotion-1"
|
||||
>
|
||||
<button
|
||||
class="MuiButtonBase-root MuiFab-root MuiFab-circular MuiFab-sizeSmall emotion-2 emotion-3"
|
||||
@@ -220,7 +220,7 @@ exports[`<ActionBar /> component should render the component in default state 1`
|
||||
class="MuiTouchRipple-root emotion-5"
|
||||
/>
|
||||
</button>
|
||||
</span>
|
||||
</p>
|
||||
</a>
|
||||
<button
|
||||
aria-label="Download tarball"
|
||||
|
||||
@@ -1,10 +1,3 @@
|
||||
import { AppBarProps, default as MaterialUIAppBar } from '@mui/material/AppBar';
|
||||
import React, { forwardRef } from 'react';
|
||||
import { default as MaterialUIAppBar } from '@mui/material/AppBar';
|
||||
|
||||
type AppBarRef = HTMLElementTagNameMap[keyof HTMLElementTagNameMap];
|
||||
|
||||
const AppBar = forwardRef<AppBarRef, AppBarProps>(function AppBar(props, ref) {
|
||||
return <MaterialUIAppBar {...props} ref={ref} />;
|
||||
});
|
||||
|
||||
export default AppBar;
|
||||
export default MaterialUIAppBar;
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
import Avatar from '@mui/material/Avatar';
|
||||
import List from '@mui/material/List';
|
||||
import React, { FC, useContext } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { getAuthorName } from 'verdaccio-ui/utils/package';
|
||||
import { isEmail } from 'verdaccio-ui/utils/url';
|
||||
|
||||
import { DetailContext } from '../../pages/Version';
|
||||
import List from '../List';
|
||||
import { AuthorListItem, AuthorListItemText, StyledText } from './styles';
|
||||
|
||||
const Author: FC = () => {
|
||||
|
||||
@@ -215,11 +215,11 @@ Object {
|
||||
<ul
|
||||
class="MuiList-root MuiList-padding MuiList-subheader emotion-0"
|
||||
>
|
||||
<span
|
||||
<h6
|
||||
class="MuiTypography-root MuiTypography-subtitle1 emotion-1 emotion-2"
|
||||
>
|
||||
Author
|
||||
</span>
|
||||
</h6>
|
||||
<div
|
||||
class="MuiButtonBase-root MuiListItem-root MuiListItem-gutters MuiListItem-padding MuiListItem-button emotion-3 emotion-4"
|
||||
role="button"
|
||||
@@ -466,11 +466,11 @@ Object {
|
||||
<ul
|
||||
class="MuiList-root MuiList-padding MuiList-subheader emotion-0"
|
||||
>
|
||||
<span
|
||||
<h6
|
||||
class="MuiTypography-root MuiTypography-subtitle1 emotion-1 emotion-2"
|
||||
>
|
||||
Author
|
||||
</span>
|
||||
</h6>
|
||||
<div
|
||||
class="MuiButtonBase-root MuiListItem-root MuiListItem-gutters MuiListItem-padding MuiListItem-button emotion-3 emotion-4"
|
||||
role="button"
|
||||
@@ -774,11 +774,11 @@ Object {
|
||||
<ul
|
||||
class="MuiList-root MuiList-padding MuiList-subheader emotion-0"
|
||||
>
|
||||
<span
|
||||
<h6
|
||||
class="MuiTypography-root MuiTypography-subtitle1 emotion-1 emotion-2"
|
||||
>
|
||||
Author
|
||||
</span>
|
||||
</h6>
|
||||
<div
|
||||
class="MuiButtonBase-root MuiListItem-root MuiListItem-gutters MuiListItem-padding MuiListItem-button emotion-3 emotion-4"
|
||||
role="button"
|
||||
@@ -1020,11 +1020,11 @@ Object {
|
||||
<ul
|
||||
class="MuiList-root MuiList-padding MuiList-subheader emotion-0"
|
||||
>
|
||||
<span
|
||||
<h6
|
||||
class="MuiTypography-root MuiTypography-subtitle1 emotion-1 emotion-2"
|
||||
>
|
||||
Author
|
||||
</span>
|
||||
</h6>
|
||||
<div
|
||||
class="MuiButtonBase-root MuiListItem-root MuiListItem-gutters MuiListItem-padding MuiListItem-button emotion-3 emotion-4"
|
||||
role="button"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import styled from '@emotion/styled';
|
||||
import ListItem from '@mui/material/ListItem';
|
||||
import ListItemText from '@mui/material/ListItemText';
|
||||
import { Theme } from 'verdaccio-ui/design-tokens/theme';
|
||||
|
||||
import ListItem from '../ListItem';
|
||||
import ListItemText from '../ListItemText';
|
||||
import Text from '../Text';
|
||||
|
||||
export const StyledText = styled(Text)<{ theme?: Theme }>((props) => ({
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
import { default as MaterialUIAvatar } from '@mui/material/Avatar';
|
||||
|
||||
export default MaterialUIAvatar;
|
||||
@@ -1,8 +0,0 @@
|
||||
import { BoxProps, default as MaterialUIBox } from '@mui/material/Box';
|
||||
import React from 'react';
|
||||
|
||||
function Box(props: BoxProps) {
|
||||
return <MaterialUIBox {...props} />;
|
||||
}
|
||||
|
||||
export default Box;
|
||||
@@ -1,10 +0,0 @@
|
||||
import { ButtonProps, default as MaterialUIButton } from '@mui/material/Button';
|
||||
import React, { forwardRef } from 'react';
|
||||
|
||||
type ButtonRef = HTMLButtonElement;
|
||||
|
||||
const Button = forwardRef<ButtonRef, ButtonProps>(function Button(props, ref) {
|
||||
return <MaterialUIButton {...props} ref={ref} />;
|
||||
});
|
||||
|
||||
export default Button;
|
||||
@@ -1,10 +0,0 @@
|
||||
import { CardProps, default as MaterialUICard } from '@mui/material/Card';
|
||||
import React, { forwardRef } from 'react';
|
||||
|
||||
type CardRef = HTMLDivElement;
|
||||
|
||||
const Card = forwardRef<CardRef, CardProps>(function Card(props, ref) {
|
||||
return <MaterialUICard {...props} ref={ref} />;
|
||||
});
|
||||
|
||||
export default Card;
|
||||
@@ -1,13 +0,0 @@
|
||||
import { CardActionsProps, default as MaterialUICardActions } from '@mui/material/CardActions';
|
||||
import React, { forwardRef } from 'react';
|
||||
|
||||
type CardActionsRef = HTMLDivElement;
|
||||
|
||||
const CardActions = forwardRef<CardActionsRef, CardActionsProps>(function CardContentActions(
|
||||
props,
|
||||
ref
|
||||
) {
|
||||
return <MaterialUICardActions {...props} innerRef={ref} />;
|
||||
});
|
||||
|
||||
export default CardActions;
|
||||
@@ -1,10 +0,0 @@
|
||||
import { CardContentProps, default as MaterialUICardContent } from '@mui/material/CardContent';
|
||||
import React, { forwardRef } from 'react';
|
||||
|
||||
type CardContentRef = HTMLElementTagNameMap[keyof HTMLElementTagNameMap];
|
||||
|
||||
const CardContent = forwardRef<CardContentRef, CardContentProps>(function CardContent(props) {
|
||||
return <MaterialUICardContent {...props} />;
|
||||
});
|
||||
|
||||
export default CardContent;
|
||||
@@ -1,10 +0,0 @@
|
||||
import { ChipProps, default as MaterialUIChip } from '@mui/material/Chip';
|
||||
import React, { forwardRef } from 'react';
|
||||
|
||||
type ChipRef = HTMLElementTagNameMap[keyof HTMLElementTagNameMap];
|
||||
|
||||
const Chip = forwardRef<ChipRef, ChipProps>(function Chip(props) {
|
||||
return <MaterialUIChip {...props} />;
|
||||
});
|
||||
|
||||
export default Chip;
|
||||
@@ -1,15 +0,0 @@
|
||||
import {
|
||||
CircularProgressProps,
|
||||
default as MaterialUICircularProgress,
|
||||
} from '@mui/material/CircularProgress';
|
||||
import React, { forwardRef } from 'react';
|
||||
|
||||
type CircularProgressRef = HTMLDivElement;
|
||||
|
||||
const CircularProgress = forwardRef<CircularProgressRef, CircularProgressProps>(
|
||||
function CircularProgress(props, ref) {
|
||||
return <MaterialUICircularProgress {...props} ref={ref} />;
|
||||
}
|
||||
);
|
||||
|
||||
export default CircularProgress;
|
||||
@@ -1,12 +1,11 @@
|
||||
import styled from '@emotion/styled';
|
||||
import FileCopy from '@mui/icons-material/FileCopy';
|
||||
import IconButton from '@mui/material/IconButton';
|
||||
import Tooltip from '@mui/material/Tooltip';
|
||||
import React from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { copyToClipBoardUtility } from 'verdaccio-ui/utils/cli-utils';
|
||||
|
||||
import IconButton from './IconButton';
|
||||
import Tooltip from './Tooltip';
|
||||
|
||||
interface Props {
|
||||
text: string;
|
||||
children?: React.ReactNode;
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
import { DialogProps, default as MaterialUIDialog } from '@mui/material/Dialog';
|
||||
import React, { forwardRef } from 'react';
|
||||
|
||||
type DialogRef = HTMLDivElement;
|
||||
|
||||
const Dialog = forwardRef<DialogRef, DialogProps>(function Dialog(props, ref) {
|
||||
return <MaterialUIDialog {...props} ref={ref} />;
|
||||
});
|
||||
|
||||
export default Dialog;
|
||||
@@ -1,16 +0,0 @@
|
||||
import {
|
||||
DialogActionsProps,
|
||||
default as MaterialUIDialogActions,
|
||||
} from '@mui/material/DialogActions';
|
||||
import React, { forwardRef } from 'react';
|
||||
|
||||
type DialogActionsRef = HTMLDivElement;
|
||||
|
||||
const DialogActions = forwardRef<DialogActionsRef, DialogActionsProps>(function DialogActions(
|
||||
props,
|
||||
ref
|
||||
) {
|
||||
return <MaterialUIDialogActions {...props} ref={ref} />;
|
||||
});
|
||||
|
||||
export default DialogActions;
|
||||
@@ -1,16 +0,0 @@
|
||||
import {
|
||||
DialogContentProps,
|
||||
default as MaterialUIDialogContent,
|
||||
} from '@mui/material/DialogContent';
|
||||
import React, { forwardRef } from 'react';
|
||||
|
||||
type DialogContentRef = HTMLDivElement;
|
||||
|
||||
const DialogContent = forwardRef<DialogContentRef, DialogContentProps>(function DialogContent(
|
||||
props,
|
||||
ref
|
||||
) {
|
||||
return <MaterialUIDialogContent {...props} ref={ref} />;
|
||||
});
|
||||
|
||||
export default DialogContent;
|
||||
@@ -1,10 +0,0 @@
|
||||
import { DialogTitleProps, default as MaterialUIDialogTitle } from '@mui/material/DialogTitle';
|
||||
import React, { forwardRef } from 'react';
|
||||
|
||||
type DialogTitleRef = HTMLDivElement;
|
||||
|
||||
const DialogTitle = forwardRef<DialogTitleRef, DialogTitleProps>(function DialogTitle(props, ref) {
|
||||
return <MaterialUIDialogTitle {...props} ref={ref} />;
|
||||
});
|
||||
|
||||
export default DialogTitle;
|
||||
@@ -1,10 +0,0 @@
|
||||
import { DividerProps, default as MaterialUIDivider } from '@mui/material/Divider';
|
||||
import React, { forwardRef } from 'react';
|
||||
|
||||
type DividerRef = HTMLElementTagNameMap[keyof HTMLElementTagNameMap];
|
||||
|
||||
const Divider = forwardRef<DividerRef, DividerProps>(function Divider(props, ref) {
|
||||
return <MaterialUIDivider {...props} innerRef={ref} />;
|
||||
});
|
||||
|
||||
export default Divider;
|
||||
@@ -1,12 +1,8 @@
|
||||
import { FabProps, default as MaterialUIFab } from '@mui/material/Fab';
|
||||
import React, { forwardRef } from 'react';
|
||||
import Fab from '@mui/material/Fab';
|
||||
import React from 'react';
|
||||
|
||||
type FloatingActionButtonRef = HTMLButtonElement;
|
||||
|
||||
const FloatingActionButton = forwardRef<FloatingActionButtonRef, FabProps>(
|
||||
function FloatingActionButton(props, ref) {
|
||||
return <MaterialUIFab {...props} ref={ref} data-testid="fab" />;
|
||||
}
|
||||
);
|
||||
const FloatingActionButton = (props) => {
|
||||
return <Fab {...props} data-testid="fab" />;
|
||||
};
|
||||
|
||||
export default FloatingActionButton;
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
import { FormControlProps, default as MaterialUIFormControl } from '@mui/material/FormControl';
|
||||
import React, { forwardRef } from 'react';
|
||||
|
||||
type FormControlRef = HTMLElementTagNameMap[keyof HTMLElementTagNameMap];
|
||||
|
||||
const FormControl = forwardRef<FormControlRef, FormControlProps>(function FormControl(props, ref) {
|
||||
return <MaterialUIFormControl {...props} innerRef={ref} />;
|
||||
});
|
||||
|
||||
export default FormControl;
|
||||
@@ -1,16 +1,3 @@
|
||||
import {
|
||||
FormHelperTextProps,
|
||||
default as MaterialUIFormHelperText,
|
||||
} from '@mui/material/FormHelperText';
|
||||
import React, { forwardRef } from 'react';
|
||||
import { default as MaterialUIFormHelperText } from '@mui/material/FormHelperText';
|
||||
|
||||
type FormHelperTextRef = HTMLParagraphElement;
|
||||
|
||||
const FormHelperText = forwardRef<FormHelperTextRef, FormHelperTextProps>(function FormHelperText(
|
||||
props,
|
||||
ref
|
||||
) {
|
||||
return <MaterialUIFormHelperText {...props} ref={ref} />;
|
||||
});
|
||||
|
||||
export default FormHelperText;
|
||||
export default MaterialUIFormHelperText;
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
import { GridProps, default as MaterialUIGrid } from '@mui/material/Grid';
|
||||
import React, { forwardRef } from 'react';
|
||||
|
||||
type GridRef = HTMLElementTagNameMap[keyof HTMLElementTagNameMap];
|
||||
|
||||
const Grid = forwardRef<GridRef, GridProps>(function Grid(props, ref) {
|
||||
return <MaterialUIGrid {...props} innerRef={ref} />;
|
||||
});
|
||||
|
||||
export default Grid;
|
||||
@@ -1,10 +0,0 @@
|
||||
import { IconButtonProps, default as MaterialUIIconButton } from '@mui/material/IconButton';
|
||||
import React, { forwardRef } from 'react';
|
||||
|
||||
type IconButtonRef = HTMLButtonElement;
|
||||
|
||||
const IconButton = forwardRef<IconButtonRef, IconButtonProps>(function IconButton(props, ref) {
|
||||
return <MaterialUIIconButton {...props} ref={ref} />;
|
||||
});
|
||||
|
||||
export default IconButton;
|
||||
@@ -1,10 +1,3 @@
|
||||
import { InputProps, default as MaterialUIInput } from '@mui/material/Input';
|
||||
import React, { forwardRef } from 'react';
|
||||
import { default as MaterialUIInput } from '@mui/material/Input';
|
||||
|
||||
type InputRef = HTMLDivElement;
|
||||
|
||||
const Input = forwardRef<InputRef, InputProps>(function Input(props, ref) {
|
||||
return <MaterialUIInput {...props} ref={ref} />;
|
||||
});
|
||||
|
||||
export default Input;
|
||||
export default MaterialUIInput;
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
import {
|
||||
InputAdornmentProps,
|
||||
default as MaterialUIInputAdornment,
|
||||
} from '@mui/material/InputAdornment';
|
||||
import React, { forwardRef } from 'react';
|
||||
|
||||
type InputAdornmentRef = HTMLDivElement;
|
||||
|
||||
const InputAdornment = forwardRef<InputAdornmentRef, InputAdornmentProps>(function InputAdornment(
|
||||
props,
|
||||
ref
|
||||
) {
|
||||
return <MaterialUIInputAdornment {...props} ref={ref} />;
|
||||
});
|
||||
|
||||
export default InputAdornment;
|
||||
@@ -1 +0,0 @@
|
||||
export { default } from './InputAdornment';
|
||||
@@ -1,10 +0,0 @@
|
||||
import { InputLabelProps, default as MaterialUIInputLabel } from '@mui/material/InputLabel';
|
||||
import React, { forwardRef } from 'react';
|
||||
|
||||
type InputLabelRef = HTMLLabelElement;
|
||||
|
||||
const InputLabel = forwardRef<InputLabelRef, InputLabelProps>(function InputLabel(props, ref) {
|
||||
return <MaterialUIInputLabel {...props} ref={ref} />;
|
||||
});
|
||||
|
||||
export default InputLabel;
|
||||
@@ -1,10 +0,0 @@
|
||||
import { ListProps, default as MaterialUIList } from '@mui/material/List';
|
||||
import React, { forwardRef } from 'react';
|
||||
|
||||
type ListRef = HTMLUListElement;
|
||||
|
||||
const List = forwardRef<ListRef, ListProps>(function List(props, ref) {
|
||||
return <MaterialUIList {...props} ref={ref} />;
|
||||
});
|
||||
|
||||
export default List;
|
||||
@@ -1,23 +0,0 @@
|
||||
import { ListItemProps, default as MaterialUIListItem } from '@mui/material/ListItem';
|
||||
import React, { forwardRef } from 'react';
|
||||
|
||||
type ListItemRef<T extends boolean = false> = T extends true ? HTMLDivElement : HTMLLIElement;
|
||||
|
||||
interface Props<T extends boolean = false> extends Omit<ListItemProps, 'button'> {
|
||||
button?: T;
|
||||
}
|
||||
|
||||
const ListItem = forwardRef(function ListItem<T extends boolean>(
|
||||
{ button, ...props }: Props<T>,
|
||||
ref: React.Ref<ListItemRef<T>>
|
||||
) {
|
||||
// it seems typescript has some discrimination type limitions. Please see: https://github.com/mui-org/material-ui/issues/14971
|
||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||
return <MaterialUIListItem {...props} button={button as any} innerRef={ref} />;
|
||||
});
|
||||
|
||||
ListItem.defaultProps = {
|
||||
button: false,
|
||||
};
|
||||
|
||||
export default ListItem;
|
||||
@@ -1,13 +0,0 @@
|
||||
import { ListItemTextProps, default as MaterialUIListItemText } from '@mui/material/ListItemText';
|
||||
import React, { forwardRef } from 'react';
|
||||
|
||||
type ListItemTextRef = HTMLDivElement;
|
||||
|
||||
const ListItemText = forwardRef<ListItemTextRef, ListItemTextProps>(function ListItemText(
|
||||
props,
|
||||
ref
|
||||
) {
|
||||
return <MaterialUIListItemText {...props} ref={ref} />;
|
||||
});
|
||||
|
||||
export default ListItemText;
|
||||
@@ -1,9 +1,8 @@
|
||||
import styled from '@emotion/styled';
|
||||
import CircularProgress from '@mui/material/CircularProgress';
|
||||
import React from 'react';
|
||||
import { Theme } from 'verdaccio-ui/design-tokens/theme';
|
||||
|
||||
import CircularProgress from '../../CircularProgress';
|
||||
|
||||
interface Props {
|
||||
size?: number;
|
||||
centered?: boolean;
|
||||
|
||||
@@ -3,8 +3,8 @@ import React from 'react';
|
||||
import { Theme } from 'verdaccio-ui/design-tokens/theme';
|
||||
import { useConfig } from 'verdaccio-ui/providers/config';
|
||||
|
||||
import blackAndWithLogo from './img/logo-black-and-white.svg';
|
||||
import defaultLogo from './img/logo.svg';
|
||||
import blackAndWithLogo from './img/logo-uk.svg';
|
||||
import defaultLogo from './img/logo-uk.svg';
|
||||
|
||||
const sizes = {
|
||||
'x-small': '30px',
|
||||
@@ -21,11 +21,12 @@ interface Props {
|
||||
size?: keyof typeof sizes;
|
||||
onClick?: () => void;
|
||||
className?: string;
|
||||
isDefault?: boolean;
|
||||
}
|
||||
|
||||
const Logo: React.FC<Props> = ({ size, onClick, className }) => {
|
||||
const Logo: React.FC<Props> = ({ size, onClick, className, isDefault = false }) => {
|
||||
const { configOptions } = useConfig();
|
||||
if (configOptions?.logo) {
|
||||
if (!isDefault && configOptions?.logo) {
|
||||
return (
|
||||
<ImageLogo onClick={onClick} className={className}>
|
||||
<img alt="logo" height="40px" src={configOptions.logo} />
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
<svg width="100" height="100" viewBox="0 0 100 100" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect width="100" height="100" rx="37" fill="#F7F8F6"/>
|
||||
<g filter="url(#filter0_d_0_18)">
|
||||
<mask id="path-2-inside-1_0_18" fill="white">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M70 46.6L54.8 77H46L22.4 29.8L37.6 29.8L50.4 55.4L54.8 46.6H70Z"/>
|
||||
</mask>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M70 46.6L54.8 77H46L22.4 29.8L37.6 29.8L50.4 55.4L54.8 46.6H70Z" fill="#005EB8"/>
|
||||
<path d="M70 46.6L72.1466 47.6733L73.8833 44.2H70V46.6ZM54.8 77V79.4H56.2833L56.9466 78.0733L54.8 77ZM46 77L43.8534 78.0733L44.5167 79.4H46V77ZM22.4 29.8V27.4H18.5167L20.2534 30.8733L22.4 29.8ZM37.6 29.8L39.7466 28.7267L39.0833 27.4H37.6V29.8ZM50.4 55.4L48.2534 56.4733L50.4 60.7666L52.5466 56.4733L50.4 55.4ZM54.8 46.6V44.2H53.3167L52.6534 45.5267L54.8 46.6ZM67.8534 45.5267L52.6534 75.9267L56.9466 78.0733L72.1466 47.6733L67.8534 45.5267ZM54.8 74.6H46V79.4H54.8V74.6ZM48.1466 75.9267L24.5466 28.7267L20.2534 30.8733L43.8534 78.0733L48.1466 75.9267ZM22.4 32.2L37.6 32.2V27.4L22.4 27.4V32.2ZM35.4534 30.8733L48.2534 56.4733L52.5466 54.3267L39.7466 28.7267L35.4534 30.8733ZM52.5466 56.4733L56.9466 47.6733L52.6534 45.5267L48.2534 54.3267L52.5466 56.4733ZM54.8 49H70V44.2H54.8V49Z" fill="#005EB8" mask="url(#path-2-inside-1_0_18)"/>
|
||||
</g>
|
||||
<g filter="url(#filter1_d_0_18)">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M72.8 41H57.6L63.2 29.8L78.4 29.8L72.8 41Z" fill="#005EB8"/>
|
||||
<path d="M76.4584 31L72.0584 39.8H59.5416L63.9416 31H76.4584Z" stroke="#005EB8" stroke-width="2.4"/>
|
||||
</g>
|
||||
<path d="M56.6351 70.688L54.0607 75.8H46.7416L24.3416 31H36.8573L56.6351 70.688Z" fill="#FFD101" stroke="#FFD101" stroke-width="2.4"/>
|
||||
<path d="M59.6 31H74.821" stroke="#005EB8" stroke-width="2.4" stroke-linecap="square"/>
|
||||
<path d="M55.6 35H70.821" stroke="#005EB8" stroke-width="2.4" stroke-linecap="square"/>
|
||||
<path d="M51.6 39.8H66.821" stroke="#005EB8" stroke-width="2.4" stroke-linecap="square"/>
|
||||
<defs>
|
||||
<filter id="filter0_d_0_18" x="17.4" y="28.8" width="57.6" height="57.2" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset dy="4"/>
|
||||
<feGaussianBlur stdDeviation="2.5"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0906646 0"/>
|
||||
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_0_18"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_0_18" result="shape"/>
|
||||
</filter>
|
||||
<filter id="filter1_d_0_18" x="52.6" y="28.8" width="30.8" height="21.2" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset dy="4"/>
|
||||
<feGaussianBlur stdDeviation="2.5"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0906646 0"/>
|
||||
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_0_18"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_0_18" result="shape"/>
|
||||
</filter>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.2 KiB |
@@ -1,10 +0,0 @@
|
||||
import { default as MaterialUIMenu, MenuProps } from '@mui/material/Menu';
|
||||
import React, { forwardRef } from 'react';
|
||||
|
||||
type MenuRef = HTMLDivElement;
|
||||
|
||||
const Menu = forwardRef<MenuRef, MenuProps>(function Menu(props, ref) {
|
||||
return <MaterialUIMenu {...props} ref={ref} />;
|
||||
});
|
||||
|
||||
export default Menu;
|
||||
@@ -1,11 +1,11 @@
|
||||
import styled from '@emotion/styled';
|
||||
import Box from '@mui/material/Box';
|
||||
import Button from '@mui/material/Button';
|
||||
import React, { useCallback } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { useHistory } from 'react-router-dom';
|
||||
import { Theme } from 'verdaccio-ui/design-tokens/theme';
|
||||
|
||||
import Box from '../Box';
|
||||
import Button from '../Button';
|
||||
import Heading from '../Heading';
|
||||
import PackageImg from './img/package.svg';
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import styled from '@emotion/styled';
|
||||
import List from '@mui/material/List';
|
||||
import { PRIMARY_COLOR } from 'verdaccio-ui/utils/colors';
|
||||
|
||||
import { default as MuiCard } from '../Card';
|
||||
import { default as Typography } from '../Heading';
|
||||
import List from '../List';
|
||||
|
||||
export const Wrapper = styled('div')({
|
||||
display: 'flex',
|
||||
|
||||
@@ -1,10 +1,3 @@
|
||||
import { default as MaterialUIPaper, PaperProps } from '@mui/material/Paper';
|
||||
import React, { forwardRef } from 'react';
|
||||
import { default as MaterialUIPaper } from '@mui/material/Paper';
|
||||
|
||||
type PaperRef = HTMLElementTagNameMap[keyof HTMLElementTagNameMap];
|
||||
|
||||
const Paper = forwardRef<PaperRef, PaperProps>(function Paper(props, ref) {
|
||||
return <MaterialUIPaper {...props} ref={ref} />;
|
||||
});
|
||||
|
||||
export default Paper;
|
||||
export default MaterialUIPaper;
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
import {
|
||||
default as MaterialUISnackbarContent,
|
||||
SnackbarContentProps,
|
||||
} from '@mui/material/SnackbarContent';
|
||||
import React, { forwardRef } from 'react';
|
||||
|
||||
type SnackbarContentRef = HTMLDivElement;
|
||||
|
||||
const SnackbarContent = forwardRef<SnackbarContentRef, SnackbarContentProps>(
|
||||
function SnackbarContent(props, ref) {
|
||||
return <MaterialUISnackbarContent {...props} ref={ref} />;
|
||||
}
|
||||
);
|
||||
|
||||
export default SnackbarContent;
|
||||
@@ -1,10 +0,0 @@
|
||||
import { default as MaterialUITab, TabProps } from '@mui/material/Tab';
|
||||
import React, { forwardRef } from 'react';
|
||||
|
||||
type TabRef = HTMLButtonElement;
|
||||
|
||||
const Tab = forwardRef<TabRef, TabProps>(function Tab(props, ref) {
|
||||
return <MaterialUITab {...props} innerRef={ref} />;
|
||||
});
|
||||
|
||||
export default Tab;
|
||||
@@ -1,14 +0,0 @@
|
||||
import { default as MaterialUITabs, TabsProps } from '@mui/material/Tabs';
|
||||
import React, { forwardRef } from 'react';
|
||||
|
||||
type TabsRef = HTMLElementTagNameMap[keyof HTMLElementTagNameMap];
|
||||
|
||||
interface Props extends Omit<TabsProps, 'onChange'> {
|
||||
onChange: (event: React.ChangeEvent<{}>, value: number) => void;
|
||||
}
|
||||
|
||||
const Tabs = forwardRef<TabsRef, Props>(function Tabs(props, ref) {
|
||||
return <MaterialUITabs {...props} innerRef={ref} />;
|
||||
});
|
||||
|
||||
export default Tabs;
|
||||
@@ -1,17 +1,3 @@
|
||||
import { default as MaterialUITypography } from '@mui/material/Typography';
|
||||
import React, { forwardRef } from 'react';
|
||||
|
||||
import { TextProps } from './TextConfig';
|
||||
|
||||
type TextRef = HTMLElementTagNameMap[keyof HTMLElementTagNameMap];
|
||||
|
||||
// The reference is already from type of the Component, so the any below is not a problem
|
||||
const Text = forwardRef<TextRef, TextProps>(function Text(props, ref) {
|
||||
return <MaterialUITypography {...props} component="span" ref={ref} />;
|
||||
});
|
||||
|
||||
Text.defaultProps = {
|
||||
variant: 'subtitle1',
|
||||
};
|
||||
|
||||
export default Text;
|
||||
export default MaterialUITypography;
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
import { TypographyProps } from '@mui/material/Typography';
|
||||
|
||||
type TextType = 'subtitle1' | 'subtitle2' | 'body1' | 'body2';
|
||||
|
||||
export interface TextProps extends Omit<TypographyProps, 'variant'> {
|
||||
variant?: TextType;
|
||||
}
|
||||
@@ -1,2 +1 @@
|
||||
export { default } from './Text';
|
||||
export { TextProps } from './TextConfig';
|
||||
|
||||
@@ -1,10 +1,3 @@
|
||||
import { default as MaterialUIToolbar, ToolbarProps } from '@mui/material/Toolbar';
|
||||
import React, { forwardRef } from 'react';
|
||||
import { default as MaterialUIToolbar } from '@mui/material/Toolbar';
|
||||
|
||||
type ToolbarRef = HTMLDivElement;
|
||||
|
||||
const Toolbar = forwardRef<ToolbarRef, ToolbarProps>(function Toolbar(props, ref) {
|
||||
return <MaterialUIToolbar {...props} ref={ref} />;
|
||||
});
|
||||
|
||||
export default Toolbar;
|
||||
export default MaterialUIToolbar;
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
import { default as MaterialUITooltip, TooltipProps } from '@mui/material/Tooltip';
|
||||
import { TFunctionResult } from 'i18next';
|
||||
import React, { forwardRef } from 'react';
|
||||
|
||||
// The default element type of MUI's Tooltip is 'div' and the change of this prop is not allowed
|
||||
type TooltipRef = HTMLDivElement;
|
||||
|
||||
// Returning only the children in case of undefined title was necessary as the Tooltip component no longer accepts this type
|
||||
// You can read more about this in this issue https://github.com/mui-org/material-ui/issues/20701
|
||||
type Props = Omit<TooltipProps, 'title'> & {
|
||||
title: TFunctionResult;
|
||||
};
|
||||
|
||||
const Tooltip = forwardRef<TooltipRef, Props>(function ToolTip({ title, children, ...props }) {
|
||||
if (!title) {
|
||||
return children;
|
||||
}
|
||||
return (
|
||||
<MaterialUITooltip {...props} title={title}>
|
||||
{children}
|
||||
</MaterialUITooltip>
|
||||
);
|
||||
});
|
||||
|
||||
export default Tooltip;
|
||||
@@ -1,7 +1,7 @@
|
||||
import CardContent from '@mui/material/CardContent';
|
||||
import React, { useContext } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { useHistory } from 'react-router-dom';
|
||||
import CardContent from 'verdaccio-ui/components/CardContent';
|
||||
|
||||
import { PackageDependencies } from '../../../../../types/packageMeta';
|
||||
import { DetailContext } from '../../context';
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user