Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
91f8cddb3c | ||
|
|
254409f486 | ||
|
|
607abcbd86 | ||
|
|
b2126c3db6 | ||
|
|
3313bd38ca | ||
|
|
062f9f37f7 | ||
|
|
143cce1cb8 | ||
|
|
9ec68688d6 | ||
|
|
6670bf75f6 | ||
|
|
d2029bdf5b | ||
|
|
64c4abe645 | ||
|
|
c3b826c3a4 | ||
|
|
90a87ebb5b | ||
|
|
3937b36260 | ||
|
|
8557dfd53a | ||
|
|
aef29db995 | ||
|
|
8d762218b4 | ||
|
|
63be1a965b | ||
|
|
0837376d00 | ||
|
|
1fbb4d67bb | ||
|
|
dd83ad69a9 | ||
|
|
ff73cc86fb | ||
|
|
c93438754f | ||
|
|
3b542acc47 | ||
|
|
473b455373 | ||
|
|
4ecdd4d803 | ||
|
|
9a67ff2fc1 | ||
|
|
eebe754c92 | ||
|
|
f285f2ff58 | ||
|
|
cf28882540 | ||
|
|
fc08babdaf | ||
|
|
666fc8f702 | ||
|
|
d2a28ca315 | ||
|
|
67e867a72e | ||
|
|
abe4e5b340 | ||
|
|
a5fdaf1f1c | ||
|
|
3b7b85e835 | ||
|
|
6119c57d46 | ||
|
|
6279b3b926 | ||
|
|
50b4e2bd07 | ||
|
|
252a8a8554 | ||
|
|
83fd6ad0c0 | ||
|
|
420f8f095b | ||
|
|
8a3ee3588d | ||
|
|
62e5e5e23e | ||
|
|
a456a4c9df | ||
|
|
9a9c1f50ee | ||
|
|
7ad8333f2e | ||
|
|
ec99102a78 | ||
|
|
36c7da623b | ||
|
|
7bb148eea9 | ||
|
|
ee039545be | ||
|
|
e15651ac9c | ||
|
|
f92e276a0d | ||
|
|
a51ef7bccc | ||
|
|
bf8a295d64 | ||
|
|
d2bbf6bb0e | ||
|
|
60cc5fbd4b | ||
|
|
dae851297b | ||
|
|
fa9eef757a | ||
|
|
84c36c5c68 | ||
|
|
4a71023452 | ||
|
|
359230bfb3 | ||
|
|
19fa38e441 | ||
|
|
e6105e19a5 | ||
|
|
e8b9f2aafc | ||
|
|
bcdd6e42ec | ||
|
|
b14dc3bcc3 | ||
|
|
798a9fb453 | ||
|
|
c81c08271b | ||
|
|
0957599bdb | ||
|
|
4ec2f6730b | ||
|
|
701439d6bc | ||
|
|
cade4a9051 | ||
|
|
d4bec36fa7 | ||
|
|
b83073f588 | ||
|
|
f36a80ad8b | ||
|
|
e2f16b8e2e | ||
|
|
8470b347a4 | ||
|
|
24f1cf7e17 | ||
|
|
aac0aa43d0 | ||
|
|
2c5db364ba | ||
|
|
bbf77d7b84 | ||
|
|
3250187fbb | ||
|
|
e3168c8231 | ||
|
|
6d98c56e7a | ||
|
|
bf986c079f | ||
|
|
f0d21fa985 | ||
|
|
aad690bfda | ||
|
|
6e30befa0f | ||
|
|
4217c67acd | ||
|
|
b181da4919 | ||
|
|
6907d0c30a | ||
|
|
22c8d7ac0c | ||
|
|
a3a918b2cb | ||
|
|
656be6550a | ||
|
|
fa8697331b | ||
|
|
e392d52924 | ||
|
|
975b0a9fa2 | ||
|
|
8bd9b7b908 | ||
|
|
1a230f95f6 | ||
|
|
c1b3cc87ee | ||
|
|
e1f96f1fcf | ||
|
|
45b330aa90 | ||
|
|
172051cedc | ||
|
|
0310baa9ee | ||
|
|
78029388e5 | ||
|
|
b9b1b296a3 | ||
|
|
32086c0fc7 | ||
|
|
01d7661a5f | ||
|
|
6e97f75824 | ||
|
|
86281dca3a | ||
|
|
faed5b1474 | ||
|
|
0e0de28da4 | ||
|
|
2e99e0154f | ||
|
|
0cbf187979 | ||
|
|
0aee857525 | ||
|
|
306f30d2b5 | ||
|
|
2259e05088 | ||
|
|
581a360226 | ||
|
|
a3b5206107 | ||
|
|
dcef4deb2a | ||
|
|
6629fc6a11 | ||
|
|
0173205f4b | ||
|
|
001793c937 | ||
|
|
583f3416a6 | ||
|
|
7913cfda05 | ||
|
|
9b7f4bf62f | ||
|
|
9b3785b8f6 | ||
|
|
83c21fc185 | ||
|
|
4baccadf26 | ||
|
|
e83da1449d | ||
|
|
c488094732 | ||
|
|
c25fefa16f |
@@ -1,19 +0,0 @@
|
||||
// Copyright 2017-2023 @polkadot/ui authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
const base = require('@polkadot/dev/config/eslint.cjs');
|
||||
|
||||
module.exports = {
|
||||
...base,
|
||||
ignorePatterns: [
|
||||
...base.ignorePatterns,
|
||||
'jest/**/*',
|
||||
'**/*.d.ts'
|
||||
],
|
||||
parserOptions: {
|
||||
...base.parserOptions,
|
||||
project: [
|
||||
'./tsconfig.eslint.json'
|
||||
]
|
||||
}
|
||||
};
|
||||
@@ -11,6 +11,6 @@ jobs:
|
||||
steps:
|
||||
- uses: jacogr/action-approve@795afd1dd096a2071d7ec98740661af4e853b7da
|
||||
with:
|
||||
authors: jacogr
|
||||
authors: jacogr, TarikGul
|
||||
labels: -auto
|
||||
token: ${{ secrets.GH_PAT_BOT }}
|
||||
|
||||
@@ -10,7 +10,7 @@ jobs:
|
||||
steps:
|
||||
- uses: jacogr/action-merge@d2d64b4545acd93b0a9575177d3d215ae3f92029
|
||||
with:
|
||||
checks: build,lint,test
|
||||
checks: pr (build),pr (lint),pr (test)
|
||||
labels: -auto
|
||||
strategy: squash
|
||||
token: ${{ secrets.GH_PAT_BOT }}
|
||||
|
||||
@@ -10,16 +10,16 @@ jobs:
|
||||
env:
|
||||
YARN_ENABLE_SCRIPTS: false
|
||||
steps:
|
||||
- uses: dessant/lock-threads@f1a42f0f44eb83361d617a014663e1a76cf282d2
|
||||
- uses: dessant/lock-threads@c1b35aecc5cdb1a34539d14196df55838bb2f836
|
||||
with:
|
||||
github-token: ${{ secrets.GH_PAT_BOT }}
|
||||
issue-lock-inactive-days: '7'
|
||||
issue-lock-comment: >
|
||||
issue-inactive-days: '7'
|
||||
issue-comment: >
|
||||
This thread has been automatically locked since there has not been
|
||||
any recent activity after it was closed. Please open a new issue
|
||||
if you think you have a related problem or query.
|
||||
pr-lock-inactive-days: '2'
|
||||
pr-lock-comment: >
|
||||
pr-inactive-days: '2'
|
||||
pr-comment: >
|
||||
This pull request has been automatically locked since there
|
||||
has not been any recent activity after it was closed.
|
||||
Please open a new issue for related bugs.
|
||||
|
||||
@@ -3,10 +3,10 @@ on: [pull_request]
|
||||
|
||||
jobs:
|
||||
pr:
|
||||
continue-on-error: true
|
||||
strategy:
|
||||
matrix:
|
||||
step: ['lint', 'test', 'build']
|
||||
name: ${{ matrix.step }}
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
YARN_ENABLE_SCRIPTS: false
|
||||
@@ -17,5 +17,5 @@ jobs:
|
||||
node-version: 'lts/*'
|
||||
- name: ${{ matrix.step }}
|
||||
run: |
|
||||
yarn install --immutable | grep -v 'YN0013'
|
||||
yarn install --immutable
|
||||
yarn ${{ matrix.step }}
|
||||
|
||||
@@ -10,7 +10,6 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
step: ['build:release']
|
||||
name: ${{ matrix.step }}
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
YARN_ENABLE_SCRIPTS: false
|
||||
@@ -28,5 +27,5 @@ jobs:
|
||||
node-version: 'lts/*'
|
||||
- name: ${{ matrix.step }}
|
||||
run: |
|
||||
yarn install --immutable | grep -v 'YN0013'
|
||||
yarn install --immutable
|
||||
yarn ${{ matrix.step }}
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
name: 'Close stale issues and PRs'
|
||||
on:
|
||||
schedule:
|
||||
- cron: '40 2/3 * * *'
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
YARN_ENABLE_SCRIPTS: false
|
||||
steps:
|
||||
- uses: actions/stale@98ed4cb500039dbcccf4bd9bedada4d0187f2757
|
||||
with:
|
||||
repo-token: ${{ secrets.GH_PAT_BOT }}
|
||||
stale-issue-message: 'This issue has been open for 21 days with no activity and is not labelled as an enhancement. It will be closed in 7 days.'
|
||||
stale-issue-label: 'stale'
|
||||
exempt-issue-labels: '-size-l,-size-m,-size-s,-size-xl,-size-xs,[bug]'
|
||||
days-before-stale: 21
|
||||
days-before-close: 7
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
// Copyright 2017-2023 @polkadot/ui authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/ui-shared authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
module.exports = require('@polkadot/dev/config/prettier.cjs');
|
||||
|
||||
Vendored
+4
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"eslint.enable": true,
|
||||
"eslint.experimental.useFlatConfig": true
|
||||
}
|
||||
-363
File diff suppressed because one or more lines are too long
-550
File diff suppressed because one or more lines are too long
Vendored
-785
File diff suppressed because one or more lines are too long
+893
File diff suppressed because one or more lines are too long
+9
-7
@@ -1,13 +1,15 @@
|
||||
compressionLevel: mixed
|
||||
|
||||
enableGlobalCache: false
|
||||
|
||||
enableImmutableInstalls: false
|
||||
|
||||
enableProgressBars: false
|
||||
|
||||
logFilters:
|
||||
- code: YN0013
|
||||
level: discard
|
||||
|
||||
nodeLinker: node-modules
|
||||
|
||||
plugins:
|
||||
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
|
||||
spec: "@yarnpkg/plugin-interactive-tools"
|
||||
- path: .yarn/plugins/@yarnpkg/plugin-version.cjs
|
||||
spec: "@yarnpkg/plugin-version"
|
||||
|
||||
yarnPath: .yarn/releases/yarn-3.2.0.cjs
|
||||
yarnPath: .yarn/releases/yarn-4.1.0.cjs
|
||||
|
||||
+142
@@ -1,5 +1,147 @@
|
||||
# CHANGELOG
|
||||
|
||||
## 3.6.5 Feb 28, 2024
|
||||
|
||||
Changes
|
||||
|
||||
- Bump to `@polkadot/util` 12.6.2
|
||||
- Bump to `react-native-svg` 14.1.0
|
||||
- Adjust `Vue` peerDependency, >= 2.7 for defineComponent
|
||||
|
||||
|
||||
## 3.6.4 Nov 18, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 12.6.1
|
||||
|
||||
|
||||
## 3.6.3 Sep 15, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 12.5.1
|
||||
|
||||
|
||||
## 3.6.2 Aug 23, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 12.4.2
|
||||
|
||||
|
||||
## 3.6.1 Aug 21, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Update to latest React `styled-components`
|
||||
- Bump to `@polkadot/util` 12.4.1
|
||||
|
||||
|
||||
## 3.5.1 Jun 11, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Adjust object index access for stricter tsconfig settings
|
||||
- Bump to `@polkadot/util` 12.3.1
|
||||
|
||||
|
||||
## 3.4.2 Jun 5, 2023
|
||||
|
||||
- Bump to `@polkadot/util` 12.2.2
|
||||
|
||||
|
||||
## 3.4.1 May 13, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Add `module` to `package.json` export map (ESM-only)
|
||||
- Bump to `@polkadot/util` 12.2.1
|
||||
|
||||
|
||||
## 3.3.1 May 7, 2023
|
||||
|
||||
Contributed:
|
||||
|
||||
- Adjust `vue-identicon` to be Vue 3 compatible (Thanks to https://github.com/Gavin-Gong)
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 12.1.2
|
||||
|
||||
|
||||
## 3.2.2 Apr 29, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Add missing `react-is` peer dependency for `styled-components`
|
||||
- Adjust compilation output for `__internal__` class fields
|
||||
- Bump to `@polkadot/util` 12.1.1
|
||||
|
||||
|
||||
## 3.2.1 Apr 22, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 12.0.1
|
||||
|
||||
|
||||
## 3.1.4 Apr 1, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Bump to `@polkadot/util` 11.1.3
|
||||
|
||||
|
||||
## 3.1.3 Mar 25, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Align `eventemitter` version with `@polkadot/api`
|
||||
|
||||
|
||||
## 3.1.2 Mar 25, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Cater for Ethereum-compatible multisig addresses
|
||||
- Bump to `@polkadot/util` 11.1.2
|
||||
|
||||
|
||||
## 3.1.1 Mar 19, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Swap `vue-identitycon` to use `defineComponent` (requires vue 2.7+)
|
||||
- Swap `BeachballIcon` to use `colord` library (ESM + CJS, smaller)
|
||||
- Bump to `@polkadot/util` 11.1.1
|
||||
|
||||
|
||||
## 3.0.2 Mar 11, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Use consistent `.js` imports in source files (TS moduleResolution)
|
||||
- Bump to `@polkadot/util` 11.0.2
|
||||
|
||||
|
||||
## 3.0.1 Mar 5, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Remove `@polkadot/ui-assets` package
|
||||
- Swap TS -> JS compiler to use tsc (from babel)
|
||||
- Adjust all tests to use `node:test` runner (ESM variants)
|
||||
- Bump to `@polkadot/util` 11.0.1
|
||||
|
||||
|
||||
## 2.12.1 Feb 20, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
- Adjust `styled-components` usage to cater for server-based environments
|
||||
|
||||
|
||||
## 2.11.3 Feb 19, 2023
|
||||
|
||||
Changes:
|
||||
|
||||
+4
-1
@@ -1,10 +1,11 @@
|
||||
673 Jaco 2.11.3 (#717)
|
||||
735 Jaco Adjust Vue peerDependency, >= 2.7 for defineComponent (#782)
|
||||
7 YJ fix #224: decrease frame size to 1024, set multipart bool (#225)
|
||||
4 Antoine Estienne Refactor logic to better use prefix (#491)
|
||||
4 kwingram25 fix ff api url issue (#289)
|
||||
4 Thibaut Sardan store hardware wallets (#431)
|
||||
3 Luke Sugiura remove language options (#244)
|
||||
3 Stefanie Doll Replace isUndefined util with explicit typeof check (#107)
|
||||
3 Tarik Gul 3.6.5 (#785)
|
||||
2 Drew Stone Add Edgeware testnet and mainnet updated endpoints (#274)
|
||||
2 Hanwen Cheng allow qr to scan seed qr (#330)
|
||||
2 Nikos Kontakis Fix undefined process error that may appear when using ui (#524)
|
||||
@@ -21,6 +22,7 @@
|
||||
1 Derek Colley Remove redundant `div` wrappers in vue-identicon (#643)
|
||||
1 Harry Liu Update README.md (#166)
|
||||
1 Jake Naviasky Add Edgeware chain prefix to settings. (#317)
|
||||
1 Jeeyong Um Fix outdated links in README.md (#772)
|
||||
1 Logan Saether Propose W3F node (#188)
|
||||
1 Lovesh Harchandani Allow Ledger support for Dock (#425)
|
||||
1 Luke Schoen Fix typo in heading (#114)
|
||||
@@ -33,4 +35,5 @@
|
||||
1 WoeOm add darwinia ss58 (#379)
|
||||
1 yuhui1208 [Stores] make FileStroe read key safely (#338)
|
||||
1 Yuri Add webpack 5 support (#557)
|
||||
1 Zen feat: adapt Vue 3.x (#755)
|
||||
1 菩提 fix some bugs (#260)
|
||||
@@ -13,14 +13,6 @@ The following UI components are currently available -
|
||||
|
||||
Additionally some shared libraries, that are not dependent on any framework -
|
||||
|
||||
- [ui-assets](packages/ui-assets/) Static assets, images and others, shared across projects
|
||||
- [ui-keyring](packages/ui-keyring/) A browser-specific wrapper around the base [@polkadot/util-keyring](https://github.com/polkadot-js/util/) library
|
||||
- [ui-keyring](packages/ui-keyring/) A browser-specific wrapper around the base [@polkadot/keyring](https://github.com/polkadot-js/common/) library
|
||||
- [ui-settings](packages/ui-settings/) A browser local storage wrapper for app settings & configuration
|
||||
- [ui-shared](packages/ui-shared) Shared logic that is used across UI components, e.g. for icon generation
|
||||
|
||||
## examples
|
||||
|
||||
In addition to the above packages, there are examples available for integration of `ui-keyring`, `ui-settings` & the relevant `*-identicon` package. These are
|
||||
|
||||
- [example-react](packages/example-react) - start with `yarn example:react` and view on `http://localhost:8080`
|
||||
- [example-vue](packages/example-vue) - start with `yarn example:vue` and view on `http://localhost:8080`
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
// Copyright 2017-2023 @polkadot/ui authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
const base = require('@polkadot/dev/config/babel-config-cjs.cjs');
|
||||
|
||||
module.exports = Object.keys(base).reduce((config, key) => {
|
||||
config[key] = base[key];
|
||||
|
||||
if (key === 'plugins') {
|
||||
config[key] = config[key].concat([
|
||||
'transform-vue-template'
|
||||
]);
|
||||
}
|
||||
|
||||
return config;
|
||||
}, {});
|
||||
@@ -0,0 +1,8 @@
|
||||
// Copyright 2017-2024 @polkadot/ui-shared authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import baseConfig from '@polkadot/dev/config/eslint';
|
||||
|
||||
export default [
|
||||
...baseConfig
|
||||
];
|
||||
@@ -1,17 +0,0 @@
|
||||
// Copyright 2017-2023 @polkadot/ui authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
const config = require('@polkadot/dev/config/jest.cjs');
|
||||
|
||||
module.exports = {
|
||||
...config,
|
||||
moduleNameMapper: {
|
||||
'@polkadot/react-(identicon|qr)(.*)$': '<rootDir>/packages/react-$1/src/$2',
|
||||
'@polkadot/reactnative-(identicon)(.*)$': '<rootDir>/packages/reactnative-$1/src/$2',
|
||||
'@polkadot/ui-(assets|keyring|settings|shared)(.*)$': '<rootDir>/packages/ui-$1/src/$2',
|
||||
'\\.(css|less)$': 'empty/object',
|
||||
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': 'empty/object'
|
||||
},
|
||||
setupFilesAfterEnv: ['<rootDir>/jest/setupEnv.js'],
|
||||
testEnvironment: 'jsdom'
|
||||
};
|
||||
@@ -1,10 +0,0 @@
|
||||
// Copyright 2017-2023 @polkadot/ui authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import nodeCrypto from 'crypto';
|
||||
|
||||
window.crypto ??= {
|
||||
getRandomValues: function (buffer) {
|
||||
return nodeCrypto.randomFillSync(buffer);
|
||||
}
|
||||
};
|
||||
+14
-21
@@ -1,9 +1,12 @@
|
||||
{
|
||||
"author": "Jaco Greeff <jacogr@gmail.com>",
|
||||
"bugs": "https://github.com/polkadot-js/ui/issues",
|
||||
"engines": {
|
||||
"node": ">=18.14"
|
||||
},
|
||||
"homepage": "https://github.com/polkadot-js/ui#readme",
|
||||
"license": "Apache-2.0",
|
||||
"packageManager": "yarn@3.2.0",
|
||||
"packageManager": "yarn@4.1.0",
|
||||
"private": true,
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@@ -11,10 +14,10 @@
|
||||
},
|
||||
"sideEffects": false,
|
||||
"type": "module",
|
||||
"version": "2.11.3",
|
||||
"version": "3.6.5",
|
||||
"versions": {
|
||||
"git": "2.11.3",
|
||||
"npm": "2.11.3"
|
||||
"git": "3.6.5",
|
||||
"npm": "3.6.5"
|
||||
},
|
||||
"workspaces": [
|
||||
"packages/*"
|
||||
@@ -24,31 +27,21 @@
|
||||
"build:release": "polkadot-ci-ghact-build",
|
||||
"build:rollup": "polkadot-exec-rollup --config",
|
||||
"clean": "polkadot-dev-clean-build",
|
||||
"example:react": "yarn build && cd packages/example-react && yarn polkadot-exec-webpack --config webpack.config.cjs",
|
||||
"example:vue": "yarn build && cd packages/example-vue && yarn polkadot-exec-webpack --config webpack.config.cjs",
|
||||
"lint": "polkadot-dev-run-lint",
|
||||
"postinstall": "polkadot-dev-yarn-only",
|
||||
"test": "polkadot-dev-run-test --env jest -- --coverage --runInBand",
|
||||
"test:one": "polkadot-dev-run-test"
|
||||
"test": "polkadot-dev-run-test --env browser",
|
||||
"test:one": "polkadot-dev-run-test --env browser"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@babel/core": "^7.20.12",
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"@polkadot/dev": "^0.68.38",
|
||||
"@polkadot/x-bundle": "^10.4.2",
|
||||
"@types/jest": "^29.4.0",
|
||||
"babel-loader": "^8.3.0",
|
||||
"babel-plugin-transform-vue-template": "^0.4.2",
|
||||
"empty": "^0.10.1",
|
||||
"process": "^0.11.10",
|
||||
"@polkadot/dev": "^0.78.3",
|
||||
"@polkadot/x-bundle": "^12.6.2",
|
||||
"@types/node": "^20.10.5",
|
||||
"react": "^18.2.0",
|
||||
"react-dom": "^18.2.0",
|
||||
"react-is": "^18.2.0",
|
||||
"react-native": "^0.71.3",
|
||||
"stream-browserify": "^3.0.0",
|
||||
"vue-template-compiler": "^2.7.14"
|
||||
"react-native": "^0.73.1"
|
||||
},
|
||||
"resolutions": {
|
||||
"typescript": "^4.9.5"
|
||||
"typescript": "^5.3.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
# @polkadot/example-react
|
||||
|
||||
A versy basic React example with `@polkadot/ui-keyring`, `@polkadot/ui-settings` & `@polkadot/react-identicon`
|
||||
@@ -1,37 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
|
||||
<style>
|
||||
#example {
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
button {
|
||||
cursor: pointer;
|
||||
padding: 0.5rem 0.75rem;
|
||||
}
|
||||
|
||||
label {
|
||||
display: block;
|
||||
margin: 0.25rem 0;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
section {
|
||||
padding: 0.5rem 1rem;
|
||||
}
|
||||
|
||||
textarea {
|
||||
resize: none;
|
||||
}
|
||||
|
||||
.icon {
|
||||
margin-right: 0.75rem;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="example"></div>
|
||||
<script src="./build/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"author": "Jaco Greeff <jacogr@gmail.com>",
|
||||
"bugs": "https://github.com/polkadot-js/ui/issues",
|
||||
"contributors": [],
|
||||
"description": "A very basic example with ui-* & react-* packages",
|
||||
"homepage": "https://github.com/polkadot-js/ui/tree/master/packages/example-react#readme",
|
||||
"license": "Apache-2.0",
|
||||
"maintainers": [],
|
||||
"name": "@polkadot/example-react",
|
||||
"private": true,
|
||||
"repository": {
|
||||
"directory": "packages/example-react",
|
||||
"type": "git",
|
||||
"url": "https://github.com/polkadot-js/ui.git"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"version": "2.11.3",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13"
|
||||
}
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
// Copyright 2017-2023 @polkadot/example-react authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Empty template, auto-generated by @polkadot/dev
|
||||
|
||||
export default [];
|
||||
@@ -1,11 +0,0 @@
|
||||
// Copyright 2017-2023 @polkadot/example-react authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
import { detectPackage } from '@polkadot/util';
|
||||
|
||||
import others from './detectOther';
|
||||
import { packageInfo } from './packageInfo';
|
||||
|
||||
detectPackage(packageInfo, null, others);
|
||||
@@ -1,121 +0,0 @@
|
||||
// Copyright 2017-2023 @polkadot/example-react authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import React, { useCallback, useEffect, useState } from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
|
||||
import { Identicon } from '@polkadot/react-identicon';
|
||||
import { keyring } from '@polkadot/ui-keyring';
|
||||
import { settings } from '@polkadot/ui-settings';
|
||||
import { cryptoWaitReady, mnemonicGenerate } from '@polkadot/util-crypto';
|
||||
|
||||
interface Props {
|
||||
className?: string;
|
||||
}
|
||||
|
||||
const rootElement = document.getElementById('example');
|
||||
|
||||
if (!rootElement) {
|
||||
throw new Error('Unable to find element with id \'example\'');
|
||||
}
|
||||
|
||||
function App ({ className }: Props): React.ReactElement<Props> | null {
|
||||
const [address, setAddress] = useState<string | null>(null);
|
||||
const [phrase, setPhrase] = useState<string | null>(null);
|
||||
const [ss58Format, setSS58Format] = useState(42);
|
||||
|
||||
const _onClickNew = useCallback(
|
||||
(): void => {
|
||||
const phrase = mnemonicGenerate(12);
|
||||
const { address } = keyring.createFromUri(phrase);
|
||||
|
||||
setAddress(keyring.encodeAddress(address, ss58Format));
|
||||
setPhrase(phrase);
|
||||
},
|
||||
[ss58Format]
|
||||
);
|
||||
|
||||
const _onChangeSS58Format = useCallback(
|
||||
({ currentTarget: { value } }: React.SyntheticEvent<HTMLSelectElement>): void => {
|
||||
setSS58Format(parseInt(value, 10));
|
||||
},
|
||||
[]
|
||||
);
|
||||
|
||||
useEffect((): void => {
|
||||
_onClickNew();
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
}, []);
|
||||
|
||||
useEffect((): void => {
|
||||
address && setAddress(keyring.encodeAddress(address, ss58Format));
|
||||
}, [address, ss58Format]);
|
||||
|
||||
if (!address || !phrase) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return (
|
||||
<div className={className}>
|
||||
<section>
|
||||
<button onClick={_onClickNew}>another random address</button>
|
||||
</section>
|
||||
<section>
|
||||
<label>phrase</label>
|
||||
<textarea
|
||||
cols={40}
|
||||
readOnly
|
||||
rows={4}
|
||||
value={phrase}
|
||||
/>
|
||||
</section>
|
||||
<section>
|
||||
<label>icons</label>
|
||||
<Identicon
|
||||
className='icon'
|
||||
value={address}
|
||||
/>
|
||||
<Identicon
|
||||
className='icon'
|
||||
theme='polkadot'
|
||||
value={address}
|
||||
/>
|
||||
<Identicon
|
||||
className='icon'
|
||||
theme='beachball'
|
||||
value={address}
|
||||
/>
|
||||
</section>
|
||||
<section>
|
||||
<label>address</label>
|
||||
{address}
|
||||
</section>
|
||||
<section>
|
||||
<label>ss58 format</label>
|
||||
<select
|
||||
onChange={_onChangeSS58Format}
|
||||
value={ss58Format}
|
||||
>
|
||||
{settings.availablePrefixes
|
||||
.filter((_, index): boolean => index !== 0)
|
||||
.map(({ text, value }): React.ReactNode => (
|
||||
<option
|
||||
key={value}
|
||||
value={value}
|
||||
>
|
||||
{text}
|
||||
</option>
|
||||
))
|
||||
}
|
||||
</select>
|
||||
</section>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
cryptoWaitReady()
|
||||
.then((): void => {
|
||||
keyring.loadAll({ ss58Format: 42, type: 'sr25519' });
|
||||
ReactDOM.render(<App />, rootElement);
|
||||
})
|
||||
.catch(console.error);
|
||||
@@ -1,6 +0,0 @@
|
||||
// Copyright 2017-2023 @polkadot/example-react authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/example-react', path: 'auto', type: 'auto', version: '2.11.3' };
|
||||
@@ -1,53 +0,0 @@
|
||||
// Copyright 2017-2023 @polkadot/example-react authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
const path = require('path');
|
||||
const { WebpackPluginServe } = require('webpack-plugin-serve');
|
||||
|
||||
module.exports = {
|
||||
context: __dirname,
|
||||
devtool: 'eval-cheap-source-map',
|
||||
entry: './src/index.tsx',
|
||||
mode: 'development',
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
exclude: /(node_modules)/,
|
||||
test: /\.(ts|tsx)$/,
|
||||
use: [
|
||||
{
|
||||
loader: 'babel-loader',
|
||||
options: require('../../babel.config.cjs')
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
output: {
|
||||
chunkFilename: '[name].[chunkhash:8].js',
|
||||
filename: '[name].js',
|
||||
globalObject: '(typeof self !== \'undefined\' ? self : this)',
|
||||
path: path.join(__dirname, 'build')
|
||||
},
|
||||
plugins: [
|
||||
new WebpackPluginServe({
|
||||
hmr: false, // switch off, Chrome WASM memory leak
|
||||
liveReload: false, // explict off, overrides hmr
|
||||
port: 8080,
|
||||
progress: false, // since we have hmr off, disable
|
||||
static: __dirname
|
||||
})
|
||||
],
|
||||
resolve: {
|
||||
alias: {
|
||||
'@polkadot/react-identicon': path.resolve(__dirname, '../react-identicon/build'),
|
||||
'@polkadot/ui-keyring': path.resolve(__dirname, '../ui-keyring/build'),
|
||||
'@polkadot/ui-settings': path.resolve(__dirname, '../ui-settings/build'),
|
||||
'@polkadot/ui-shared': path.resolve(__dirname, '../ui-shared/build')
|
||||
},
|
||||
extensions: ['.js', '.ts', '.tsx'],
|
||||
fallback: {}
|
||||
},
|
||||
target: 'web',
|
||||
watch: true
|
||||
};
|
||||
@@ -1,3 +0,0 @@
|
||||
# @polkadot/example-vue
|
||||
|
||||
A versy basic Vue.js example with `@polkadot/ui-keyring`, `@polkadot/ui-settings` & `@polkadot/vue-identicon`
|
||||
@@ -1,38 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css" />
|
||||
<style>
|
||||
#example {
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
button {
|
||||
cursor: pointer;
|
||||
padding: 0.5rem 0.75rem;
|
||||
}
|
||||
|
||||
label {
|
||||
display: block;
|
||||
margin: 0.25rem 0;
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
section {
|
||||
padding: 0.5rem 1rem;
|
||||
}
|
||||
|
||||
textarea {
|
||||
resize: none;
|
||||
}
|
||||
|
||||
.icon {
|
||||
display: inline-block;
|
||||
margin-right: 0.75rem;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="example"></div>
|
||||
<script src="./build/main.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"author": "Jaco Greeff <jacogr@gmail.com>",
|
||||
"bugs": "https://github.com/polkadot-js/ui/issues",
|
||||
"contributors": [],
|
||||
"description": "A very basic example with ui-* & vue-* packages",
|
||||
"homepage": "https://github.com/polkadot-js/ui/tree/master/packages/example-vue#readme",
|
||||
"license": "Apache-2.0",
|
||||
"maintainers": [],
|
||||
"name": "@polkadot/example-vue",
|
||||
"private": true,
|
||||
"repository": {
|
||||
"directory": "packages/example-vue",
|
||||
"type": "git",
|
||||
"url": "https://github.com/polkadot-js/ui.git"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"version": "2.11.3",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13"
|
||||
}
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
// Copyright 2017-2023 @polkadot/example-vue authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Empty template, auto-generated by @polkadot/dev
|
||||
|
||||
export default [];
|
||||
@@ -1,11 +0,0 @@
|
||||
// Copyright 2017-2023 @polkadot/example-vue authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
import { detectPackage } from '@polkadot/util';
|
||||
|
||||
import others from './detectOther';
|
||||
import { packageInfo } from './packageInfo';
|
||||
|
||||
detectPackage(packageInfo, null, others);
|
||||
@@ -1,99 +0,0 @@
|
||||
// Copyright 2017-2023 @polkadot/example-vue authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { Prefix } from '@polkadot/util-crypto/address/types';
|
||||
|
||||
import Vue, { VNode } from 'vue';
|
||||
|
||||
import { keyring } from '@polkadot/ui-keyring';
|
||||
import { settings } from '@polkadot/ui-settings';
|
||||
import { cryptoWaitReady, mnemonicGenerate } from '@polkadot/util-crypto';
|
||||
import Identicon from '@polkadot/vue-identicon';
|
||||
|
||||
interface Account {
|
||||
address: string;
|
||||
phrase: string;
|
||||
}
|
||||
|
||||
interface Data extends Account {
|
||||
ss58Format: Prefix;
|
||||
ss58Options: { text: string; value: string | number }[];
|
||||
}
|
||||
|
||||
const ss58Options = settings.availablePrefixes.filter((_, index): boolean => index !== 0);
|
||||
|
||||
function generateAccount (ss58Format: Prefix = 42): Account {
|
||||
const phrase = mnemonicGenerate(12);
|
||||
const { address } = keyring.createFromUri(phrase);
|
||||
|
||||
return {
|
||||
address: keyring.encodeAddress(address, ss58Format),
|
||||
phrase
|
||||
};
|
||||
}
|
||||
|
||||
const Example = Vue.extend({
|
||||
components: {
|
||||
Identicon
|
||||
},
|
||||
data: function (): Data {
|
||||
return {
|
||||
...generateAccount(),
|
||||
ss58Format: 42,
|
||||
ss58Options
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
onClickNew: function (): void {
|
||||
const { address, phrase } = generateAccount(this.ss58Format);
|
||||
|
||||
this.address = address;
|
||||
this.phrase = phrase;
|
||||
}
|
||||
},
|
||||
name: 'Example',
|
||||
template: `
|
||||
<div id="example">
|
||||
<section>
|
||||
<button v-on:click="onClickNew">another random address</button>
|
||||
</section>
|
||||
<section>
|
||||
<label>phrase</label>
|
||||
<textarea :cols="40" :rows="4" readonly v-model="phrase" />
|
||||
</section>
|
||||
<section>
|
||||
<label>icons</label>
|
||||
<Identicon class='icon' :value="address" />
|
||||
<Identicon class='icon' :value="address" :theme="'polkadot'" />
|
||||
<Identicon class='icon' :value="address" :theme="'beachball'" />
|
||||
</section>
|
||||
<section>
|
||||
<label>address</label>
|
||||
{{ address }}
|
||||
</section>
|
||||
<section>
|
||||
<label>ss58 format</label>
|
||||
<select v-model="ss58Format">
|
||||
<option v-for="option in ss58Options" v-bind:value="option.value">
|
||||
{{ option.text }}
|
||||
</option>
|
||||
</select>
|
||||
</section>
|
||||
</div>
|
||||
`,
|
||||
watch: {
|
||||
ss58Format: function (): void {
|
||||
this.address = keyring.encodeAddress(this.address, this.ss58Format);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
cryptoWaitReady()
|
||||
.then((): void => {
|
||||
keyring.loadAll({ ss58Format: 42, type: 'sr25519' });
|
||||
|
||||
new Vue({
|
||||
render: (h): VNode => h(Example)
|
||||
}).$mount('#example');
|
||||
})
|
||||
.catch(console.error);
|
||||
@@ -1,6 +0,0 @@
|
||||
// Copyright 2017-2023 @polkadot/example-vue authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/example-vue', path: 'auto', type: 'auto', version: '2.11.3' };
|
||||
@@ -1,12 +0,0 @@
|
||||
{
|
||||
"extends": "../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"baseUrl": "..",
|
||||
"outDir": "./build",
|
||||
"rootDir": "./src"
|
||||
},
|
||||
"references": [
|
||||
{ "path": "../ui-keyring/tsconfig.build.json" },
|
||||
{ "path": "../vue-identicon/tsconfig.build.json" }
|
||||
]
|
||||
}
|
||||
@@ -1,52 +0,0 @@
|
||||
// Copyright 2017-2023 @polkadot/example-vue authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
const path = require('path');
|
||||
const { WebpackPluginServe } = require('webpack-plugin-serve');
|
||||
|
||||
module.exports = {
|
||||
context: __dirname,
|
||||
devtool: 'eval-cheap-source-map',
|
||||
entry: './src/index.ts',
|
||||
mode: 'development',
|
||||
module: {
|
||||
rules: [
|
||||
{
|
||||
exclude: /(node_modules)/,
|
||||
test: /\.(ts|tsx)$/,
|
||||
use: [
|
||||
{
|
||||
loader: 'babel-loader',
|
||||
options: require('../../babel.config.cjs')
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
output: {
|
||||
chunkFilename: '[name].[chunkhash:8].js',
|
||||
filename: '[name].js',
|
||||
globalObject: '(typeof self !== \'undefined\' ? self : this)',
|
||||
path: path.join(__dirname, 'build')
|
||||
},
|
||||
plugins: [
|
||||
new WebpackPluginServe({
|
||||
hmr: false, // switch off, Chrome WASM memory leak
|
||||
liveReload: false, // explict off, overrides hmr
|
||||
port: 8080,
|
||||
progress: false, // since we have hmr off, disable
|
||||
static: __dirname
|
||||
})
|
||||
],
|
||||
resolve: {
|
||||
alias: {
|
||||
'@polkadot/ui-keyring': path.resolve(__dirname, '../ui-keyring/build'),
|
||||
'@polkadot/ui-settings': path.resolve(__dirname, '../ui-settings/build'),
|
||||
'@polkadot/ui-shared': path.resolve(__dirname, '../ui-shared/build'),
|
||||
'@polkadot/vue-identicon': path.resolve(__dirname, '../vue-identicon/build')
|
||||
},
|
||||
extensions: ['.js', '.ts', '.tsx']
|
||||
},
|
||||
target: 'web',
|
||||
watch: true
|
||||
};
|
||||
@@ -1,11 +1,12 @@
|
||||
{
|
||||
"author": "Jaco Greeff <jacogr@gmail.com>",
|
||||
"bugs": "https://github.com/polkadot-js/ui/issues",
|
||||
"contributors": [],
|
||||
"description": "Renders an SVG picture representing an address",
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"homepage": "https://github.com/polkadot-js/ui/tree/master/packages/react-identicon#readme",
|
||||
"license": "Apache-2.0",
|
||||
"maintainers": [],
|
||||
"name": "@polkadot/react-identicon",
|
||||
"repository": {
|
||||
"directory": "packages/react-identicon",
|
||||
@@ -13,30 +14,27 @@
|
||||
"url": "https://github.com/polkadot-js/ui.git"
|
||||
},
|
||||
"sideEffects": [
|
||||
"./detectPackage.js",
|
||||
"./detectPackage.cjs"
|
||||
"./packageDetect.js",
|
||||
"./packageDetect.cjs"
|
||||
],
|
||||
"type": "module",
|
||||
"version": "2.11.3",
|
||||
"version": "3.6.5",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"@polkadot/keyring": "^10.4.2",
|
||||
"@polkadot/ui-settings": "2.11.3",
|
||||
"@polkadot/ui-shared": "2.11.3",
|
||||
"@polkadot/util": "^10.4.2",
|
||||
"@polkadot/util-crypto": "^10.4.2",
|
||||
"color": "^3.2.1",
|
||||
"@polkadot/keyring": "^12.6.2",
|
||||
"@polkadot/ui-settings": "3.6.5",
|
||||
"@polkadot/ui-shared": "3.6.5",
|
||||
"@polkadot/util": "^12.6.2",
|
||||
"@polkadot/util-crypto": "^12.6.2",
|
||||
"ethereum-blockies-base64": "^1.0.2",
|
||||
"jdenticon": "3.2.0",
|
||||
"react-copy-to-clipboard": "^5.1.0",
|
||||
"styled-components": "^5.3.6"
|
||||
"styled-components": "^6.1.1",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react-copy-to-clipboard": "^5.0.4",
|
||||
"@types/react-dom": "^18.0.11",
|
||||
"@types/styled-components": "^5.1.26",
|
||||
"styled-components": "^5.3.6",
|
||||
"@types/react-copy-to-clipboard": "^5.0.7",
|
||||
"@types/react-dom": "^18.2.18",
|
||||
"xmlserializer": "^0.6.1"
|
||||
},
|
||||
"peerDependencies": {
|
||||
@@ -45,7 +43,6 @@
|
||||
"@polkadot/util-crypto": "*",
|
||||
"react": "*",
|
||||
"react-dom": "*",
|
||||
"react-is": "*",
|
||||
"styled-components": "*"
|
||||
"react-is": "*"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
// Copyright 2017-2023 @polkadot/react-identicon authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { Prefix } from '@polkadot/util-crypto/address/types';
|
||||
import type { IdentityProps as Props, Props as ComponentProps } from './types';
|
||||
import type { IdentityProps as Props, Props as ComponentProps } from './types.js';
|
||||
|
||||
import React from 'react';
|
||||
import CopyToClipboard from 'react-copy-to-clipboard';
|
||||
import styled from 'styled-components';
|
||||
|
||||
import { ICON_DEFAULT_HOST, settings } from '@polkadot/ui-settings';
|
||||
import { isHex, isU8a, u8aToHex } from '@polkadot/util';
|
||||
import { decodeAddress, encodeAddress, ethereumEncode } from '@polkadot/util-crypto';
|
||||
|
||||
import { Beachball, Empty, Ethereum, Jdenticon, Polkadot } from './icons';
|
||||
import { Beachball, Empty, Ethereum, Jdenticon, Polkadot } from './icons/index.js';
|
||||
import { styled } from './styled.js';
|
||||
|
||||
const Fallback = Beachball;
|
||||
|
||||
@@ -64,7 +64,7 @@ class BaseIcon extends React.PureComponent<Props, State> {
|
||||
address,
|
||||
publicKey
|
||||
};
|
||||
} catch (error) {
|
||||
} catch {
|
||||
return {
|
||||
address: '',
|
||||
publicKey: '0x'
|
||||
@@ -89,7 +89,7 @@ class BaseIcon extends React.PureComponent<Props, State> {
|
||||
}
|
||||
|
||||
private getWrapped ({ address, publicKey }: State, { Custom }: Props): React.ReactNode {
|
||||
const { className = '', isAlternative, isHighlight, size = DEFAULT_SIZE, style, theme = settings.icon } = this.props;
|
||||
const { className = '', isAlternative, isHighlight, size = DEFAULT_SIZE, style = {}, theme = settings.icon } = this.props;
|
||||
const Component = !address
|
||||
? Empty
|
||||
: Custom || Components[theme === 'default' ? ICON_DEFAULT_HOST : theme] || Fallback;
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
// Copyright 2017-2023 @polkadot/react-identicon authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
export * from './icons';
|
||||
|
||||
export { Identicon } from './Identicon';
|
||||
export { packageInfo } from './packageInfo';
|
||||
export * from './icons/index.js';
|
||||
export { Identicon } from './Identicon.js';
|
||||
export { packageInfo } from './packageInfo.js';
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
// Copyright 2017-2023 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import { packageInfo as settingsInfo } from '@polkadot/ui-settings/packageInfo';
|
||||
import { packageInfo as sharedInfo } from '@polkadot/ui-shared/packageInfo';
|
||||
|
||||
export default [settingsInfo, sharedInfo];
|
||||
@@ -1,11 +0,0 @@
|
||||
// Copyright 2017-2023 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
import { detectPackage } from '@polkadot/util';
|
||||
|
||||
import others from './detectOther';
|
||||
import { packageInfo } from './packageInfo';
|
||||
|
||||
detectPackage(packageInfo, null, others);
|
||||
@@ -1,16 +1,16 @@
|
||||
// Copyright 2017-2023 @polkadot/react-identicon authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { Props } from '../types';
|
||||
import type { Props } from '../types.js';
|
||||
|
||||
import React, { useCallback } from 'react';
|
||||
|
||||
import { beachballIcon } from '@polkadot/ui-shared';
|
||||
|
||||
function Identicon ({ address, className = '', size, style }: Props): React.ReactElement<Props> {
|
||||
function Identicon ({ address, className = '', size, style = {} }: Props): React.ReactElement<Props> {
|
||||
const updateElem = useCallback(
|
||||
(node: HTMLDivElement): void => {
|
||||
node && node.appendChild(
|
||||
node?.appendChild(
|
||||
beachballIcon(address, { isAlternative: false, size })
|
||||
);
|
||||
},
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
// Copyright 2017-2023 @polkadot/react-identicon authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { Props } from '../types';
|
||||
import type { Props } from '../types.js';
|
||||
|
||||
import React from 'react';
|
||||
|
||||
function Identicon ({ className = '', size, style }: Props): React.ReactElement<Props> {
|
||||
function Identicon ({ className = '', size, style = {} }: Props): React.ReactElement<Props> {
|
||||
return (
|
||||
<svg
|
||||
className={className}
|
||||
|
||||
@@ -1,17 +1,18 @@
|
||||
// Copyright 2017-2023 @polkadot/react-identicon authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { Props } from '../types';
|
||||
import type { Props } from '../types.js';
|
||||
|
||||
import makeBlockie from 'ethereum-blockies-base64';
|
||||
import React, { useMemo } from 'react';
|
||||
import styled from 'styled-components';
|
||||
|
||||
import { styled } from '../styled.js';
|
||||
|
||||
interface ImgProps {
|
||||
size: number;
|
||||
}
|
||||
|
||||
function Identicon ({ address, className = '', size, style }: Props): React.ReactElement<Props> {
|
||||
function Identicon ({ address, className = '', size, style = {} }: Props): React.ReactElement<Props> {
|
||||
const imgSrc = useMemo(
|
||||
() => makeBlockie(address),
|
||||
[address]
|
||||
@@ -27,7 +28,7 @@ function Identicon ({ address, className = '', size, style }: Props): React.Reac
|
||||
);
|
||||
}
|
||||
|
||||
const StyledImg = styled.img(({ size }: ImgProps) => `
|
||||
const StyledImg = styled.img<ImgProps>(({ size }) => `
|
||||
display: block;
|
||||
height: ${size}px;
|
||||
width: ${size}px;
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
// Copyright 2017-2023 @polkadot/react-identicon authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { Props } from '../types';
|
||||
import type { Props } from '../types.js';
|
||||
|
||||
import * as jdenticon from 'jdenticon';
|
||||
import React, { useMemo } from 'react';
|
||||
|
||||
function Identicon ({ className = '', publicKey, size, style }: Props): React.ReactElement<Props> {
|
||||
function Identicon ({ className = '', publicKey, size, style = {} }: Props): React.ReactElement<Props> {
|
||||
const html = useMemo(
|
||||
() => ({ __html: jdenticon.toSvg(publicKey.substring(2), size) }),
|
||||
[publicKey, size]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2018-2023 @polkadot/react-identicon authors & contributors
|
||||
// Copyright 2018-2024 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Copyright 2018 Paritytech via paritytech/oo7/polkadot-identicon
|
||||
@@ -17,7 +17,7 @@
|
||||
// - Overall it is now just a static component, expecting an address as an input value
|
||||
|
||||
import type { Circle } from '@polkadot/ui-shared/icons/types';
|
||||
import type { Props } from '../types';
|
||||
import type { Props } from '../types.js';
|
||||
|
||||
import React, { useMemo } from 'react';
|
||||
|
||||
@@ -35,7 +35,7 @@ function renderCircle ({ cx, cy, fill, r }: Circle, key: number): React.ReactNod
|
||||
);
|
||||
}
|
||||
|
||||
function Identicon ({ address, className = '', isAlternative = false, size, style }: Props): React.ReactElement<Props> {
|
||||
function Identicon ({ address, className = '', isAlternative = false, size, style = {} }: Props): React.ReactElement<Props> {
|
||||
const circles = useMemo(
|
||||
() => polkadotIcon(address, { isAlternative }),
|
||||
[address, isAlternative]
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
// Copyright 2017-2023 @polkadot/react-identicon authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
export { Beachball } from './Beachball';
|
||||
export { Empty } from './Empty';
|
||||
export { Ethereum } from './Ethereum';
|
||||
export { Jdenticon } from './Jdenticon';
|
||||
export { Polkadot } from './Polkadot';
|
||||
export { Beachball } from './Beachball.js';
|
||||
export { Empty } from './Empty.js';
|
||||
export { Ethereum } from './Ethereum.js';
|
||||
export { Jdenticon } from './Jdenticon.js';
|
||||
export { Polkadot } from './Polkadot.js';
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
// Copyright 2017-2023 @polkadot/react-identicon authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import './detectPackage';
|
||||
import './packageDetect.js';
|
||||
|
||||
import { Identicon } from './bundle';
|
||||
import { Identicon } from './bundle.js';
|
||||
|
||||
export * from './bundle';
|
||||
export * from './bundle.js';
|
||||
|
||||
export default Identicon;
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
// Copyright 2017-2024 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
// (packageInfo imports will be kept as-is, user-editable)
|
||||
|
||||
import { packageInfo as settingsInfo } from '@polkadot/ui-settings/packageInfo';
|
||||
import { packageInfo as sharedInfo } from '@polkadot/ui-shared/packageInfo';
|
||||
import { detectPackage } from '@polkadot/util';
|
||||
|
||||
import { packageInfo } from './packageInfo.js';
|
||||
|
||||
detectPackage(packageInfo, null, [settingsInfo, sharedInfo]);
|
||||
@@ -1,6 +1,6 @@
|
||||
// Copyright 2017-2023 @polkadot/react-identicon authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/react-identicon', path: 'auto', type: 'auto', version: '2.11.3' };
|
||||
export const packageInfo = { name: '@polkadot/react-identicon', path: 'auto', type: 'auto', version: '3.6.5' };
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
// Copyright 2017-2024 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
export { styled } from 'styled-components';
|
||||
@@ -1,10 +1,9 @@
|
||||
// Copyright 2018-2023 @polkadot/react-identicon authors & contributors
|
||||
// Copyright 2018-2024 @polkadot/react-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type React from 'react';
|
||||
import type { Prefix } from '@polkadot/util-crypto/address/types';
|
||||
|
||||
import React from 'react';
|
||||
|
||||
export interface BaseProps {
|
||||
className?: string;
|
||||
style?: React.CSSProperties;
|
||||
@@ -12,11 +11,9 @@ export interface BaseProps {
|
||||
|
||||
export interface Props extends BaseProps {
|
||||
address: string;
|
||||
isAlternative?: boolean;
|
||||
className?: string;
|
||||
isAlternative?: boolean | undefined;
|
||||
publicKey: string;
|
||||
size: number;
|
||||
style?: React.CSSProperties;
|
||||
}
|
||||
|
||||
export interface IdentityProps extends BaseProps {
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
{
|
||||
"author": "Jaco Greeff <jacogr@gmail.com>",
|
||||
"bugs": "https://github.com/polkadot-js/ui/issues",
|
||||
"contributors": [],
|
||||
"description": "Generates and reads QR codes",
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"homepage": "https://github.com/polkadot-js/ui/tree/master/packages/react-qr#readme",
|
||||
"license": "Apache-2.0",
|
||||
"maintainers": [],
|
||||
"name": "@polkadot/react-qr",
|
||||
"repository": {
|
||||
"directory": "packages/react-qr",
|
||||
@@ -13,30 +14,29 @@
|
||||
"url": "https://github.com/polkadot-js/ui.git"
|
||||
},
|
||||
"sideEffects": [
|
||||
"./detectPackage.js",
|
||||
"./detectPackage.cjs"
|
||||
"./packageDetect.js",
|
||||
"./packageDetect.cjs"
|
||||
],
|
||||
"type": "module",
|
||||
"version": "2.11.3",
|
||||
"version": "3.6.5",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"@polkadot/ui-settings": "2.11.3",
|
||||
"@polkadot/util": "^10.4.2",
|
||||
"@polkadot/util-crypto": "^10.4.2",
|
||||
"@polkadot/ui-settings": "3.6.5",
|
||||
"@polkadot/util": "^12.6.2",
|
||||
"@polkadot/util-crypto": "^12.6.2",
|
||||
"qrcode-generator": "^1.4.4",
|
||||
"react-qr-reader": "^2.2.1",
|
||||
"styled-components": "^5.3.6"
|
||||
"styled-components": "^6.1.1",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react-qr-reader": "^2.1.4",
|
||||
"@types/styled-components": "^5.1.26"
|
||||
"@types/react-qr-reader": "^2.1.7"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@polkadot/util": "*",
|
||||
"@polkadot/util-crypto": "*",
|
||||
"react": "*",
|
||||
"react-dom": "*",
|
||||
"styled-components": "*"
|
||||
"react-is": "*"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import React, { useEffect, useMemo, useRef, useState } from 'react';
|
||||
import styled from 'styled-components';
|
||||
|
||||
import { objectSpread } from '@polkadot/util';
|
||||
import { xxhashAsHex } from '@polkadot/util-crypto';
|
||||
|
||||
import { qrcode } from './qrcode';
|
||||
import { createFrames, createImgSize } from './util';
|
||||
import { qrcode } from './qrcode.js';
|
||||
import { styled } from './styled.js';
|
||||
import { createFrames, createImgSize } from './util.js';
|
||||
|
||||
interface Props {
|
||||
className?: string;
|
||||
size?: string | number;
|
||||
className?: string | undefined;
|
||||
size?: string | number | undefined;
|
||||
skipEncoding?: boolean;
|
||||
style?: React.CSSProperties;
|
||||
timerDelay?: number;
|
||||
style?: React.CSSProperties | undefined;
|
||||
timerDelay?: number | undefined;
|
||||
value: Uint8Array;
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ interface FrameState {
|
||||
|
||||
interface TimerState {
|
||||
timerDelay: number;
|
||||
timerId: number | null;
|
||||
timerId: ReturnType<typeof setTimeout> | null;
|
||||
}
|
||||
|
||||
const DEFAULT_FRAME_DELAY = 2750;
|
||||
@@ -45,7 +45,7 @@ function getDataUrl (value: Uint8Array): string {
|
||||
return qr.createDataURL(16, 0);
|
||||
}
|
||||
|
||||
function Display ({ className, size, skipEncoding, style, timerDelay = DEFAULT_FRAME_DELAY, value }: Props): React.ReactElement<Props> | null {
|
||||
function Display ({ className = '', size, skipEncoding, style = {}, timerDelay = DEFAULT_FRAME_DELAY, value }: Props): React.ReactElement<Props> | null {
|
||||
const [{ image }, setFrameState] = useState<FrameState>({ frameIdx: 0, frames: [], image: null, valueHash: null });
|
||||
const timerRef = useRef<TimerState>({ timerDelay, timerId: null });
|
||||
|
||||
@@ -84,7 +84,7 @@ function Display ({ className, size, skipEncoding, style, timerDelay = DEFAULT_F
|
||||
return newState;
|
||||
});
|
||||
|
||||
timerRef.current.timerId = window.setTimeout(nextFrame, timerRef.current.timerDelay);
|
||||
timerRef.current.timerId = setTimeout(nextFrame, timerRef.current.timerDelay);
|
||||
|
||||
return (): void => {
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import React, { useMemo } from 'react';
|
||||
|
||||
import { QrDisplay } from './Display';
|
||||
import { createAddressPayload } from './util';
|
||||
import { QrDisplay } from './Display.js';
|
||||
import { createAddressPayload } from './util.js';
|
||||
|
||||
interface Props {
|
||||
address: string;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import React, { useMemo } from 'react';
|
||||
|
||||
import { QrDisplay } from './Display';
|
||||
import { createSignPayload } from './util';
|
||||
import { QrDisplay } from './Display.js';
|
||||
import { createSignPayload } from './util.js';
|
||||
|
||||
interface Props {
|
||||
address: string;
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { NetworkSpecsStruct } from '@polkadot/ui-settings/types';
|
||||
|
||||
import React, { useMemo } from 'react';
|
||||
|
||||
import { QrDisplay } from './Display';
|
||||
import { encodeString } from './util';
|
||||
import { QrDisplay } from './Display.js';
|
||||
import { encodeString } from './util.js';
|
||||
|
||||
interface Props {
|
||||
className?: string;
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import React, { useCallback, useMemo } from 'react';
|
||||
import Reader from 'react-qr-reader';
|
||||
import styled from 'styled-components';
|
||||
|
||||
import { createImgSize } from './util';
|
||||
import { styled } from './styled.js';
|
||||
import { createImgSize } from './util.js';
|
||||
|
||||
interface Props {
|
||||
className?: string;
|
||||
className?: string | undefined;
|
||||
delay?: number;
|
||||
onError?: (error: Error) => void;
|
||||
onError?: undefined | ((error: Error) => void);
|
||||
onScan: (data: string) => void;
|
||||
size?: string | number;
|
||||
style?: React.CSSProperties;
|
||||
size?: string | number | undefined;
|
||||
style?: React.CSSProperties | undefined;
|
||||
}
|
||||
|
||||
const DEFAULT_DELAY = 150;
|
||||
@@ -22,7 +22,7 @@ const DEFAULT_ERROR = (error: Error): void => {
|
||||
console.error('@polkadot/react-qr:Scan', error.message);
|
||||
};
|
||||
|
||||
function Scan ({ className, delay = DEFAULT_DELAY, onError = DEFAULT_ERROR, onScan, size, style }: Props): React.ReactElement<Props> {
|
||||
function Scan ({ className = '', delay = DEFAULT_DELAY, onError = DEFAULT_ERROR, onScan, size, style = {} }: Props): React.ReactElement<Props> {
|
||||
const containerStyle = useMemo(
|
||||
() => createImgSize(size),
|
||||
[size]
|
||||
|
||||
@@ -1,19 +1,20 @@
|
||||
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { HexString } from '@polkadot/util/types';
|
||||
|
||||
import React, { useCallback } from 'react';
|
||||
|
||||
import { assert } from '@polkadot/util';
|
||||
import { decodeAddress } from '@polkadot/util-crypto';
|
||||
|
||||
import { ADDRESS_PREFIX, SEED_PREFIX } from './constants';
|
||||
import { QrScan } from './Scan';
|
||||
import { ADDRESS_PREFIX, SEED_PREFIX } from './constants.js';
|
||||
import { QrScan } from './Scan.js';
|
||||
|
||||
interface ScanType {
|
||||
isAddress: boolean;
|
||||
content: string;
|
||||
genesisHash: string;
|
||||
name?: string;
|
||||
genesisHash: HexString | null;
|
||||
name?: string | undefined;
|
||||
}
|
||||
|
||||
interface Props {
|
||||
@@ -30,20 +31,25 @@ function ScanAddress ({ className, isEthereum, onError, onScan, size, style }: P
|
||||
(data: string | null): void => {
|
||||
if (data) {
|
||||
try {
|
||||
let prefix: string, content: string, genesisHash: string, name: string[];
|
||||
let prefix: string;
|
||||
let content: string;
|
||||
let genesisHash: string | null;
|
||||
let name: string[];
|
||||
|
||||
if (!isEthereum) {
|
||||
[prefix, content, genesisHash, ...name] = data.split(':');
|
||||
} else {
|
||||
[prefix, content, ...name] = data.split(':');
|
||||
genesisHash = '';
|
||||
genesisHash = null;
|
||||
content = content.substring(0, 42);
|
||||
}
|
||||
|
||||
const expectedPrefix = (isEthereum ? 'ethereum' : ADDRESS_PREFIX);
|
||||
const isValidPrefix = (prefix === expectedPrefix) || (prefix === SEED_PREFIX);
|
||||
|
||||
assert(isValidPrefix, `Invalid prefix received, expected '${expectedPrefix} or ${SEED_PREFIX}' , found '${prefix}'`);
|
||||
if (!isValidPrefix) {
|
||||
throw new Error(`Invalid prefix received, expected '${expectedPrefix} or ${SEED_PREFIX}' , found '${prefix}'`);
|
||||
}
|
||||
|
||||
const isAddress = prefix === expectedPrefix;
|
||||
|
||||
@@ -51,7 +57,7 @@ function ScanAddress ({ className, isEthereum, onError, onScan, size, style }: P
|
||||
decodeAddress(content);
|
||||
}
|
||||
|
||||
onScan({ content, genesisHash, isAddress, name: name?.length ? name.join(':') : undefined });
|
||||
onScan({ content, genesisHash: genesisHash as HexString, isAddress, name: name?.length ? name.join(':') : undefined });
|
||||
} catch (error) {
|
||||
onError && onError(error as Error);
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { HexString } from '@polkadot/util/types';
|
||||
|
||||
import React, { useCallback } from 'react';
|
||||
|
||||
import { QrScan } from './Scan';
|
||||
import { QrScan } from './Scan.js';
|
||||
|
||||
interface ScanType {
|
||||
signature: HexString;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
export { QrDisplayAddress } from './DisplayAddress';
|
||||
export { QrDisplayPayload } from './DisplayPayload';
|
||||
export { QrScanAddress } from './ScanAddress';
|
||||
export { QrScanSignature } from './ScanSignature';
|
||||
export { QrNetworkSpecs } from './NetworkSpecs';
|
||||
export { packageInfo } from './packageInfo';
|
||||
export { QrDisplayAddress } from './DisplayAddress.js';
|
||||
export { QrDisplayPayload } from './DisplayPayload.js';
|
||||
export { QrNetworkSpecs } from './NetworkSpecs.js';
|
||||
export { packageInfo } from './packageInfo.js';
|
||||
export { QrScanAddress } from './ScanAddress.js';
|
||||
export { QrScanSignature } from './ScanSignature.js';
|
||||
|
||||
@@ -1,24 +1,12 @@
|
||||
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
const ADDRESS_PREFIX = 'substrate';
|
||||
const SEED_PREFIX = 'secret';
|
||||
const FRAME_SIZE = 1024;
|
||||
const SUBSTRATE_ID = new Uint8Array([0x53]);
|
||||
const CRYPTO_SR25519 = new Uint8Array([0x01]);
|
||||
const CMD_SIGN_TX = new Uint8Array([0]);
|
||||
const CMD_SIGN_TX_HASH = new Uint8Array([1]);
|
||||
const CMD_SIGN_IMMORTAL_TX = new Uint8Array([2]);
|
||||
const CMD_SIGN_MSG = new Uint8Array([3]);
|
||||
|
||||
export {
|
||||
ADDRESS_PREFIX,
|
||||
CMD_SIGN_TX,
|
||||
CMD_SIGN_TX_HASH,
|
||||
CMD_SIGN_IMMORTAL_TX,
|
||||
CMD_SIGN_MSG,
|
||||
CRYPTO_SR25519,
|
||||
FRAME_SIZE,
|
||||
SEED_PREFIX,
|
||||
SUBSTRATE_ID
|
||||
};
|
||||
export const ADDRESS_PREFIX = 'substrate';
|
||||
export const SEED_PREFIX = 'secret';
|
||||
export const FRAME_SIZE = 1024;
|
||||
export const SUBSTRATE_ID = new Uint8Array([0x53]);
|
||||
export const CRYPTO_SR25519 = new Uint8Array([0x01]);
|
||||
export const CMD_SIGN_TX = new Uint8Array([0]);
|
||||
export const CMD_SIGN_TX_HASH = new Uint8Array([1]);
|
||||
export const CMD_SIGN_IMMORTAL_TX = new Uint8Array([2]);
|
||||
export const CMD_SIGN_MSG = new Uint8Array([3]);
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Empty template, auto-generated by @polkadot/dev
|
||||
|
||||
export default [];
|
||||
@@ -1,11 +0,0 @@
|
||||
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
import { detectPackage } from '@polkadot/util';
|
||||
|
||||
import others from './detectOther';
|
||||
import { packageInfo } from './packageInfo';
|
||||
|
||||
detectPackage(packageInfo, null, others);
|
||||
@@ -1,6 +1,6 @@
|
||||
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import './detectPackage';
|
||||
import './packageDetect.js';
|
||||
|
||||
export * from './bundle';
|
||||
export * from './bundle.js';
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
// (packageInfo imports will be kept as-is, user-editable)
|
||||
|
||||
import { detectPackage } from '@polkadot/util';
|
||||
|
||||
import { packageInfo } from './packageInfo.js';
|
||||
|
||||
detectPackage(packageInfo, null, []);
|
||||
@@ -1,6 +1,6 @@
|
||||
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/react-qr', path: 'auto', type: 'auto', version: '2.11.3' };
|
||||
export const packageInfo = { name: '@polkadot/react-qr', path: 'auto', type: 'auto', version: '3.6.5' };
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import _qrcode from 'qrcode-generator';
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
export { styled } from 'styled-components';
|
||||
@@ -1,10 +1,12 @@
|
||||
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
/// <reference types="@polkadot/dev-test/globals.d.ts" />
|
||||
|
||||
import { u8aConcat, u8aToHex, u8aToString } from '@polkadot/util';
|
||||
import { randomAsU8a } from '@polkadot/util-crypto';
|
||||
|
||||
import { createAddressPayload, createFrames, createSignPayload, decodeString, encodeNumber, encodeString } from './util';
|
||||
import { createAddressPayload, createFrames, createSignPayload, decodeString, encodeNumber, encodeString } from './util.js';
|
||||
|
||||
describe('util', (): void => {
|
||||
describe('Uint8Array <-> string', (): void => {
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
// Copyright 2017-2023 @polkadot/react-qr authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/react-qr authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import { isString, u8aConcat, u8aToU8a } from '@polkadot/util';
|
||||
import { decodeAddress } from '@polkadot/util-crypto';
|
||||
|
||||
import { ADDRESS_PREFIX, CRYPTO_SR25519, FRAME_SIZE, SUBSTRATE_ID } from './constants';
|
||||
import { ADDRESS_PREFIX, CRYPTO_SR25519, FRAME_SIZE, SUBSTRATE_ID } from './constants.js';
|
||||
|
||||
const MULTIPART = new Uint8Array([0]);
|
||||
|
||||
@@ -13,9 +13,10 @@ export function encodeNumber (value: number): Uint8Array {
|
||||
}
|
||||
|
||||
export function encodeString (value: string): Uint8Array {
|
||||
const u8a = new Uint8Array(value.length);
|
||||
const count = value.length;
|
||||
const u8a = new Uint8Array(count);
|
||||
|
||||
for (let i = 0; i < value.length; i++) {
|
||||
for (let i = 0; i < count; i++) {
|
||||
u8a[i] = value.charCodeAt(i);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,9 @@
|
||||
"outDir": "./build",
|
||||
"rootDir": "./src"
|
||||
},
|
||||
"exclude": [
|
||||
"**/*.spec.ts"
|
||||
],
|
||||
"references": [
|
||||
{ "path": "../ui-settings/tsconfig.build.json" }
|
||||
]
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"extends": "../../tsconfig.base.json",
|
||||
"compilerOptions": {
|
||||
"baseUrl": "..",
|
||||
"outDir": "./build",
|
||||
"rootDir": "./src",
|
||||
"emitDeclarationOnly": false,
|
||||
"noEmit": true
|
||||
},
|
||||
"include": [
|
||||
"**/*.spec.ts"
|
||||
],
|
||||
"references": [
|
||||
{ "path": "../react-qr/tsconfig.build.json" }
|
||||
]
|
||||
}
|
||||
@@ -1,11 +1,12 @@
|
||||
{
|
||||
"author": "Jaco Greeff <jacogr@gmail.com>",
|
||||
"bugs": "https://github.com/polkadot-js/ui/issues",
|
||||
"contributors": [],
|
||||
"description": "Renders an SVG picture representing an address",
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"homepage": "https://github.com/polkadot-js/ui/tree/master/packages/reactnative-identicon#readme",
|
||||
"license": "Apache-2.0",
|
||||
"maintainers": [],
|
||||
"name": "@polkadot/reactnative-identicon",
|
||||
"repository": {
|
||||
"directory": "packages/reactnative-identicon",
|
||||
@@ -13,21 +14,21 @@
|
||||
"url": "https://github.com/polkadot-js/ui.git"
|
||||
},
|
||||
"sideEffects": [
|
||||
"./detectPackage.js",
|
||||
"./detectPackage.cjs"
|
||||
"./packageDetect.js",
|
||||
"./packageDetect.cjs"
|
||||
],
|
||||
"type": "module",
|
||||
"version": "2.11.3",
|
||||
"version": "3.6.5",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"@polkadot/ui-shared": "2.11.3",
|
||||
"@polkadot/util": "^10.4.2",
|
||||
"@polkadot/util-crypto": "^10.4.2",
|
||||
"react-native-svg": "^12.5.1"
|
||||
"@polkadot/ui-shared": "3.6.5",
|
||||
"@polkadot/util": "^12.6.2",
|
||||
"@polkadot/util-crypto": "^12.6.2",
|
||||
"react-native-svg": "^14.1.0",
|
||||
"tslib": "^2.6.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react-native": "^0.71.3"
|
||||
"@types/react-native": "^0.72.8"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@polkadot/util": "*",
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
// Copyright 2017-2023 @polkadot/reactnative-identicon authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/reactnative-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { Prefix } from '@polkadot/util-crypto/address/types';
|
||||
import type { Props as ComponentProps } from './types';
|
||||
import type { Props as ComponentProps } from './types.js';
|
||||
|
||||
import React from 'react';
|
||||
|
||||
import { isHex, isU8a, u8aToHex } from '@polkadot/util';
|
||||
import { decodeAddress, encodeAddress } from '@polkadot/util-crypto';
|
||||
|
||||
import { Empty, Polkadot } from './icons';
|
||||
import { Empty, Polkadot } from './icons/index.js';
|
||||
|
||||
const Fallback = Polkadot;
|
||||
|
||||
@@ -54,7 +54,7 @@ export default class IdentityIcon extends React.PureComponent<Props, State> {
|
||||
return address === prevState.address
|
||||
? null
|
||||
: { address, publicKey };
|
||||
} catch (error) {
|
||||
} catch {
|
||||
return {
|
||||
address: '',
|
||||
publicKey: '0x'
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// Copyright 2017-2023 @polkadot/reactnative-identicon authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/reactnative-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
export * from './icons';
|
||||
export { packageInfo } from './packageInfo';
|
||||
export * from './icons/index.js';
|
||||
export { packageInfo } from './packageInfo.js';
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
// Copyright 2017-2023 @polkadot/reactnative-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import { packageInfo as sharedInfo } from '@polkadot/ui-shared/packageInfo';
|
||||
|
||||
export default [sharedInfo];
|
||||
@@ -1,11 +0,0 @@
|
||||
// Copyright 2017-2023 @polkadot/reactnative-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
import { detectPackage } from '@polkadot/util';
|
||||
|
||||
import others from './detectOther';
|
||||
import { packageInfo } from './packageInfo';
|
||||
|
||||
detectPackage(packageInfo, null, others);
|
||||
@@ -1,11 +1,11 @@
|
||||
// Copyright 2017-2023 @polkadot/reactnative-identicon authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/reactnative-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { Props } from '../types';
|
||||
import type { Props } from '../types.js';
|
||||
|
||||
import React from 'react';
|
||||
import { View } from 'react-native';
|
||||
import Svg, { Circle } from 'react-native-svg';
|
||||
import { Circle, Svg } from 'react-native-svg';
|
||||
|
||||
export default function Empty ({ size }: Props): React.ReactElement<Props> {
|
||||
return (
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
// Copyright 2018-2023 @polkadot/reactnative-identicon authors & contributors
|
||||
// Copyright 2018-2024 @polkadot/reactnative-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import type { Circle as CircleType } from '@polkadot/ui-shared/icons/types';
|
||||
import type { Props } from '../types';
|
||||
import type { Props } from '../types.js';
|
||||
|
||||
import React, { useMemo } from 'react';
|
||||
import { View } from 'react-native';
|
||||
import Svg, { Circle as SvgCircle } from 'react-native-svg';
|
||||
import { Circle as SvgCircle, Svg } from 'react-native-svg';
|
||||
|
||||
import { polkadotIcon } from '@polkadot/ui-shared';
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
// Copyright 2017-2023 @polkadot/reactnative-identicon authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/reactnative-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
export { default as Empty } from './Empty';
|
||||
export { default as Polkadot } from './Polkadot';
|
||||
export { default as Empty } from './Empty.js';
|
||||
export { default as Polkadot } from './Polkadot.js';
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
// Copyright 2017-2023 @polkadot/reactnative-identicon authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/reactnative-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
import './detectPackage';
|
||||
import './packageDetect.js';
|
||||
|
||||
import Identicon from './Identicon';
|
||||
import Identicon from './Identicon.js';
|
||||
|
||||
export * from './bundle';
|
||||
export * from './bundle.js';
|
||||
|
||||
export default Identicon;
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
// Copyright 2017-2024 @polkadot/reactnative-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
// (packageInfo imports will be kept as-is, user-editable)
|
||||
|
||||
import { packageInfo as sharedInfo } from '@polkadot/ui-shared/packageInfo';
|
||||
import { detectPackage } from '@polkadot/util';
|
||||
|
||||
import { packageInfo } from './packageInfo.js';
|
||||
|
||||
detectPackage(packageInfo, null, [sharedInfo]);
|
||||
@@ -1,6 +1,6 @@
|
||||
// Copyright 2017-2023 @polkadot/reactnative-identicon authors & contributors
|
||||
// Copyright 2017-2024 @polkadot/reactnative-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
export const packageInfo = { name: '@polkadot/reactnative-identicon', path: 'auto', type: 'auto', version: '2.11.3' };
|
||||
export const packageInfo = { name: '@polkadot/reactnative-identicon', path: 'auto', type: 'auto', version: '3.6.5' };
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2018-2023 @polkadot/reactnative-identicon authors & contributors
|
||||
// Copyright 2018-2024 @polkadot/reactnative-identicon authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
export interface Props {
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
# @polkadot/ui-assets
|
||||
|
||||
Static assets including images shared across projects
|
||||
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"author": "Jaco Greeff <jacogr@gmail.com>",
|
||||
"bugs": "https://github.com/polkadot-js/ui/issues",
|
||||
"contributors": [],
|
||||
"description": "Static assets shared accross projects",
|
||||
"homepage": "https://github.com/polkadot-js/ui/tree/master/packages/ui-assets#readme",
|
||||
"license": "Apache-2.0",
|
||||
"maintainers": [],
|
||||
"name": "@polkadot/ui-assets",
|
||||
"repository": {
|
||||
"directory": "packages/ui-assets",
|
||||
"type": "git",
|
||||
"url": "https://github.com/polkadot-js/ui.git"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"version": "2.11.3",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.20.13",
|
||||
"@polkadot/util": "^10.4.2"
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 25 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 589 B |
@@ -1,6 +0,0 @@
|
||||
// Copyright 2017-2023 @polkadot/ui-assets authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Empty template, auto-generated by @polkadot/dev
|
||||
|
||||
export default [];
|
||||
@@ -1,11 +0,0 @@
|
||||
// Copyright 2017-2023 @polkadot/ui-assets authors & contributors
|
||||
// SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
// Do not edit, auto-generated by @polkadot/dev
|
||||
|
||||
import { detectPackage } from '@polkadot/util';
|
||||
|
||||
import others from './detectOther';
|
||||
import { packageInfo } from './packageInfo';
|
||||
|
||||
detectPackage(packageInfo, null, others);
|
||||
@@ -1 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="512px" height="512px" viewBox="0 0 512 512" version="1.1" style="zoom: 1;"><!-- Generator: Sketch 57.1 (83088) - https://sketch.com --><title>logo-white-with-bg</title><desc>Created with Sketch.</desc><g id="logo-white-with-bg" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><rect fill="#111111" x="0" y="0" width="512" height="512" visibility="hidden"></rect><circle stroke="#000000" id="circle1" stroke-width="3px" cy="256px" fill="#111111" r="250px" cx="256px" transform=""></circle><path d="M160.5,199.5 L160.5,319.5" id="Line" stroke="#FFFFFF" stroke-width="22" stroke-linecap="square"></path><path d="M160.5,199.5 L160.5,319.5" id="Line" stroke="#FFFFFF" stroke-width="22" stroke-linecap="square" transform="translate(160.500000, 259.500000) rotate(60.000000) translate(-160.500000, -259.500000)"></path><path d="M160.5,199.5 L160.5,319.5" id="Line" stroke="#FFFFFF" stroke-width="22" stroke-linecap="square" transform="translate(160.500000, 259.500000) rotate(-60.000000) translate(-160.500000, -259.500000)"></path><path d="M348.5,206.5 L348.5,256.5" id="Line" stroke="#FFFFFF" stroke-width="22" stroke-linecap="square" transform="translate(348.500000, 231.500000) scale(1, -1) translate(-348.500000, -231.500000)"></path><path d="M385.739092,271 L385.739092,321" id="Line" stroke="#FFFFFF" stroke-width="22" stroke-linecap="square" transform="translate(385.739092, 296.000000) scale(-1, 1) rotate(60.000000) translate(-385.739092, -296.000000)"></path><path d="M311.260908,271 L311.260908,321" id="Line" stroke="#FFFFFF" stroke-width="22" stroke-linecap="square" transform="translate(311.260908, 296.000000) scale(-1, 1) rotate(-60.000000) translate(-311.260908, -296.000000)"></path></g></svg>
|
||||
|
Before Width: | Height: | Size: 1.8 KiB |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user