From 043b42b441f067816fbbfcc25cf2943ec7b31e0b Mon Sep 17 00:00:00 2001 From: blech Date: Wed, 12 Jun 2024 16:24:11 +0200 Subject: [PATCH 01/10] add new branding --- README.md | 28 ++-- api/spec.html | 2 +- api_ui/spec.html | 2 +- k8s/helm/readme.md | 4 +- ui/README.md | 4 +- ui/index.html | 2 +- ui/package.json | 2 +- ui/public/favicon.png | Bin 2980 -> 1297 bytes ui/public/fonts/Matter-Regular.woff | Bin 0 -> 34052 bytes ui/public/fonts/Matter-Regular.woff2 | Bin 0 -> 31396 bytes ui/public/fonts/ModernEra-Regular.woff | Bin 35528 -> 0 bytes ui/public/fonts/ModernEra-Regular.woff2 | Bin 28632 -> 0 bytes ui/public/images/illustration-explainer.svg | 143 +++++++++--------- ui/src/assets/polygonid-logo.svg | 19 --- ui/src/assets/privado-id-logo.svg | 16 ++ .../connections/ConnectionsTable.tsx | 4 +- .../connections/CredentialsTable.tsx | 4 +- .../credentials/CredentialIssuedQR.tsx | 2 +- .../credentials/CredentialLinkQR.tsx | 2 +- .../credentials/CredentialsTable.tsx | 4 +- ui/src/components/credentials/LinksTable.tsx | 4 +- .../components/issuer-state/IssuerState.tsx | 4 +- ui/src/components/schemas/Schemas.tsx | 2 +- ui/src/components/schemas/SchemasTable.tsx | 4 +- ui/src/components/shared/LogoLink.tsx | 2 +- ui/src/components/shared/NoResults.tsx | 2 +- ui/src/styles/index.scss | 83 ++++++++-- ui/src/styles/theme.ts | 54 +++++-- ui/src/styles/variables.module.scss | 17 ++- 29 files changed, 251 insertions(+), 159 deletions(-) create mode 100644 ui/public/fonts/Matter-Regular.woff create mode 100644 ui/public/fonts/Matter-Regular.woff2 delete mode 100644 ui/public/fonts/ModernEra-Regular.woff delete mode 100644 ui/public/fonts/ModernEra-Regular.woff2 delete mode 100644 ui/src/assets/polygonid-logo.svg create mode 100644 ui/src/assets/privado-id-logo.svg diff --git a/README.md b/README.md index 6af4e115b..eaf80c7ab 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ -# Polygon ID Issuer Node +# Privado iD Issuer Node [![Checks](https://github.com/0xPolygonID/sh-id-platform/actions/workflows/checks.yml/badge.svg)](https://github.com/0xPolygonID/sh-id-platform/actions/workflows/checks.yml) [![golangci-lint](https://github.com/0xPolygonID/sh-id-platform/actions/workflows/golangci-lint.yml/badge.svg)](https://github.com/0xPolygonID/sh-id-platform/actions/workflows/golangci-lint.yml) -Streamline the **Verifiable Credentials issuance** process with the user-friendly API and UI of the Issuer Node within the Polygon ID ecosystem. The on-premise (self-hosted) Issuer Node, seamlessly integrated with a robust suite of tools including the mobile Wallet, Schema Builder, and Credential Marketplace, guarantees a frictionless experience for effortlessly issuing and verifying credentials. +Streamline the **Verifiable Credentials issuance** process with the user-friendly API and UI of the Issuer Node within the Privado iD ecosystem. The on-premise (self-hosted) Issuer Node, seamlessly integrated with a robust suite of tools including the mobile Wallet, Schema Builder, and Credential Marketplace, guarantees a frictionless experience for effortlessly issuing and verifying credentials. ![Triagle-of-trust](docs/assets/img/triangle-of-trust.png) @@ -21,14 +21,18 @@ Streamline the **Verifiable Credentials issuance** process with the user-friendl ## Table of Contents -- [Quick Start Installation](#quick-start-installation) - - [Prerequisites](#Prerequisites) - - [Issuer Node Api](#issuer-node-api) +- [Privado iD Issuer Node](#privado-id-issuer-node) + - [Table of Contents](#table-of-contents) + - [Quick Start Installation](#quick-start-installation) + - [Prerequisites](#prerequisites) + - [Issuer Node API](#issuer-node-api) + - [Deploy Issuer Node Infrastructure](#deploy-issuer-node-infrastructure) + - [Run Issuer Node API](#run-issuer-node-api) - [Issuer Node UI](#issuer-node-ui) -- [Quick Start Demo](#quick-start-demo) -- [Documentation](#documentation) -- [Tools](#tools) -- [License](#license) + - [Quick Start Demo](#quick-start-demo) + - [Documentation](#documentation) + - [Tools](#tools) + - [License](#license) ## Quick Start Installation > [!NOTE] @@ -215,7 +219,7 @@ This [Quick Start Demo](https://devs.polygonid.com/docs/quick-start-demo/) will ## Documentation * [Issuer Node resources](https://devs.polygonid.com/docs/category/issuer/) -* [Polygon ID core concepts](https://devs.polygonid.com/docs/introduction/) +* [Privado iD core concepts](https://devs.polygonid.com/docs/introduction/) ## Tools > [!WARNING] @@ -225,8 +229,8 @@ This [Quick Start Demo](https://devs.polygonid.com/docs/quick-start-demo/) will * [Schema Builder](https://schema-builder.polygonid.me/) - Create your custom schemas to issue VC. * [Demo Issuer UI](https://user-ui:password-ui@issuer-ui.polygonid.me/) - Test our Issuer Node UI. * [Verifier Demo](https://verifier-demo.polygonid.me/) - Verify your VCs. -* [Polygon ID Android Mobile App](https://play.google.com/store/apps/details?id=com.polygonid.wallet&hl=en&gl=US) -* [Polygon ID IOS Mobile App](https://apps.apple.com/us/app/polygon-id/id1629870183) +* [Privado iD Android Mobile App](https://play.google.com/store/apps/details?id=com.polygonid.wallet&hl=en&gl=US) +* [Privado iD IOS Mobile App](https://apps.apple.com/us/app/polygon-id/id1629870183) * [Marketplace](https://marketplace.polygonid.me/) - Explore credentials submitted by trusted issuers. ## License diff --git a/api/spec.html b/api/spec.html index fb8d694bd..f7930d28f 100644 --- a/api/spec.html +++ b/api/spec.html @@ -1,7 +1,7 @@ - Polygon ID - Self Hosted Issuer + Privado iD - Self Hosted Issuer diff --git a/api_ui/spec.html b/api_ui/spec.html index 3eb6d3aae..3a4e52203 100644 --- a/api_ui/spec.html +++ b/api_ui/spec.html @@ -1,7 +1,7 @@ - Polygon ID - Self Hosted Issuer - UI API + Privado iD - Self Hosted Issuer - UI API diff --git a/k8s/helm/readme.md b/k8s/helm/readme.md index ce69d44a6..e4acb5f33 100644 --- a/k8s/helm/readme.md +++ b/k8s/helm/readme.md @@ -1,7 +1,7 @@ # Overview -This is a helm chart for deploying Polygon ID issuer node on Kubernetes. -To learn more about Polygon ID issuer, see [this](https://0xpolygonid.github.io/tutorials/issuer/issuer-overview). +This is a helm chart for deploying Privado iD issuer node on Kubernetes. +To learn more about Privado iD issuer, see [this](https://0xpolygonid.github.io/tutorials/issuer/issuer-overview). ## Architecture diff --git a/ui/README.md b/ui/README.md index 8056ce521..dcd954767 100644 --- a/ui/README.md +++ b/ui/README.md @@ -1,6 +1,6 @@ -# Polygon ID Issuer Node UI +# Privado iD Issuer Node UI -The frontend application of the [Polygon ID Issuer Node](../README.md). +The frontend application of the [Privado iD Issuer Node](../README.md). ## Installation diff --git a/ui/index.html b/ui/index.html index 05e442157..935fb53e0 100644 --- a/ui/index.html +++ b/ui/index.html @@ -4,7 +4,7 @@ - Polygon ID Issuer UI + Privado iD Issuer UI diff --git a/ui/package.json b/ui/package.json index 8aca71d60..65949eb11 100644 --- a/ui/package.json +++ b/ui/package.json @@ -5,7 +5,7 @@ "ajv": "^8.12.0", "ajv-formats": "^2.1.1", "ajv-formats-draft2019": "^1.6.1", - "antd": "^5.11.1", + "antd": "^5.18.0", "axios": "^1.6.1", "copy-to-clipboard": "^3.3.3", "dayjs": "^1.11.10", diff --git a/ui/public/favicon.png b/ui/public/favicon.png index 0241e231dcf04f6aa201513be7c52367075c9496..3eef5e541b8bbd1704ce83b0c002bc9db334476f 100644 GIT binary patch delta 1284 zcmV+f1^fD>7m*4!iBL{Q4GJ0x0000DNk~Le0000;0000;2nGNE09Ea?M*si-32;bR za{vGf6951U69E94oEVWdAAbaPK~L0cY_>t_{;?%eQ|&s4H3Sd7tAz4j)pMvgpe$A^MCsF>fiM6-y&^!u8)S_+)CTWU(mY7>cSsY?;qUOPk+z9+D{!u2{OpT2PL}n z;X2*?>0aHr9ZJx9XGSAu^7?{D_m${M@LpVJ*Z!Aibc-I-{~5@d*LU)*Y%A%OGWf3!{}z_ot9_*WqE+NoQV6vhPM z!$#ru>OXY%mw*4rB=~Y#mAJSV5p+jo8Vzbx?yf%|(?CuVrO8+c(jkd&Is~Q3q$DGP z5Q=pe8Xce{F)7K2pdr;y(UFAoNn=Wqu`2fN$=4&L+m~=yt^|^PQytcJFeYfv`>)Wx zPj;xZoPX;yh_088#qWC=9cloS5IGpjGtPQgNU8-5j}ElG)SX&EXm_U1@1}N1rGFsEIecZWk-JDzCkWNblpN5#<%I+o zKa!)#i1#T)B^82Dr4Y*7iB?aerv+hjjwq$G5U5Mf2?~F^0WnFGm|Bbq(w*;(a;<(P zWN36Nz5K>NAO?5H;@+c9!3%QwP7=TPNeP}{$sRcxf_*-Ol(a&QhF}vE;R{+OM?QpC?N|6i1$qHrVv7=|v`Q*fs|{!>Go4j8X{1AcCW-^Yk+|~dYeG@${0PU4stUwA&&rF5SJZFySGyS0000 literal 2980 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 S02>1;5&!@I000310001%y`k9v diff --git a/ui/public/fonts/ModernEra-Regular.woff2 b/ui/public/fonts/ModernEra-Regular.woff2 deleted file mode 100644 index 2581de0e30c2e7299c2cede69b0108737d93f2b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28632 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 diff --git a/ui/public/images/illustration-explainer.svg b/ui/public/images/illustration-explainer.svg index a0c1dee43..d71e0cb89 100644 --- a/ui/public/images/illustration-explainer.svg +++ b/ui/public/images/illustration-explainer.svg @@ -1,65 +1,70 @@ - - - - - - + + + + + + + - - - + + + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + - - - + + + - - - + + + - + - + - - - + + + - + + + + + - + - + @@ -70,49 +75,49 @@ - - - + + + - + - + - - - + + + - + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + - - - + + + diff --git a/ui/src/assets/polygonid-logo.svg b/ui/src/assets/polygonid-logo.svg deleted file mode 100644 index 6cee55d86..000000000 --- a/ui/src/assets/polygonid-logo.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/ui/src/assets/privado-id-logo.svg b/ui/src/assets/privado-id-logo.svg new file mode 100644 index 000000000..54efa5e23 --- /dev/null +++ b/ui/src/assets/privado-id-logo.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/ui/src/components/connections/ConnectionsTable.tsx b/ui/src/components/connections/ConnectionsTable.tsx index 6eab513ea..5e6f0748c 100644 --- a/ui/src/components/connections/ConnectionsTable.tsx +++ b/ui/src/components/connections/ConnectionsTable.tsx @@ -264,7 +264,7 @@ export function ConnectionsTable() { - } size={48} /> + } size={48} /> No connections @@ -327,7 +327,7 @@ export function ConnectionsTable() { - {connectionsList.length} + {connectionsList.length} } diff --git a/ui/src/components/connections/CredentialsTable.tsx b/ui/src/components/connections/CredentialsTable.tsx index 6a1683707..d3e23060f 100644 --- a/ui/src/components/connections/CredentialsTable.tsx +++ b/ui/src/components/connections/CredentialsTable.tsx @@ -232,7 +232,7 @@ export function CredentialsTable({ userID }: { userID: string }) { - } size={48} /> + } size={48} /> No {credentialStatus !== "all" && credentialStatus} credentials issued @@ -279,7 +279,7 @@ export function CredentialsTable({ userID }: { userID: string }) { - {credentialsList.length} + {credentialsList.length} {showDefaultContent && credentialStatus === "all" ? ( diff --git a/ui/src/components/credentials/CredentialIssuedQR.tsx b/ui/src/components/credentials/CredentialIssuedQR.tsx index a6e4e142e..12e0955fb 100644 --- a/ui/src/components/credentials/CredentialIssuedQR.tsx +++ b/ui/src/components/credentials/CredentialIssuedQR.tsx @@ -71,7 +71,7 @@ export function CredentialIssuedQR() { qrCodeLink={issuedQRCodeLink.qrCode} qrCodeRaw={issuedQRCodeRaw.qrCode} schemaType={issuedQRCodeLink.schemaType} - subTitle="Scan the QR code with your Polygon ID wallet to add the credential." + subTitle="Scan the QR code with your Privado iD wallet to add the credential." /> ); } diff --git a/ui/src/components/credentials/CredentialLinkQR.tsx b/ui/src/components/credentials/CredentialLinkQR.tsx index 761654017..923b498c8 100644 --- a/ui/src/components/credentials/CredentialLinkQR.tsx +++ b/ui/src/components/credentials/CredentialLinkQR.tsx @@ -244,7 +244,7 @@ export function CredentialLinkQR() { schemaType={authQRCode.data.linkDetail.schemaType} subTitle={ <> - Scan the QR code with your Polygon ID wallet to accept it. + Scan the QR code with your Privado iD wallet to accept it.
{PUSH_NOTIFICATIONS_REMINDER} diff --git a/ui/src/components/credentials/CredentialsTable.tsx b/ui/src/components/credentials/CredentialsTable.tsx index 971b82447..f8446b38f 100644 --- a/ui/src/components/credentials/CredentialsTable.tsx +++ b/ui/src/components/credentials/CredentialsTable.tsx @@ -327,7 +327,7 @@ export function CredentialsTable() { - } size={48} /> + } size={48} /> No credentials @@ -395,7 +395,7 @@ export function CredentialsTable() { - {paginationTotal} + {paginationTotal} {(!showDefaultContent || credentialStatus !== "all") && ( diff --git a/ui/src/components/credentials/LinksTable.tsx b/ui/src/components/credentials/LinksTable.tsx index 1561180bb..c286e2674 100644 --- a/ui/src/components/credentials/LinksTable.tsx +++ b/ui/src/components/credentials/LinksTable.tsx @@ -334,7 +334,7 @@ export function LinksTable() { - } size={48} /> + } size={48} /> No links @@ -388,7 +388,7 @@ export function LinksTable() { - {linksList.length} + {linksList.length} {(!showDefaultContent || status !== undefined) && ( diff --git a/ui/src/components/issuer-state/IssuerState.tsx b/ui/src/components/issuer-state/IssuerState.tsx index b762117c9..cabb61b6a 100644 --- a/ui/src/components/issuer-state/IssuerState.tsx +++ b/ui/src/components/issuer-state/IssuerState.tsx @@ -228,7 +228,7 @@ export function IssuerState() { - } size={48} /> + } size={48} /> No transactions @@ -268,7 +268,7 @@ export function IssuerState() { - {transactionsList.length} + {transactionsList.length} } diff --git a/ui/src/components/schemas/Schemas.tsx b/ui/src/components/schemas/Schemas.tsx index 42e6e0083..f8b4b1d25 100644 --- a/ui/src/components/schemas/Schemas.tsx +++ b/ui/src/components/schemas/Schemas.tsx @@ -28,7 +28,7 @@ export function Schemas() { Explore a wide range of existing schemas or create custom schemas using
{" "} - Polygon ID's schema explorer and builder. + Privado iD's schema explorer and builder. )} diff --git a/ui/src/components/schemas/SchemasTable.tsx b/ui/src/components/schemas/SchemasTable.tsx index b27ad58e9..0bc4a5438 100644 --- a/ui/src/components/schemas/SchemasTable.tsx +++ b/ui/src/components/schemas/SchemasTable.tsx @@ -174,7 +174,7 @@ export function SchemasTable() { - } size={48} /> + } size={48} /> No schemas @@ -224,7 +224,7 @@ export function SchemasTable() { - {schemaList.length} + {schemaList.length} } diff --git a/ui/src/components/shared/LogoLink.tsx b/ui/src/components/shared/LogoLink.tsx index 679638f72..e5edebf5e 100644 --- a/ui/src/components/shared/LogoLink.tsx +++ b/ui/src/components/shared/LogoLink.tsx @@ -1,6 +1,6 @@ import { Link } from "react-router-dom"; -import IconLogo from "src/assets/polygonid-logo.svg?react"; +import IconLogo from "src/assets/privado-id-logo.svg?react"; import { ROOT_PATH } from "src/utils/constants"; export function LogoLink() { diff --git a/ui/src/components/shared/NoResults.tsx b/ui/src/components/shared/NoResults.tsx index 5c7389f77..ed7092d00 100644 --- a/ui/src/components/shared/NoResults.tsx +++ b/ui/src/components/shared/NoResults.tsx @@ -5,7 +5,7 @@ import SearchIcon from "src/assets/icons/search-lg.svg?react"; export function NoResults({ searchQuery }: { searchQuery: string | null }) { return ( - } size={48} /> + } size={48} /> No results found diff --git a/ui/src/styles/index.scss b/ui/src/styles/index.scss index 788cb098b..36edb56da 100644 --- a/ui/src/styles/index.scss +++ b/ui/src/styles/index.scss @@ -1,13 +1,13 @@ @import "variables.module"; @font-face { - font-family: ModernEra-Regular; + font-family: Matter-Regular; font-style: normal; font-weight: normal; src: - local("ModernEra-Regular"), - url("/fonts/ModernEra-Regular.woff2") format("woff2"), - url("/fonts/ModernEra-Regular.woff") format("woff"); + local("Matter-Regular"), + url("/fonts/Matter-Regular.woff2") format("woff2"), + url("/fonts/Matter-Regular.woff") format("woff"); } /* OVERRIDES */ @@ -80,8 +80,8 @@ } &.selected { - border: 1px solid $primary-color; - background: $bg-light; + border: 1px solid $selected-color; + background: $success-bg; } .ant-card-type-inner { @@ -115,12 +115,12 @@ } } -.avatar-color-cyan { - background-color: $cyan-bg; - color: $cyan-color; +.avatar-color-icon { + background-color: $icon-bg; + color: $icon-color; path { - stroke: $cyan-color; + stroke: $icon-color; } } @@ -252,8 +252,10 @@ } .ant-tag { - font-weight: bold; - padding-top: 2px; + padding: 2px 10px; + border-radius: 16px; + border: 0; + background-color: $tag-bg; &.ant-tag-success { background-color: $tag-bg-success; @@ -281,6 +283,63 @@ padding-inline-end: 24px; } +.ant-btn-primary { + border: 1px solid #54db06; + + &:not(:disabled .ant-btn-disable) { + &:hover { + color: $text-color; + } + + &:active { + border: 1px solid #74f526; + color: $text-color; + background: $primary-color; + box-shadow: 0 0 0 4px #dfffc7; + } + } +} + +.ant-radio-wrapper .ant-radio-checked .ant-radio-inner { + background-color: $success-bg; + border-color: $selected-color; +} + +.ant-radio-wrapper .ant-radio-checked .ant-radio-inner::after { + background-color: $selected-color; +} + +.ant-checkbox-wrapper { + .ant-checkbox-checked .ant-checkbox-inner { + border-color: $selected-color; + } + + &:not(.ant-checkbox:not(.ant-checkbox-wrapper-disabled)):hover .ant-checkbox-inner { + border-color: $selected-color; + } +} + +.ant-checkbox:not(.ant-checkbox-disabled):hover .ant-checkbox-inner { + border-color: $selected-color; +} + +.ant-input-number-outlined:hover { + border-color: $selected-color; +} + +.ant-input-number .ant-input-number-handler:hover { + .ant-input-number-handler-up-inner { + color: $selected-color; + } + .ant-input-number-handler-down-inner { + color: $selected-color; + } +} + +.ant-typography.ant-typography-secondary { + color: $text-color-secondary; +} + /* CUSTOM */ .background-grey { diff --git a/ui/src/styles/theme.ts b/ui/src/styles/theme.ts index db5d7e59d..6f846a064 100644 --- a/ui/src/styles/theme.ts +++ b/ui/src/styles/theme.ts @@ -8,13 +8,14 @@ type StyleVariables = { avatarBg: string; bgLight: string; borderColor: string; - cyanBg: string; - cyanColor: string; dividerColor: string; errorBg: string; errorColor: string; + iconBg: string; + iconColor: string; primaryBg: string; primaryColor: string; + successBg: string; successColor: string; tagBg: string; tagBgSuccess: string; @@ -29,13 +30,14 @@ const parsedStyleVariables = getStrictParser()( avatarBg: z.string(), bgLight: z.string(), borderColor: z.string(), - cyanBg: z.string(), - cyanColor: z.string(), dividerColor: z.string(), errorBg: z.string(), errorColor: z.string(), + iconBg: z.string(), + iconColor: z.string(), primaryBg: z.string(), primaryColor: z.string(), + successBg: z.string(), successColor: z.string(), tagBg: z.string(), tagBgSuccess: z.string(), @@ -48,8 +50,10 @@ const parsedStyleVariables = getStrictParser()( const { avatarBg, + borderColor, errorColor, primaryColor, + successBg, successColor, tagBg, tagColor, @@ -61,22 +65,41 @@ const { export const theme: ThemeConfig = { components: { Avatar: { colorBgBase: avatarBg }, - Button: { controlHeight: 40, paddingContentHorizontal: 16 }, - Card: { fontWeightStrong: 500 }, - Checkbox: { borderRadius: 6, size: 20 }, + Button: { + colorBgContainerDisabled: successBg, + colorPrimaryBg: primaryColor, + colorPrimaryHover: "#74F526", + controlHeight: 40, + defaultHoverBorderColor: successColor, + defaultHoverColor: successColor, + paddingContentHorizontal: 16, + primaryColor: textColor, + }, + Card: { + colorBgBase: successColor, + fontWeightStrong: 500, + }, + Checkbox: { borderRadius: 6, colorPrimary: successBg, colorWhite: "#3AB000", size: 20 }, DatePicker: { controlHeight: 40 }, Form: { fontSize: 14 }, Input: { controlHeight: 40 }, InputNumber: { controlHeight: 40 }, Layout: { bodyBg: "white", headerBg: "white", siderBg: "white" }, Menu: { + colorBgBase: "transparent", + horizontalItemSelectedColor: successColor, + itemActiveBg: "transparent", + itemBg: "transparent", + itemColor: textColorSecondary, itemHoverBg: "white", - itemHoverColor: primaryColor, + itemHoverColor: successColor, + itemSelectedBg: successBg, + itemSelectedColor: successColor, subMenuItemBg: "white", }, Message: { fontSize: 18 }, Radio: { controlHeight: 40, size: 20 }, - Select: { controlHeight: 40 }, + Select: { colorBorder: successColor, controlHeight: 40 }, Table: { fontSize: 14, fontWeightStrong: 400 }, Tag: { colorBgBase: tagBg, @@ -84,21 +107,24 @@ export const theme: ThemeConfig = { }, Typography: { colorWarning: textColorWarning, + fontSize: 14, }, }, token: { borderRadius: 8, colorError: errorColor, - colorInfo: primaryColor, - colorLink: primaryColor, - colorLinkActive: primaryColor, - colorLinkHover: primaryColor, + colorInfo: tagColor, + colorInfoBorder: borderColor, + colorLink: successColor, + colorLinkActive: successColor, + colorLinkHover: successColor, colorPrimary: primaryColor, + colorPrimaryText: textColor, colorSuccess: successColor, colorText: textColor, colorTextLabel: tagColor, colorTextSecondary: textColorSecondary, - fontFamily: "ModernEra-Regular", + fontFamily: "Matter-Regular", fontSize: 16, fontSizeHeading2: 32, fontSizeSM: 14, diff --git a/ui/src/styles/variables.module.scss b/ui/src/styles/variables.module.scss index bab776b0e..66ded2dd5 100644 --- a/ui/src/styles/variables.module.scss +++ b/ui/src/styles/variables.module.scss @@ -1,28 +1,29 @@ $avatar-bg: #2c374e; $bg-light: #f9fafb; $border-color: #d0d5dd; -$cyan-bg: #cff9fe; -$cyan-color: #088ab2; +$icon-bg: #f2f4f7; +$icon-color: #475467; $divider-color: #eaecf0; $error-bg: #fecfcf; $error-color: #b20808; $primary-bg: #f4ebff; -$primary-color: #7f56d9; -$success-bg: #d1fadf; -$success-color: #027a48; +$primary-color: #9afe5b; +$success-bg: #f1ffe5; +$success-color: #2f8507; $tag-bg: #f2f4f7; $tag-bg-success: #ecfdf3; $tag-color: #344054; -$text-color: #101828; +$text-color: #131313; $text-color-secondary: #667085; $text-color-warning: #b54708; +$selected-color: #3ab000; :export { avatarBg: $avatar-bg; bgLight: $bg-light; borderColor: $border-color; - cyanBg: $cyan-bg; - cyanColor: $cyan-color; + iconBg: $icon-bg; + iconColor: $icon-color; dividerColor: $divider-color; errorBg: $error-bg; errorColor: $error-color; From 9e1d24f48ec260fbd2fb5e97fe92ee08f54f2728 Mon Sep 17 00:00:00 2001 From: blech Date: Wed, 12 Jun 2024 16:39:10 +0200 Subject: [PATCH 02/10] add checkbox style --- ui/src/styles/theme.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/ui/src/styles/theme.ts b/ui/src/styles/theme.ts index 6f846a064..a4fe0af00 100644 --- a/ui/src/styles/theme.ts +++ b/ui/src/styles/theme.ts @@ -50,6 +50,7 @@ const parsedStyleVariables = getStrictParser()( const { avatarBg, + bgLight, borderColor, errorColor, primaryColor, @@ -98,9 +99,19 @@ export const theme: ThemeConfig = { subMenuItemBg: "white", }, Message: { fontSize: 18 }, - Radio: { controlHeight: 40, size: 20 }, + Radio: { + buttonCheckedBg: bgLight, + colorPrimary: successColor, + colorPrimaryHover: successColor, + controlHeight: 40, + size: 20, + }, Select: { colorBorder: successColor, controlHeight: 40 }, Table: { fontSize: 14, fontWeightStrong: 400 }, + Tabs: { + colorPrimary: successColor, + itemHoverColor: successColor, + }, Tag: { colorBgBase: tagBg, colorTextBase: tagColor, From 96362b7dd78a56ab1dc98508014cfc8dad3bec5b Mon Sep 17 00:00:00 2001 From: blech Date: Thu, 13 Jun 2024 13:30:52 +0200 Subject: [PATCH 03/10] change brand name to capital I --- README.md | 12 ++-- api/spec.html | 2 +- api_ui/spec.html | 2 +- k8s/helm/readme.md | 4 +- ui/README.md | 4 +- ui/index.html | 2 +- ui/playwright-report/index.html | 69 +++++++++++++++++++ .../credentials/CredentialIssuedQR.tsx | 2 +- ui/src/components/schemas/Schemas.tsx | 2 +- 9 files changed, 84 insertions(+), 15 deletions(-) create mode 100644 ui/playwright-report/index.html diff --git a/README.md b/README.md index eaf80c7ab..ba453d12e 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ -# Privado iD Issuer Node +# Privado ID Issuer Node [![Checks](https://github.com/0xPolygonID/sh-id-platform/actions/workflows/checks.yml/badge.svg)](https://github.com/0xPolygonID/sh-id-platform/actions/workflows/checks.yml) [![golangci-lint](https://github.com/0xPolygonID/sh-id-platform/actions/workflows/golangci-lint.yml/badge.svg)](https://github.com/0xPolygonID/sh-id-platform/actions/workflows/golangci-lint.yml) -Streamline the **Verifiable Credentials issuance** process with the user-friendly API and UI of the Issuer Node within the Privado iD ecosystem. The on-premise (self-hosted) Issuer Node, seamlessly integrated with a robust suite of tools including the mobile Wallet, Schema Builder, and Credential Marketplace, guarantees a frictionless experience for effortlessly issuing and verifying credentials. +Streamline the **Verifiable Credentials issuance** process with the user-friendly API and UI of the Issuer Node within the Privado ID ecosystem. The on-premise (self-hosted) Issuer Node, seamlessly integrated with a robust suite of tools including the mobile Wallet, Schema Builder, and Credential Marketplace, guarantees a frictionless experience for effortlessly issuing and verifying credentials. ![Triagle-of-trust](docs/assets/img/triangle-of-trust.png) @@ -21,7 +21,7 @@ Streamline the **Verifiable Credentials issuance** process with the user-friendl ## Table of Contents -- [Privado iD Issuer Node](#privado-id-issuer-node) +- [Privado ID Issuer Node](#privado-id-issuer-node) - [Table of Contents](#table-of-contents) - [Quick Start Installation](#quick-start-installation) - [Prerequisites](#prerequisites) @@ -219,7 +219,7 @@ This [Quick Start Demo](https://devs.polygonid.com/docs/quick-start-demo/) will ## Documentation * [Issuer Node resources](https://devs.polygonid.com/docs/category/issuer/) -* [Privado iD core concepts](https://devs.polygonid.com/docs/introduction/) +* [Privado ID core concepts](https://devs.polygonid.com/docs/introduction/) ## Tools > [!WARNING] @@ -229,8 +229,8 @@ This [Quick Start Demo](https://devs.polygonid.com/docs/quick-start-demo/) will * [Schema Builder](https://schema-builder.polygonid.me/) - Create your custom schemas to issue VC. * [Demo Issuer UI](https://user-ui:password-ui@issuer-ui.polygonid.me/) - Test our Issuer Node UI. * [Verifier Demo](https://verifier-demo.polygonid.me/) - Verify your VCs. -* [Privado iD Android Mobile App](https://play.google.com/store/apps/details?id=com.polygonid.wallet&hl=en&gl=US) -* [Privado iD IOS Mobile App](https://apps.apple.com/us/app/polygon-id/id1629870183) +* [Poylgon ID Android Mobile App](https://play.google.com/store/apps/details?id=com.polygonid.wallet&hl=en&gl=US) +* [Polygon ID IOS Mobile App](https://apps.apple.com/us/app/polygon-id/id1629870183) * [Marketplace](https://marketplace.polygonid.me/) - Explore credentials submitted by trusted issuers. ## License diff --git a/api/spec.html b/api/spec.html index f7930d28f..d6b5d0a5e 100644 --- a/api/spec.html +++ b/api/spec.html @@ -1,7 +1,7 @@ - Privado iD - Self Hosted Issuer + Privado ID - Self Hosted Issuer diff --git a/api_ui/spec.html b/api_ui/spec.html index 3a4e52203..94a626d40 100644 --- a/api_ui/spec.html +++ b/api_ui/spec.html @@ -1,7 +1,7 @@ - Privado iD - Self Hosted Issuer - UI API + Privado ID - Self Hosted Issuer - UI API diff --git a/k8s/helm/readme.md b/k8s/helm/readme.md index e4acb5f33..748abd3cb 100644 --- a/k8s/helm/readme.md +++ b/k8s/helm/readme.md @@ -1,7 +1,7 @@ # Overview -This is a helm chart for deploying Privado iD issuer node on Kubernetes. -To learn more about Privado iD issuer, see [this](https://0xpolygonid.github.io/tutorials/issuer/issuer-overview). +This is a helm chart for deploying Privado ID issuer node on Kubernetes. +To learn more about Privado ID issuer, see [this](https://0xpolygonid.github.io/tutorials/issuer/issuer-overview). ## Architecture diff --git a/ui/README.md b/ui/README.md index dcd954767..f3ad6da4f 100644 --- a/ui/README.md +++ b/ui/README.md @@ -1,6 +1,6 @@ -# Privado iD Issuer Node UI +# Privado ID Issuer Node UI -The frontend application of the [Privado iD Issuer Node](../README.md). +The frontend application of the [Privado ID Issuer Node](../README.md). ## Installation diff --git a/ui/index.html b/ui/index.html index 935fb53e0..4074b1e6d 100644 --- a/ui/index.html +++ b/ui/index.html @@ -4,7 +4,7 @@ - Privado iD Issuer UI + Privado ID Issuer UI diff --git a/ui/playwright-report/index.html b/ui/playwright-report/index.html new file mode 100644 index 000000000..cf3961c19 --- /dev/null +++ b/ui/playwright-report/index.html @@ -0,0 +1,69 @@ + + + + + + + + + Playwright Test Report + + + + +
+ + + + \ No newline at end of file diff --git a/ui/src/components/credentials/CredentialIssuedQR.tsx b/ui/src/components/credentials/CredentialIssuedQR.tsx index 12e0955fb..a6e4e142e 100644 --- a/ui/src/components/credentials/CredentialIssuedQR.tsx +++ b/ui/src/components/credentials/CredentialIssuedQR.tsx @@ -71,7 +71,7 @@ export function CredentialIssuedQR() { qrCodeLink={issuedQRCodeLink.qrCode} qrCodeRaw={issuedQRCodeRaw.qrCode} schemaType={issuedQRCodeLink.schemaType} - subTitle="Scan the QR code with your Privado iD wallet to add the credential." + subTitle="Scan the QR code with your Polygon ID wallet to add the credential." /> ); } diff --git a/ui/src/components/schemas/Schemas.tsx b/ui/src/components/schemas/Schemas.tsx index f8b4b1d25..53965d291 100644 --- a/ui/src/components/schemas/Schemas.tsx +++ b/ui/src/components/schemas/Schemas.tsx @@ -28,7 +28,7 @@ export function Schemas() { Explore a wide range of existing schemas or create custom schemas using {" "} - Privado iD's schema explorer and builder. + Privado ID's schema explorer and builder. )} From 95055086ef29fe349f3ca5b539221282d1a79e2b Mon Sep 17 00:00:00 2001 From: blech Date: Thu, 13 Jun 2024 14:02:01 +0200 Subject: [PATCH 04/10] use current wallet name --- ui/src/components/credentials/CredentialLinkQR.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/src/components/credentials/CredentialLinkQR.tsx b/ui/src/components/credentials/CredentialLinkQR.tsx index 923b498c8..761654017 100644 --- a/ui/src/components/credentials/CredentialLinkQR.tsx +++ b/ui/src/components/credentials/CredentialLinkQR.tsx @@ -244,7 +244,7 @@ export function CredentialLinkQR() { schemaType={authQRCode.data.linkDetail.schemaType} subTitle={ <> - Scan the QR code with your Privado iD wallet to accept it. + Scan the QR code with your Polygon ID wallet to accept it.
{PUSH_NOTIFICATIONS_REMINDER} From 6e3186e9b0a54ccc99eb5a92d0462207fce7223f Mon Sep 17 00:00:00 2001 From: Alex Monso Date: Mon, 1 Jul 2024 19:00:30 +0200 Subject: [PATCH 05/10] Update package-lock --- ui/package-lock.json | 440 ++++++++++++++++++++++--------------------- 1 file changed, 224 insertions(+), 216 deletions(-) diff --git a/ui/package-lock.json b/ui/package-lock.json index 5a1123beb..d9642c5e0 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -11,7 +11,7 @@ "ajv": "^8.12.0", "ajv-formats": "^2.1.1", "ajv-formats-draft2019": "^1.6.1", - "antd": "^5.11.1", + "antd": "^5.18.0", "axios": "^1.6.1", "copy-to-clipboard": "^3.3.3", "dayjs": "^1.11.10", @@ -75,23 +75,23 @@ } }, "node_modules/@ant-design/colors": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-7.0.0.tgz", - "integrity": "sha512-iVm/9PfGCbC0dSMBrz7oiEXZaaGH7ceU40OJEfKmyuzR9R5CRimJYPlRiFtMQGQcbNMea/ePcoIebi4ASGYXtg==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-7.0.2.tgz", + "integrity": "sha512-7KJkhTiPiLHSu+LmMJnehfJ6242OCxSlR3xHVBecYxnMW8MS/878NXct1GqYARyL59fyeFdKRxXTfvR9SnDgJg==", "dependencies": { - "@ctrl/tinycolor": "^3.4.0" + "@ctrl/tinycolor": "^3.6.1" } }, "node_modules/@ant-design/cssinjs": { - "version": "1.17.2", - "resolved": "https://registry.npmjs.org/@ant-design/cssinjs/-/cssinjs-1.17.2.tgz", - "integrity": "sha512-vu7lnfEx4Mf8MPzZxn506Zen3Nt4fRr2uutwvdCuTCN5IiU0lDdQ0tiJ24/rmB8+pefwjluYsbyzbQSbgfJy+A==", + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@ant-design/cssinjs/-/cssinjs-1.21.0.tgz", + "integrity": "sha512-gIilraPl+9EoKdYxnupxjHB/Q6IHNRjEXszKbDxZdsgv4sAZ9pjkCq8yanDWNvyfjp4leir2OVAJm0vxwKK8YA==", "dependencies": { "@babel/runtime": "^7.11.1", "@emotion/hash": "^0.8.0", "@emotion/unitless": "^0.7.5", "classnames": "^2.3.1", - "csstype": "^3.0.10", + "csstype": "^3.1.3", "rc-util": "^5.35.0", "stylis": "^4.0.13" }, @@ -101,12 +101,12 @@ } }, "node_modules/@ant-design/icons": { - "version": "5.2.6", - "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-5.2.6.tgz", - "integrity": "sha512-4wn0WShF43TrggskBJPRqCD0fcHbzTYjnaoskdiJrVHg86yxoZ8ZUqsXvyn4WUqehRiFKnaclOhqk9w4Ui2KVw==", + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-5.3.7.tgz", + "integrity": "sha512-bCPXTAg66f5bdccM4TT21SQBDO1Ek2gho9h3nO9DAKXJP4sq+5VBjrQMSxMVXSB3HyEz+cUbHQ5+6ogxCOpaew==", "dependencies": { "@ant-design/colors": "^7.0.0", - "@ant-design/icons-svg": "^4.3.0", + "@ant-design/icons-svg": "^4.4.0", "@babel/runtime": "^7.11.2", "classnames": "^2.2.6", "rc-util": "^5.31.1" @@ -120,14 +120,14 @@ } }, "node_modules/@ant-design/icons-svg": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.3.1.tgz", - "integrity": "sha512-4QBZg8ccyC6LPIRii7A0bZUk3+lEDCLnhB+FVsflGdcWPPmV+j3fire4AwwoqHV/BibgvBmR9ZIo4s867smv+g==" + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz", + "integrity": "sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==" }, "node_modules/@ant-design/react-slick": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-1.0.2.tgz", - "integrity": "sha512-Wj8onxL/T8KQLFFiCA4t8eIRGpRR+UPgOdac2sYzonv+i0n3kXHmvHLLiOYL655DQx2Umii9Y9nNgL7ssu5haQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-1.1.2.tgz", + "integrity": "sha512-EzlvzE6xQUBrZuuhSAFTdsr4P2bBBHGZwKFemEfq8gIGyIQCxalYfZW/T2ORbtQx5rU69o+WycP3exY/7T1hGA==", "dependencies": { "@babel/runtime": "^7.10.4", "classnames": "^2.2.5", @@ -436,9 +436,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.2.tgz", - "integrity": "sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz", + "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -1208,15 +1208,26 @@ "node": ">= 8" } }, + "node_modules/@rc-component/async-validator": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@rc-component/async-validator/-/async-validator-5.0.4.tgz", + "integrity": "sha512-qgGdcVIF604M9EqjNF0hbUTz42bz/RDtxWdWuU5EQe3hi7M8ob54B6B35rOsvX5eSvIHIzT9iH1R3n+hk3CGfg==", + "dependencies": { + "@babel/runtime": "^7.24.4" + }, + "engines": { + "node": ">=14.x" + } + }, "node_modules/@rc-component/color-picker": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@rc-component/color-picker/-/color-picker-1.4.1.tgz", - "integrity": "sha512-vh5EWqnsayZa/JwUznqDaPJz39jznx/YDbyBuVJntv735tKXKwEUZZb2jYEldOg+NKWZwtALjGMrNeGBmqFoEw==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@rc-component/color-picker/-/color-picker-1.5.3.tgz", + "integrity": "sha512-+tGGH3nLmYXTalVe0L8hSZNs73VTP5ueSHwUlDC77KKRaN7G4DS4wcpG5DTDzdcV/Yas+rzA6UGgIyzd8fS4cw==", "dependencies": { - "@babel/runtime": "^7.10.1", - "@ctrl/tinycolor": "^3.6.0", + "@babel/runtime": "^7.23.6", + "@ctrl/tinycolor": "^3.6.1", "classnames": "^2.2.6", - "rc-util": "^5.30.0" + "rc-util": "^5.38.1" }, "peerDependencies": { "react": ">=16.9.0", @@ -1282,13 +1293,13 @@ } }, "node_modules/@rc-component/tour": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@rc-component/tour/-/tour-1.10.0.tgz", - "integrity": "sha512-voV0BKaTJbewB9LLgAHQ7tAGG7rgDkKQkZo82xw2gIk542hY+o7zwoqdN16oHhIKk7eG/xi+mdXrONT62Dt57A==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@rc-component/tour/-/tour-1.15.0.tgz", + "integrity": "sha512-h6hyILDwL+In9GAgRobwRWihLqqsD7Uft3fZGrJ7L4EiyCoxbnNYwzPXDfz7vNDhWeVyvAWQJj9fJCzpI4+b4g==", "dependencies": { "@babel/runtime": "^7.18.0", "@rc-component/portal": "^1.0.0-9", - "@rc-component/trigger": "^1.3.6", + "@rc-component/trigger": "^2.0.0", "classnames": "^2.3.2", "rc-util": "^5.24.4" }, @@ -1301,9 +1312,9 @@ } }, "node_modules/@rc-component/trigger": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-1.18.2.tgz", - "integrity": "sha512-jRLYgFgjLEPq3MvS87fIhcfuywFSRDaDrYw1FLku7Cm4esszvzTbA0JBsyacAyLrK9rF3TiHFcvoEDMzoD3CTA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-2.2.0.tgz", + "integrity": "sha512-QarBCji02YE9aRFhZgRZmOpXBj0IZutRippsVBv85sxvG4FGk/vRxwAlkn3MS9zK5mwbETd86mAVg2tKqTkdJA==", "dependencies": { "@babel/runtime": "^7.23.2", "@rc-component/portal": "^1.1.0", @@ -2179,56 +2190,56 @@ } }, "node_modules/antd": { - "version": "5.11.1", - "resolved": "https://registry.npmjs.org/antd/-/antd-5.11.1.tgz", - "integrity": "sha512-X7Gk1TtJtM9goTrmTPVserqcP7crtV2TX/pbxgqyHpMZRrnBy0EI3h4ngrW+zsIAW8/iqpgrYsG/NVUel6xkBA==", - "dependencies": { - "@ant-design/colors": "^7.0.0", - "@ant-design/cssinjs": "^1.17.2", - "@ant-design/icons": "^5.2.6", - "@ant-design/react-slick": "~1.0.2", - "@babel/runtime": "^7.18.3", + "version": "5.18.3", + "resolved": "https://registry.npmjs.org/antd/-/antd-5.18.3.tgz", + "integrity": "sha512-Dm3P8HBxoo/DiR/QZLj5Mk+rQZsSXxCCArSZACHGiklkkjW6klzlebAElOUr9NyDeFX7UnQ6LVk7vznXlnjTqQ==", + "dependencies": { + "@ant-design/colors": "^7.0.2", + "@ant-design/cssinjs": "^1.21.0", + "@ant-design/icons": "^5.3.7", + "@ant-design/react-slick": "~1.1.2", + "@babel/runtime": "^7.24.7", "@ctrl/tinycolor": "^3.6.1", - "@rc-component/color-picker": "~1.4.1", + "@rc-component/color-picker": "~1.5.3", "@rc-component/mutate-observer": "^1.1.0", - "@rc-component/tour": "~1.10.0", - "@rc-component/trigger": "^1.18.1", - "classnames": "^2.3.2", + "@rc-component/tour": "~1.15.0", + "@rc-component/trigger": "^2.2.0", + "classnames": "^2.5.1", "copy-to-clipboard": "^3.3.3", - "dayjs": "^1.11.1", + "dayjs": "^1.11.11", "qrcode.react": "^3.1.0", - "rc-cascader": "~3.20.0", - "rc-checkbox": "~3.1.0", - "rc-collapse": "~3.7.1", - "rc-dialog": "~9.3.4", - "rc-drawer": "~6.5.2", - "rc-dropdown": "~4.1.0", - "rc-field-form": "~1.40.0", - "rc-image": "~7.3.2", - "rc-input": "~1.3.5", - "rc-input-number": "~8.4.0", - "rc-mentions": "~2.9.1", - "rc-menu": "~9.12.2", - "rc-motion": "^2.9.0", - "rc-notification": "~5.3.0", - "rc-pagination": "~3.7.0", - "rc-picker": "~3.14.6", - "rc-progress": "~3.5.1", - "rc-rate": "~2.12.0", + "rc-cascader": "~3.26.0", + "rc-checkbox": "~3.3.0", + "rc-collapse": "~3.7.3", + "rc-dialog": "~9.5.2", + "rc-drawer": "~7.2.0", + "rc-dropdown": "~4.2.0", + "rc-field-form": "~2.2.1", + "rc-image": "~7.9.0", + "rc-input": "~1.5.1", + "rc-input-number": "~9.1.0", + "rc-mentions": "~2.14.0", + "rc-menu": "~9.14.0", + "rc-motion": "^2.9.2", + "rc-notification": "~5.6.0", + "rc-pagination": "~4.0.4", + "rc-picker": "~4.5.0", + "rc-progress": "~4.0.0", + "rc-rate": "~2.13.0", "rc-resize-observer": "^1.4.0", - "rc-segmented": "~2.2.2", - "rc-select": "~14.10.0", - "rc-slider": "~10.4.0", + "rc-segmented": "~2.3.0", + "rc-select": "~14.14.0", + "rc-slider": "~10.6.2", "rc-steps": "~6.0.1", "rc-switch": "~4.1.0", - "rc-table": "~7.35.2", - "rc-tabs": "~12.13.1", - "rc-textarea": "~1.5.2", - "rc-tooltip": "~6.1.2", - "rc-tree": "~5.8.2", - "rc-tree-select": "~5.15.0", - "rc-upload": "~4.3.5", - "rc-util": "^5.38.1", + "rc-table": "~7.45.7", + "rc-tabs": "~15.1.1", + "rc-textarea": "~1.7.0", + "rc-tooltip": "~6.2.0", + "rc-tree": "~5.8.8", + "rc-tree-select": "~5.21.0", + "rc-upload": "~4.5.2", + "rc-util": "^5.43.0", "scroll-into-view-if-needed": "^3.1.0", "throttle-debounce": "^5.0.0" }, @@ -2428,11 +2439,6 @@ "node": ">=8" } }, - "node_modules/async-validator": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz", - "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==" - }, "node_modules/asynciterator.prototype": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", @@ -2737,9 +2743,9 @@ } }, "node_modules/classnames": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", - "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" }, "node_modules/clean-regexp": { "version": "1.0.0", @@ -2932,9 +2938,9 @@ } }, "node_modules/csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, "node_modules/damerau-levenshtein": { "version": "1.0.8", @@ -2943,9 +2949,9 @@ "dev": true }, "node_modules/dayjs": { - "version": "1.11.10", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", - "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==" + "version": "1.11.11", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.11.tgz", + "integrity": "sha512-okzr3f11N6WuqYtZSvm+F776mB41wRZMhKP+hc34YdW+KmtYYK9iqvHSwo2k9FEH3fhGXvOPV6yz2IcSrfRUDg==" }, "node_modules/debug": { "version": "4.3.4", @@ -6556,14 +6562,14 @@ } }, "node_modules/rc-cascader": { - "version": "3.20.0", - "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.20.0.tgz", - "integrity": "sha512-lkT9EEwOcYdjZ/jvhLoXGzprK1sijT3/Tp4BLxQQcHDZkkOzzwYQC9HgmKoJz0K7CukMfgvO9KqHeBdgE+pELw==", + "version": "3.26.0", + "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.26.0.tgz", + "integrity": "sha512-L1dml383TPSJD1I11YwxuVbmqaJY64psZqFp1ETlgl3LEOwDu76Cyl11fw5dmjJhMlUWwM5dECQfqJgfebhUjg==", "dependencies": { "@babel/runtime": "^7.12.5", "array-tree-filter": "^2.1.0", "classnames": "^2.3.1", - "rc-select": "~14.10.0", + "rc-select": "~14.14.0", "rc-tree": "~5.8.1", "rc-util": "^5.37.0" }, @@ -6573,9 +6579,9 @@ } }, "node_modules/rc-checkbox": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-3.1.0.tgz", - "integrity": "sha512-PAwpJFnBa3Ei+5pyqMMXdcKYKNBMS+TvSDiLdDnARnMJHC8ESxwPfm4Ao1gJiKtWLdmGfigascnCpwrHFgoOBQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-3.3.0.tgz", + "integrity": "sha512-Ih3ZaAcoAiFKJjifzwsGiT/f/quIkxJoklW4yKGho14Olulwn8gN7hOBve0/WGDg5o/l/5mL0w7ff7/YGvefVw==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "^2.3.2", @@ -6587,9 +6593,9 @@ } }, "node_modules/rc-collapse": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.7.1.tgz", - "integrity": "sha512-N/7ejyiTf3XElNJBBpxqnZBUuMsQWEOPjB2QkfNvZ/Ca54eAvJXuOD1EGbCWCk2m7v/MSxku7mRpdeaLOCd4Gg==", + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-3.7.3.tgz", + "integrity": "sha512-60FJcdTRn0X5sELF18TANwtVi7FtModq649H11mYF1jh83DniMoM4MqY627sEKRCTm4+WXfGDcB7hY5oW6xhyw==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "2.x", @@ -6602,9 +6608,9 @@ } }, "node_modules/rc-dialog": { - "version": "9.3.4", - "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-9.3.4.tgz", - "integrity": "sha512-975X3018GhR+EjZFbxA2Z57SX5rnu0G0/OxFgMMvZK4/hQWEm3MHaNvP4wXpxYDoJsp+xUvVW+GB9CMMCm81jA==", + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-9.5.2.tgz", + "integrity": "sha512-qVUjc8JukG+j/pNaHVSRa2GO2/KbV2thm7yO4hepQ902eGdYK913sGkwg/fh9yhKYV1ql3BKIN2xnud3rEXAPw==", "dependencies": { "@babel/runtime": "^7.10.1", "@rc-component/portal": "^1.0.0-8", @@ -6618,15 +6624,15 @@ } }, "node_modules/rc-drawer": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-6.5.2.tgz", - "integrity": "sha512-QckxAnQNdhh4vtmKN0ZwDf3iakO83W9eZcSKWYYTDv4qcD2fHhRAZJJ/OE6v2ZlQ2kSqCJX5gYssF4HJFvsEPQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-7.2.0.tgz", + "integrity": "sha512-9lOQ7kBekEJRdEpScHvtmEtXnAsy+NGDXiRWc2ZVC7QXAazNVbeT4EraQKYwCME8BJLa8Bxqxvs5swwyOepRwg==", "dependencies": { - "@babel/runtime": "^7.10.1", + "@babel/runtime": "^7.23.9", "@rc-component/portal": "^1.1.1", "classnames": "^2.2.6", "rc-motion": "^2.6.1", - "rc-util": "^5.36.0" + "rc-util": "^5.38.1" }, "peerDependencies": { "react": ">=16.9.0", @@ -6634,12 +6640,12 @@ } }, "node_modules/rc-dropdown": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-4.1.0.tgz", - "integrity": "sha512-VZjMunpBdlVzYpEdJSaV7WM7O0jf8uyDjirxXLZRNZ+tAC+NzD3PXPEtliFwGzVwBBdCmGuSqiS9DWcOLxQ9tw==", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-4.2.0.tgz", + "integrity": "sha512-odM8Ove+gSh0zU27DUj5cG1gNKg7mLWBYzB5E4nNLrLwBmYEgYP43vHKDGOVZcJSVElQBI0+jTQgjnq0NfLjng==", "dependencies": { "@babel/runtime": "^7.18.3", - "@rc-component/trigger": "^1.7.0", + "@rc-component/trigger": "^2.0.0", "classnames": "^2.2.6", "rc-util": "^5.17.0" }, @@ -6649,12 +6655,12 @@ } }, "node_modules/rc-field-form": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-1.40.0.tgz", - "integrity": "sha512-OM3N01X2BYFGJDJcwpk9/BBtlwgveE7eh2SQAKIxVCt9KVWlODYJ9ypTHQdxchfDbeJKJKxMBFXlLAmyvlgPHg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/rc-field-form/-/rc-field-form-2.2.1.tgz", + "integrity": "sha512-uoNqDoR7A4tn4QTSqoWPAzrR7ZwOK5I+vuZ/qdcHtbKx+ZjEsTg7QXm2wk/jalDiSksAQmATxL0T5LJkRREdIA==", "dependencies": { "@babel/runtime": "^7.18.0", - "async-validator": "^4.1.0", + "@rc-component/async-validator": "^5.0.3", "rc-util": "^5.32.2" }, "engines": { @@ -6666,14 +6672,14 @@ } }, "node_modules/rc-image": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/rc-image/-/rc-image-7.3.2.tgz", - "integrity": "sha512-ICEF6SWv9YKhDXxy1vrXcmf0TVvEcQWIww5Yg+f+mn7e4oGX7FNP4+FExwMjNO5UHBEuWrigbGhlCgI6yZZ1jg==", + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/rc-image/-/rc-image-7.9.0.tgz", + "integrity": "sha512-l4zqO5E0quuLMCtdKfBgj4Suv8tIS011F5k1zBBlK25iMjjiNHxA0VeTzGFtUZERSA45gvpXDg8/P6qNLjR25g==", "dependencies": { "@babel/runtime": "^7.11.2", "@rc-component/portal": "^1.0.2", "classnames": "^2.2.6", - "rc-dialog": "~9.3.4", + "rc-dialog": "~9.5.2", "rc-motion": "^2.6.2", "rc-util": "^5.34.1" }, @@ -6683,9 +6689,9 @@ } }, "node_modules/rc-input": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-1.3.6.tgz", - "integrity": "sha512-/HjTaKi8/Ts4zNbYaB5oWCquxFyFQO4Co1MnMgoCeGJlpe7k8Eir2HN0a0F9IHDmmo+GYiGgPpz7w/d/krzsJA==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-1.5.1.tgz", + "integrity": "sha512-+nOzQJDeIfIpNP/SgY45LXSKbuMlp4Yap2y8c+ZpU7XbLmNzUd6+d5/S75sA/52jsVE6S/AkhkkDEAOjIu7i6g==", "dependencies": { "@babel/runtime": "^7.11.1", "classnames": "^2.2.1", @@ -6697,15 +6703,15 @@ } }, "node_modules/rc-input-number": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-8.4.0.tgz", - "integrity": "sha512-B6rziPOLRmeP7kcS5qbdC5hXvvDHYKV4vUxmahevYx2E6crS2bRi0xLDjhJ0E1HtOWo8rTmaE2EBJAkTCZOLdA==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-9.1.0.tgz", + "integrity": "sha512-NqJ6i25Xn/AgYfVxynlevIhX3FuKlMwIFpucGG1h98SlK32wQwDK0zhN9VY32McOmuaqzftduNYWWooWz8pXQA==", "dependencies": { "@babel/runtime": "^7.10.1", "@rc-component/mini-decimal": "^1.0.1", "classnames": "^2.2.5", - "rc-input": "~1.3.5", - "rc-util": "^5.28.0" + "rc-input": "~1.5.0", + "rc-util": "^5.40.1" }, "peerDependencies": { "react": ">=16.9.0", @@ -6713,16 +6719,16 @@ } }, "node_modules/rc-mentions": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-2.9.1.tgz", - "integrity": "sha512-cZuElWr/5Ws0PXx1uxobxfYh4mqUw2FitfabR62YnWgm+WAfDyXZXqZg5DxXW+M1cgVvntrQgDDd9LrihrXzew==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-2.14.0.tgz", + "integrity": "sha512-qKR59FMuF8PK4ZqsbWX3UuA5P1M/snzyqV6Yt3y1DCFbCEdqUGIBgQp6vEfLCO6Z0RoRFlzXtCeSlBTcDDpg1A==", "dependencies": { "@babel/runtime": "^7.22.5", - "@rc-component/trigger": "^1.5.0", + "@rc-component/trigger": "^2.0.0", "classnames": "^2.2.6", - "rc-input": "~1.3.5", - "rc-menu": "~9.12.0", - "rc-textarea": "~1.5.0", + "rc-input": "~1.5.0", + "rc-menu": "~9.14.0", + "rc-textarea": "~1.7.0", "rc-util": "^5.34.1" }, "peerDependencies": { @@ -6731,12 +6737,12 @@ } }, "node_modules/rc-menu": { - "version": "9.12.2", - "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.12.2.tgz", - "integrity": "sha512-NzloFH2pRUYmQ3S/YbJAvRkgCZaLvq0sRa5rgJtuIHLfPPprNHNyepeSlT64+dbVqI4qRWL44VN0lUCldCbbfg==", + "version": "9.14.1", + "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-9.14.1.tgz", + "integrity": "sha512-5wlRb3M8S4yGlWhSoEYJ7ZVRElyScdcpUHxgiLxkeig1tEdyKrnED3B2fhpN0Rrpdp9jyhnmZR/Lwq2fH5VvDQ==", "dependencies": { "@babel/runtime": "^7.10.1", - "@rc-component/trigger": "^1.17.0", + "@rc-component/trigger": "^2.0.0", "classnames": "2.x", "rc-motion": "^2.4.3", "rc-overflow": "^1.3.1", @@ -6748,13 +6754,13 @@ } }, "node_modules/rc-motion": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.9.0.tgz", - "integrity": "sha512-XIU2+xLkdIr1/h6ohPZXyPBMvOmuyFZQ/T0xnawz+Rh+gh4FINcnZmMT5UTIj6hgI0VLDjTaPeRd+smJeSPqiQ==", + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.9.2.tgz", + "integrity": "sha512-fUAhHKLDdkAXIDLH0GYwof3raS58dtNUmzLF2MeiR8o6n4thNpSDQhOqQzWE4WfFZDCi9VEN8n7tiB7czREcyw==", "dependencies": { "@babel/runtime": "^7.11.1", "classnames": "^2.2.1", - "rc-util": "^5.21.0" + "rc-util": "^5.43.0" }, "peerDependencies": { "react": ">=16.9.0", @@ -6762,9 +6768,9 @@ } }, "node_modules/rc-notification": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-5.3.0.tgz", - "integrity": "sha512-WCf0uCOkZ3HGfF0p1H4Sgt7aWfipxORWTPp7o6prA3vxwtWhtug3GfpYls1pnBp4WA+j8vGIi5c2/hQRpGzPcQ==", + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-5.6.0.tgz", + "integrity": "sha512-TGQW5T7waOxLwgJG7fXcw8l7AQiFOjaZ7ISF5PrU526nunHRNcTMuzKihQHaF4E/h/KfOCDk3Mv8eqzbu2e28w==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "2.x", @@ -6795,13 +6801,13 @@ } }, "node_modules/rc-pagination": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-3.7.0.tgz", - "integrity": "sha512-IxSzKapd13L91/195o1TPkKnCNw8gIR25UP1GCW/7c7n/slhld4npu2j2PB9IWjXm4SssaAaSAt2lscYog7wzg==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-4.0.4.tgz", + "integrity": "sha512-GGrLT4NgG6wgJpT/hHIpL9nELv27A1XbSZzECIuQBQTVSf4xGKxWr6I/jhpRPauYEWEbWVw22ObG6tJQqwJqWQ==", "dependencies": { "@babel/runtime": "^7.10.1", - "classnames": "^2.2.1", - "rc-util": "^5.32.2" + "classnames": "^2.3.2", + "rc-util": "^5.38.0" }, "peerDependencies": { "react": ">=16.9.0", @@ -6809,14 +6815,16 @@ } }, "node_modules/rc-picker": { - "version": "3.14.6", - "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-3.14.6.tgz", - "integrity": "sha512-AdKKW0AqMwZsKvIpwUWDUnpuGKZVrbxVTZTNjcO+pViGkjC1EBcjMgxVe8tomOEaIHJL5Gd13vS8Rr3zzxWmag==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-4.5.0.tgz", + "integrity": "sha512-suqz9bzuhBQlf7u+bZd1bJLPzhXpk12w6AjQ9BTPTiFwexVZgUKViG1KNLyfFvW6tCUZZK0HmCCX7JAyM+JnCg==", "dependencies": { "@babel/runtime": "^7.10.1", - "@rc-component/trigger": "^1.5.0", + "@rc-component/trigger": "^2.0.0", "classnames": "^2.2.1", - "rc-util": "^5.30.0" + "rc-overflow": "^1.3.2", + "rc-resize-observer": "^1.4.0", + "rc-util": "^5.38.1" }, "engines": { "node": ">=8.x" @@ -6845,9 +6853,9 @@ } }, "node_modules/rc-progress": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-3.5.1.tgz", - "integrity": "sha512-V6Amx6SbLRwPin/oD+k1vbPrO8+9Qf8zW1T8A7o83HdNafEVvAxPV5YsgtKFP+Ud5HghLj33zKOcEHrcrUGkfw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-4.0.0.tgz", + "integrity": "sha512-oofVMMafOCokIUIBnZLNcOZFsABaUw8PPrf1/y0ZBvKZNpOiu5h4AO9vv11Sw0p4Hb3D0yGWuEattcQGtNJ/aw==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.6", @@ -6859,9 +6867,9 @@ } }, "node_modules/rc-rate": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/rc-rate/-/rc-rate-2.12.0.tgz", - "integrity": "sha512-g092v5iZCdVzbjdn28FzvWebK2IutoVoiTeqoLTj9WM7SjA/gOJIw5/JFZMRyJYYVe1jLAU2UhAfstIpCNRozg==", + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/rc-rate/-/rc-rate-2.13.0.tgz", + "integrity": "sha512-oxvx1Q5k5wD30sjN5tqAyWTvJfLNNJn7Oq3IeS4HxWfAiC4BOXMITNAsw7u/fzdtO4MS8Ki8uRLOzcnEuoQiAw==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.5", @@ -6891,9 +6899,9 @@ } }, "node_modules/rc-segmented": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/rc-segmented/-/rc-segmented-2.2.2.tgz", - "integrity": "sha512-Mq52M96QdHMsNdE/042ibT5vkcGcD5jxKp7HgPC2SRofpia99P5fkfHy1pEaajLMF/kj0+2Lkq1UZRvqzo9mSA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/rc-segmented/-/rc-segmented-2.3.0.tgz", + "integrity": "sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg==", "dependencies": { "@babel/runtime": "^7.11.1", "classnames": "^2.2.1", @@ -6906,12 +6914,12 @@ } }, "node_modules/rc-select": { - "version": "14.10.0", - "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.10.0.tgz", - "integrity": "sha512-TsIJTYafTTapCA32LLNpx/AD6ntepR1TG8jEVx35NiAAWCPymhUfuca8kRcUNd3WIGVMDcMKn9kkphoxEz+6Ag==", + "version": "14.14.0", + "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.14.0.tgz", + "integrity": "sha512-Uo2wulrjoPPRLCPd7zlK4ZFVJxlTN//yp1xWP/U+TUOQCyXrT+Duvq/Si5OzVcmQyWAUSbsplc2OwNNhvbOeKQ==", "dependencies": { "@babel/runtime": "^7.10.1", - "@rc-component/trigger": "^1.5.0", + "@rc-component/trigger": "^2.1.1", "classnames": "2.x", "rc-motion": "^2.0.1", "rc-overflow": "^1.3.1", @@ -6927,13 +6935,13 @@ } }, "node_modules/rc-slider": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-10.4.0.tgz", - "integrity": "sha512-ZlpWjFhOlEf0w4Ng31avFBkXNNBj60NAcTPaIoiCxBkJ29wOtHSPMqv9PZeEoqmx64bpJkgK7kPa47HG4LPzww==", + "version": "10.6.2", + "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-10.6.2.tgz", + "integrity": "sha512-FjkoFjyvUQWcBo1F3RgSglky3ar0+qHLM41PlFVYB4Bj3RD8E/Mv7kqMouLFBU+3aFglMzzctAIWRwajEuueSw==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.5", - "rc-util": "^5.27.0" + "rc-util": "^5.36.0" }, "engines": { "node": ">=8.x" @@ -6975,16 +6983,16 @@ } }, "node_modules/rc-table": { - "version": "7.35.2", - "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.35.2.tgz", - "integrity": "sha512-ZLIZdAEdfen21FI21xt2LDg9chQ7gc5Lpy4nkjWKPDgmQMnH0KJ8JQQzrd3zrEN16xzjiVdHHvRmi1RU8BtgYg==", + "version": "7.45.7", + "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.45.7.tgz", + "integrity": "sha512-wi9LetBL1t1csxyGkMB2p3mCiMt+NDexMlPbXHvQFmBBAsMxrgNSAPwUci2zDLUq9m8QdWc1Nh8suvrpy9mXrg==", "dependencies": { "@babel/runtime": "^7.10.1", "@rc-component/context": "^1.4.0", "classnames": "^2.2.5", "rc-resize-observer": "^1.1.0", "rc-util": "^5.37.0", - "rc-virtual-list": "^3.11.1" + "rc-virtual-list": "^3.14.2" }, "engines": { "node": ">=8.x" @@ -6995,14 +7003,14 @@ } }, "node_modules/rc-tabs": { - "version": "12.13.1", - "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-12.13.1.tgz", - "integrity": "sha512-83u3l2QkO0UznCzdBLEk9WnNcT+imtmDmMT993sUUEOGnNQAmqOdev0XjeqrcvsAMe9CDpAWDFd7L/RZw+LVJQ==", + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-15.1.1.tgz", + "integrity": "sha512-Tc7bJvpEdkWIVCUL7yQrMNBJY3j44NcyWS48jF/UKMXuUlzaXK+Z/pEL5LjGcTadtPvVmNqA40yv7hmr+tCOAw==", "dependencies": { "@babel/runtime": "^7.11.2", "classnames": "2.x", - "rc-dropdown": "~4.1.0", - "rc-menu": "~9.12.0", + "rc-dropdown": "~4.2.0", + "rc-menu": "~9.14.0", "rc-motion": "^2.6.2", "rc-resize-observer": "^1.0.0", "rc-util": "^5.34.1" @@ -7016,13 +7024,13 @@ } }, "node_modules/rc-textarea": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-1.5.3.tgz", - "integrity": "sha512-oH682ghHx++stFNYrosPRBfwsypywrTXpaD0/5Z8MPkUOnyOQUaY9ueL9tMu6BP1LfsuYQ1VLpg5OtshViLNgA==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-1.7.0.tgz", + "integrity": "sha512-UxizYJkWkmxP3zofXgc487QiGyDmhhheDLLjIWbFtDmiru1ls30KpO8odDaPyqNUIy9ugj5djxTEuezIn6t3Jg==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.1", - "rc-input": "~1.3.5", + "rc-input": "~1.5.0", "rc-resize-observer": "^1.0.0", "rc-util": "^5.27.0" }, @@ -7032,12 +7040,12 @@ } }, "node_modules/rc-tooltip": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-6.1.2.tgz", - "integrity": "sha512-89zwvybvCxGJu3+gGF8w5AXd4HHk6hIN7K0vZbkzjilVaEAIWPqc1fcyeUeP71n3VCcw7pTL9LyFupFbrx8gHw==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-6.2.0.tgz", + "integrity": "sha512-iS/3iOAvtDh9GIx1ulY7EFUXUtktFccNLsARo3NPgLf0QW9oT0w3dA9cYWlhqAKmD+uriEwdWz1kH0Qs4zk2Aw==", "dependencies": { "@babel/runtime": "^7.11.2", - "@rc-component/trigger": "^1.18.0", + "@rc-component/trigger": "^2.0.0", "classnames": "^2.3.1" }, "peerDependencies": { @@ -7046,9 +7054,9 @@ } }, "node_modules/rc-tree": { - "version": "5.8.2", - "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.8.2.tgz", - "integrity": "sha512-xH/fcgLHWTLmrSuNphU8XAqV7CdaOQgm4KywlLGNoTMhDAcNR3GVNP6cZzb0GrKmIZ9yae+QLot/cAgUdPRMzg==", + "version": "5.8.8", + "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.8.8.tgz", + "integrity": "sha512-S+mCMWo91m5AJqjz3PdzKilGgbFm7fFJRFiTDOcoRbD7UfMOPnerXwMworiga0O2XIo383UoWuEfeHs1WOltag==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "2.x", @@ -7065,13 +7073,13 @@ } }, "node_modules/rc-tree-select": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.15.0.tgz", - "integrity": "sha512-YJHfdO6azFnR0/JuNBZLDptGE4/RGfVeHAafUIYcm2T3RBkL1O8aVqiHvwIyLzdK59ry0NLrByd+3TkfpRM+9Q==", + "version": "5.21.0", + "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.21.0.tgz", + "integrity": "sha512-w+9qEu6zh0G3wt9N/hzWNSnqYH1i9mH1Nqxo0caxLRRFXF5yZWYmpCDoDTMdQM1Y4z3Q5yj08qyrPH/d4AtumA==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "2.x", - "rc-select": "~14.10.0", + "rc-select": "~14.14.0", "rc-tree": "~5.8.1", "rc-util": "^5.16.1" }, @@ -7081,9 +7089,9 @@ } }, "node_modules/rc-upload": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.3.5.tgz", - "integrity": "sha512-EHlKJbhkgFSQHliTj9v/2K5aEuFwfUQgZARzD7AmAPOneZEPiCNF3n6PEWIuqz9h7oq6FuXgdR67sC5BWFxJbA==", + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.5.2.tgz", + "integrity": "sha512-QO3ne77DwnAPKFn0bA5qJM81QBjQi0e0NHdkvpFyY73Bea2NfITiotqJqVjHgeYPOJu5lLVR32TNGP084aSoXA==", "dependencies": { "@babel/runtime": "^7.18.3", "classnames": "^2.2.5", @@ -7095,9 +7103,9 @@ } }, "node_modules/rc-util": { - "version": "5.38.1", - "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.38.1.tgz", - "integrity": "sha512-e4ZMs7q9XqwTuhIK7zBIVFltUtMSjphuPPQXHoHlzRzNdOwUxDejo0Zls5HYaJfRKNURcsS/ceKVULlhjBrxng==", + "version": "5.43.0", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.43.0.tgz", + "integrity": "sha512-AzC7KKOXFqAdIBqdGWepL9Xn7cm3vnAmjlHqUnoQaTMZYhM4VlXGLkkHHxj/BZ7Td0+SOPKB4RGPboBVKT9htw==", "dependencies": { "@babel/runtime": "^7.18.3", "react-is": "^18.2.0" @@ -7113,9 +7121,9 @@ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, "node_modules/rc-virtual-list": { - "version": "3.11.3", - "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.11.3.tgz", - "integrity": "sha512-tu5UtrMk/AXonHwHxUogdXAWynaXsrx1i6dsgg+lOo/KJSF8oBAcprh1z5J3xgnPJD5hXxTL58F8s8onokdt0Q==", + "version": "3.14.5", + "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.14.5.tgz", + "integrity": "sha512-ZMOnkCLv2wUN8Jz7yI4XiSLa9THlYvf00LuMhb1JlsQCewuU7ydPuHw1rGVPhe9VZYl/5UqODtNd7QKJ2DMGfg==", "dependencies": { "@babel/runtime": "^7.20.0", "classnames": "^2.2.6", @@ -7126,8 +7134,8 @@ "node": ">=8.x" }, "peerDependencies": { - "react": "*", - "react-dom": "*" + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, "node_modules/react": { @@ -8547,9 +8555,9 @@ "dev": true }, "node_modules/stylis": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.0.tgz", - "integrity": "sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==" + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.2.tgz", + "integrity": "sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==" }, "node_modules/supports-color": { "version": "5.5.0", @@ -8732,9 +8740,9 @@ "dev": true }, "node_modules/throttle-debounce": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.0.tgz", - "integrity": "sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.2.tgz", + "integrity": "sha512-B71/4oyj61iNH0KeCamLuE2rmKuTO5byTOSVwECM5FA7TiAiAW+UqTKZ9ERueC4qvgSttUhdmq1mXC3kJqGX7A==", "engines": { "node": ">=12.22" } From 5bc8f41cf69ca1ba3055818fc679f4255ad28a59 Mon Sep 17 00:00:00 2001 From: Alex Monso Date: Mon, 1 Jul 2024 19:00:54 +0200 Subject: [PATCH 06/10] Fix PR feedback --- ui/src/components/shared/Explainer.tsx | 5 +++- ui/src/components/shared/SiderMenu.tsx | 4 +-- ui/src/styles/index.scss | 41 +++++++++++++++++++------- ui/src/styles/variables.module.scss | 5 ++-- ui/src/utils/constants.ts | 4 +-- 5 files changed, 41 insertions(+), 18 deletions(-) diff --git a/ui/src/components/shared/Explainer.tsx b/ui/src/components/shared/Explainer.tsx index f1affde97..bbe3bf3cb 100644 --- a/ui/src/components/shared/Explainer.tsx +++ b/ui/src/components/shared/Explainer.tsx @@ -47,7 +47,10 @@ export function Explainer({ {localStorageKey && ( diff --git a/ui/src/components/shared/SiderMenu.tsx b/ui/src/components/shared/SiderMenu.tsx index e6e0ca02d..f1349b7ff 100644 --- a/ui/src/components/shared/SiderMenu.tsx +++ b/ui/src/components/shared/SiderMenu.tsx @@ -136,9 +136,7 @@ export function SiderMenu({ isAsyncTaskDataAvailable(status) && status.data ? ( {ISSUER_STATE} - - Pending actions - + Pending actions ) : ( ISSUER_STATE diff --git a/ui/src/styles/index.scss b/ui/src/styles/index.scss index 36edb56da..9d4a21acc 100644 --- a/ui/src/styles/index.scss +++ b/ui/src/styles/index.scss @@ -32,6 +32,26 @@ } } +.ant-pagination { + .ant-pagination-item { + &.ant-pagination-item-active { + a { + color: $primary-color-dark; + } + + border-color: $primary-color-dark; + } + } + + .ant-pagination-options { + margin-right: 16px; + + .ant-select-selector { + border-color: $border-color; + } + } +} + .ant-card { .ant-card-head-title { .ant-row-space-between { @@ -55,7 +75,7 @@ } &.explainer { - background-color: $primary-color; + background-color: $primary-color-dark; margin-top: 8px; padding-top: 8px; @@ -80,7 +100,7 @@ } &.selected { - border: 1px solid $selected-color; + border: 1px solid $primary-color-dark; background: $success-bg; } @@ -302,37 +322,38 @@ .ant-radio-wrapper .ant-radio-checked .ant-radio-inner { background-color: $success-bg; - border-color: $selected-color; + border-color: $primary-color-dark; } .ant-radio-wrapper .ant-radio-checked .ant-radio-inner::after { - background-color: $selected-color; + background-color: $primary-color-dark; } .ant-checkbox-wrapper { .ant-checkbox-checked .ant-checkbox-inner { - border-color: $selected-color; + border-color: $primary-color-dark; } &:not(.ant-checkbox:not(.ant-checkbox-wrapper-disabled)):hover .ant-checkbox-inner { - border-color: $selected-color; + border-color: $primary-color-dark; } } .ant-checkbox:not(.ant-checkbox-disabled):hover .ant-checkbox-inner { - border-color: $selected-color; + border-color: $primary-color-dark; } .ant-input-number-outlined:hover { - border-color: $selected-color; + border-color: $primary-color-dark; } .ant-input-number .ant-input-number-handler:hover { .ant-input-number-handler-up-inner { - color: $selected-color; + color: $primary-color-dark; } + .ant-input-number-handler-down-inner { - color: $selected-color; + color: $primary-color-dark; } } diff --git a/ui/src/styles/variables.module.scss b/ui/src/styles/variables.module.scss index 66ded2dd5..a7a4680d6 100644 --- a/ui/src/styles/variables.module.scss +++ b/ui/src/styles/variables.module.scss @@ -7,7 +7,7 @@ $divider-color: #eaecf0; $error-bg: #fecfcf; $error-color: #b20808; $primary-bg: #f4ebff; -$primary-color: #9afe5b; +$primary-color: #93f558; $success-bg: #f1ffe5; $success-color: #2f8507; $tag-bg: #f2f4f7; @@ -16,7 +16,7 @@ $tag-color: #344054; $text-color: #131313; $text-color-secondary: #667085; $text-color-warning: #b54708; -$selected-color: #3ab000; +$primary-color-dark: #2f8507; :export { avatarBg: $avatar-bg; @@ -29,6 +29,7 @@ $selected-color: #3ab000; errorColor: $error-color; primaryBg: $primary-bg; primaryColor: $primary-color; + primaryColorDark: $primary-color-dark; successBg: $success-bg; successColor: $success-color; tagBg: $tag-bg; diff --git a/ui/src/utils/constants.ts b/ui/src/utils/constants.ts index 0775114a4..ae04ee5fe 100644 --- a/ui/src/utils/constants.ts +++ b/ui/src/utils/constants.ts @@ -75,14 +75,14 @@ export const SIDER_WIDTH = 320; export const TOAST_NOTIFICATION_TIMEOUT = 6; -export const DOCS_URL = "https://devs.polygonid.com"; +export const DOCS_URL = "https://docs.privado.id"; export const WALLET_APP_STORE_URL = "https://apps.apple.com/us/app/polygon-id/id1629870183"; export const WALLET_PLAY_STORE_URL = "https://play.google.com/store/apps/details?id=com.polygonid.wallet"; -export const IPFS_PUBLIC_GATEWAY_CHECKER_URL = "https://ipfs.github.io/public-gateway-checker/"; +export const IPFS_PUBLIC_GATEWAY_CHECKER_URL = "https://ipfs.github.io/public-gateway-checker"; export const IPFS_CUSTOM_GATEWAY_KEY = "ipfsGatewayUrl"; From 48bb912588c28b470a649e7e91888488223749cf Mon Sep 17 00:00:00 2001 From: Alex Monso Date: Mon, 1 Jul 2024 19:24:29 +0200 Subject: [PATCH 07/10] Revert most overrides by changing the primary color --- ui/src/styles/index.scss | 59 +++-------------------------- ui/src/styles/variables.module.scss | 6 +-- 2 files changed, 9 insertions(+), 56 deletions(-) diff --git a/ui/src/styles/index.scss b/ui/src/styles/index.scss index 9d4a21acc..7d838e3e5 100644 --- a/ui/src/styles/index.scss +++ b/ui/src/styles/index.scss @@ -33,16 +33,6 @@ } .ant-pagination { - .ant-pagination-item { - &.ant-pagination-item-active { - a { - color: $primary-color-dark; - } - - border-color: $primary-color-dark; - } - } - .ant-pagination-options { margin-right: 16px; @@ -75,7 +65,7 @@ } &.explainer { - background-color: $primary-color-dark; + background-color: $primary-color; margin-top: 8px; padding-top: 8px; @@ -100,8 +90,8 @@ } &.selected { - border: 1px solid $primary-color-dark; - background: $success-bg; + border: 1px solid $primary-color; + background: $bg-light; } .ant-card-type-inner { @@ -307,56 +297,19 @@ border: 1px solid #54db06; &:not(:disabled .ant-btn-disable) { + background: $primary-color-light; + &:hover { color: $text-color; } &:active { - border: 1px solid #74f526; color: $text-color; - background: $primary-color; - box-shadow: 0 0 0 4px #dfffc7; + background: $primary-color-light; } } } -.ant-radio-wrapper .ant-radio-checked .ant-radio-inner { - background-color: $success-bg; - border-color: $primary-color-dark; -} - -.ant-radio-wrapper .ant-radio-checked .ant-radio-inner::after { - background-color: $primary-color-dark; -} - -.ant-checkbox-wrapper { - .ant-checkbox-checked .ant-checkbox-inner { - border-color: $primary-color-dark; - } - - &:not(.ant-checkbox:not(.ant-checkbox-wrapper-disabled)):hover .ant-checkbox-inner { - border-color: $primary-color-dark; - } -} - -.ant-checkbox:not(.ant-checkbox-disabled):hover .ant-checkbox-inner { - border-color: $primary-color-dark; -} - -.ant-input-number-outlined:hover { - border-color: $primary-color-dark; -} - -.ant-input-number .ant-input-number-handler:hover { - .ant-input-number-handler-up-inner { - color: $primary-color-dark; - } - - .ant-input-number-handler-down-inner { - color: $primary-color-dark; - } -} - .ant-typography.ant-typography-secondary { color: $text-color-secondary; } diff --git a/ui/src/styles/variables.module.scss b/ui/src/styles/variables.module.scss index a7a4680d6..fd9dcbe11 100644 --- a/ui/src/styles/variables.module.scss +++ b/ui/src/styles/variables.module.scss @@ -7,7 +7,7 @@ $divider-color: #eaecf0; $error-bg: #fecfcf; $error-color: #b20808; $primary-bg: #f4ebff; -$primary-color: #93f558; +$primary-color: #2f8507; $success-bg: #f1ffe5; $success-color: #2f8507; $tag-bg: #f2f4f7; @@ -16,7 +16,7 @@ $tag-color: #344054; $text-color: #131313; $text-color-secondary: #667085; $text-color-warning: #b54708; -$primary-color-dark: #2f8507; +$primary-color-light: #93f558; :export { avatarBg: $avatar-bg; @@ -29,7 +29,7 @@ $primary-color-dark: #2f8507; errorColor: $error-color; primaryBg: $primary-bg; primaryColor: $primary-color; - primaryColorDark: $primary-color-dark; + primaryColorLight: $primary-color-light; successBg: $success-bg; successColor: $success-color; tagBg: $tag-bg; From 5de8586153b2b05cefa0ef6295e1cc0f605f8867 Mon Sep 17 00:00:00 2001 From: Alex Monso Date: Mon, 1 Jul 2024 19:46:42 +0200 Subject: [PATCH 08/10] Fix PR feedback --- ui/src/styles/index.scss | 10 ++++++++++ ui/src/styles/theme.ts | 29 ++++++++++++++--------------- ui/src/styles/variables.module.scss | 2 ++ 3 files changed, 26 insertions(+), 15 deletions(-) diff --git a/ui/src/styles/index.scss b/ui/src/styles/index.scss index 7d838e3e5..63ffca57a 100644 --- a/ui/src/styles/index.scss +++ b/ui/src/styles/index.scss @@ -110,6 +110,14 @@ } } +.ant-select-dropdown { + .rc-virtual-list { + .ant-select-item-option-selected { + background-color: $selected-bg; + } + } +} + .ant-select-selection-search-input { &.hidden-suffix { .ant-input-suffix { @@ -262,6 +270,7 @@ } .ant-tag { + margin-right: auto; padding: 2px 10px; border-radius: 16px; border: 0; @@ -295,6 +304,7 @@ .ant-btn-primary { border: 1px solid #54db06; + box-shadow: none; &:not(:disabled .ant-btn-disable) { background: $primary-color-light; diff --git a/ui/src/styles/theme.ts b/ui/src/styles/theme.ts index a4fe0af00..2ecf87b4a 100644 --- a/ui/src/styles/theme.ts +++ b/ui/src/styles/theme.ts @@ -71,16 +71,15 @@ export const theme: ThemeConfig = { colorPrimaryBg: primaryColor, colorPrimaryHover: "#74F526", controlHeight: 40, - defaultHoverBorderColor: successColor, - defaultHoverColor: successColor, + defaultHoverBorderColor: primaryColor, + defaultHoverColor: primaryColor, paddingContentHorizontal: 16, primaryColor: textColor, }, Card: { - colorBgBase: successColor, + colorBgBase: primaryColor, fontWeightStrong: 500, }, - Checkbox: { borderRadius: 6, colorPrimary: successBg, colorWhite: "#3AB000", size: 20 }, DatePicker: { controlHeight: 40 }, Form: { fontSize: 14 }, Input: { controlHeight: 40 }, @@ -88,29 +87,29 @@ export const theme: ThemeConfig = { Layout: { bodyBg: "white", headerBg: "white", siderBg: "white" }, Menu: { colorBgBase: "transparent", - horizontalItemSelectedColor: successColor, + horizontalItemSelectedColor: primaryColor, itemActiveBg: "transparent", itemBg: "transparent", itemColor: textColorSecondary, itemHoverBg: "white", - itemHoverColor: successColor, + itemHoverColor: primaryColor, itemSelectedBg: successBg, - itemSelectedColor: successColor, + itemSelectedColor: primaryColor, subMenuItemBg: "white", }, Message: { fontSize: 18 }, Radio: { buttonCheckedBg: bgLight, - colorPrimary: successColor, - colorPrimaryHover: successColor, + colorPrimary: primaryColor, + colorPrimaryHover: primaryColor, controlHeight: 40, size: 20, }, - Select: { colorBorder: successColor, controlHeight: 40 }, + Select: { colorBorder: primaryColor, controlHeight: 40 }, Table: { fontSize: 14, fontWeightStrong: 400 }, Tabs: { - colorPrimary: successColor, - itemHoverColor: successColor, + colorPrimary: primaryColor, + itemHoverColor: primaryColor, }, Tag: { colorBgBase: tagBg, @@ -126,9 +125,9 @@ export const theme: ThemeConfig = { colorError: errorColor, colorInfo: tagColor, colorInfoBorder: borderColor, - colorLink: successColor, - colorLinkActive: successColor, - colorLinkHover: successColor, + colorLink: primaryColor, + colorLinkActive: primaryColor, + colorLinkHover: primaryColor, colorPrimary: primaryColor, colorPrimaryText: textColor, colorSuccess: successColor, diff --git a/ui/src/styles/variables.module.scss b/ui/src/styles/variables.module.scss index fd9dcbe11..01b07f5b2 100644 --- a/ui/src/styles/variables.module.scss +++ b/ui/src/styles/variables.module.scss @@ -9,6 +9,7 @@ $error-color: #b20808; $primary-bg: #f4ebff; $primary-color: #2f8507; $success-bg: #f1ffe5; +$selected-bg: #f1ffe5; $success-color: #2f8507; $tag-bg: #f2f4f7; $tag-bg-success: #ecfdf3; @@ -31,6 +32,7 @@ $primary-color-light: #93f558; primaryColor: $primary-color; primaryColorLight: $primary-color-light; successBg: $success-bg; + selectedBg: $selected-bg; successColor: $success-color; tagBg: $tag-bg; tagBgSuccess: $tag-bg-success; From 454fe409638aa3764ddbfbd33266836b6b89fe25 Mon Sep 17 00:00:00 2001 From: Alex Monso Date: Mon, 1 Jul 2024 19:52:27 +0200 Subject: [PATCH 09/10] Remove playwright-report --- ui/playwright-report/index.html | 69 --------------------------------- 1 file changed, 69 deletions(-) delete mode 100644 ui/playwright-report/index.html diff --git a/ui/playwright-report/index.html b/ui/playwright-report/index.html deleted file mode 100644 index cf3961c19..000000000 --- a/ui/playwright-report/index.html +++ /dev/null @@ -1,69 +0,0 @@ - - - - - - - - - Playwright Test Report - - - - -
- - - - \ No newline at end of file From 2505b91856bd8030406cee37631c7acc99f6ff95 Mon Sep 17 00:00:00 2001 From: Alex Monso Date: Mon, 1 Jul 2024 19:57:11 +0200 Subject: [PATCH 10/10] Revert typo --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index ba453d12e..e550f6cd5 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,6 @@ Streamline the **Verifiable Credentials issuance** process with the user-friendl --- ## Table of Contents - - [Privado ID Issuer Node](#privado-id-issuer-node) - [Table of Contents](#table-of-contents) - [Quick Start Installation](#quick-start-installation) @@ -229,7 +228,7 @@ This [Quick Start Demo](https://devs.polygonid.com/docs/quick-start-demo/) will * [Schema Builder](https://schema-builder.polygonid.me/) - Create your custom schemas to issue VC. * [Demo Issuer UI](https://user-ui:password-ui@issuer-ui.polygonid.me/) - Test our Issuer Node UI. * [Verifier Demo](https://verifier-demo.polygonid.me/) - Verify your VCs. -* [Poylgon ID Android Mobile App](https://play.google.com/store/apps/details?id=com.polygonid.wallet&hl=en&gl=US) +* [Polygon ID Android Mobile App](https://play.google.com/store/apps/details?id=com.polygonid.wallet&hl=en&gl=US) * [Polygon ID IOS Mobile App](https://apps.apple.com/us/app/polygon-id/id1629870183) * [Marketplace](https://marketplace.polygonid.me/) - Explore credentials submitted by trusted issuers.