From 554a3e15cd220144a163b861b295f9719857d5e0 Mon Sep 17 00:00:00 2001
From: Rinat Arsaev <11846445+KrickRay@users.noreply.github.com>
Date: Mon, 24 Jan 2022 14:38:04 +0300
Subject: [PATCH] TD-99: Make customizable (#2)
---
.github/PULL_REQUEST_TEMPLATE.md | 71 -
.github/actions/init/action.yaml | 14 +
.github/workflows/master.yaml | 30 +
.github/workflows/pr.yaml | 63 +-
.gitignore | 1 -
.gitmodules | 3 -
.idea/.gitignore | 5 +
.idea/checkout.iml | 13 +
.idea/codeStyles/Project.xml | 58 +
.idea/codeStyles/codeStyleConfig.xml | 5 +
.idea/inspectionProfiles/Project_Default.xml | 6 +
.idea/modules.xml | 8 +
.idea/prettier.xml | 8 +
.idea/vcs.xml | 6 +
.npmrc | 1 -
.prettierignore | 6 +-
Dockerfile | 3 +
Dockerfile.sh | 23 -
Jenkinsfile | 55 -
LICENSE | 176 --
Makefile | 56 -
README.md | 8 +-
build_utils | 1 -
config/checkout-config.js | 3 +-
config/webpack.prod.js | 4 +-
package-lock.json | 2259 ++++++++++++-----
package.json | 49 +-
renovate.json | 11 +
src/app/backend/app-config.ts | 17 +-
src/app/backend/create-payment-resource.ts | 15 +-
src/app/components/app/app.tsx | 2 +-
.../app/modal-container/footer/footer.tsx | 9 +-
.../app/modal-container/footer/logo.svg | 26 -
.../modal-content/modal-content.tsx | 2 +-
.../modal-error/modal-error.tsx | 2 +-
.../modal-loader/modal-loader.tsx | 2 +-
.../app/modal-container/modal/close/close.tsx | 2 +-
.../app/modal-container/modal/form-block.tsx | 10 +-
.../form-container/card-form/card-form.tsx | 2 +-
.../validate-card-expiry.ts | 1 -
.../euroset-form/euroset-form.tsx | 2 +-
.../modal/form-container/form-container.tsx | 4 +-
.../form-loader/form-loader.tsx | 2 +-
.../modal/form-container/header/header.tsx | 2 +-
.../modal/form-container/input/input.tsx | 2 +-
.../interaction-terminal-form.tsx | 9 +-
.../receipt-info/receipt-info.tsx | 9 +-
.../mobile-commerce-form.tsx | 2 +-
.../payment-methods/methods/mthod-simple.ts | 2 +-
.../payment-methods/payment-methods.tsx | 2 +-
.../form-container/qps-forms/qps-form.tsx | 2 +-
.../qps-forms/qps-interaction-form.tsx | 2 +-
.../redirect-interaction-form.tsx | 2 +-
.../result-form/action-block.tsx | 2 +-
.../result-form/error-description-block.tsx | 2 +-
.../result-form/result-form.tsx | 2 +-
.../token-provider-form.tsx | 2 +-
.../uzcard-form/uzcard-form.tsx | 2 +-
.../wallet-form/wallet-form.tsx | 2 +-
.../modal/mobile-header/mobile-header.tsx | 2 +-
.../user-interaction-modal.tsx | 4 +-
src/app/configure-store.ts | 6 +-
src/app/log-messages.ts | 2 +-
.../initialize-amount-info.ts | 2 +-
.../sagas/initialize-app/initialize-app.ts | 2 +-
.../is-ready-to-yandex-pay.ts | 10 +-
.../load-third-part-lib.ts | 7 +-
.../token-providers-to-methods.ts | 22 +-
.../to-available-payment-methods.spec.ts | 6 +-
.../to-available-payment-methods.ts | 2 +-
.../sagas/initialize-app/initialize-model.ts | 31 +-
.../sagas/initialize-app/load-config.spec.ts | 2 +-
src/app/sagas/initialize-app/load-config.ts | 13 +-
src/app/sagas/payment/pay.spec.ts | 2 +-
src/app/sagas/payment/pay.ts | 2 +-
.../create-invoice-with-template.ts | 4 +-
.../provide-payment/get-payable-invoice.ts | 2 +-
.../provide-payment/make-payment.spec.ts | 6 +-
.../payment/provide-payment/make-payment.ts | 2 +-
.../pay-with-apple-pay/begin-session.ts | 4 +-
.../pay-with-apple-pay/pay-with-apple-pay.ts | 2 +-
.../pay-with-google-pay/get-payment-data.ts | 19 +-
.../pay-with-google-pay.spec.ts | 17 +-
.../pay-with-google-pay.ts | 6 +-
.../pay-with-yandex-pay/create-ya-payment.ts | 4 +-
.../pay-with-yandex-pay.ts | 13 +-
.../sagas/poll-events/poll-customer-events.ts | 13 +-
.../sagas/poll-events/poll-invoice-events.ts | 26 +-
src/app/themes/coral.ts | 1 -
src/app/themes/eastern.ts | 59 +
src/app/themes/index.ts | 3 +-
src/app/themes/main.ts | 1 -
src/app/themes/persian-green.ts | 1 -
src/app/themes/solitude.ts | 1 -
src/app/themes/theme-name.ts | 3 +-
src/app/themes/theme.ts | 1 -
src/app/utils/get-ya-pay-payment-data.ts | 5 +-
src/appConfig.json | 17 +-
src/assets/logo.svg | 7 +
src/environment.ts | 6 +-
src/get-origin.ts | 2 +-
src/initializer/html-integration.ts | 2 +-
src/initializer/iframe-container.ts | 4 +-
src/initializer/index.ts | 4 +-
.../init-button/append-init-button.ts | 2 +-
src/locale/en.json | 2 +-
src/locale/ru.json | 2 +-
tsconfig.json | 1 -
108 files changed, 2092 insertions(+), 1355 deletions(-)
delete mode 100644 .github/PULL_REQUEST_TEMPLATE.md
create mode 100644 .github/actions/init/action.yaml
create mode 100644 .github/workflows/master.yaml
delete mode 100644 .gitmodules
create mode 100644 .idea/.gitignore
create mode 100644 .idea/checkout.iml
create mode 100644 .idea/codeStyles/Project.xml
create mode 100644 .idea/codeStyles/codeStyleConfig.xml
create mode 100644 .idea/inspectionProfiles/Project_Default.xml
create mode 100644 .idea/modules.xml
create mode 100644 .idea/prettier.xml
create mode 100644 .idea/vcs.xml
delete mode 100644 .npmrc
create mode 100644 Dockerfile
delete mode 100755 Dockerfile.sh
delete mode 100644 Jenkinsfile
delete mode 100644 LICENSE
delete mode 100644 Makefile
delete mode 160000 build_utils
create mode 100644 renovate.json
delete mode 100644 src/app/components/app/modal-container/footer/logo.svg
create mode 100644 src/app/themes/eastern.ts
create mode 100644 src/assets/logo.svg
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
deleted file mode 100644
index 946e0850..00000000
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ /dev/null
@@ -1,71 +0,0 @@
-
-
-## ⛵ JIRA
-
-- [ ] [FR-0](https://rbkmoney.atlassian.net/browse/FR-0)
-
-## 📑 Изменения
-
-```
-✍️(^◡^)
-```
-
-### 📦 Новые NPM пакеты
-
-- [ ] Добавлены новые NPM пакеты
-
-
-
-### 📚 Обновлен Guideline
-
-- [ ] Добавлено описание в [wiki](https://github.com/rbkmoney/dashboard/wiki)
-
-
-
-## 🖥️ Изменения в интерфейсе
-
-- [ ] Да
-- [ ] Выглядит отлично на мобильных устройствах
-
-### 🔗 Страницы с изменениями либо как их воспроизвести
-
-- http://localhost:7050/
-
-### 🖼 Скриншоты
-
-
-
-
diff --git a/.github/actions/init/action.yaml b/.github/actions/init/action.yaml
new file mode 100644
index 00000000..8bab8587
--- /dev/null
+++ b/.github/actions/init/action.yaml
@@ -0,0 +1,14 @@
+name: Init
+description: Init
+runs:
+ using: composite
+ steps:
+ - name: Init NodeJS
+ uses: actions/setup-node@v2
+ with:
+ node-version: '16.13.2'
+ cache: 'npm'
+
+ - name: Install Packages
+ run: npm ci
+ shell: bash
diff --git a/.github/workflows/master.yaml b/.github/workflows/master.yaml
new file mode 100644
index 00000000..d68997a9
--- /dev/null
+++ b/.github/workflows/master.yaml
@@ -0,0 +1,30 @@
+name: Master
+on:
+ push:
+ branches:
+ - 'master'
+ - 'main'
+env:
+ REGISTRY: ghcr.io
+ IMAGE_NAME: ${{ github.repository }}
+jobs:
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ with:
+ submodules: recursive
+ - name: Init
+ uses: ./.github/actions/init
+ - name: Build
+ run: npm run build
+ - name: Deploy image
+ uses: valitydev/action-deploy-docker@v1.0.16
+ with:
+ registry-username: ${{ github.actor }}
+ registry-access-token: ${{ secrets.GITHUB_TOKEN }}
+ dockerfile-path: .
+ env:
+ ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml
index a89fc047..c96d6b39 100644
--- a/.github/workflows/pr.yaml
+++ b/.github/workflows/pr.yaml
@@ -1,12 +1,55 @@
-name: 'PR Title Checker'
+name: PR
on:
- pull_request:
- types: [edited, opened, synchronize, reopened]
-
+ pull_request:
+ branches: ['*']
jobs:
- title-check:
- runs-on: ubuntu-latest
- steps:
- - uses: naveenk1223/action-pr-title@master
- with:
- regex: '([A-Z]+-[0-9]+,?)+: [A-Z0-9].*'
+ init:
+ name: Init
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ - name: Init
+ uses: ./.github/actions/init
+ - name: Cache
+ uses: actions/cache@v2
+ id: cache
+ with:
+ path: ./*
+ key: ${{ github.sha }}
+ check:
+ name: Check
+ runs-on: ubuntu-latest
+ needs: [init]
+ steps:
+ - name: Cache
+ uses: actions/cache@v2
+ id: cache
+ with:
+ path: ./*
+ key: ${{ github.sha }}
+ - name: Init NodeJS
+ uses: actions/setup-node@v2
+ with:
+ node-version: '16.13.2'
+ cache: 'npm'
+ - name: Check
+ run: npm run check
+ build:
+ name: Build
+ runs-on: ubuntu-latest
+ needs: [init]
+ steps:
+ - name: Cache
+ uses: actions/cache@v2
+ id: cache
+ with:
+ path: ./*
+ key: ${{ github.sha }}
+ - name: Init NodeJS
+ uses: actions/setup-node@v2
+ with:
+ node-version: '16.13.2'
+ cache: 'npm'
+ - name: Build
+ run: npm run build
diff --git a/.gitignore b/.gitignore
index 7668e002..aac1acb2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,3 @@
-.idea
/node_modules/
/dist/
Dockerfile
diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644
index d0f31b08..00000000
--- a/.gitmodules
+++ /dev/null
@@ -1,3 +0,0 @@
-[submodule "build_utils"]
- path = build_utils
- url = git+ssh://git@github.com/rbkmoney/build_utils
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 00000000..b58b603f
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,5 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
diff --git a/.idea/checkout.iml b/.idea/checkout.iml
new file mode 100644
index 00000000..e6443337
--- /dev/null
+++ b/.idea/checkout.iml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
new file mode 100644
index 00000000..f986f2fe
--- /dev/null
+++ b/.idea/codeStyles/Project.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml
new file mode 100644
index 00000000..79ee123c
--- /dev/null
+++ b/.idea/codeStyles/codeStyleConfig.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 00000000..df7825df
--- /dev/null
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 00000000..609f301e
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/prettier.xml b/.idea/prettier.xml
new file mode 100644
index 00000000..8122d8ec
--- /dev/null
+++ b/.idea/prettier.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 00000000..94a25f7f
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.npmrc b/.npmrc
deleted file mode 100644
index 9cf543fe..00000000
--- a/.npmrc
+++ /dev/null
@@ -1 +0,0 @@
-save-prefix='~'
\ No newline at end of file
diff --git a/.prettierignore b/.prettierignore
index 75956c16..17e937d9 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -28,5 +28,9 @@ package.json
node_modules
dist
.cache-loader
-build_utils
+
+# VS Code
.vscode
+
+# IDEA
+.idea
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 00000000..74250075
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,3 @@
+FROM nginx:1.21
+COPY dist /usr/share/nginx/html
+COPY nginx.conf /etc/nginx/vhosts.d/checkout.conf
diff --git a/Dockerfile.sh b/Dockerfile.sh
deleted file mode 100755
index be4ebb44..00000000
--- a/Dockerfile.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/bash
-cat <
-COPY dist /usr/share/nginx/html
-COPY nginx.conf /etc/nginx/vhosts.d/payform.conf
-EXPOSE 8080
-LABEL base_image_tag=$BASE_IMAGE_TAG
-LABEL build_image_tag=$BUILD_IMAGE_TAG
-# A bit of magic to get a proper branch name
-# even when the HEAD is detached (Hey Jenkins!
-# BRANCH_NAME is available in Jenkins env).
-LABEL branch=$( \
- if [ "HEAD" != $(git rev-parse --abbrev-ref HEAD) ]; then \
- echo $(git rev-parse --abbrev-ref HEAD); \
- elif [ -n "$BRANCH_NAME" ]; then \
- echo $BRANCH_NAME; \
- else \
- echo $(git name-rev --name-only HEAD); \
- fi)
-LABEL commit=$(git rev-parse HEAD)
-LABEL commit_number=$(git rev-list --count HEAD)
-EOF
diff --git a/Jenkinsfile b/Jenkinsfile
deleted file mode 100644
index a72e556c..00000000
--- a/Jenkinsfile
+++ /dev/null
@@ -1,55 +0,0 @@
-#!groovy
-
-build('payform', 'docker-host') {
- checkoutRepo()
- loadBuildUtils()
-
- def pipeDefault
- def withWsCache
- runStage('load pipeline') {
- env.JENKINS_LIB = "build_utils/jenkins_lib"
- pipeDefault = load("${env.JENKINS_LIB}/pipeDefault.groovy")
- withWsCache = load("${env.JENKINS_LIB}/withWsCache.groovy")
- }
-
- def pipeline = {
- runStage('init') {
- withGithubSshCredentials {
- sh 'make wc_init'
- }
- }
- runStage('check') {
- sh 'make wc_check'
- }
- runStage('test') {
- sh 'make wc_test'
- }
- if (env.BRANCH_NAME == 'master') {
- runStage('build') {
- withCredentials([string(credentialsId: 'SENTRY_AUTH_TOKEN', variable: 'SENTRY_AUTH_TOKEN')]) {
- sh 'make wc_build'
- }
- }
- } else {
- runStage('build') {
- sh "make wc_cmd WC_CMD='make build_pr'"
- }
- }
- runStage('build image') {
- sh 'make build_image'
- }
- runFESecurityTools()
- try {
- if (env.BRANCH_NAME == 'master' || env.BRANCH_NAME.startsWith('epic')) {
- runStage('push image') {
- sh 'make push_image'
- }
- }
- } finally {
- runStage('rm local image') {
- sh 'make rm_local_image'
- }
- }
- }
- pipeDefault(pipeline)
-}
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 2bb9ad24..00000000
--- a/LICENSE
+++ /dev/null
@@ -1,176 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
\ No newline at end of file
diff --git a/Makefile b/Makefile
deleted file mode 100644
index 53add1f3..00000000
--- a/Makefile
+++ /dev/null
@@ -1,56 +0,0 @@
-SUBMODULES = build_utils
-SUBTARGETS = $(patsubst %,%/.git,$(SUBMODULES))
-
-UTILS_PATH := build_utils
-TEMPLATES_PATH := .
-
-# Name of the service
-SERVICE_NAME := payform
-# Service image default tag
-SERVICE_IMAGE_TAG ?= $(shell git rev-parse HEAD)
-# The tag for service image to be pushed with
-SERVICE_IMAGE_PUSH_TAG ?= $(SERVICE_IMAGE_TAG)
-
-REGISTRY ?= dr2.rbkmoney.com
-
-# Base image for the service
-BASE_IMAGE_NAME := service-fe
-BASE_IMAGE_TAG := 647d66a59ba89ea42b326ca5156f5d1e1395febc
-
-BUILD_IMAGE_TAG := 25c031edd46040a8745334570940a0f0b2154c5c
-
-GIT_SSH_COMMAND :=
-DOCKER_RUN_OPTS = -e GIT_SSH_COMMAND='$(GIT_SSH_COMMAND)' -e NPM_TOKEN='$(GITHUB_TOKEN)' -e SENTRY_AUTH_TOKEN='$(SENTRY_AUTH_TOKEN)'
-
-CALL_W_CONTAINER := init check test build clean submodules
-
-.PHONY: $(CALL_W_CONTAINER)
-
-all: build
-
--include $(UTILS_PATH)/make_lib/utils_image.mk
--include $(UTILS_PATH)/make_lib/utils_container.mk
-
-$(SUBTARGETS): %/.git: %
- git submodule update --init $<
- touch $@
-
-submodules: $(SUBTARGETS)
-
-init:
- npm i
-
-check:
- npm run check
-
-test:
- npm test
-
-build:
- SENTRY_AUTH_TOKEN=$(SENTRY_AUTH_TOKEN) npm run build
-
-build_pr:
- npm run build
-
-clean:
- rm -rf dist
diff --git a/README.md b/README.md
index 49c9b48b..4f7f9abb 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,4 @@
-# Payform
-
-[![Build Status](http://ci.rbkmoney.com/buildStatus/icon?job=rbkmoney_private/payform/master)](http://ci.rbkmoney.com/job/rbkmoney_private/job/payform/job/master)
+# Checkout
## Настройка
@@ -10,4 +8,6 @@
Например в случае с nginx `appConfig.json` нужно положить в `/usr/share/nginx/html`
-### [Описание вариантов интеграции](https://rbkmoney.github.io/docs/docs/payments/checkout/)
+## Логотип
+
+Заменяется в `dist/assets/logo.svg`.
diff --git a/build_utils b/build_utils
deleted file mode 160000
index a7655bc6..00000000
--- a/build_utils
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit a7655bc60c877a65cdfe3d9b668021d970d88a76
diff --git a/config/checkout-config.js b/config/checkout-config.js
index 43cc063d..626d03ae 100644
--- a/config/checkout-config.js
+++ b/config/checkout-config.js
@@ -39,7 +39,8 @@ module.exports = {
[
{ from: './src/app/finish-interaction.html' },
{ from: './src/appConfig.json', to: '..' },
- { from: './src/locale/*.json', to: './locale', flatten: true }
+ { from: './src/locale/*.json', to: './locale', flatten: true },
+ { from: './src/assets', to: '../assets' }
],
{ logLevel: 'warn' }
)
diff --git a/config/webpack.prod.js b/config/webpack.prod.js
index a3a06e56..c78e90fb 100644
--- a/config/webpack.prod.js
+++ b/config/webpack.prod.js
@@ -31,8 +31,8 @@ const commonProdConfig = {
? [
new SentryWebpackPlugin({
authToken: process.env.SENTRY_AUTH_TOKEN,
- org: 'rbkmoney-fd',
- project: 'payform',
+ org: 'vality',
+ project: 'checkout',
include: './dist',
ignore: ['node_modules', 'webpack.config.js']
})
diff --git a/package-lock.json b/package-lock.json
index 308836d0..d5f93ed6 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,13 @@
{
"name": "checkout",
- "version": "1.0.0",
+ "version": "0.1.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "checkout",
- "version": "1.0.0",
+ "version": "0.1.0",
+ "license": "Apache-2.0",
"dependencies": {
"@sentry/react": "~6.13.2",
"@sentry/tracing": "~6.13.2",
@@ -19,15 +20,16 @@
"kjua": "^0.9.0",
"libphonenumber-js": "1.9.6",
"lodash-es": "~4.17.15",
- "react": "~16.6.3",
- "react-dom": "~16.6.3",
- "react-redux": "~5.1.1",
+ "react": "17.0.2",
+ "react-dom": "17.0.2",
+ "react-redux": "7.2.6",
+ "react-svg": "14.1.8",
"react-transition-group": "1.2.1",
- "redux": "~3.7.2",
- "redux-form": "~7.2.3",
- "redux-saga": "~0.16.0",
+ "redux": "4.1.2",
+ "redux-form": "8.3.8",
+ "redux-saga": "1.1.3",
"reselect": "~4.0.0",
- "styled-components": "~4.1.1",
+ "styled-components": "5.3.3",
"ts-polyfill": "~3.8.2",
"uri-template": "~1.0.1",
"url-polyfill": "~1.0.11",
@@ -35,6 +37,7 @@
"whatwg-fetch": "~2.0.3"
},
"devDependencies": {
+ "@redux-saga/testing-utils": "^1.1.3",
"@sentry/webpack-plugin": "~1.17.1",
"@types/card-validator": "~4.1.0",
"@types/credit-card-type": "~7.0.0",
@@ -44,14 +47,14 @@
"@types/jest": "~23.3.14",
"@types/lodash-es": "~4.17.0",
"@types/node": "^11.13.18",
- "@types/react": "~16.7.6",
- "@types/react-dom": "~16.0.9",
- "@types/react-redux": "~5.0.21",
- "@types/react-test-renderer": "~16.0.1",
+ "@types/react": "17.0.38",
+ "@types/react-dom": "17.0.11",
+ "@types/react-redux": "7.1.22",
+ "@types/react-test-renderer": "17.0.1",
"@types/react-transition-group": "1.1.5",
- "@types/redux-form": "~7.2.6",
+ "@types/redux-form": "8.3.3",
"@types/reselect": "~2.2.0",
- "@types/styled-components": "~4.1.0",
+ "@types/styled-components": "5.1.20",
"@types/url-parse": "~1.1.0",
"@types/uuid": "~8.3.0",
"babel-jest": "~22.4.1",
@@ -59,8 +62,9 @@
"babel-preset-env": "~1.7.0",
"cache-loader": "~2.0.1",
"compression-webpack-plugin": "~3.1.0",
+ "concurrently": "~6.5.1",
"copy-webpack-plugin": "~5.1.1",
- "cross-origin-communicator": "git+ssh://git@github.com/rbkmoney/cross-origin-communicator.git#dc3209dab12fb5d745c21b72d10ebe567270a836",
+ "cross-origin-communicator": "github:valitydev/cross-origin-communicator#bd13edd80e2d55cffa45c6b7b9ee3744475c5d0d",
"css-loader": "~1.0.1",
"file-loader": "~2.0.0",
"fork-ts-checker-webpack-plugin": "~4.1.1",
@@ -69,8 +73,8 @@
"jest": "~23.6.0",
"mini-css-extract-plugin": "~0.4.5",
"prettier": "~1.19.1",
- "react-test-renderer": "~16.2.0",
- "redux-devtools-extension": "~2.13.2",
+ "react-test-renderer": "17.0.2",
+ "redux-devtools-extension": "2.13.9",
"rimraf": "~2.6.2",
"style-loader": "~0.23.1",
"svg-react-loader": "~0.4.6",
@@ -82,7 +86,7 @@
"tslint-immutable": "~4.5.1",
"tslint-loader": "~3.5.4",
"tslint-react": "~3.6.0",
- "typescript": "~3.5.3",
+ "typescript": "4.5.4",
"typescript-plugin-styled-components": "~1.0.0",
"webpack": "~4.29.0",
"webpack-bundle-analyzer": "~3.6.0",
@@ -93,46 +97,144 @@
}
},
"node_modules/@babel/code-frame": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz",
- "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==",
- "dev": true,
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
+ "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
"dependencies": {
- "@babel/highlight": "^7.0.0"
+ "@babel/highlight": "^7.16.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/generator": {
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz",
+ "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==",
+ "dependencies": {
+ "@babel/types": "^7.16.8",
+ "jsesc": "^2.5.1",
+ "source-map": "^0.5.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/generator/node_modules/jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=4"
}
},
"node_modules/@babel/helper-annotate-as-pure": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz",
- "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz",
+ "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==",
"dependencies": {
- "@babel/types": "^7.0.0"
+ "@babel/types": "^7.16.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-environment-visitor": {
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz",
+ "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==",
+ "dependencies": {
+ "@babel/types": "^7.16.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-function-name": {
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz",
+ "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==",
+ "dependencies": {
+ "@babel/helper-get-function-arity": "^7.16.7",
+ "@babel/template": "^7.16.7",
+ "@babel/types": "^7.16.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-get-function-arity": {
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz",
+ "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==",
+ "dependencies": {
+ "@babel/types": "^7.16.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-hoist-variables": {
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz",
+ "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==",
+ "dependencies": {
+ "@babel/types": "^7.16.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-imports": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz",
- "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz",
+ "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==",
"dependencies": {
- "@babel/types": "^7.0.0"
+ "@babel/types": "^7.16.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-split-export-declaration": {
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz",
+ "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==",
+ "dependencies": {
+ "@babel/types": "^7.16.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz",
+ "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==",
+ "engines": {
+ "node": ">=6.9.0"
}
},
"node_modules/@babel/highlight": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz",
- "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==",
- "dev": true,
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.7.tgz",
+ "integrity": "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==",
"dependencies": {
+ "@babel/helper-validator-identifier": "^7.16.7",
"chalk": "^2.0.0",
- "esutils": "^2.0.2",
"js-tokens": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
"node_modules/@babel/highlight/node_modules/ansi-styles": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
"dependencies": {
"color-convert": "^1.9.0"
},
@@ -144,7 +246,6 @@
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
"dependencies": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
@@ -158,7 +259,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true,
"engines": {
"node": ">=4"
}
@@ -166,14 +266,12 @@
"node_modules/@babel/highlight/node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
},
"node_modules/@babel/highlight/node_modules/supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
"dependencies": {
"has-flag": "^3.0.0"
},
@@ -181,27 +279,105 @@
"node": ">=4"
}
},
+ "node_modules/@babel/parser": {
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.8.tgz",
+ "integrity": "sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw==",
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
"node_modules/@babel/runtime": {
- "version": "7.1.5",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.1.5.tgz",
- "integrity": "sha512-xKnPpXG/pvK1B90JkwwxSGii90rQGKtzcMt2gI5G6+M0REXaq6rOHsGC2ay6/d0Uje7zzvSzjEzfR3ENhFlrfA==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz",
+ "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==",
"dependencies": {
- "regenerator-runtime": "^0.12.0"
+ "regenerator-runtime": "^0.13.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
"node_modules/@babel/runtime/node_modules/regenerator-runtime": {
- "version": "0.12.1",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz",
- "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg=="
+ "version": "0.13.9",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
+ "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
+ },
+ "node_modules/@babel/template": {
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz",
+ "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==",
+ "dependencies": {
+ "@babel/code-frame": "^7.16.7",
+ "@babel/parser": "^7.16.7",
+ "@babel/types": "^7.16.7"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.8.tgz",
+ "integrity": "sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ==",
+ "dependencies": {
+ "@babel/code-frame": "^7.16.7",
+ "@babel/generator": "^7.16.8",
+ "@babel/helper-environment-visitor": "^7.16.7",
+ "@babel/helper-function-name": "^7.16.7",
+ "@babel/helper-hoist-variables": "^7.16.7",
+ "@babel/helper-split-export-declaration": "^7.16.7",
+ "@babel/parser": "^7.16.8",
+ "@babel/types": "^7.16.8",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse/node_modules/debug": {
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
+ "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@babel/traverse/node_modules/globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/traverse/node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/@babel/types": {
- "version": "7.3.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.3.0.tgz",
- "integrity": "sha512-QkFPw68QqWU1/RVPyBe8SO7lXbPfjtqAxRYQKpFpaB8yMq7X2qAqfwK5LKoQufEkSmO5NQ70O6Kc3Afk03RwXw==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz",
+ "integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==",
"dependencies": {
- "esutils": "^2.0.2",
- "lodash": "^4.17.10",
+ "@babel/helper-validator-identifier": "^7.16.7",
"to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
"node_modules/@babel/types/node_modules/to-fast-properties": {
@@ -213,22 +389,84 @@
}
},
"node_modules/@emotion/is-prop-valid": {
- "version": "0.6.8",
- "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.6.8.tgz",
- "integrity": "sha512-IMSL7ekYhmFlILXcouA6ket3vV7u9BqStlXzbKOF9HBtpUPMMlHU+bBxrLOa2NvleVwNIxeq/zL8LafLbeUXcA==",
+ "version": "0.8.8",
+ "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz",
+ "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==",
"dependencies": {
- "@emotion/memoize": "^0.6.6"
+ "@emotion/memoize": "0.7.4"
}
},
"node_modules/@emotion/memoize": {
- "version": "0.6.6",
- "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.6.6.tgz",
- "integrity": "sha512-h4t4jFjtm1YV7UirAFuSuFGyLa+NNxjdkq6DpFLANNQY5rHueFZHVY+8Cu1HYVP6DrheB0kv4m5xPjo7eKT7yQ=="
+ "version": "0.7.4",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz",
+ "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw=="
+ },
+ "node_modules/@emotion/stylis": {
+ "version": "0.8.5",
+ "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz",
+ "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ=="
},
"node_modules/@emotion/unitless": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.3.tgz",
- "integrity": "sha512-4zAPlpDEh2VwXswwr/t8xGNDGg8RQiPxtxZ3qQEXyQsBV39ptTdESCjuBvGze1nLMVrxmTIKmnO/nAV8Tqjjzg=="
+ "version": "0.7.5",
+ "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz",
+ "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg=="
+ },
+ "node_modules/@redux-saga/core": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@redux-saga/core/-/core-1.1.3.tgz",
+ "integrity": "sha512-8tInBftak8TPzE6X13ABmEtRJGjtK17w7VUs7qV17S8hCO5S3+aUTWZ/DBsBJPdE8Z5jOPwYALyvofgq1Ws+kg==",
+ "dependencies": {
+ "@babel/runtime": "^7.6.3",
+ "@redux-saga/deferred": "^1.1.2",
+ "@redux-saga/delay-p": "^1.1.2",
+ "@redux-saga/is": "^1.1.2",
+ "@redux-saga/symbols": "^1.1.2",
+ "@redux-saga/types": "^1.1.0",
+ "redux": "^4.0.4",
+ "typescript-tuple": "^2.2.1"
+ }
+ },
+ "node_modules/@redux-saga/deferred": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@redux-saga/deferred/-/deferred-1.1.2.tgz",
+ "integrity": "sha512-908rDLHFN2UUzt2jb4uOzj6afpjgJe3MjICaUNO3bvkV/kN/cNeI9PMr8BsFXB/MR8WTAZQq/PlTq8Kww3TBSQ=="
+ },
+ "node_modules/@redux-saga/delay-p": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@redux-saga/delay-p/-/delay-p-1.1.2.tgz",
+ "integrity": "sha512-ojc+1IoC6OP65Ts5+ZHbEYdrohmIw1j9P7HS9MOJezqMYtCDgpkoqB5enAAZrNtnbSL6gVCWPHaoaTY5KeO0/g==",
+ "dependencies": {
+ "@redux-saga/symbols": "^1.1.2"
+ }
+ },
+ "node_modules/@redux-saga/is": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@redux-saga/is/-/is-1.1.2.tgz",
+ "integrity": "sha512-OLbunKVsCVNTKEf2cH4TYyNbbPgvmZ52iaxBD4I1fTif4+MTXMa4/Z07L83zW/hTCXwpSZvXogqMqLfex2Tg6w==",
+ "dependencies": {
+ "@redux-saga/symbols": "^1.1.2",
+ "@redux-saga/types": "^1.1.0"
+ }
+ },
+ "node_modules/@redux-saga/symbols": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@redux-saga/symbols/-/symbols-1.1.2.tgz",
+ "integrity": "sha512-EfdGnF423glv3uMwLsGAtE6bg+R9MdqlHEzExnfagXPrIiuxwr3bdiAwz3gi+PsrQ3yBlaBpfGLtDG8rf3LgQQ=="
+ },
+ "node_modules/@redux-saga/testing-utils": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@redux-saga/testing-utils/-/testing-utils-1.1.3.tgz",
+ "integrity": "sha512-MGMcBHgt80CoC8s8i0Mc7svGJPysS9qkJuAINlg+NvudLZcV23myd+H4uaXA4zmiLf16C4M+97b+e6wFoTaGcw==",
+ "dev": true,
+ "dependencies": {
+ "@redux-saga/symbols": "^1.1.2",
+ "@redux-saga/types": "^1.1.0"
+ }
+ },
+ "node_modules/@redux-saga/types": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@redux-saga/types/-/types-1.1.0.tgz",
+ "integrity": "sha512-afmTuJrylUU/0OtqzaRkbyYFFNgCF73Bvel/sw90pvGrWIZ+vyoIJqA6eMSoA6+nb443kTmulmBtC9NerXboNg=="
},
"node_modules/@sentry/browser": {
"version": "6.13.2",
@@ -359,14 +597,6 @@
"react": "15.x || 16.x || 17.x"
}
},
- "node_modules/@sentry/react/node_modules/hoist-non-react-statics": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
- "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
- "dependencies": {
- "react-is": "^16.7.0"
- }
- },
"node_modules/@sentry/tracing": {
"version": "6.13.2",
"resolved": "https://registry.npmjs.org/@sentry/tracing/-/tracing-6.13.2.tgz",
@@ -414,6 +644,21 @@
"node": ">= 8"
}
},
+ "node_modules/@tanem/svg-injector": {
+ "version": "10.1.15",
+ "resolved": "https://registry.npmjs.org/@tanem/svg-injector/-/svg-injector-10.1.15.tgz",
+ "integrity": "sha512-dR6iN4Ha6w9qcfEEgp3l8jcQHi2TDRjvfD38B6BJGBFObHbO8++/NujVUPlhM6ds5X8Lu5R1+MCig5LIw3bMrw==",
+ "dependencies": {
+ "@babel/runtime": "^7.16.7",
+ "content-type": "^1.0.4",
+ "tslib": "^2.3.1"
+ }
+ },
+ "node_modules/@tanem/svg-injector/node_modules/tslib": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
+ "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
+ },
"node_modules/@types/card-validator": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/@types/card-validator/-/card-validator-4.1.0.tgz",
@@ -448,6 +693,15 @@
"@types/node": "*"
}
},
+ "node_modules/@types/hoist-non-react-statics": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz",
+ "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==",
+ "dependencies": {
+ "@types/react": "*",
+ "hoist-non-react-statics": "^3.3.0"
+ }
+ },
"node_modules/@types/ismobilejs": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/@types/ismobilejs/-/ismobilejs-0.4.1.tgz",
@@ -488,45 +742,44 @@
"dev": true
},
"node_modules/@types/prop-types": {
- "version": "15.5.6",
- "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.5.6.tgz",
- "integrity": "sha512-ZBFR7TROLVzCkswA3Fmqq+IIJt62/T7aY/Dmz+QkU7CaW2QFqAitCE8Ups7IzmGhcN1YWMBT4Qcoc07jU9hOJQ==",
- "dev": true
+ "version": "15.7.4",
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz",
+ "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ=="
},
"node_modules/@types/react": {
- "version": "16.7.6",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-16.7.6.tgz",
- "integrity": "sha512-QBUfzftr/8eg/q3ZRgf/GaDP6rTYc7ZNem+g4oZM38C9vXyV8AWRWaTQuW5yCoZTsfHrN7b3DeEiUnqH9SrnpA==",
- "dev": true,
+ "version": "17.0.38",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.38.tgz",
+ "integrity": "sha512-SI92X1IA+FMnP3qM5m4QReluXzhcmovhZnLNm3pyeQlooi02qI7sLiepEYqT678uNiyc25XfCqxREFpy3W7YhQ==",
"dependencies": {
"@types/prop-types": "*",
- "csstype": "^2.2.0"
+ "@types/scheduler": "*",
+ "csstype": "^3.0.2"
}
},
"node_modules/@types/react-dom": {
- "version": "16.0.9",
- "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.0.9.tgz",
- "integrity": "sha512-4Z0bW+75zeQgsEg7RaNuS1k9MKhci7oQqZXxrV5KUGIyXZHHAAL3KA4rjhdH8o6foZ5xsRMSqkoM5A3yRVPR5w==",
+ "version": "17.0.11",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.11.tgz",
+ "integrity": "sha512-f96K3k+24RaLGVu/Y2Ng3e1EbZ8/cVJvypZWd7cy0ofCBaf2lcM46xNhycMZ2xGwbBjRql7hOlZ+e2WlJ5MH3Q==",
"dev": true,
"dependencies": {
- "@types/node": "*",
"@types/react": "*"
}
},
"node_modules/@types/react-redux": {
- "version": "5.0.21",
- "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-5.0.21.tgz",
- "integrity": "sha512-ewkOW4GjnyXq5L++T31utI8yRmwj8iCIahZohYi1Ef7Xkrw0V/q92ao7x20rm38FKgImDaCCsaRGWfCJmF/Ukg==",
- "dev": true,
+ "version": "7.1.22",
+ "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.22.tgz",
+ "integrity": "sha512-GxIA1kM7ClU73I6wg9IRTVwSO9GS+SAKZKe0Enj+82HMU6aoESFU2HNAdNi3+J53IaOHPiUfT3kSG4L828joDQ==",
"dependencies": {
+ "@types/hoist-non-react-statics": "^3.3.0",
"@types/react": "*",
- "redux": "^3.6.0"
+ "hoist-non-react-statics": "^3.3.0",
+ "redux": "^4.0.0"
}
},
"node_modules/@types/react-test-renderer": {
- "version": "16.0.1",
- "resolved": "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-16.0.1.tgz",
- "integrity": "sha512-kmNh8g67Ck/y/vp6KX+4JTJXiTGLZBylNhu+R7sm7zcvsrnIGVO6J1zew5inVg428j9f8yHpl68RcYOZXVborQ==",
+ "version": "17.0.1",
+ "resolved": "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-17.0.1.tgz",
+ "integrity": "sha512-3Fi2O6Zzq/f3QR9dRnlnHso9bMl7weKCviFmfF6B4LS1Uat6Hkm15k0ZAQuDz+UBq6B3+g+NM6IT2nr5QgPzCw==",
"dev": true,
"dependencies": {
"@types/react": "*"
@@ -542,13 +795,13 @@
}
},
"node_modules/@types/redux-form": {
- "version": "7.2.6",
- "resolved": "https://registry.npmjs.org/@types/redux-form/-/redux-form-7.2.6.tgz",
- "integrity": "sha512-pDiEky1e/n6dBC4F7xAqSkQB9y04rZ3IeMqAUmR4YaNuicyWUXzKpBQCY5re7qYB37sM4YT3bFR6zrgD87YNOA==",
+ "version": "8.3.3",
+ "resolved": "https://registry.npmjs.org/@types/redux-form/-/redux-form-8.3.3.tgz",
+ "integrity": "sha512-RaxUMCXs72H4vSfwU4i/86/RDbQ4p3rK4/4TQvQXHJ49GTyEgdUgWDIaOnKZc84iNwvJTwv+ohDbw/tfXxLg7Q==",
"dev": true,
"dependencies": {
"@types/react": "*",
- "redux": "^3.6.0"
+ "redux": "^3.6.0 || ^4.0.0"
}
},
"node_modules/@types/reselect": {
@@ -561,15 +814,20 @@
"reselect": "*"
}
},
+ "node_modules/@types/scheduler": {
+ "version": "0.16.2",
+ "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
+ "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew=="
+ },
"node_modules/@types/styled-components": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/@types/styled-components/-/styled-components-4.1.0.tgz",
- "integrity": "sha512-B2OuPjx5LG+JIgDid7mR9WCYQ4XqWgOe9D6oyUtnEVES4D3S4rtyD0Vgp7BzAk6YAkLM6m4MqK/9Ityl5SwwTg==",
+ "version": "5.1.20",
+ "resolved": "https://registry.npmjs.org/@types/styled-components/-/styled-components-5.1.20.tgz",
+ "integrity": "sha512-TvpQceFwnxJJsAzR1aHsYpL5DxWMHRzM2/0EA6sGtRjV6DtJubmNxeoPMPiIPQzKEGNHccwObXO7Hug/iwm1Xw==",
"dev": true,
"dependencies": {
- "@types/node": "*",
+ "@types/hoist-non-react-statics": "*",
"@types/react": "*",
- "csstype": "^2.2.0"
+ "csstype": "^3.0.2"
}
},
"node_modules/@types/url-parse": {
@@ -1104,12 +1362,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/asap": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
- "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
- "dev": true
- },
"node_modules/asn1": {
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
@@ -1476,14 +1728,14 @@
"dev": true
},
"node_modules/babel-plugin-styled-components": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-1.10.0.tgz",
- "integrity": "sha512-sQVKG8irFXx14ZfaK1bBePirfkacl3j8nZwSZK+ZjsbnadRHKQTbhXbe/RB1vT6Vgkz45E+V95LBq4KqdhZUNw==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.0.2.tgz",
+ "integrity": "sha512-7eG5NE8rChnNTDxa6LQfynwgHTVOYYaHJbUYSlOhk8QBXIQiMBKq4gyfHBBKPrxUcVBXVJL61ihduCpCQbuNbw==",
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.0.0",
- "@babel/helper-module-imports": "^7.0.0",
+ "@babel/helper-annotate-as-pure": "^7.16.0",
+ "@babel/helper-module-imports": "^7.16.0",
"babel-plugin-syntax-jsx": "^6.18.0",
- "lodash": "^4.17.10"
+ "lodash": "^4.17.11"
},
"peerDependencies": {
"styled-components": ">= 2"
@@ -2788,16 +3040,14 @@
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
"integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==",
- "dev": true,
"dependencies": {
"color-name": "^1.1.1"
}
},
"node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"node_modules/combined-stream": {
"version": "1.0.7",
@@ -3178,6 +3428,243 @@
"typedarray": "^0.0.6"
}
},
+ "node_modules/concurrently": {
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-6.5.1.tgz",
+ "integrity": "sha512-FlSwNpGjWQfRwPLXvJ/OgysbBxPkWpiVjy1042b0U7on7S7qwwMIILRj7WTN1mTgqa582bG6NFuScOoh6Zgdag==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.1.0",
+ "date-fns": "^2.16.1",
+ "lodash": "^4.17.21",
+ "rxjs": "^6.6.3",
+ "spawn-command": "^0.0.2-1",
+ "supports-color": "^8.1.0",
+ "tree-kill": "^1.2.2",
+ "yargs": "^16.2.0"
+ },
+ "bin": {
+ "concurrently": "bin/concurrently.js"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/concurrently/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/concurrently/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/concurrently/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/concurrently/node_modules/chalk/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/concurrently/node_modules/cliui": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+ "dev": true,
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "node_modules/concurrently/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/concurrently/node_modules/date-fns": {
+ "version": "2.27.0",
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.27.0.tgz",
+ "integrity": "sha512-sj+J0Mo2p2X1e306MHq282WS4/A8Pz/95GIFcsPNMPMZVI3EUrAdSv90al1k+p74WGLCruMXk23bfEDZa71X9Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.11"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/date-fns"
+ }
+ },
+ "node_modules/concurrently/node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "node_modules/concurrently/node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "dev": true,
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "node_modules/concurrently/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/concurrently/node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/concurrently/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/concurrently/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/concurrently/node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "node_modules/concurrently/node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/concurrently/node_modules/y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/concurrently/node_modules/yargs": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+ "dev": true,
+ "dependencies": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.0",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^20.2.2"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/concurrently/node_modules/yargs-parser": {
+ "version": "20.2.9",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
+ "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/connect-history-api-fallback": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
@@ -3221,7 +3708,6 @@
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
"integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
- "dev": true,
"engines": {
"node": ">= 0.6"
}
@@ -3485,8 +3971,8 @@
},
"node_modules/cross-origin-communicator": {
"version": "1.0.0",
- "resolved": "git+ssh://git@github.com/rbkmoney/cross-origin-communicator.git#dc3209dab12fb5d745c21b72d10ebe567270a836",
- "integrity": "sha512-FLAy7RDkiBNVzm6fVWpLIe/ehdKs1uTW0TWI+bysaMDDDiLClW1VTtlHERNxSTwfuHyvlNzl+lPCCjgp8lSPaA==",
+ "resolved": "git+ssh://git@github.com/valitydev/cross-origin-communicator.git#bd13edd80e2d55cffa45c6b7b9ee3744475c5d0d",
+ "integrity": "sha512-Pm3wuqjueoW81eoB5326W4fm2L1VuurNpz8efS4yOf4rPUej2Quq5cTjlNOi0eWiI982L7BGJFJUo/dW7ELGVg==",
"dev": true,
"dependencies": {
"rimraf": "~2.6.3",
@@ -3657,15 +4143,20 @@
}
},
"node_modules/css-to-react-native": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-2.3.2.tgz",
- "integrity": "sha512-VOFaeZA053BqvvvqIA8c9n0+9vFppVBAHCp6JgFTtTMU3Mzi+XnelJ9XC9ul3BqFzZyQ5N+H0SnwsWT2Ebchxw==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.0.0.tgz",
+ "integrity": "sha512-Ro1yETZA813eoyUp2GDBhG2j+YggidUmzO1/v9eYBKR2EHVEniE2MI/NqpTQ954BMpTPZFsGNPm46qFB9dpaPQ==",
"dependencies": {
"camelize": "^1.0.0",
"css-color-keywords": "^1.0.0",
- "postcss-value-parser": "^3.3.0"
+ "postcss-value-parser": "^4.0.2"
}
},
+ "node_modules/css-to-react-native/node_modules/postcss-value-parser": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
+ },
"node_modules/css-what": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.2.tgz",
@@ -3709,10 +4200,9 @@
}
},
"node_modules/csstype": {
- "version": "2.5.7",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.5.7.tgz",
- "integrity": "sha512-Nt5VDyOTIIV4/nRFswoCKps1R5CD1hkiyjBE9/thNaNZILLEviVw9yWQw15+O+CpNjQKB/uvdcxFFOrSflY3Yw==",
- "dev": true
+ "version": "3.0.10",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.10.tgz",
+ "integrity": "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA=="
},
"node_modules/currency-formatter": {
"version": "1.2.1",
@@ -3805,7 +4295,8 @@
"node_modules/deep-equal": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
- "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU="
+ "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",
+ "dev": true
},
"node_modules/deep-is": {
"version": "0.1.3",
@@ -4308,15 +4799,6 @@
"node": ">= 0.8"
}
},
- "node_modules/encoding": {
- "version": "0.1.12",
- "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
- "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
- "dev": true,
- "dependencies": {
- "iconv-lite": "~0.4.13"
- }
- },
"node_modules/end-of-stream": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
@@ -4402,6 +4884,15 @@
"resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
"integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg=="
},
+ "node_modules/escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
@@ -4412,7 +4903,6 @@
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true,
"engines": {
"node": ">=0.8.0"
}
@@ -4500,6 +4990,7 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
"integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+ "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -4968,28 +5459,6 @@
"bser": "^2.0.0"
}
},
- "node_modules/fbjs": {
- "version": "0.8.17",
- "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz",
- "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=",
- "dev": true,
- "dependencies": {
- "core-js": "^1.0.0",
- "isomorphic-fetch": "^2.1.1",
- "loose-envify": "^1.0.0",
- "object-assign": "^4.1.0",
- "promise": "^7.1.1",
- "setimmediate": "^1.0.5",
- "ua-parser-js": "^0.7.18"
- }
- },
- "node_modules/fbjs/node_modules/core-js": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
- "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=",
- "deprecated": "core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.",
- "dev": true
- },
"node_modules/figgy-pudding": {
"version": "3.5.1",
"resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz",
@@ -6513,15 +6982,15 @@
"dev": true
},
"node_modules/has": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
- "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"dev": true,
"dependencies": {
- "function-bind": "^1.0.2"
+ "function-bind": "^1.1.1"
},
"engines": {
- "node": ">= 0.8.0"
+ "node": ">= 0.4.0"
}
},
"node_modules/has-ansi": {
@@ -6634,9 +7103,12 @@
}
},
"node_modules/hoist-non-react-statics": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz",
- "integrity": "sha512-6Bl6XsDT1ntE0lHbIhr4Kp2PGcleGZ66qu5Jqk8lc0Xc/IeG6gVLmwUGs/K0Us+L8VWoKgj0uWdPMataOsm31w=="
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
+ "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
+ "dependencies": {
+ "react-is": "^16.7.0"
+ }
},
"node_modules/home-or-tmp": {
"version": "2.0.0",
@@ -6924,18 +7396,6 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
"dev": true
},
- "node_modules/iconv-lite": {
- "version": "0.4.23",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
- "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
- "dev": true,
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/icss-replace-symbols": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
@@ -7211,6 +7671,18 @@
"is-ci": "bin.js"
}
},
+ "node_modules/is-core-module": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz",
+ "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==",
+ "dev": true,
+ "dependencies": {
+ "has": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-data-descriptor": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
@@ -7547,16 +8019,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/isomorphic-fetch": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
- "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
- "dev": true,
- "dependencies": {
- "node-fetch": "^1.0.1",
- "whatwg-fetch": ">=0.10.0"
- }
- },
"node_modules/isstream": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
@@ -9640,11 +10102,11 @@
}
},
"node_modules/loose-envify": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
- "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
"dependencies": {
- "js-tokens": "^3.0.0"
+ "js-tokens": "^3.0.0 || ^4.0.0"
},
"bin": {
"loose-envify": "cli.js"
@@ -9802,11 +10264,6 @@
"node": ">=6"
}
},
- "node_modules/memoize-one": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-4.0.3.tgz",
- "integrity": "sha512-QmpUu4KqDmX0plH4u+tf0riMc1KHE1+lw95cMrLlXQAFOx/xnBtwhZ52XJxd9X2O6kwKBqX32kmhbhlobD0cuw=="
- },
"node_modules/memory-fs": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
@@ -10217,16 +10674,6 @@
"lower-case": "^1.1.1"
}
},
- "node_modules/node-fetch": {
- "version": "1.7.3",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
- "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
- "dev": true,
- "dependencies": {
- "encoding": "^0.1.11",
- "is-stream": "^1.0.1"
- }
- },
"node_modules/node-forge": {
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz",
@@ -10913,9 +11360,9 @@
}
},
"node_modules/path-parse": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
- "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
"dev": true
},
"node_modules/path-to-regexp": {
@@ -11129,7 +11576,8 @@
"node_modules/postcss-value-parser": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz",
- "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU="
+ "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=",
+ "dev": true
},
"node_modules/postcss/node_modules/ansi-styles": {
"version": "3.2.1",
@@ -11291,15 +11739,6 @@
"node": ">=0.4.0"
}
},
- "node_modules/promise": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
- "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
- "dev": true,
- "dependencies": {
- "asap": "~2.0.3"
- }
- },
"node_modules/promise-inflight": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
@@ -11320,24 +11759,13 @@
}
},
"node_modules/prop-types": {
- "version": "15.7.2",
- "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
- "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==",
+ "version": "15.8.1",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
+ "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
"dependencies": {
"loose-envify": "^1.4.0",
"object-assign": "^4.1.1",
- "react-is": "^16.8.1"
- }
- },
- "node_modules/prop-types/node_modules/loose-envify": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
- "dependencies": {
- "js-tokens": "^3.0.0 || ^4.0.0"
- },
- "bin": {
- "loose-envify": "cli.js"
+ "react-is": "^16.13.1"
}
},
"node_modules/proxy-addr": {
@@ -11561,31 +11989,28 @@
"dev": true
},
"node_modules/react": {
- "version": "16.6.3",
- "resolved": "https://registry.npmjs.org/react/-/react-16.6.3.tgz",
- "integrity": "sha512-zCvmH2vbEolgKxtqXL2wmGCUxUyNheYn/C+PD1YAjfxHC54+MhdruyhO7QieQrYsYeTxrn93PM2y0jRH1zEExw==",
+ "version": "17.0.2",
+ "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz",
+ "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==",
"dependencies": {
"loose-envify": "^1.1.0",
- "object-assign": "^4.1.1",
- "prop-types": "^15.6.2",
- "scheduler": "^0.11.2"
+ "object-assign": "^4.1.1"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/react-dom": {
- "version": "16.6.3",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.6.3.tgz",
- "integrity": "sha512-8ugJWRCWLGXy+7PmNh8WJz3g1TaTUt1XyoIcFN+x0Zbkoz+KKdUyx1AQLYJdbFXjuF41Nmjn5+j//rxvhFjgSQ==",
+ "version": "17.0.2",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz",
+ "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==",
"dependencies": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1",
- "prop-types": "^15.6.2",
- "scheduler": "^0.11.2"
+ "scheduler": "^0.20.2"
},
"peerDependencies": {
- "react": "^16.6.3"
+ "react": "17.0.2"
}
},
"node_modules/react-is": {
@@ -11593,54 +12018,84 @@
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
},
- "node_modules/react-lifecycles-compat": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
- "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
- },
"node_modules/react-redux": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.1.1.tgz",
- "integrity": "sha512-LE7Ned+cv5qe7tMV5BPYkGQ5Lpg8gzgItK07c67yHvJ8t0iaD9kPFPAli/mYkiyJYrs2pJgExR2ZgsGqlrOApg==",
+ "version": "7.2.6",
+ "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.6.tgz",
+ "integrity": "sha512-10RPdsz0UUrRL1NZE0ejTkucnclYSgXp5q+tB5SWx2qeG2ZJQJyymgAhwKy73yiL/13btfB6fPr+rgbMAaZIAQ==",
"dependencies": {
- "@babel/runtime": "^7.1.2",
- "hoist-non-react-statics": "^3.1.0",
- "invariant": "^2.2.4",
- "loose-envify": "^1.1.0",
- "prop-types": "^15.6.1",
- "react-is": "^16.6.0",
- "react-lifecycles-compat": "^3.0.0"
+ "@babel/runtime": "^7.15.4",
+ "@types/react-redux": "^7.1.20",
+ "hoist-non-react-statics": "^3.3.2",
+ "loose-envify": "^1.4.0",
+ "prop-types": "^15.7.2",
+ "react-is": "^17.0.2"
},
"peerDependencies": {
- "react": "^0.14.0 || ^15.0.0-0 || ^16.0.0-0",
- "redux": "^2.0.0 || ^3.0.0 || ^4.0.0-0"
+ "react": "^16.8.3 || ^17"
+ },
+ "peerDependenciesMeta": {
+ "react-dom": {
+ "optional": true
+ },
+ "react-native": {
+ "optional": true
+ }
}
},
- "node_modules/react-redux/node_modules/hoist-non-react-statics": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.1.0.tgz",
- "integrity": "sha512-MYcYuROh7SBM69xHGqXEwQqDux34s9tz+sCnxJmN18kgWh6JFdTw/5YdZtqsOdZJXddE/wUpCzfEdDrJj8p0Iw==",
+ "node_modules/react-redux/node_modules/react-is": {
+ "version": "17.0.2",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
+ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
+ },
+ "node_modules/react-shallow-renderer": {
+ "version": "16.14.1",
+ "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.14.1.tgz",
+ "integrity": "sha512-rkIMcQi01/+kxiTE9D3fdS959U1g7gs+/rborw++42m1O9FAQiNI/UNRZExVUoAOprn4umcXf+pFRou8i4zuBg==",
+ "dev": true,
"dependencies": {
- "react-is": "^16.3.2"
+ "object-assign": "^4.1.1",
+ "react-is": "^16.12.0 || ^17.0.0"
},
"peerDependencies": {
- "react": ">=14.x"
+ "react": "^16.0.0 || ^17.0.0"
+ }
+ },
+ "node_modules/react-svg": {
+ "version": "14.1.8",
+ "resolved": "https://registry.npmjs.org/react-svg/-/react-svg-14.1.8.tgz",
+ "integrity": "sha512-YqiiPmCDH4fUH1hj9UehcE8EpTxo2O8zLwhDlmntxQN/KhdLNo3v2944j2K3WrlRms2RPPw9YO7e8+OJ/tVsjg==",
+ "dependencies": {
+ "@babel/runtime": "^7.16.7",
+ "@tanem/svg-injector": "^10.1.14",
+ "@types/prop-types": "^15.7.4",
+ "prop-types": "^15.8.1"
+ },
+ "peerDependencies": {
+ "react": "^15.5.4 || ^16.0.0 || ^17.0.0",
+ "react-dom": "^15.5.4 || ^16.0.0 || ^17.0.0"
}
},
"node_modules/react-test-renderer": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.2.0.tgz",
- "integrity": "sha512-Kd4gJFtpNziR9ElOE/C23LeflKLZPRpNQYWP3nQBY43SJ5a+xyEGSeMrm2zxNKXcnCbBS/q1UpD9gqd5Dv+rew==",
+ "version": "17.0.2",
+ "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-17.0.2.tgz",
+ "integrity": "sha512-yaQ9cB89c17PUb0x6UfWRs7kQCorVdHlutU1boVPEsB8IDZH6n9tHxMacc3y0JoXOJUsZb/t/Mb8FUWMKaM7iQ==",
"dev": true,
"dependencies": {
- "fbjs": "^0.8.16",
"object-assign": "^4.1.1",
- "prop-types": "^15.6.0"
+ "react-is": "^17.0.2",
+ "react-shallow-renderer": "^16.13.1",
+ "scheduler": "^0.20.2"
},
"peerDependencies": {
- "react": "^16.0.0"
+ "react": "17.0.2"
}
},
+ "node_modules/react-test-renderer/node_modules/react-is": {
+ "version": "17.0.2",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
+ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
+ "dev": true
+ },
"node_modules/react-transition-group": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-1.2.1.tgz",
@@ -11751,49 +12206,63 @@
}
},
"node_modules/redux": {
- "version": "3.7.2",
- "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz",
- "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/redux/-/redux-4.1.2.tgz",
+ "integrity": "sha512-SH8PglcebESbd/shgf6mii6EIoRM0zrQyjcuQ+ojmfxjTtE0z9Y8pa62iA/OJ58qjP6j27uyW4kUF4jl/jd6sw==",
"dependencies": {
- "lodash": "^4.2.1",
- "lodash-es": "^4.2.1",
- "loose-envify": "^1.1.0",
- "symbol-observable": "^1.0.3"
+ "@babel/runtime": "^7.9.2"
}
},
"node_modules/redux-devtools-extension": {
- "version": "2.13.2",
- "resolved": "https://registry.npmjs.org/redux-devtools-extension/-/redux-devtools-extension-2.13.2.tgz",
- "integrity": "sha1-4Pmo6N/KfBe+kscSSVijuU6ykR0=",
+ "version": "2.13.9",
+ "resolved": "https://registry.npmjs.org/redux-devtools-extension/-/redux-devtools-extension-2.13.9.tgz",
+ "integrity": "sha512-cNJ8Q/EtjhQaZ71c8I9+BPySIBVEKssbPpskBfsXqb8HJ002A3KRVHfeRzwRo6mGPqsm7XuHTqNSNeS1Khig0A==",
+ "deprecated": "Package moved to @redux-devtools/extension.",
"dev": true,
"peerDependencies": {
- "redux": "^3.1.0"
+ "redux": "^3.1.0 || ^4.0.0"
}
},
"node_modules/redux-form": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/redux-form/-/redux-form-7.2.3.tgz",
- "integrity": "sha512-UpopunO0bYMwGvKaHq5bcUUBJDvFmZ6lMM/uFfnzjpCtuP39Eb7i6UpB4OPzfuIBVpbDNIF5GRewQFvLZn9afw==",
+ "version": "8.3.8",
+ "resolved": "https://registry.npmjs.org/redux-form/-/redux-form-8.3.8.tgz",
+ "integrity": "sha512-PzXhA0d+awIc4PkuhbDa6dCEiraMrGMyyDlYEVNX6qEyW/G2SqZXrjav5zrpXb0CCeqQSc9iqwbMtYQXbJbOAQ==",
"dependencies": {
- "deep-equal": "^1.0.1",
+ "@babel/runtime": "^7.9.2",
"es6-error": "^4.1.1",
- "hoist-non-react-statics": "^2.3.1",
- "invariant": "^2.2.2",
+ "hoist-non-react-statics": "^3.3.2",
+ "invariant": "^2.2.4",
"is-promise": "^2.1.0",
- "lodash": "^4.17.3",
- "lodash-es": "^4.17.3",
- "prop-types": "^15.5.9"
+ "lodash": "^4.17.15",
+ "prop-types": "^15.6.1",
+ "react-is": "^16.4.2"
+ },
+ "engines": {
+ "node": ">=8.10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/redux-form"
},
"peerDependencies": {
- "react": "^15.0.0-0 || ^16.0.0-0",
- "react-redux": "^4.3.0 || ^5.0.0",
- "redux": "^3.0.0"
+ "immutable": "^3.8.2 || ^4.0.0",
+ "react": "^16.4.2 || ^17.0.0",
+ "react-redux": "^6.0.1 || ^7.0.0",
+ "redux": "^3.7.2 || ^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "immutable": {
+ "optional": true
+ }
}
},
"node_modules/redux-saga": {
- "version": "0.16.0",
- "resolved": "https://registry.npmjs.org/redux-saga/-/redux-saga-0.16.0.tgz",
- "integrity": "sha1-CiMdsKFIkwHdmA9vL4jYztQY9yQ="
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/redux-saga/-/redux-saga-1.1.3.tgz",
+ "integrity": "sha512-RkSn/z0mwaSa5/xH/hQLo8gNf4tlvT18qXDNvedihLcfzh+jMchDgaariQoehCpgRltEm4zHKJyINEz6aqswTw==",
+ "dependencies": {
+ "@redux-saga/core": "^1.1.3"
+ }
},
"node_modules/regenerate": {
"version": "1.3.3",
@@ -12087,12 +12556,20 @@
"integrity": "sha512-qUgANli03jjAyGlnbYVAV5vvnOmJnODyABz51RdBN7M4WaVu8mecZWgyQNkG8Yqe3KRGRt0l4K4B3XVEULC4CA=="
},
"node_modules/resolve": {
- "version": "1.7.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
- "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==",
+ "version": "1.21.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.0.tgz",
+ "integrity": "sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA==",
"dev": true,
"dependencies": {
- "path-parse": "^1.0.5"
+ "is-core-module": "^2.8.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/resolve-cwd": {
@@ -12200,6 +12677,18 @@
"integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=",
"dev": true
},
+ "node_modules/rxjs": {
+ "version": "6.6.7",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
+ "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^1.9.0"
+ },
+ "engines": {
+ "npm": ">=2.0.0"
+ }
+ },
"node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -12266,9 +12755,9 @@
}
},
"node_modules/scheduler": {
- "version": "0.11.2",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.11.2.tgz",
- "integrity": "sha512-+WCP3s3wOaW4S7C1tl3TEXp4l9lJn0ZK8G3W3WKRWmw77Z2cIFUW2MiNTMHn5sCjxN+t7N43HAOOgMjyAg5hlg==",
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz",
+ "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==",
"dependencies": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1"
@@ -12435,6 +12924,11 @@
"sha.js": "bin.js"
}
},
+ "node_modules/shallowequal": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz",
+ "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ=="
+ },
"node_modules/shebang-command": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
@@ -12680,7 +13174,6 @@
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true,
"engines": {
"node": ">=0.10.0"
}
@@ -12713,6 +13206,12 @@
"integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
"dev": true
},
+ "node_modules/spawn-command": {
+ "version": "0.0.2-1",
+ "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz",
+ "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=",
+ "dev": true
+ },
"node_modules/spdx-correct": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",
@@ -13116,25 +13615,32 @@
}
},
"node_modules/styled-components": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-4.1.1.tgz",
- "integrity": "sha512-UzT/qyoOyKpYooeLdwKrPHZ85R8KWl8i0fbyH9I3z6B2WT9uGDCV7J4kbfKsBeSWFD9EytBriEODOkybcUFD/Q==",
- "hasInstallScript": true,
+ "version": "5.3.3",
+ "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.3.tgz",
+ "integrity": "sha512-++4iHwBM7ZN+x6DtPPWkCI4vdtwumQ+inA/DdAsqYd4SVgUKJie5vXyzotA00ttcFdQkCng7zc6grwlfIfw+lw==",
"dependencies": {
- "@emotion/is-prop-valid": "^0.6.8",
- "@emotion/unitless": "^0.7.0",
- "babel-plugin-styled-components": ">= 1",
- "css-to-react-native": "^2.2.2",
- "memoize-one": "^4.0.0",
- "prop-types": "^15.5.4",
- "react-is": "^16.6.0",
- "stylis": "^3.5.0",
- "stylis-rule-sheet": "^0.0.10",
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/traverse": "^7.4.5",
+ "@emotion/is-prop-valid": "^0.8.8",
+ "@emotion/stylis": "^0.8.4",
+ "@emotion/unitless": "^0.7.4",
+ "babel-plugin-styled-components": ">= 1.12.0",
+ "css-to-react-native": "^3.0.0",
+ "hoist-non-react-statics": "^3.0.0",
+ "shallowequal": "^1.1.0",
"supports-color": "^5.5.0"
},
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/styled-components"
+ },
"peerDependencies": {
- "react": ">= 16.3.0",
- "react-dom": ">= 16.3.0"
+ "react": ">= 16.8.0",
+ "react-dom": ">= 16.8.0",
+ "react-is": ">= 16.8.0"
}
},
"node_modules/styled-components/node_modules/has-flag": {
@@ -13156,19 +13662,6 @@
"node": ">=4"
}
},
- "node_modules/stylis": {
- "version": "3.5.4",
- "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.4.tgz",
- "integrity": "sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q=="
- },
- "node_modules/stylis-rule-sheet": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz",
- "integrity": "sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==",
- "peerDependencies": {
- "stylis": "^3.5.0"
- }
- },
"node_modules/supports-color": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
@@ -13178,6 +13671,18 @@
"node": ">=0.8.0"
}
},
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/svg-react-loader": {
"version": "0.4.6",
"resolved": "https://registry.npmjs.org/svg-react-loader/-/svg-react-loader-0.4.6.tgz",
@@ -13214,14 +13719,6 @@
"node": ">=0.8.0"
}
},
- "node_modules/symbol-observable": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
- "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
"node_modules/symbol-tree": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz",
@@ -13539,6 +14036,15 @@
"integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=",
"dev": true
},
+ "node_modules/tree-kill": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
+ "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
+ "dev": true,
+ "bin": {
+ "tree-kill": "cli.js"
+ }
+ },
"node_modules/trim-right": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
@@ -13884,9 +14390,9 @@
"dev": true
},
"node_modules/typescript": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz",
- "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==",
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz",
+ "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==",
"dev": true,
"bin": {
"tsc": "bin/tsc",
@@ -13896,6 +14402,19 @@
"node": ">=4.2.0"
}
},
+ "node_modules/typescript-compare": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/typescript-compare/-/typescript-compare-0.0.2.tgz",
+ "integrity": "sha512-8ja4j7pMHkfLJQO2/8tut7ub+J3Lw2S3061eJLFQcvs3tsmJKp8KG5NtpLn7KcY2w08edF74BSVN7qJS0U6oHA==",
+ "dependencies": {
+ "typescript-logic": "^0.0.0"
+ }
+ },
+ "node_modules/typescript-logic": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/typescript-logic/-/typescript-logic-0.0.0.tgz",
+ "integrity": "sha512-zXFars5LUkI3zP492ls0VskH3TtdeHCqu0i7/duGt60i5IGPIpAHE/DWo5FqJ6EjQ15YKXrt+AETjv60Dat34Q=="
+ },
"node_modules/typescript-plugin-styled-components": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/typescript-plugin-styled-components/-/typescript-plugin-styled-components-1.0.0.tgz",
@@ -13905,23 +14424,12 @@
"typescript": "^2.5.2 || ^3.0"
}
},
- "node_modules/ua-parser-js": {
- "version": "0.7.28",
- "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.28.tgz",
- "integrity": "sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/ua-parser-js"
- },
- {
- "type": "paypal",
- "url": "https://paypal.me/faisalman"
- }
- ],
- "engines": {
- "node": "*"
+ "node_modules/typescript-tuple": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/typescript-tuple/-/typescript-tuple-2.2.1.tgz",
+ "integrity": "sha512-Zcr0lbt8z5ZdEzERHAMAniTiIKerFCMgd7yjq1fPnDJ43et/k9twIFQMUYff9k5oXcsQ0WpvFcgzK2ZKASoW6Q==",
+ "dependencies": {
+ "typescript-compare": "^0.0.2"
}
},
"node_modules/uglify-js": {
@@ -16017,38 +16525,100 @@
},
"dependencies": {
"@babel/code-frame": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz",
- "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==",
- "dev": true,
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
+ "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
"requires": {
- "@babel/highlight": "^7.0.0"
+ "@babel/highlight": "^7.16.7"
+ }
+ },
+ "@babel/generator": {
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz",
+ "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==",
+ "requires": {
+ "@babel/types": "^7.16.8",
+ "jsesc": "^2.5.1",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="
+ }
}
},
"@babel/helper-annotate-as-pure": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz",
- "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz",
+ "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==",
"requires": {
- "@babel/types": "^7.0.0"
+ "@babel/types": "^7.16.7"
+ }
+ },
+ "@babel/helper-environment-visitor": {
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz",
+ "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==",
+ "requires": {
+ "@babel/types": "^7.16.7"
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz",
+ "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==",
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.16.7",
+ "@babel/template": "^7.16.7",
+ "@babel/types": "^7.16.7"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz",
+ "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==",
+ "requires": {
+ "@babel/types": "^7.16.7"
+ }
+ },
+ "@babel/helper-hoist-variables": {
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz",
+ "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==",
+ "requires": {
+ "@babel/types": "^7.16.7"
}
},
"@babel/helper-module-imports": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz",
- "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz",
+ "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==",
"requires": {
- "@babel/types": "^7.0.0"
+ "@babel/types": "^7.16.7"
}
},
- "@babel/highlight": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz",
- "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==",
- "dev": true,
+ "@babel/helper-split-export-declaration": {
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz",
+ "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==",
"requires": {
+ "@babel/types": "^7.16.7"
+ }
+ },
+ "@babel/helper-validator-identifier": {
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz",
+ "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw=="
+ },
+ "@babel/highlight": {
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.7.tgz",
+ "integrity": "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==",
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.16.7",
"chalk": "^2.0.0",
- "esutils": "^2.0.2",
"js-tokens": "^4.0.0"
},
"dependencies": {
@@ -16056,7 +16626,6 @@
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
- "dev": true,
"requires": {
"color-convert": "^1.9.0"
}
@@ -16065,7 +16634,6 @@
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
@@ -16075,48 +16643,96 @@
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
},
"js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
},
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
+ "@babel/parser": {
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.8.tgz",
+ "integrity": "sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw=="
+ },
"@babel/runtime": {
- "version": "7.1.5",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.1.5.tgz",
- "integrity": "sha512-xKnPpXG/pvK1B90JkwwxSGii90rQGKtzcMt2gI5G6+M0REXaq6rOHsGC2ay6/d0Uje7zzvSzjEzfR3ENhFlrfA==",
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz",
+ "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==",
"requires": {
- "regenerator-runtime": "^0.12.0"
+ "regenerator-runtime": "^0.13.4"
},
"dependencies": {
"regenerator-runtime": {
- "version": "0.12.1",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz",
- "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg=="
+ "version": "0.13.9",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz",
+ "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA=="
+ }
+ }
+ },
+ "@babel/template": {
+ "version": "7.16.7",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz",
+ "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==",
+ "requires": {
+ "@babel/code-frame": "^7.16.7",
+ "@babel/parser": "^7.16.7",
+ "@babel/types": "^7.16.7"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.8.tgz",
+ "integrity": "sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ==",
+ "requires": {
+ "@babel/code-frame": "^7.16.7",
+ "@babel/generator": "^7.16.8",
+ "@babel/helper-environment-visitor": "^7.16.7",
+ "@babel/helper-function-name": "^7.16.7",
+ "@babel/helper-hoist-variables": "^7.16.7",
+ "@babel/helper-split-export-declaration": "^7.16.7",
+ "@babel/parser": "^7.16.8",
+ "@babel/types": "^7.16.8",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
+ "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
}
}
},
"@babel/types": {
- "version": "7.3.0",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.3.0.tgz",
- "integrity": "sha512-QkFPw68QqWU1/RVPyBe8SO7lXbPfjtqAxRYQKpFpaB8yMq7X2qAqfwK5LKoQufEkSmO5NQ70O6Kc3Afk03RwXw==",
+ "version": "7.16.8",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz",
+ "integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==",
"requires": {
- "esutils": "^2.0.2",
- "lodash": "^4.17.10",
+ "@babel/helper-validator-identifier": "^7.16.7",
"to-fast-properties": "^2.0.0"
},
"dependencies": {
@@ -16128,22 +16744,84 @@
}
},
"@emotion/is-prop-valid": {
- "version": "0.6.8",
- "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.6.8.tgz",
- "integrity": "sha512-IMSL7ekYhmFlILXcouA6ket3vV7u9BqStlXzbKOF9HBtpUPMMlHU+bBxrLOa2NvleVwNIxeq/zL8LafLbeUXcA==",
+ "version": "0.8.8",
+ "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz",
+ "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==",
"requires": {
- "@emotion/memoize": "^0.6.6"
+ "@emotion/memoize": "0.7.4"
}
},
"@emotion/memoize": {
- "version": "0.6.6",
- "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.6.6.tgz",
- "integrity": "sha512-h4t4jFjtm1YV7UirAFuSuFGyLa+NNxjdkq6DpFLANNQY5rHueFZHVY+8Cu1HYVP6DrheB0kv4m5xPjo7eKT7yQ=="
+ "version": "0.7.4",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz",
+ "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw=="
+ },
+ "@emotion/stylis": {
+ "version": "0.8.5",
+ "resolved": "https://registry.npmjs.org/@emotion/stylis/-/stylis-0.8.5.tgz",
+ "integrity": "sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ=="
},
"@emotion/unitless": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.3.tgz",
- "integrity": "sha512-4zAPlpDEh2VwXswwr/t8xGNDGg8RQiPxtxZ3qQEXyQsBV39ptTdESCjuBvGze1nLMVrxmTIKmnO/nAV8Tqjjzg=="
+ "version": "0.7.5",
+ "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz",
+ "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg=="
+ },
+ "@redux-saga/core": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@redux-saga/core/-/core-1.1.3.tgz",
+ "integrity": "sha512-8tInBftak8TPzE6X13ABmEtRJGjtK17w7VUs7qV17S8hCO5S3+aUTWZ/DBsBJPdE8Z5jOPwYALyvofgq1Ws+kg==",
+ "requires": {
+ "@babel/runtime": "^7.6.3",
+ "@redux-saga/deferred": "^1.1.2",
+ "@redux-saga/delay-p": "^1.1.2",
+ "@redux-saga/is": "^1.1.2",
+ "@redux-saga/symbols": "^1.1.2",
+ "@redux-saga/types": "^1.1.0",
+ "redux": "^4.0.4",
+ "typescript-tuple": "^2.2.1"
+ }
+ },
+ "@redux-saga/deferred": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@redux-saga/deferred/-/deferred-1.1.2.tgz",
+ "integrity": "sha512-908rDLHFN2UUzt2jb4uOzj6afpjgJe3MjICaUNO3bvkV/kN/cNeI9PMr8BsFXB/MR8WTAZQq/PlTq8Kww3TBSQ=="
+ },
+ "@redux-saga/delay-p": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@redux-saga/delay-p/-/delay-p-1.1.2.tgz",
+ "integrity": "sha512-ojc+1IoC6OP65Ts5+ZHbEYdrohmIw1j9P7HS9MOJezqMYtCDgpkoqB5enAAZrNtnbSL6gVCWPHaoaTY5KeO0/g==",
+ "requires": {
+ "@redux-saga/symbols": "^1.1.2"
+ }
+ },
+ "@redux-saga/is": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@redux-saga/is/-/is-1.1.2.tgz",
+ "integrity": "sha512-OLbunKVsCVNTKEf2cH4TYyNbbPgvmZ52iaxBD4I1fTif4+MTXMa4/Z07L83zW/hTCXwpSZvXogqMqLfex2Tg6w==",
+ "requires": {
+ "@redux-saga/symbols": "^1.1.2",
+ "@redux-saga/types": "^1.1.0"
+ }
+ },
+ "@redux-saga/symbols": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@redux-saga/symbols/-/symbols-1.1.2.tgz",
+ "integrity": "sha512-EfdGnF423glv3uMwLsGAtE6bg+R9MdqlHEzExnfagXPrIiuxwr3bdiAwz3gi+PsrQ3yBlaBpfGLtDG8rf3LgQQ=="
+ },
+ "@redux-saga/testing-utils": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@redux-saga/testing-utils/-/testing-utils-1.1.3.tgz",
+ "integrity": "sha512-MGMcBHgt80CoC8s8i0Mc7svGJPysS9qkJuAINlg+NvudLZcV23myd+H4uaXA4zmiLf16C4M+97b+e6wFoTaGcw==",
+ "dev": true,
+ "requires": {
+ "@redux-saga/symbols": "^1.1.2",
+ "@redux-saga/types": "^1.1.0"
+ }
+ },
+ "@redux-saga/types": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@redux-saga/types/-/types-1.1.0.tgz",
+ "integrity": "sha512-afmTuJrylUU/0OtqzaRkbyYFFNgCF73Bvel/sw90pvGrWIZ+vyoIJqA6eMSoA6+nb443kTmulmBtC9NerXboNg=="
},
"@sentry/browser": {
"version": "6.13.2",
@@ -16246,16 +16924,6 @@
"@sentry/utils": "6.13.2",
"hoist-non-react-statics": "^3.3.2",
"tslib": "^1.9.3"
- },
- "dependencies": {
- "hoist-non-react-statics": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
- "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
- "requires": {
- "react-is": "^16.7.0"
- }
- }
}
},
"@sentry/tracing": {
@@ -16293,6 +16961,23 @@
"@sentry/cli": "^1.68.0"
}
},
+ "@tanem/svg-injector": {
+ "version": "10.1.15",
+ "resolved": "https://registry.npmjs.org/@tanem/svg-injector/-/svg-injector-10.1.15.tgz",
+ "integrity": "sha512-dR6iN4Ha6w9qcfEEgp3l8jcQHi2TDRjvfD38B6BJGBFObHbO8++/NujVUPlhM6ds5X8Lu5R1+MCig5LIw3bMrw==",
+ "requires": {
+ "@babel/runtime": "^7.16.7",
+ "content-type": "^1.0.4",
+ "tslib": "^2.3.1"
+ },
+ "dependencies": {
+ "tslib": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
+ "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
+ }
+ }
+ },
"@types/card-validator": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/@types/card-validator/-/card-validator-4.1.0.tgz",
@@ -16327,6 +17012,15 @@
"@types/node": "*"
}
},
+ "@types/hoist-non-react-statics": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz",
+ "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==",
+ "requires": {
+ "@types/react": "*",
+ "hoist-non-react-statics": "^3.3.0"
+ }
+ },
"@types/ismobilejs": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/@types/ismobilejs/-/ismobilejs-0.4.1.tgz",
@@ -16367,45 +17061,44 @@
"dev": true
},
"@types/prop-types": {
- "version": "15.5.6",
- "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.5.6.tgz",
- "integrity": "sha512-ZBFR7TROLVzCkswA3Fmqq+IIJt62/T7aY/Dmz+QkU7CaW2QFqAitCE8Ups7IzmGhcN1YWMBT4Qcoc07jU9hOJQ==",
- "dev": true
+ "version": "15.7.4",
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz",
+ "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ=="
},
"@types/react": {
- "version": "16.7.6",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-16.7.6.tgz",
- "integrity": "sha512-QBUfzftr/8eg/q3ZRgf/GaDP6rTYc7ZNem+g4oZM38C9vXyV8AWRWaTQuW5yCoZTsfHrN7b3DeEiUnqH9SrnpA==",
- "dev": true,
+ "version": "17.0.38",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.38.tgz",
+ "integrity": "sha512-SI92X1IA+FMnP3qM5m4QReluXzhcmovhZnLNm3pyeQlooi02qI7sLiepEYqT678uNiyc25XfCqxREFpy3W7YhQ==",
"requires": {
"@types/prop-types": "*",
- "csstype": "^2.2.0"
+ "@types/scheduler": "*",
+ "csstype": "^3.0.2"
}
},
"@types/react-dom": {
- "version": "16.0.9",
- "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.0.9.tgz",
- "integrity": "sha512-4Z0bW+75zeQgsEg7RaNuS1k9MKhci7oQqZXxrV5KUGIyXZHHAAL3KA4rjhdH8o6foZ5xsRMSqkoM5A3yRVPR5w==",
+ "version": "17.0.11",
+ "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.11.tgz",
+ "integrity": "sha512-f96K3k+24RaLGVu/Y2Ng3e1EbZ8/cVJvypZWd7cy0ofCBaf2lcM46xNhycMZ2xGwbBjRql7hOlZ+e2WlJ5MH3Q==",
"dev": true,
"requires": {
- "@types/node": "*",
"@types/react": "*"
}
},
"@types/react-redux": {
- "version": "5.0.21",
- "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-5.0.21.tgz",
- "integrity": "sha512-ewkOW4GjnyXq5L++T31utI8yRmwj8iCIahZohYi1Ef7Xkrw0V/q92ao7x20rm38FKgImDaCCsaRGWfCJmF/Ukg==",
- "dev": true,
+ "version": "7.1.22",
+ "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.22.tgz",
+ "integrity": "sha512-GxIA1kM7ClU73I6wg9IRTVwSO9GS+SAKZKe0Enj+82HMU6aoESFU2HNAdNi3+J53IaOHPiUfT3kSG4L828joDQ==",
"requires": {
+ "@types/hoist-non-react-statics": "^3.3.0",
"@types/react": "*",
- "redux": "^3.6.0"
+ "hoist-non-react-statics": "^3.3.0",
+ "redux": "^4.0.0"
}
},
"@types/react-test-renderer": {
- "version": "16.0.1",
- "resolved": "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-16.0.1.tgz",
- "integrity": "sha512-kmNh8g67Ck/y/vp6KX+4JTJXiTGLZBylNhu+R7sm7zcvsrnIGVO6J1zew5inVg428j9f8yHpl68RcYOZXVborQ==",
+ "version": "17.0.1",
+ "resolved": "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-17.0.1.tgz",
+ "integrity": "sha512-3Fi2O6Zzq/f3QR9dRnlnHso9bMl7weKCviFmfF6B4LS1Uat6Hkm15k0ZAQuDz+UBq6B3+g+NM6IT2nr5QgPzCw==",
"dev": true,
"requires": {
"@types/react": "*"
@@ -16421,13 +17114,13 @@
}
},
"@types/redux-form": {
- "version": "7.2.6",
- "resolved": "https://registry.npmjs.org/@types/redux-form/-/redux-form-7.2.6.tgz",
- "integrity": "sha512-pDiEky1e/n6dBC4F7xAqSkQB9y04rZ3IeMqAUmR4YaNuicyWUXzKpBQCY5re7qYB37sM4YT3bFR6zrgD87YNOA==",
+ "version": "8.3.3",
+ "resolved": "https://registry.npmjs.org/@types/redux-form/-/redux-form-8.3.3.tgz",
+ "integrity": "sha512-RaxUMCXs72H4vSfwU4i/86/RDbQ4p3rK4/4TQvQXHJ49GTyEgdUgWDIaOnKZc84iNwvJTwv+ohDbw/tfXxLg7Q==",
"dev": true,
"requires": {
"@types/react": "*",
- "redux": "^3.6.0"
+ "redux": "^3.6.0 || ^4.0.0"
}
},
"@types/reselect": {
@@ -16439,15 +17132,20 @@
"reselect": "*"
}
},
+ "@types/scheduler": {
+ "version": "0.16.2",
+ "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
+ "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew=="
+ },
"@types/styled-components": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/@types/styled-components/-/styled-components-4.1.0.tgz",
- "integrity": "sha512-B2OuPjx5LG+JIgDid7mR9WCYQ4XqWgOe9D6oyUtnEVES4D3S4rtyD0Vgp7BzAk6YAkLM6m4MqK/9Ityl5SwwTg==",
+ "version": "5.1.20",
+ "resolved": "https://registry.npmjs.org/@types/styled-components/-/styled-components-5.1.20.tgz",
+ "integrity": "sha512-TvpQceFwnxJJsAzR1aHsYpL5DxWMHRzM2/0EA6sGtRjV6DtJubmNxeoPMPiIPQzKEGNHccwObXO7Hug/iwm1Xw==",
"dev": true,
"requires": {
- "@types/node": "*",
+ "@types/hoist-non-react-statics": "*",
"@types/react": "*",
- "csstype": "^2.2.0"
+ "csstype": "^3.0.2"
}
},
"@types/url-parse": {
@@ -16906,12 +17604,6 @@
"integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
"dev": true
},
- "asap": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
- "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
- "dev": true
- },
"asn1": {
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
@@ -17259,14 +17951,14 @@
"dev": true
},
"babel-plugin-styled-components": {
- "version": "1.10.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-1.10.0.tgz",
- "integrity": "sha512-sQVKG8irFXx14ZfaK1bBePirfkacl3j8nZwSZK+ZjsbnadRHKQTbhXbe/RB1vT6Vgkz45E+V95LBq4KqdhZUNw==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.0.2.tgz",
+ "integrity": "sha512-7eG5NE8rChnNTDxa6LQfynwgHTVOYYaHJbUYSlOhk8QBXIQiMBKq4gyfHBBKPrxUcVBXVJL61ihduCpCQbuNbw==",
"requires": {
- "@babel/helper-annotate-as-pure": "^7.0.0",
- "@babel/helper-module-imports": "^7.0.0",
+ "@babel/helper-annotate-as-pure": "^7.16.0",
+ "@babel/helper-module-imports": "^7.16.0",
"babel-plugin-syntax-jsx": "^6.18.0",
- "lodash": "^4.17.10"
+ "lodash": "^4.17.11"
}
},
"babel-plugin-syntax-async-functions": {
@@ -18465,16 +19157,14 @@
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
"integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==",
- "dev": true,
"requires": {
"color-name": "^1.1.1"
}
},
"color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "dev": true
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"combined-stream": {
"version": "1.0.7",
@@ -18771,6 +19461,177 @@
"typedarray": "^0.0.6"
}
},
+ "concurrently": {
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-6.5.1.tgz",
+ "integrity": "sha512-FlSwNpGjWQfRwPLXvJ/OgysbBxPkWpiVjy1042b0U7on7S7qwwMIILRj7WTN1mTgqa582bG6NFuScOoh6Zgdag==",
+ "dev": true,
+ "requires": {
+ "chalk": "^4.1.0",
+ "date-fns": "^2.16.1",
+ "lodash": "^4.17.21",
+ "rxjs": "^6.6.3",
+ "spawn-command": "^0.0.2-1",
+ "supports-color": "^8.1.0",
+ "tree-kill": "^1.2.2",
+ "yargs": "^16.2.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "cliui": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
+ "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==",
+ "dev": true,
+ "requires": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.0",
+ "wrap-ansi": "^7.0.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "date-fns": {
+ "version": "2.27.0",
+ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.27.0.tgz",
+ "integrity": "sha512-sj+J0Mo2p2X1e306MHq282WS4/A8Pz/95GIFcsPNMPMZVI3EUrAdSv90al1k+p74WGLCruMXk23bfEDZa71X9Q==",
+ "dev": true
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true
+ },
+ "string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ },
+ "supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "dev": true
+ },
+ "yargs": {
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
+ "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==",
+ "dev": true,
+ "requires": {
+ "cliui": "^7.0.2",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.0",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^20.2.2"
+ }
+ },
+ "yargs-parser": {
+ "version": "20.2.9",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
+ "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
+ "dev": true
+ }
+ }
+ },
"connect-history-api-fallback": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
@@ -18807,8 +19668,7 @@
"content-type": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
- "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
- "dev": true
+ "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
},
"convert-source-map": {
"version": "1.6.0",
@@ -19025,10 +19885,10 @@
"integrity": "sha512-+1kZKW717eDTbZ1/EjkEi4+UrD2SygU2Iujn/VlrMHXloGW/y5GqPlQ/KgT4gaoDmWyufBfm/CAzNkpeccfMtA=="
},
"cross-origin-communicator": {
- "version": "git+ssh://git@github.com/rbkmoney/cross-origin-communicator.git#dc3209dab12fb5d745c21b72d10ebe567270a836",
- "integrity": "sha512-FLAy7RDkiBNVzm6fVWpLIe/ehdKs1uTW0TWI+bysaMDDDiLClW1VTtlHERNxSTwfuHyvlNzl+lPCCjgp8lSPaA==",
+ "version": "git+ssh://git@github.com/valitydev/cross-origin-communicator.git#bd13edd80e2d55cffa45c6b7b9ee3744475c5d0d",
+ "integrity": "sha512-Pm3wuqjueoW81eoB5326W4fm2L1VuurNpz8efS4yOf4rPUej2Quq5cTjlNOi0eWiI982L7BGJFJUo/dW7ELGVg==",
"dev": true,
- "from": "cross-origin-communicator@git+ssh://git@github.com/rbkmoney/cross-origin-communicator.git#dc3209dab12fb5d745c21b72d10ebe567270a836",
+ "from": "cross-origin-communicator@github:valitydev/cross-origin-communicator#bd13edd80e2d55cffa45c6b7b9ee3744475c5d0d",
"requires": {
"rimraf": "~2.6.3",
"typescript": "~3.3.4000"
@@ -19179,13 +20039,20 @@
}
},
"css-to-react-native": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-2.3.2.tgz",
- "integrity": "sha512-VOFaeZA053BqvvvqIA8c9n0+9vFppVBAHCp6JgFTtTMU3Mzi+XnelJ9XC9ul3BqFzZyQ5N+H0SnwsWT2Ebchxw==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.0.0.tgz",
+ "integrity": "sha512-Ro1yETZA813eoyUp2GDBhG2j+YggidUmzO1/v9eYBKR2EHVEniE2MI/NqpTQ954BMpTPZFsGNPm46qFB9dpaPQ==",
"requires": {
"camelize": "^1.0.0",
"css-color-keywords": "^1.0.0",
- "postcss-value-parser": "^3.3.0"
+ "postcss-value-parser": "^4.0.2"
+ },
+ "dependencies": {
+ "postcss-value-parser": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
+ }
}
},
"css-what": {
@@ -19216,10 +20083,9 @@
}
},
"csstype": {
- "version": "2.5.7",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.5.7.tgz",
- "integrity": "sha512-Nt5VDyOTIIV4/nRFswoCKps1R5CD1hkiyjBE9/thNaNZILLEviVw9yWQw15+O+CpNjQKB/uvdcxFFOrSflY3Yw==",
- "dev": true
+ "version": "3.0.10",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.10.tgz",
+ "integrity": "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA=="
},
"currency-formatter": {
"version": "1.2.1",
@@ -19305,7 +20171,8 @@
"deep-equal": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
- "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU="
+ "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",
+ "dev": true
},
"deep-is": {
"version": "0.1.3",
@@ -19740,15 +20607,6 @@
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
"dev": true
},
- "encoding": {
- "version": "0.1.12",
- "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
- "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
- "dev": true,
- "requires": {
- "iconv-lite": "~0.4.13"
- }
- },
"end-of-stream": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
@@ -19822,6 +20680,12 @@
"resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
"integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg=="
},
+ "escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "dev": true
+ },
"escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
@@ -19831,8 +20695,7 @@
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
},
"escodegen": {
"version": "1.11.1",
@@ -19890,7 +20753,8 @@
"esutils": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
- "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
+ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+ "dev": true
},
"etag": {
"version": "1.8.1",
@@ -20286,29 +21150,6 @@
"bser": "^2.0.0"
}
},
- "fbjs": {
- "version": "0.8.17",
- "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz",
- "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=",
- "dev": true,
- "requires": {
- "core-js": "^1.0.0",
- "isomorphic-fetch": "^2.1.1",
- "loose-envify": "^1.0.0",
- "object-assign": "^4.1.0",
- "promise": "^7.1.1",
- "setimmediate": "^1.0.5",
- "ua-parser-js": "^0.7.18"
- },
- "dependencies": {
- "core-js": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz",
- "integrity": "sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY=",
- "dev": true
- }
- }
- },
"figgy-pudding": {
"version": "3.5.1",
"resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz",
@@ -21523,12 +22364,12 @@
"dev": true
},
"has": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz",
- "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"dev": true,
"requires": {
- "function-bind": "^1.0.2"
+ "function-bind": "^1.1.1"
}
},
"has-ansi": {
@@ -21622,9 +22463,12 @@
}
},
"hoist-non-react-statics": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz",
- "integrity": "sha512-6Bl6XsDT1ntE0lHbIhr4Kp2PGcleGZ66qu5Jqk8lc0Xc/IeG6gVLmwUGs/K0Us+L8VWoKgj0uWdPMataOsm31w=="
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
+ "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
+ "requires": {
+ "react-is": "^16.7.0"
+ }
},
"home-or-tmp": {
"version": "2.0.0",
@@ -21874,15 +22718,6 @@
}
}
},
- "iconv-lite": {
- "version": "0.4.23",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
- "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
- "dev": true,
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- },
"icss-replace-symbols": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
@@ -22108,6 +22943,15 @@
"ci-info": "^1.5.0"
}
},
+ "is-core-module": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz",
+ "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
"is-data-descriptor": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
@@ -22365,16 +23209,6 @@
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
"dev": true
},
- "isomorphic-fetch": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz",
- "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=",
- "dev": true,
- "requires": {
- "node-fetch": "^1.0.1",
- "whatwg-fetch": ">=0.10.0"
- }
- },
"isstream": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
@@ -24113,11 +24947,11 @@
"dev": true
},
"loose-envify": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz",
- "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=",
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
"requires": {
- "js-tokens": "^3.0.0"
+ "js-tokens": "^3.0.0 || ^4.0.0"
}
},
"lower-case": {
@@ -24246,11 +25080,6 @@
}
}
},
- "memoize-one": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-4.0.3.tgz",
- "integrity": "sha512-QmpUu4KqDmX0plH4u+tf0riMc1KHE1+lw95cMrLlXQAFOx/xnBtwhZ52XJxd9X2O6kwKBqX32kmhbhlobD0cuw=="
- },
"memory-fs": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
@@ -24603,16 +25432,6 @@
"lower-case": "^1.1.1"
}
},
- "node-fetch": {
- "version": "1.7.3",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz",
- "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==",
- "dev": true,
- "requires": {
- "encoding": "^0.1.11",
- "is-stream": "^1.0.1"
- }
- },
"node-forge": {
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz",
@@ -25183,9 +26002,9 @@
"dev": true
},
"path-parse": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
- "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
"dev": true
},
"path-to-regexp": {
@@ -25411,7 +26230,8 @@
"postcss-value-parser": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz",
- "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU="
+ "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=",
+ "dev": true
},
"prelude-ls": {
"version": "1.1.2",
@@ -25492,15 +26312,6 @@
"integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
"dev": true
},
- "promise": {
- "version": "7.3.1",
- "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
- "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
- "dev": true,
- "requires": {
- "asap": "~2.0.3"
- }
- },
"promise-inflight": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
@@ -25518,23 +26329,13 @@
}
},
"prop-types": {
- "version": "15.7.2",
- "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz",
- "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==",
+ "version": "15.8.1",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
+ "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
"requires": {
"loose-envify": "^1.4.0",
"object-assign": "^4.1.1",
- "react-is": "^16.8.1"
- },
- "dependencies": {
- "loose-envify": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
- "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
- "requires": {
- "js-tokens": "^3.0.0 || ^4.0.0"
- }
- }
+ "react-is": "^16.13.1"
}
},
"proxy-addr": {
@@ -25725,25 +26526,22 @@
}
},
"react": {
- "version": "16.6.3",
- "resolved": "https://registry.npmjs.org/react/-/react-16.6.3.tgz",
- "integrity": "sha512-zCvmH2vbEolgKxtqXL2wmGCUxUyNheYn/C+PD1YAjfxHC54+MhdruyhO7QieQrYsYeTxrn93PM2y0jRH1zEExw==",
+ "version": "17.0.2",
+ "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz",
+ "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==",
"requires": {
"loose-envify": "^1.1.0",
- "object-assign": "^4.1.1",
- "prop-types": "^15.6.2",
- "scheduler": "^0.11.2"
+ "object-assign": "^4.1.1"
}
},
"react-dom": {
- "version": "16.6.3",
- "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.6.3.tgz",
- "integrity": "sha512-8ugJWRCWLGXy+7PmNh8WJz3g1TaTUt1XyoIcFN+x0Zbkoz+KKdUyx1AQLYJdbFXjuF41Nmjn5+j//rxvhFjgSQ==",
+ "version": "17.0.2",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz",
+ "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==",
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1",
- "prop-types": "^15.6.2",
- "scheduler": "^0.11.2"
+ "scheduler": "^0.20.2"
}
},
"react-is": {
@@ -25751,44 +26549,65 @@
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
},
- "react-lifecycles-compat": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz",
- "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
- },
"react-redux": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.1.1.tgz",
- "integrity": "sha512-LE7Ned+cv5qe7tMV5BPYkGQ5Lpg8gzgItK07c67yHvJ8t0iaD9kPFPAli/mYkiyJYrs2pJgExR2ZgsGqlrOApg==",
+ "version": "7.2.6",
+ "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.6.tgz",
+ "integrity": "sha512-10RPdsz0UUrRL1NZE0ejTkucnclYSgXp5q+tB5SWx2qeG2ZJQJyymgAhwKy73yiL/13btfB6fPr+rgbMAaZIAQ==",
"requires": {
- "@babel/runtime": "^7.1.2",
- "hoist-non-react-statics": "^3.1.0",
- "invariant": "^2.2.4",
- "loose-envify": "^1.1.0",
- "prop-types": "^15.6.1",
- "react-is": "^16.6.0",
- "react-lifecycles-compat": "^3.0.0"
+ "@babel/runtime": "^7.15.4",
+ "@types/react-redux": "^7.1.20",
+ "hoist-non-react-statics": "^3.3.2",
+ "loose-envify": "^1.4.0",
+ "prop-types": "^15.7.2",
+ "react-is": "^17.0.2"
},
"dependencies": {
- "hoist-non-react-statics": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.1.0.tgz",
- "integrity": "sha512-MYcYuROh7SBM69xHGqXEwQqDux34s9tz+sCnxJmN18kgWh6JFdTw/5YdZtqsOdZJXddE/wUpCzfEdDrJj8p0Iw==",
- "requires": {
- "react-is": "^16.3.2"
- }
+ "react-is": {
+ "version": "17.0.2",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
+ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
}
}
},
- "react-test-renderer": {
- "version": "16.2.0",
- "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-16.2.0.tgz",
- "integrity": "sha512-Kd4gJFtpNziR9ElOE/C23LeflKLZPRpNQYWP3nQBY43SJ5a+xyEGSeMrm2zxNKXcnCbBS/q1UpD9gqd5Dv+rew==",
+ "react-shallow-renderer": {
+ "version": "16.14.1",
+ "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.14.1.tgz",
+ "integrity": "sha512-rkIMcQi01/+kxiTE9D3fdS959U1g7gs+/rborw++42m1O9FAQiNI/UNRZExVUoAOprn4umcXf+pFRou8i4zuBg==",
"dev": true,
"requires": {
- "fbjs": "^0.8.16",
"object-assign": "^4.1.1",
- "prop-types": "^15.6.0"
+ "react-is": "^16.12.0 || ^17.0.0"
+ }
+ },
+ "react-svg": {
+ "version": "14.1.8",
+ "resolved": "https://registry.npmjs.org/react-svg/-/react-svg-14.1.8.tgz",
+ "integrity": "sha512-YqiiPmCDH4fUH1hj9UehcE8EpTxo2O8zLwhDlmntxQN/KhdLNo3v2944j2K3WrlRms2RPPw9YO7e8+OJ/tVsjg==",
+ "requires": {
+ "@babel/runtime": "^7.16.7",
+ "@tanem/svg-injector": "^10.1.14",
+ "@types/prop-types": "^15.7.4",
+ "prop-types": "^15.8.1"
+ }
+ },
+ "react-test-renderer": {
+ "version": "17.0.2",
+ "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-17.0.2.tgz",
+ "integrity": "sha512-yaQ9cB89c17PUb0x6UfWRs7kQCorVdHlutU1boVPEsB8IDZH6n9tHxMacc3y0JoXOJUsZb/t/Mb8FUWMKaM7iQ==",
+ "dev": true,
+ "requires": {
+ "object-assign": "^4.1.1",
+ "react-is": "^17.0.2",
+ "react-shallow-renderer": "^16.13.1",
+ "scheduler": "^0.20.2"
+ },
+ "dependencies": {
+ "react-is": {
+ "version": "17.0.2",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
+ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==",
+ "dev": true
+ }
}
},
"react-transition-group": {
@@ -25881,42 +26700,42 @@
}
},
"redux": {
- "version": "3.7.2",
- "resolved": "https://registry.npmjs.org/redux/-/redux-3.7.2.tgz",
- "integrity": "sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==",
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/redux/-/redux-4.1.2.tgz",
+ "integrity": "sha512-SH8PglcebESbd/shgf6mii6EIoRM0zrQyjcuQ+ojmfxjTtE0z9Y8pa62iA/OJ58qjP6j27uyW4kUF4jl/jd6sw==",
"requires": {
- "lodash": "^4.2.1",
- "lodash-es": "^4.2.1",
- "loose-envify": "^1.1.0",
- "symbol-observable": "^1.0.3"
+ "@babel/runtime": "^7.9.2"
}
},
"redux-devtools-extension": {
- "version": "2.13.2",
- "resolved": "https://registry.npmjs.org/redux-devtools-extension/-/redux-devtools-extension-2.13.2.tgz",
- "integrity": "sha1-4Pmo6N/KfBe+kscSSVijuU6ykR0=",
+ "version": "2.13.9",
+ "resolved": "https://registry.npmjs.org/redux-devtools-extension/-/redux-devtools-extension-2.13.9.tgz",
+ "integrity": "sha512-cNJ8Q/EtjhQaZ71c8I9+BPySIBVEKssbPpskBfsXqb8HJ002A3KRVHfeRzwRo6mGPqsm7XuHTqNSNeS1Khig0A==",
"dev": true,
"requires": {}
},
"redux-form": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/redux-form/-/redux-form-7.2.3.tgz",
- "integrity": "sha512-UpopunO0bYMwGvKaHq5bcUUBJDvFmZ6lMM/uFfnzjpCtuP39Eb7i6UpB4OPzfuIBVpbDNIF5GRewQFvLZn9afw==",
+ "version": "8.3.8",
+ "resolved": "https://registry.npmjs.org/redux-form/-/redux-form-8.3.8.tgz",
+ "integrity": "sha512-PzXhA0d+awIc4PkuhbDa6dCEiraMrGMyyDlYEVNX6qEyW/G2SqZXrjav5zrpXb0CCeqQSc9iqwbMtYQXbJbOAQ==",
"requires": {
- "deep-equal": "^1.0.1",
+ "@babel/runtime": "^7.9.2",
"es6-error": "^4.1.1",
- "hoist-non-react-statics": "^2.3.1",
- "invariant": "^2.2.2",
+ "hoist-non-react-statics": "^3.3.2",
+ "invariant": "^2.2.4",
"is-promise": "^2.1.0",
- "lodash": "^4.17.3",
- "lodash-es": "^4.17.3",
- "prop-types": "^15.5.9"
+ "lodash": "^4.17.15",
+ "prop-types": "^15.6.1",
+ "react-is": "^16.4.2"
}
},
"redux-saga": {
- "version": "0.16.0",
- "resolved": "https://registry.npmjs.org/redux-saga/-/redux-saga-0.16.0.tgz",
- "integrity": "sha1-CiMdsKFIkwHdmA9vL4jYztQY9yQ="
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/redux-saga/-/redux-saga-1.1.3.tgz",
+ "integrity": "sha512-RkSn/z0mwaSa5/xH/hQLo8gNf4tlvT18qXDNvedihLcfzh+jMchDgaariQoehCpgRltEm4zHKJyINEz6aqswTw==",
+ "requires": {
+ "@redux-saga/core": "^1.1.3"
+ }
},
"regenerate": {
"version": "1.3.3",
@@ -26157,12 +26976,14 @@
"integrity": "sha512-qUgANli03jjAyGlnbYVAV5vvnOmJnODyABz51RdBN7M4WaVu8mecZWgyQNkG8Yqe3KRGRt0l4K4B3XVEULC4CA=="
},
"resolve": {
- "version": "1.7.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
- "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==",
+ "version": "1.21.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.0.tgz",
+ "integrity": "sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA==",
"dev": true,
"requires": {
- "path-parse": "^1.0.5"
+ "is-core-module": "^2.8.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
}
},
"resolve-cwd": {
@@ -26248,6 +27069,15 @@
"integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=",
"dev": true
},
+ "rxjs": {
+ "version": "6.6.7",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
+ "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -26302,9 +27132,9 @@
}
},
"scheduler": {
- "version": "0.11.2",
- "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.11.2.tgz",
- "integrity": "sha512-+WCP3s3wOaW4S7C1tl3TEXp4l9lJn0ZK8G3W3WKRWmw77Z2cIFUW2MiNTMHn5sCjxN+t7N43HAOOgMjyAg5hlg==",
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz",
+ "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==",
"requires": {
"loose-envify": "^1.1.0",
"object-assign": "^4.1.1"
@@ -26446,6 +27276,11 @@
"safe-buffer": "^5.0.1"
}
},
+ "shallowequal": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz",
+ "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ=="
+ },
"shebang-command": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
@@ -26657,8 +27492,7 @@
"source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
},
"source-map-resolve": {
"version": "0.5.2",
@@ -26688,6 +27522,12 @@
"integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
"dev": true
},
+ "spawn-command": {
+ "version": "0.0.2-1",
+ "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz",
+ "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=",
+ "dev": true
+ },
"spdx-correct": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",
@@ -27022,19 +27862,19 @@
}
},
"styled-components": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-4.1.1.tgz",
- "integrity": "sha512-UzT/qyoOyKpYooeLdwKrPHZ85R8KWl8i0fbyH9I3z6B2WT9uGDCV7J4kbfKsBeSWFD9EytBriEODOkybcUFD/Q==",
+ "version": "5.3.3",
+ "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-5.3.3.tgz",
+ "integrity": "sha512-++4iHwBM7ZN+x6DtPPWkCI4vdtwumQ+inA/DdAsqYd4SVgUKJie5vXyzotA00ttcFdQkCng7zc6grwlfIfw+lw==",
"requires": {
- "@emotion/is-prop-valid": "^0.6.8",
- "@emotion/unitless": "^0.7.0",
- "babel-plugin-styled-components": ">= 1",
- "css-to-react-native": "^2.2.2",
- "memoize-one": "^4.0.0",
- "prop-types": "^15.5.4",
- "react-is": "^16.6.0",
- "stylis": "^3.5.0",
- "stylis-rule-sheet": "^0.0.10",
+ "@babel/helper-module-imports": "^7.0.0",
+ "@babel/traverse": "^7.4.5",
+ "@emotion/is-prop-valid": "^0.8.8",
+ "@emotion/stylis": "^0.8.4",
+ "@emotion/unitless": "^0.7.4",
+ "babel-plugin-styled-components": ">= 1.12.0",
+ "css-to-react-native": "^3.0.0",
+ "hoist-non-react-statics": "^3.0.0",
+ "shallowequal": "^1.1.0",
"supports-color": "^5.5.0"
},
"dependencies": {
@@ -27053,23 +27893,18 @@
}
}
},
- "stylis": {
- "version": "3.5.4",
- "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.4.tgz",
- "integrity": "sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q=="
- },
- "stylis-rule-sheet": {
- "version": "0.0.10",
- "resolved": "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz",
- "integrity": "sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==",
- "requires": {}
- },
"supports-color": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
"integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
"dev": true
},
+ "supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "dev": true
+ },
"svg-react-loader": {
"version": "0.4.6",
"resolved": "https://registry.npmjs.org/svg-react-loader/-/svg-react-loader-0.4.6.tgz",
@@ -27105,11 +27940,6 @@
}
}
},
- "symbol-observable": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
- "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ=="
- },
"symbol-tree": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz",
@@ -27380,6 +28210,12 @@
"integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=",
"dev": true
},
+ "tree-kill": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
+ "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
+ "dev": true
+ },
"trim-right": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
@@ -27646,11 +28482,24 @@
"dev": true
},
"typescript": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz",
- "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==",
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz",
+ "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==",
"dev": true
},
+ "typescript-compare": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/typescript-compare/-/typescript-compare-0.0.2.tgz",
+ "integrity": "sha512-8ja4j7pMHkfLJQO2/8tut7ub+J3Lw2S3061eJLFQcvs3tsmJKp8KG5NtpLn7KcY2w08edF74BSVN7qJS0U6oHA==",
+ "requires": {
+ "typescript-logic": "^0.0.0"
+ }
+ },
+ "typescript-logic": {
+ "version": "0.0.0",
+ "resolved": "https://registry.npmjs.org/typescript-logic/-/typescript-logic-0.0.0.tgz",
+ "integrity": "sha512-zXFars5LUkI3zP492ls0VskH3TtdeHCqu0i7/duGt60i5IGPIpAHE/DWo5FqJ6EjQ15YKXrt+AETjv60Dat34Q=="
+ },
"typescript-plugin-styled-components": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/typescript-plugin-styled-components/-/typescript-plugin-styled-components-1.0.0.tgz",
@@ -27658,11 +28507,13 @@
"dev": true,
"requires": {}
},
- "ua-parser-js": {
- "version": "0.7.28",
- "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.28.tgz",
- "integrity": "sha512-6Gurc1n//gjp9eQNXjD9O3M/sMwVtN5S8Lv9bvOYBfKfDNiIIhqiyi01vMBO45u4zkDE420w/e0se7Vs+sIg+g==",
- "dev": true
+ "typescript-tuple": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/typescript-tuple/-/typescript-tuple-2.2.1.tgz",
+ "integrity": "sha512-Zcr0lbt8z5ZdEzERHAMAniTiIKerFCMgd7yjq1fPnDJ43et/k9twIFQMUYff9k5oXcsQ0WpvFcgzK2ZKASoW6Q==",
+ "requires": {
+ "typescript-compare": "^0.0.2"
+ }
},
"uglify-js": {
"version": "3.4.9",
diff --git a/package.json b/package.json
index 9bd48631..9449ca80 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "checkout",
- "version": "1.0.0",
- "description": "",
+ "version": "0.1.0",
+ "private": true,
"scripts": {
"clear": "rimraf dist && rimraf .cache-loader",
"build": "npm run clear && webpack --mode production --colors --progress --config config/webpack.prod.js",
@@ -13,13 +13,7 @@
"prettier:check": "prettier \"**\" --list-different",
"lint:fix": "tslint \"src/**/*.@(ts|tsx)\" -e \"**/*.d.ts\""
},
- "repository": {
- "type": "git",
- "url": "git+https://github.com/rbkmoney/payform.git"
- },
- "author": "rbkmoney",
- "license": "",
- "private": true,
+ "license": "Apache-2.0",
"dependencies": {
"@sentry/react": "~6.13.2",
"@sentry/tracing": "~6.13.2",
@@ -32,15 +26,16 @@
"kjua": "^0.9.0",
"libphonenumber-js": "1.9.6",
"lodash-es": "~4.17.15",
- "react": "~16.6.3",
- "react-dom": "~16.6.3",
- "react-redux": "~5.1.1",
+ "react": "17.0.2",
+ "react-dom": "17.0.2",
+ "react-redux": "7.2.6",
+ "react-svg": "14.1.8",
"react-transition-group": "1.2.1",
- "redux": "~3.7.2",
- "redux-form": "~7.2.3",
- "redux-saga": "~0.16.0",
+ "redux": "4.1.2",
+ "redux-form": "8.3.8",
+ "redux-saga": "1.1.3",
"reselect": "~4.0.0",
- "styled-components": "~4.1.1",
+ "styled-components": "5.3.3",
"ts-polyfill": "~3.8.2",
"uri-template": "~1.0.1",
"url-polyfill": "~1.0.11",
@@ -48,6 +43,7 @@
"whatwg-fetch": "~2.0.3"
},
"devDependencies": {
+ "@redux-saga/testing-utils": "^1.1.3",
"@sentry/webpack-plugin": "~1.17.1",
"@types/card-validator": "~4.1.0",
"@types/credit-card-type": "~7.0.0",
@@ -57,14 +53,14 @@
"@types/jest": "~23.3.14",
"@types/lodash-es": "~4.17.0",
"@types/node": "^11.13.18",
- "@types/react": "~16.7.6",
- "@types/react-dom": "~16.0.9",
- "@types/react-redux": "~5.0.21",
- "@types/react-test-renderer": "~16.0.1",
+ "@types/react": "17.0.38",
+ "@types/react-dom": "17.0.11",
+ "@types/react-redux": "7.1.22",
+ "@types/react-test-renderer": "17.0.1",
"@types/react-transition-group": "1.1.5",
- "@types/redux-form": "~7.2.6",
+ "@types/redux-form": "8.3.3",
"@types/reselect": "~2.2.0",
- "@types/styled-components": "~4.1.0",
+ "@types/styled-components": "5.1.20",
"@types/url-parse": "~1.1.0",
"@types/uuid": "~8.3.0",
"babel-jest": "~22.4.1",
@@ -72,8 +68,9 @@
"babel-preset-env": "~1.7.0",
"cache-loader": "~2.0.1",
"compression-webpack-plugin": "~3.1.0",
+ "concurrently": "~6.5.1",
"copy-webpack-plugin": "~5.1.1",
- "cross-origin-communicator": "git+ssh://git@github.com/rbkmoney/cross-origin-communicator.git#dc3209dab12fb5d745c21b72d10ebe567270a836",
+ "cross-origin-communicator": "github:valitydev/cross-origin-communicator#bd13edd80e2d55cffa45c6b7b9ee3744475c5d0d",
"css-loader": "~1.0.1",
"file-loader": "~2.0.0",
"fork-ts-checker-webpack-plugin": "~4.1.1",
@@ -82,8 +79,8 @@
"jest": "~23.6.0",
"mini-css-extract-plugin": "~0.4.5",
"prettier": "~1.19.1",
- "react-test-renderer": "~16.2.0",
- "redux-devtools-extension": "~2.13.2",
+ "react-test-renderer": "17.0.2",
+ "redux-devtools-extension": "2.13.9",
"rimraf": "~2.6.2",
"style-loader": "~0.23.1",
"svg-react-loader": "~0.4.6",
@@ -95,7 +92,7 @@
"tslint-immutable": "~4.5.1",
"tslint-loader": "~3.5.4",
"tslint-react": "~3.6.0",
- "typescript": "~3.5.3",
+ "typescript": "4.5.4",
"typescript-plugin-styled-components": "~1.0.0",
"webpack": "~4.29.0",
"webpack-bundle-analyzer": "~3.6.0",
diff --git a/renovate.json b/renovate.json
new file mode 100644
index 00000000..3352e5b4
--- /dev/null
+++ b/renovate.json
@@ -0,0 +1,11 @@
+{
+ "extends": ["config:base"],
+ "packageRules": [
+ {
+ "matchPackagePatterns": ["*"],
+ "matchUpdateTypes": ["minor", "patch"],
+ "groupName": "all non-major dependencies",
+ "groupSlug": "all-minor-patch"
+ }
+ ]
+}
diff --git a/src/app/backend/app-config.ts b/src/app/backend/app-config.ts
index b947c7bd..8496bda7 100644
--- a/src/app/backend/app-config.ts
+++ b/src/app/backend/app-config.ts
@@ -4,12 +4,21 @@ export class AppConfig {
capiEndpoint: string;
wrapperEndpoint: string;
applePayMerchantID: string;
- googlePayMerchantID: string;
- googlePayGatewayMerchantID: string;
samsungPayMerchantName: string;
samsungPayServiceID: string;
- yandexPayMerchantID: string;
- yandexPayGatewayMerchantID: string;
+ yandexPay: {
+ merchantName: string;
+ merchantID: string;
+ gatewayMerchantID: string;
+ };
+ googlePay: {
+ merchantName: string;
+ merchantID: string;
+ gateway: string;
+ gatewayMerchantID: string;
+ merchantOrigin: string;
+ };
brandless: boolean;
fixedTheme: ThemeName;
+ brandName: string;
}
diff --git a/src/app/backend/create-payment-resource.ts b/src/app/backend/create-payment-resource.ts
index 815ccd3f..fa0400d5 100644
--- a/src/app/backend/create-payment-resource.ts
+++ b/src/app/backend/create-payment-resource.ts
@@ -8,6 +8,15 @@ function getFingerprintFromComponents(components: Fingerprint2.Component[]) {
return Fingerprint2.x64hash128(values.join(''), 31);
}
+const getClientInfoUrl = (): { url: string } | undefined => {
+ const url = (document.referrer || '').slice(
+ 0,
+ // URL max length (API constraint)
+ 599
+ );
+ return url ? { url } : undefined;
+};
+
export const createPaymentResource = (
capiEndpoint: string,
accessToken: string,
@@ -22,11 +31,7 @@ export const createPaymentResource = (
paymentTool,
clientInfo: {
fingerprint: getFingerprintFromComponents(fingerprintComponents),
- url: (document.referrer || '').slice(
- 0,
- // URL max length (API constraint)
- 599
- )
+ ...getClientInfoUrl()
}
}
})
diff --git a/src/app/components/app/app.tsx b/src/app/components/app/app.tsx
index 1e6f9746..556e859f 100644
--- a/src/app/components/app/app.tsx
+++ b/src/app/components/app/app.tsx
@@ -43,7 +43,7 @@ const mapStateToProps = (state: State) => ({
initializeApp: state.initializeApp
});
-const mapDispatchToProps = (dispatch: Dispatch) => ({
+const mapDispatchToProps = (dispatch: Dispatch) => ({
initApp: bindActionCreators(initializeApp, dispatch)
});
diff --git a/src/app/components/app/modal-container/footer/footer.tsx b/src/app/components/app/modal-container/footer/footer.tsx
index c632c24b..53aea458 100644
--- a/src/app/components/app/modal-container/footer/footer.tsx
+++ b/src/app/components/app/modal-container/footer/footer.tsx
@@ -1,5 +1,6 @@
import * as React from 'react';
import { connect } from 'react-redux';
+import { ReactSVG } from 'react-svg';
import { State } from 'checkout/state';
import { Locale } from 'checkout/locale';
@@ -8,7 +9,6 @@ import SecureIcon from './secure-icon.svg';
import VisaIcon from './visa-icon.svg';
import McIcon from './mc-icon.svg';
import PciDssIcon from './pci-dss-icon.svg';
-import Logo from './logo.svg';
import MirAcceptIcon from './mir-accept.svg';
import { device } from 'checkout/utils/device';
import styled, { css } from 'checkout/styled-components';
@@ -121,7 +121,12 @@ const FooterDef: React.FC = (props) => (
-
+ {
+ svg.setAttribute('style', 'height: 24px; width: auto');
+ }}
+ />
)}
diff --git a/src/app/components/app/modal-container/footer/logo.svg b/src/app/components/app/modal-container/footer/logo.svg
deleted file mode 100644
index 98449562..00000000
--- a/src/app/components/app/modal-container/footer/logo.svg
+++ /dev/null
@@ -1,26 +0,0 @@
-
diff --git a/src/app/components/app/modal-container/modal-content/modal-content.tsx b/src/app/components/app/modal-container/modal-content/modal-content.tsx
index b30f7dfb..997ecb92 100644
--- a/src/app/components/app/modal-container/modal-content/modal-content.tsx
+++ b/src/app/components/app/modal-container/modal-content/modal-content.tsx
@@ -123,7 +123,7 @@ const mapStateToProps = (state: State) => ({
activeModal: state.modals.find((modal) => modal.active)
});
-const mapDispatchToProps = (dispatch: Dispatch) => ({
+const mapDispatchToProps = (dispatch: Dispatch) => ({
finishInteraction: bindActionCreators(finishInteraction, dispatch)
});
diff --git a/src/app/components/app/modal-container/modal-error/modal-error.tsx b/src/app/components/app/modal-container/modal-error/modal-error.tsx
index fa27528e..ba0adb81 100644
--- a/src/app/components/app/modal-container/modal-error/modal-error.tsx
+++ b/src/app/components/app/modal-container/modal-error/modal-error.tsx
@@ -15,7 +15,7 @@ const ModalErrorWrapper = styled.div`
max-height: 690px;
width: 680px;
position: relative;
- border-radius: 6px;
+ border-radius: 16px;
}
`;
diff --git a/src/app/components/app/modal-container/modal-loader/modal-loader.tsx b/src/app/components/app/modal-container/modal-loader/modal-loader.tsx
index f0163a2a..22134d8f 100644
--- a/src/app/components/app/modal-container/modal-loader/modal-loader.tsx
+++ b/src/app/components/app/modal-container/modal-loader/modal-loader.tsx
@@ -10,7 +10,7 @@ const LoaderWrapper = styled.div`
left: 0;
height: 100%;
width: 100%;
- border-radius: 6px;
+ border-radius: 16px;
display: flex;
flex-wrap: nowrap;
flex-direction: row;
diff --git a/src/app/components/app/modal-container/modal/close/close.tsx b/src/app/components/app/modal-container/modal/close/close.tsx
index c1d8def9..a9dcf1b2 100644
--- a/src/app/components/app/modal-container/modal/close/close.tsx
+++ b/src/app/components/app/modal-container/modal/close/close.tsx
@@ -30,7 +30,7 @@ interface CloseProps {
setResult: (resultState: ResultState) => ResultAction;
}
-const mapDispatchToProps = (dispatch: Dispatch) => ({
+const mapDispatchToProps = (dispatch: Dispatch) => ({
setResult: bindActionCreators(setResult, dispatch)
});
diff --git a/src/app/components/app/modal-container/modal/form-block.tsx b/src/app/components/app/modal-container/modal/form-block.tsx
index 5a514c2b..67de4b5f 100644
--- a/src/app/components/app/modal-container/modal/form-block.tsx
+++ b/src/app/components/app/modal-container/modal/form-block.tsx
@@ -1,4 +1,4 @@
-import styled from 'checkout/styled-components';
+import styled, { css } from 'checkout/styled-components';
import { device } from 'checkout/utils/device';
export const FormBlock = styled.div<{ inFrame: boolean }>`
@@ -16,7 +16,7 @@ export const FormBlock = styled.div<{ inFrame: boolean }>`
height: auto;
min-height: auto;
width: 680px;
- border-radius: 6px;
+ border-radius: 16px;
display: flex;
flex-wrap: nowrap;
flex-direction: row;
@@ -28,4 +28,10 @@ export const FormBlock = styled.div<{ inFrame: boolean }>`
display: none !important;
}
}
+
+ ${({ inFrame }) =>
+ inFrame &&
+ css`
+ box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
+ `};
`;
diff --git a/src/app/components/app/modal-container/modal/form-container/card-form/card-form.tsx b/src/app/components/app/modal-container/modal/form-container/card-form/card-form.tsx
index f929c175..088a1d20 100644
--- a/src/app/components/app/modal-container/modal/form-container/card-form/card-form.tsx
+++ b/src/app/components/app/modal-container/modal/form-container/card-form/card-form.tsx
@@ -38,7 +38,7 @@ const mapStateToProps = (state: State) => ({
integrationType: state.config.initConfig.integrationType
});
-const mapDispatchToProps = (dispatch: Dispatch) => ({
+const mapDispatchToProps = (dispatch: Dispatch) => ({
pay: bindActionCreators(pay, dispatch),
subscribe: bindActionCreators(subscribe, dispatch),
setViewInfoError: bindActionCreators(setViewInfoError, dispatch)
diff --git a/src/app/components/app/modal-container/modal/form-container/card-form/fields/expire-date/validate-expire-date/validate-card-expiry.ts b/src/app/components/app/modal-container/modal/form-container/card-form/fields/expire-date/validate-expire-date/validate-card-expiry.ts
index 6b9d622f..e63065e0 100644
--- a/src/app/components/app/modal-container/modal/form-container/card-form/fields/expire-date/validate-expire-date/validate-card-expiry.ts
+++ b/src/app/components/app/modal-container/modal/form-container/card-form/fields/expire-date/validate-expire-date/validate-card-expiry.ts
@@ -27,7 +27,6 @@ export function validateCardExpiry({ month, year }: ExpiryDate): boolean {
}
// TODO: Bring back the validation for the date when the world goes okay.
- // https://rbkmoney.atlassian.net/browse/FE-1043
// const expiry = new Date(year, month);
// const currentTime = new Date();
diff --git a/src/app/components/app/modal-container/modal/form-container/euroset-form/euroset-form.tsx b/src/app/components/app/modal-container/modal/form-container/euroset-form/euroset-form.tsx
index 12378413..4801810d 100644
--- a/src/app/components/app/modal-container/modal/form-container/euroset-form/euroset-form.tsx
+++ b/src/app/components/app/modal-container/modal/form-container/euroset-form/euroset-form.tsx
@@ -42,7 +42,7 @@ const mapStateToProps = (state: State): Partial => ({
amount: formatAmount(state.amountInfo)
});
-const mapDispatchToProps = (dispatch: Dispatch): Partial => ({
+const mapDispatchToProps = (dispatch: Dispatch): Partial => ({
pay: bindActionCreators(pay, dispatch),
setViewInfoError: bindActionCreators(setViewInfoError, dispatch)
});
diff --git a/src/app/components/app/modal-container/modal/form-container/form-container.tsx b/src/app/components/app/modal-container/modal/form-container/form-container.tsx
index 039cd19f..8d839209 100644
--- a/src/app/components/app/modal-container/modal/form-container/form-container.tsx
+++ b/src/app/components/app/modal-container/modal/form-container/form-container.tsx
@@ -35,7 +35,7 @@ const Container = styled.div`
const Form = styled.div<{ error?: any; height?: number }>`
background: #fff;
- border-radius: 6px;
+ border-radius: 16px;
box-shadow: 0 2px 24px 0 rgba(0, 0, 0, 0.25);
padding: 30px 20px;
position: relative;
@@ -140,7 +140,7 @@ const mapStateToProps = (state: State): Partial => {
};
};
-const mapDispatchToProps = (dispatch: Dispatch): Partial => ({
+const mapDispatchToProps = (dispatch: Dispatch): Partial => ({
setViewInfoHeight: bindActionCreators(setViewInfoHeight, dispatch)
});
diff --git a/src/app/components/app/modal-container/modal/form-container/form-loader/form-loader.tsx b/src/app/components/app/modal-container/modal/form-container/form-loader/form-loader.tsx
index 17715258..e4159f5b 100644
--- a/src/app/components/app/modal-container/modal/form-container/form-loader/form-loader.tsx
+++ b/src/app/components/app/modal-container/modal/form-container/form-loader/form-loader.tsx
@@ -21,7 +21,7 @@ const LoaderWrapper = styled.div`
left: 0;
height: 100%;
width: 100%;
- border-radius: 6px;
+ border-radius: 16px;
display: flex;
flex-wrap: nowrap;
flex-direction: row;
diff --git a/src/app/components/app/modal-container/modal/form-container/header/header.tsx b/src/app/components/app/modal-container/modal/form-container/header/header.tsx
index b2d0255a..076d2418 100644
--- a/src/app/components/app/modal-container/modal/form-container/header/header.tsx
+++ b/src/app/components/app/modal-container/modal/form-container/header/header.tsx
@@ -47,7 +47,7 @@ const mapStateToProps = (state: State) => ({
destination: getDestination(state.modals)
});
-const mapDispatchToProps = (dispatch: Dispatch) => ({
+const mapDispatchToProps = (dispatch: Dispatch) => ({
goToFormInfo: bindActionCreators(goToFormInfo, dispatch)
});
diff --git a/src/app/components/app/modal-container/modal/form-container/input/input.tsx b/src/app/components/app/modal-container/modal/form-container/input/input.tsx
index 8749cf3e..193c56d8 100644
--- a/src/app/components/app/modal-container/modal/form-container/input/input.tsx
+++ b/src/app/components/app/modal-container/modal/form-container/input/input.tsx
@@ -23,7 +23,7 @@ const StyledInput = styled.input`
width: 100%;
height: 48px;
box-sizing: border-box;
- border-radius: 3px;
+ border-radius: 8px;
border: 1px solid ${({ theme }) => theme.color.neutral[0.2]};
box-shadow: 0 0 0 0 #fff;
font-weight: 500;
diff --git a/src/app/components/app/modal-container/modal/form-container/interaction-form/interaction-terminal-form/interaction-terminal-form.tsx b/src/app/components/app/modal-container/modal/form-container/interaction-form/interaction-terminal-form/interaction-terminal-form.tsx
index ab81e0b9..219e1a79 100644
--- a/src/app/components/app/modal-container/modal/form-container/interaction-form/interaction-terminal-form/interaction-terminal-form.tsx
+++ b/src/app/components/app/modal-container/modal/form-container/interaction-form/interaction-terminal-form/interaction-terminal-form.tsx
@@ -9,6 +9,7 @@ import { Locale } from 'checkout/locale';
import { ReceiptInfo } from './receipt-info';
import { EurosetLogo } from 'checkout/components';
import styled from 'checkout/styled-components';
+import { Config } from 'checkout/config';
const Container = styled.div`
display: flex;
@@ -26,23 +27,25 @@ const SystemLogo = styled(EurosetLogo)`
const mapStateToProps = (s: State) => ({
locale: s.config.locale,
- amount: formatInvoiceAmount(s.model.invoice)
+ amount: formatInvoiceAmount(s.model.invoice),
+ config: s.config
});
export interface InteractionTerminalFormProps {
receipt: PaymentTerminalReceipt;
locale: Locale;
amount: FormattedAmount;
+ config: Config;
}
class InteractionTerminalFormDef extends React.Component {
render() {
- const { locale, receipt, amount } = this.props;
+ const { locale, receipt, amount, config } = this.props;
return (
-
+
);
}
diff --git a/src/app/components/app/modal-container/modal/form-container/interaction-form/interaction-terminal-form/receipt-info/receipt-info.tsx b/src/app/components/app/modal-container/modal/form-container/interaction-form/interaction-terminal-form/receipt-info/receipt-info.tsx
index e939f567..20793f65 100644
--- a/src/app/components/app/modal-container/modal/form-container/interaction-form/interaction-terminal-form/receipt-info/receipt-info.tsx
+++ b/src/app/components/app/modal-container/modal/form-container/interaction-form/interaction-terminal-form/receipt-info/receipt-info.tsx
@@ -7,10 +7,12 @@ import { FormattedAmount } from 'checkout/utils';
import { Highlight } from 'checkout/components/app/modal-container/modal/form-container/highlight';
import { ListItem, NumerableList } from 'checkout/components/app/modal-container/modal/form-container/numerable-list';
import { Text } from '../../../text';
+import { Config } from 'checkout/config';
interface ReceiptInfo {
locale: Locale;
receipt: PaymentTerminalReceipt;
+ config: Config;
amount: FormattedAmount;
}
@@ -35,7 +37,12 @@ export const ReceiptInfo: React.FC = (props) => (
{props.locale['form.pay.terminals.step.one.text']} {props.locale['brand.euroset']}.
- {props.locale['form.pay.terminals.step.two.text']}.
+
+ {props.locale['form.pay.terminals.step.two.text'].replace(
+ '${brandName}',
+ props.config.appConfig.brandName
+ )}
+
{props.locale['form.pay.terminals.step.three.text']}:
{formatPaymentId(props.receipt.shortPaymentID)}.
diff --git a/src/app/components/app/modal-container/modal/form-container/mobile-commerce-form/mobile-commerce-form.tsx b/src/app/components/app/modal-container/modal/form-container/mobile-commerce-form/mobile-commerce-form.tsx
index 5e15c8d6..f9b7349f 100644
--- a/src/app/components/app/modal-container/modal/form-container/mobile-commerce-form/mobile-commerce-form.tsx
+++ b/src/app/components/app/modal-container/modal/form-container/mobile-commerce-form/mobile-commerce-form.tsx
@@ -37,7 +37,7 @@ const mapStateToProps = (state: State) => ({
mobileCommerceFormInfo: toMobileCommerceFormInfo(state.modals)
});
-const mapDispatchToProps = (dispatch: Dispatch) => ({
+const mapDispatchToProps = (dispatch: Dispatch) => ({
setViewInfoError: bindActionCreators(setViewInfoError, dispatch),
pay: bindActionCreators(pay, dispatch)
});
diff --git a/src/app/components/app/modal-container/modal/form-container/payment-methods/methods/mthod-simple.ts b/src/app/components/app/modal-container/modal/form-container/payment-methods/methods/mthod-simple.ts
index feb3f952..c09138e3 100644
--- a/src/app/components/app/modal-container/modal/form-container/payment-methods/methods/mthod-simple.ts
+++ b/src/app/components/app/modal-container/modal/form-container/payment-methods/methods/mthod-simple.ts
@@ -1,7 +1,7 @@
import styled from 'checkout/styled-components';
export const MethodSimple = styled.li`
- border-radius: 3px;
+ border-radius: 8px;
border: 1px solid ${({ theme }) => theme.color.neutral[0.2]};
padding: 20px;
display: flex;
diff --git a/src/app/components/app/modal-container/modal/form-container/payment-methods/payment-methods.tsx b/src/app/components/app/modal-container/modal/form-container/payment-methods/payment-methods.tsx
index 4360221e..46250918 100644
--- a/src/app/components/app/modal-container/modal/form-container/payment-methods/payment-methods.tsx
+++ b/src/app/components/app/modal-container/modal/form-container/payment-methods/payment-methods.tsx
@@ -32,7 +32,7 @@ const mapStateToProps = (s: State): Partial => ({
emailPrefilled: !!s.config.initConfig.email
});
-const mapDispatchToProps = (dispatch: Dispatch): Partial => ({
+const mapDispatchToProps = (dispatch: Dispatch): Partial => ({
setFormInfo: bindActionCreators(goToFormInfo, dispatch),
setViewInfoHeight: bindActionCreators(setViewInfoHeight, dispatch),
pay: bindActionCreators(payAction, dispatch)
diff --git a/src/app/components/app/modal-container/modal/form-container/qps-forms/qps-form.tsx b/src/app/components/app/modal-container/modal/form-container/qps-forms/qps-form.tsx
index 30b1a72f..63e07754 100644
--- a/src/app/components/app/modal-container/modal/form-container/qps-forms/qps-form.tsx
+++ b/src/app/components/app/modal-container/modal/form-container/qps-forms/qps-form.tsx
@@ -41,7 +41,7 @@ const mapStateToProps = (state: State): Partial => ({
amount: formatAmount(state.amountInfo)
});
-const mapDispatchToProps = (dispatch: Dispatch): Partial => ({
+const mapDispatchToProps = (dispatch: Dispatch): Partial => ({
pay: bindActionCreators(pay, dispatch),
setViewInfoError: bindActionCreators(setViewInfoError, dispatch)
});
diff --git a/src/app/components/app/modal-container/modal/form-container/qps-forms/qps-interaction-form.tsx b/src/app/components/app/modal-container/modal/form-container/qps-forms/qps-interaction-form.tsx
index e2b7b276..12061892 100644
--- a/src/app/components/app/modal-container/modal/form-container/qps-forms/qps-interaction-form.tsx
+++ b/src/app/components/app/modal-container/modal/form-container/qps-forms/qps-interaction-form.tsx
@@ -26,7 +26,7 @@ const mapStateToProps = (state: State): Partial => ({
fieldsConfig: toFieldsConfig(state.config.initConfig, state.model.invoiceTemplate)
});
-const mapDispatchToProps = (dispatch: Dispatch): Partial => ({
+const mapDispatchToProps = (dispatch: Dispatch): Partial => ({
setViewInfoError: bindActionCreators(setViewInfoError, dispatch)
});
diff --git a/src/app/components/app/modal-container/modal/form-container/redirect-interaction-form/redirect-interaction-form.tsx b/src/app/components/app/modal-container/modal/form-container/redirect-interaction-form/redirect-interaction-form.tsx
index c8d61872..ff2c4e97 100644
--- a/src/app/components/app/modal-container/modal/form-container/redirect-interaction-form/redirect-interaction-form.tsx
+++ b/src/app/components/app/modal-container/modal/form-container/redirect-interaction-form/redirect-interaction-form.tsx
@@ -31,7 +31,7 @@ const mapStateToProps = (state: State): Partial => ({
fieldsConfig: toFieldsConfig(state.config.initConfig, state.model.invoiceTemplate)
});
-const mapDispatchToProps = (dispatch: Dispatch): Partial => ({
+const mapDispatchToProps = (dispatch: Dispatch): Partial => ({
finishInteraction: bindActionCreators(finishInteraction, dispatch),
setViewInfoError: bindActionCreators(setViewInfoError, dispatch)
});
diff --git a/src/app/components/app/modal-container/modal/form-container/result-form/action-block.tsx b/src/app/components/app/modal-container/modal/form-container/result-form/action-block.tsx
index 19c4d968..dff3709b 100644
--- a/src/app/components/app/modal-container/modal/form-container/result-form/action-block.tsx
+++ b/src/app/components/app/modal-container/modal/form-container/result-form/action-block.tsx
@@ -110,7 +110,7 @@ const mapStateToProps = (s: State) => {
};
};
-const mapDispatchToProps = (dispatch: Dispatch) => ({
+const mapDispatchToProps = (dispatch: Dispatch) => ({
prepareToRetry: bindActionCreators(prepareToRetry, dispatch),
forgetPaymentAttempt: bindActionCreators(forgetPaymentAttempt, dispatch)
});
diff --git a/src/app/components/app/modal-container/modal/form-container/result-form/error-description-block.tsx b/src/app/components/app/modal-container/modal/form-container/result-form/error-description-block.tsx
index c9b06760..d76a858c 100644
--- a/src/app/components/app/modal-container/modal/form-container/result-form/error-description-block.tsx
+++ b/src/app/components/app/modal-container/modal/form-container/result-form/error-description-block.tsx
@@ -35,7 +35,7 @@ const mapStateToProps = (state: State) => ({
locale: state.config.locale
});
-const mapDispatchToProps = (dispatch: Dispatch) => ({
+const mapDispatchToProps = (dispatch: Dispatch) => ({
goToFormInfo: bindActionCreators(goToFormInfo, dispatch)
});
diff --git a/src/app/components/app/modal-container/modal/form-container/result-form/result-form.tsx b/src/app/components/app/modal-container/modal/form-container/result-form/result-form.tsx
index 6b180142..c88d39ca 100644
--- a/src/app/components/app/modal-container/modal/form-container/result-form/result-form.tsx
+++ b/src/app/components/app/modal-container/modal/form-container/result-form/result-form.tsx
@@ -114,7 +114,7 @@ const mapStateToProps = (state: State) => {
};
};
-const mapDispatchToProps = (dispatch: Dispatch) => ({
+const mapDispatchToProps = (dispatch: Dispatch) => ({
setResult: bindActionCreators(setResult, dispatch),
goToFormInfo: bindActionCreators(goToFormInfo, dispatch)
});
diff --git a/src/app/components/app/modal-container/modal/form-container/token-provider-form/token-provider-form.tsx b/src/app/components/app/modal-container/modal/form-container/token-provider-form/token-provider-form.tsx
index 6945d5ef..83afaafa 100644
--- a/src/app/components/app/modal-container/modal/form-container/token-provider-form/token-provider-form.tsx
+++ b/src/app/components/app/modal-container/modal/form-container/token-provider-form/token-provider-form.tsx
@@ -35,7 +35,7 @@ const mapStateToProps = (state: State) => ({
formValues: get(state.form, 'tokenProviderForm.values')
});
-const mapDispatchToProps = (dispatch: Dispatch) => ({
+const mapDispatchToProps = (dispatch: Dispatch) => ({
setViewInfoError: bindActionCreators(setViewInfoError, dispatch),
pay: bindActionCreators(pay, dispatch)
});
diff --git a/src/app/components/app/modal-container/modal/form-container/uzcard-form/uzcard-form.tsx b/src/app/components/app/modal-container/modal/form-container/uzcard-form/uzcard-form.tsx
index 13401143..05af0886 100644
--- a/src/app/components/app/modal-container/modal/form-container/uzcard-form/uzcard-form.tsx
+++ b/src/app/components/app/modal-container/modal/form-container/uzcard-form/uzcard-form.tsx
@@ -41,7 +41,7 @@ const mapStateToProps = (state: State): Partial => ({
amount: formatAmount(state.amountInfo)
});
-const mapDispatchToProps = (dispatch: Dispatch): Partial => ({
+const mapDispatchToProps = (dispatch: Dispatch): Partial => ({
pay: bindActionCreators(pay, dispatch),
setViewInfoError: bindActionCreators(setViewInfoError, dispatch)
});
diff --git a/src/app/components/app/modal-container/modal/form-container/wallet-form/wallet-form.tsx b/src/app/components/app/modal-container/modal/form-container/wallet-form/wallet-form.tsx
index 3de151c5..32d62a88 100644
--- a/src/app/components/app/modal-container/modal/form-container/wallet-form/wallet-form.tsx
+++ b/src/app/components/app/modal-container/modal/form-container/wallet-form/wallet-form.tsx
@@ -37,7 +37,7 @@ const mapStateToProps = (state: State) => ({
walletFormInfo: toWalletFormInfo(state.modals)
});
-const mapDispatchToProps = (dispatch: Dispatch) => ({
+const mapDispatchToProps = (dispatch: Dispatch) => ({
setViewInfoError: bindActionCreators(setViewInfoError, dispatch),
pay: bindActionCreators(pay, dispatch)
});
diff --git a/src/app/components/app/modal-container/modal/mobile-header/mobile-header.tsx b/src/app/components/app/modal-container/modal/mobile-header/mobile-header.tsx
index 9f3344d4..2306d6b1 100644
--- a/src/app/components/app/modal-container/modal/mobile-header/mobile-header.tsx
+++ b/src/app/components/app/modal-container/modal/mobile-header/mobile-header.tsx
@@ -78,7 +78,7 @@ const mapStateToProps = (state: State) => ({
destination: getDestination(state.modals)
});
-const mapDispatchToProps = (dispatch: Dispatch) => ({
+const mapDispatchToProps = (dispatch: Dispatch) => ({
goToFormInfo: bindActionCreators(goToFormInfo, dispatch)
});
diff --git a/src/app/components/app/modal-container/user-interaction-modal/user-interaction-modal.tsx b/src/app/components/app/modal-container/user-interaction-modal/user-interaction-modal.tsx
index 751d8401..e430db55 100644
--- a/src/app/components/app/modal-container/user-interaction-modal/user-interaction-modal.tsx
+++ b/src/app/components/app/modal-container/user-interaction-modal/user-interaction-modal.tsx
@@ -25,7 +25,7 @@ const Container = styled.div`
height: 690px;
width: 680px;
position: relative;
- border-radius: 6px;
+ border-radius: 16px;
overflow: hidden;
}
`;
@@ -41,7 +41,7 @@ const IFrame = styled.iframe`
border: none;
@media ${device.desktop} {
- border-radius: 6px;
+ border-radius: 16px;
position: absolute;
}
`;
diff --git a/src/app/configure-store.ts b/src/app/configure-store.ts
index d7c2b80b..044d6e55 100644
--- a/src/app/configure-store.ts
+++ b/src/app/configure-store.ts
@@ -18,14 +18,14 @@ import rootSaga from 'checkout/sagas/root-saga';
export function configureStore(initState: any): Store {
const sagaMiddleware = createSagaMiddleware();
- const store = createStore(
- combineReducers({
+ const store: Store = createStore(
+ combineReducers({
initializeApp: initializeAppReducer,
result: resultReducer,
config: configReducer,
model: modelReducer,
error: errorReducer,
- form: formReducer,
+ form: formReducer as any,
modals: modalReducer,
availablePaymentMethods: availablePaymentMethodsReducer,
amountInfo: amountInfoReducer,
diff --git a/src/app/log-messages.ts b/src/app/log-messages.ts
index 6340eb9a..f4d123bb 100644
--- a/src/app/log-messages.ts
+++ b/src/app/log-messages.ts
@@ -1,4 +1,4 @@
-export const logPrefix = '[RbkmoneyCheckout]';
+export const logPrefix = '[ValityCheckout]';
export const sadnessMessage = 'Param will not be applied.';
export const getMessageInvalidValue = (fieldName: string, value: string, reason: string): string =>
`${logPrefix} Invalid value of param '${fieldName}':'${value}'. ${reason} ${sadnessMessage}`;
diff --git a/src/app/sagas/initialize-app/initialize-amount-info/initialize-amount-info.ts b/src/app/sagas/initialize-app/initialize-amount-info/initialize-amount-info.ts
index 99e64079..0ee0c521 100644
--- a/src/app/sagas/initialize-app/initialize-amount-info/initialize-amount-info.ts
+++ b/src/app/sagas/initialize-app/initialize-amount-info/initialize-amount-info.ts
@@ -6,7 +6,7 @@ import { getAmountInfo } from '../../amount-info';
export type Effect = PutEffect | SelectEffect | AmountInfoState;
-export function* initializeAmountInfo(initConfig: InitConfig, model: ModelState): Iterator {
+export function* initializeAmountInfo(initConfig: InitConfig, model: ModelState) {
yield put({
type: TypeKeys.INITIALIZE_AMOUNT_INFO_COMPLETED,
payload: getAmountInfo(initConfig, model)
diff --git a/src/app/sagas/initialize-app/initialize-app.ts b/src/app/sagas/initialize-app/initialize-app.ts
index 9f08b6cc..2c16422a 100644
--- a/src/app/sagas/initialize-app/initialize-app.ts
+++ b/src/app/sagas/initialize-app/initialize-app.ts
@@ -14,7 +14,7 @@ type InitializeAppPutEffect = InitializeAppCompleted | InitializeAppFailed;
export type InitializeAppEffect = CallEffect | PutEffect;
-export function* initialize(userInitConfig: InitConfig): Iterator {
+export function* initialize(userInitConfig: InitConfig) {
const configChunk = yield call(loadConfig, userInitConfig.locale);
if (configChunk.appConfig.sentryDsn) {
Sentry.init({
diff --git a/src/app/sagas/initialize-app/initialize-available-payment-methods/bank-card-to-methods/is-ready-to-yandex-pay.ts b/src/app/sagas/initialize-app/initialize-available-payment-methods/bank-card-to-methods/is-ready-to-yandex-pay.ts
index c32e6598..48a8f636 100644
--- a/src/app/sagas/initialize-app/initialize-available-payment-methods/bank-card-to-methods/is-ready-to-yandex-pay.ts
+++ b/src/app/sagas/initialize-app/initialize-available-payment-methods/bank-card-to-methods/is-ready-to-yandex-pay.ts
@@ -1,5 +1,4 @@
-import { call, CallEffect, race, RaceEffect } from 'redux-saga/effects';
-import { delay } from 'redux-saga';
+import { call, CallEffect, race, delay } from 'redux-saga/effects';
import { getYaPayPaymentData } from 'checkout/utils';
import { logPrefix } from 'checkout/log-messages';
@@ -7,9 +6,9 @@ import { logPrefix } from 'checkout/log-messages';
import { isYandexPayAvailable } from '../../../../../environment';
import { loadThirdPartLib } from './load-third-part-lib';
-function* createYaPayment(paymentData: YaPay.PaymentData, delayMs: number): Iterator {
+function* createYaPayment(paymentData: YaPay.PaymentData, delayMs: number) {
try {
- const [timeout] = yield race([call(delay, delayMs), call(YaPay.createPayment, paymentData)]);
+ const [timeout] = yield race([delay(delayMs), call(YaPay.createPayment, paymentData)]);
return !timeout;
} catch (ex) {
return false;
@@ -18,6 +17,7 @@ function* createYaPayment(paymentData: YaPay.PaymentData, delayMs: number): Iter
export function* isReadyToYandexPay(
yaPayMerchantID: string,
+ yaPayMerchantName: string,
yaPayGatewayMerchantId: string,
delayMs = 2000
): Iterator {
@@ -26,7 +26,7 @@ export function* isReadyToYandexPay(
if (!available) {
return false;
}
- const paymentData = getYaPayPaymentData(yaPayMerchantID, yaPayGatewayMerchantId);
+ const paymentData = getYaPayPaymentData(yaPayMerchantID, yaPayMerchantName, yaPayGatewayMerchantId);
try {
return yield call(createYaPayment, paymentData, delayMs);
} catch (error) {
diff --git a/src/app/sagas/initialize-app/initialize-available-payment-methods/bank-card-to-methods/load-third-part-lib.ts b/src/app/sagas/initialize-app/initialize-available-payment-methods/bank-card-to-methods/load-third-part-lib.ts
index 5b3fc6e2..ffe9d14b 100644
--- a/src/app/sagas/initialize-app/initialize-available-payment-methods/bank-card-to-methods/load-third-part-lib.ts
+++ b/src/app/sagas/initialize-app/initialize-available-payment-methods/bank-card-to-methods/load-third-part-lib.ts
@@ -1,10 +1,9 @@
-import { call, race, RaceEffect } from 'redux-saga/effects';
-import { delay } from 'redux-saga';
+import { call, race, delay } from 'redux-saga/effects';
import { logPrefix } from 'checkout/log-messages';
import { getScript } from 'checkout/utils';
-export function* loadThirdPartLib(libEndpoint: string, delayMs = 2000): Iterator {
- const [timeout] = yield race([call(delay, delayMs), call(getScript, libEndpoint)]);
+export function* loadThirdPartLib(libEndpoint: string, delayMs = 2000) {
+ const [timeout] = yield race([delay(delayMs), call(getScript, libEndpoint)]);
if (timeout) {
console.warn(`${logPrefix} Load timeout ${libEndpoint}`);
}
diff --git a/src/app/sagas/initialize-app/initialize-available-payment-methods/bank-card-to-methods/token-providers-to-methods.ts b/src/app/sagas/initialize-app/initialize-available-payment-methods/bank-card-to-methods/token-providers-to-methods.ts
index 9474e738..396cc9c4 100644
--- a/src/app/sagas/initialize-app/initialize-available-payment-methods/bank-card-to-methods/token-providers-to-methods.ts
+++ b/src/app/sagas/initialize-app/initialize-available-payment-methods/bank-card-to-methods/token-providers-to-methods.ts
@@ -1,10 +1,5 @@
-import { call, CallEffect } from 'redux-saga/effects';
-import {
- AmountInfoState,
- ConfigState,
- PaymentMethod as PaymentMethodState,
- PaymentMethodName as PaymentMethodNameState
-} from 'checkout/state';
+import { call } from 'redux-saga/effects';
+import { AmountInfoState, ConfigState, PaymentMethodName as PaymentMethodNameState } from 'checkout/state';
import { BankCardTokenProvider } from 'checkout/backend';
import { isReadyToApplePay } from './is-ready-to-apple-pay';
import { isReadyToGooglePay } from './is-ready-to-google-pay';
@@ -14,7 +9,7 @@ export function* tokenProvidersToMethods(
providers: BankCardTokenProvider[],
config: ConfigState,
amountInfo: AmountInfoState
-): Iterator {
+) {
const result = [];
const { applePay, googlePay, samsungPay, yandexPay } = config.initConfig;
for (const provider of providers) {
@@ -46,10 +41,13 @@ export function* tokenProvidersToMethods(
break;
case BankCardTokenProvider.yandexpay:
if (yandexPay) {
- const {
- appConfig: { yandexPayMerchantID, yandexPayGatewayMerchantID }
- } = config;
- const isYandexPay = yield call(isReadyToYandexPay, yandexPayMerchantID, yandexPayGatewayMerchantID);
+ const { appConfig } = config;
+ const isYandexPay = yield call(
+ isReadyToYandexPay,
+ appConfig.yandexPay.merchantID,
+ appConfig.yandexPay.merchantName,
+ appConfig.yandexPay.gatewayMerchantID
+ );
if (isYandexPay) {
result.push({ name: PaymentMethodNameState.YandexPay });
}
diff --git a/src/app/sagas/initialize-app/initialize-available-payment-methods/to-available-payment-methods.spec.ts b/src/app/sagas/initialize-app/initialize-available-payment-methods/to-available-payment-methods.spec.ts
index 1963cef6..46cd0d82 100644
--- a/src/app/sagas/initialize-app/initialize-available-payment-methods/to-available-payment-methods.spec.ts
+++ b/src/app/sagas/initialize-app/initialize-available-payment-methods/to-available-payment-methods.spec.ts
@@ -41,7 +41,7 @@ describe('All payment methods', () => {
});
it('should return PaymentMethodState with DigitalWallet, PaymentTerminal', () => {
- const actual = iterator.next({ name: PaymentMethodName.BankCard });
+ const actual = iterator.next({ name: PaymentMethodName.BankCard } as any);
const expected = [
{ name: PaymentMethodName.BankCard },
{ name: PaymentMethodName.DigitalWallet },
@@ -110,7 +110,7 @@ describe('DigitalWallet', () => {
const iterator = toAvailablePaymentMethods(paymentMethods, config, amountInfo);
it('should return PaymentMethodState without DigitalWallet', () => {
- const actual = iterator.next([bankCardState]);
+ const actual = iterator.next([bankCardState] as any);
expect(actual.value).toEqual([{ name: PaymentMethodName.BankCard }]);
expect(actual.done).toBeTruthy();
});
@@ -206,7 +206,7 @@ describe('MobileCommerce', () => {
const iterator = toAvailablePaymentMethods(paymentMethods, config, amountInfo);
it('should return PaymentMethodState without MobileCommerce', () => {
- const actual = iterator.next([bankCardState]);
+ const actual = iterator.next([bankCardState] as any);
expect(actual.value).toEqual([{ name: PaymentMethodName.BankCard }]);
expect(actual.done).toBeTruthy();
});
diff --git a/src/app/sagas/initialize-app/initialize-available-payment-methods/to-available-payment-methods.ts b/src/app/sagas/initialize-app/initialize-available-payment-methods/to-available-payment-methods.ts
index ac446943..491cdc80 100644
--- a/src/app/sagas/initialize-app/initialize-available-payment-methods/to-available-payment-methods.ts
+++ b/src/app/sagas/initialize-app/initialize-available-payment-methods/to-available-payment-methods.ts
@@ -19,7 +19,7 @@ export function* toAvailablePaymentMethods(
for (const method of paymentMethods) {
switch (method.method) {
case PaymentMethodName.BankCard:
- const bankCardMethods = yield call(bankCardToMethods, method, config, amountInfo);
+ const bankCardMethods = yield call(bankCardToMethods, method as any, config, amountInfo);
result = result.concat(bankCardMethods);
break;
case PaymentMethodName.DigitalWallet:
diff --git a/src/app/sagas/initialize-app/initialize-model.ts b/src/app/sagas/initialize-app/initialize-model.ts
index 74a13e63..d111a3e8 100644
--- a/src/app/sagas/initialize-app/initialize-model.ts
+++ b/src/app/sagas/initialize-app/initialize-model.ts
@@ -1,4 +1,4 @@
-import { all, AllEffect, call, CallEffect, put, PutEffect, select, SelectEffect } from 'redux-saga/effects';
+import { all, call, put, select } from 'redux-saga/effects';
import {
InvoiceTemplate,
PaymentMethod,
@@ -19,7 +19,7 @@ import {
InvoiceTemplateInitConfig
} from 'checkout/config';
import { InitializeModelCompleted, SetEventsAction, TypeKeys } from 'checkout/actions';
-import { EventsState, ModelState, State } from 'checkout/state';
+import { State } from 'checkout/state';
export interface ModelChunk {
invoiceTemplate?: InvoiceTemplate;
@@ -29,10 +29,7 @@ export interface ModelChunk {
invoice?: Invoice;
}
-export function* resolveInvoiceTemplate(
- endpoint: string,
- config: InvoiceTemplateInitConfig
-): Iterator {
+export function* resolveInvoiceTemplate(endpoint: string, config: InvoiceTemplateInitConfig) {
const token = config.invoiceTemplateAccessToken;
const id = config.invoiceTemplateID;
const [invoiceTemplate, paymentMethods] = yield all([
@@ -42,7 +39,7 @@ export function* resolveInvoiceTemplate(
return { paymentMethods, invoiceTemplate };
}
-export function* resolveInvoice(endpoint: string, config: InvoiceInitConfig): Iterator {
+export function* resolveInvoice(endpoint: string, config: InvoiceInitConfig) {
const token = config.invoiceAccessToken;
const id = config.invoiceID;
const [invoice, events, paymentMethods] = yield all([
@@ -53,37 +50,31 @@ export function* resolveInvoice(endpoint: string, config: InvoiceInitConfig): It
return { paymentMethods, events, invoiceAccessToken: token, invoice };
}
-export function* resolveCustomer(endpoint: string, config: CustomerInitConfig): Iterator {
+export function* resolveCustomer(endpoint: string, config: CustomerInitConfig) {
const token = config.customerAccessToken;
const id = config.customerID;
const events = yield call(getCustomerEvents, endpoint, token, id);
return { events };
}
-export function* resolveIntegrationType(endpoint: string, config: InitConfig): Iterator {
+export function* resolveIntegrationType(endpoint: string, config: InitConfig) {
let chunk;
switch (config.integrationType) {
case IntegrationType.invoiceTemplate:
- chunk = yield call(resolveInvoiceTemplate, endpoint, config);
+ chunk = yield call(resolveInvoiceTemplate, endpoint, config as any);
break;
case IntegrationType.invoice:
- chunk = yield call(resolveInvoice, endpoint, config);
+ chunk = yield call(resolveInvoice, endpoint, config as any);
break;
case IntegrationType.customer:
- chunk = yield call(resolveCustomer, endpoint, config);
+ chunk = yield call(resolveCustomer, endpoint, config as any);
break;
}
return chunk;
}
-export type InitializeEffect =
- | CallEffect
- | PutEffect
- | SelectEffect
- | { model: ModelState; events: EventsState };
-
-export function* initializeModel(endpoint: string, config: InitConfig): Iterator {
- const { events, ...modelChunk } = yield call(resolveIntegrationType, endpoint, config);
+export function* initializeModel(endpoint: string, config: InitConfig) {
+ const { events, ...modelChunk }: ModelChunk = yield call(resolveIntegrationType, endpoint, config);
yield put({ type: TypeKeys.INITIALIZE_MODEL_COMPLETED, payload: modelChunk } as InitializeModelCompleted);
yield put({ type: TypeKeys.EVENTS_INIT, payload: events } as SetEventsAction);
return yield select((s: State) => ({ model: s.model, events: s.events }));
diff --git a/src/app/sagas/initialize-app/load-config.spec.ts b/src/app/sagas/initialize-app/load-config.spec.ts
index ad85b3ed..6d252de3 100644
--- a/src/app/sagas/initialize-app/load-config.spec.ts
+++ b/src/app/sagas/initialize-app/load-config.spec.ts
@@ -16,7 +16,7 @@ describe('loadConfig', () => {
it('should put config', () => {
const appConfig = {};
const locale = {};
- const actual = iterator.next([appConfig, locale]).value;
+ const actual = iterator.next([appConfig, locale] as any).value;
const expected = put({
type: TypeKeys.CONFIG_CHUNK_RECEIVED,
payload: { appConfig, locale }
diff --git a/src/app/sagas/initialize-app/load-config.ts b/src/app/sagas/initialize-app/load-config.ts
index 83c088dc..213f720a 100644
--- a/src/app/sagas/initialize-app/load-config.ts
+++ b/src/app/sagas/initialize-app/load-config.ts
@@ -1,12 +1,11 @@
-import { all, AllEffect, call, put, PutEffect, select, SelectEffect } from 'redux-saga/effects';
-import { getAppConfig, getLocale } from '../../backend';
-import { ConfigChunk, ConfigChunkReceived, TypeKeys } from 'checkout/actions';
+import { all, call, put, select } from 'redux-saga/effects';
+import { AppConfig, getAppConfig, getLocale } from '../../backend';
+import { ConfigChunkReceived, TypeKeys } from 'checkout/actions';
import { State } from 'checkout/state';
+import { Locale } from 'checkout/locale';
-type LoadConfigEffect = AllEffect | PutEffect | SelectEffect | ConfigChunk;
-
-export function* loadConfig(localeName: string): IterableIterator {
- const [appConfig, locale] = yield all([call(getAppConfig), call(getLocale, localeName)]);
+export function* loadConfig(localeName: string) {
+ const [appConfig, locale]: [AppConfig, Locale] = yield all([call(getAppConfig), call(getLocale, localeName)]);
yield put({
type: TypeKeys.CONFIG_CHUNK_RECEIVED,
payload: {
diff --git a/src/app/sagas/payment/pay.spec.ts b/src/app/sagas/payment/pay.spec.ts
index 4e46b59c..672daec4 100644
--- a/src/app/sagas/payment/pay.spec.ts
+++ b/src/app/sagas/payment/pay.spec.ts
@@ -5,7 +5,7 @@ import { State, EventsStatus, ResultFormInfo, ResultType } from 'checkout/state'
import last from 'lodash-es/last';
import { provideFromInvoiceEvent } from '../provide-modal';
import { providePayment } from './provide-payment';
-import { cloneableGenerator } from 'redux-saga/utils';
+import { cloneableGenerator } from '@redux-saga/testing-utils';
import { SagaIterator } from 'redux-saga';
it('watchPayment should takeLatest pay', () => {
diff --git a/src/app/sagas/payment/pay.ts b/src/app/sagas/payment/pay.ts
index 2368e212..04d6bec7 100644
--- a/src/app/sagas/payment/pay.ts
+++ b/src/app/sagas/payment/pay.ts
@@ -25,7 +25,7 @@ type PayEffect = SelectEffect | CallEffect | PutEffect;
export function* pay(action: PaymentRequested): Iterator {
try {
- const { config, model, amountInfo } = yield select((s: State) => ({
+ const { config, model, amountInfo }: State = yield select((s: State) => ({
config: s.config,
model: s.model,
amountInfo: s.amountInfo
diff --git a/src/app/sagas/payment/provide-payment/create-invoice-with-template.ts b/src/app/sagas/payment/provide-payment/create-invoice-with-template.ts
index c45c98a6..e7c185c9 100644
--- a/src/app/sagas/payment/provide-payment/create-invoice-with-template.ts
+++ b/src/app/sagas/payment/provide-payment/create-invoice-with-template.ts
@@ -1,5 +1,5 @@
import { call, CallEffect, put, PutEffect } from 'redux-saga/effects';
-import { InvoiceTemplate, createInvoiceWithTemplate as request } from 'checkout/backend';
+import { InvoiceTemplate, createInvoiceWithTemplate as request, InvoiceAndToken } from 'checkout/backend';
import { InvoiceCreated, TypeKeys } from 'checkout/actions';
import { AmountInfoState, AmountInfoStatus } from 'checkout/state';
import { toMinorAmount } from 'checkout/utils';
@@ -27,7 +27,7 @@ export function* createInvoiceWithTemplate(
metadata: template.metadata,
currency: amountInfo.currencyCode
};
- const { invoice, invoiceAccessToken } = yield call(request, endpoint, token, template.id, params);
+ const { invoice, invoiceAccessToken }: InvoiceAndToken = yield call(request, endpoint, token, template.id, params);
return yield put({
type: TypeKeys.INVOICE_CREATED,
payload: {
diff --git a/src/app/sagas/payment/provide-payment/get-payable-invoice.ts b/src/app/sagas/payment/provide-payment/get-payable-invoice.ts
index da0614e4..9c8754ff 100644
--- a/src/app/sagas/payment/provide-payment/get-payable-invoice.ts
+++ b/src/app/sagas/payment/provide-payment/get-payable-invoice.ts
@@ -46,7 +46,7 @@ export function* getPayableInvoice(
return { invoice, invoiceAccessToken };
}
if (invoiceTemplate) {
- return yield call(createInvoice, initConfig, endpoint, invoiceTemplate, amountInfo, formAmount);
+ return yield call(createInvoice, initConfig as any, endpoint, invoiceTemplate, amountInfo, formAmount);
}
throw { code: 'error.inconsistent.model' };
}
diff --git a/src/app/sagas/payment/provide-payment/make-payment.spec.ts b/src/app/sagas/payment/provide-payment/make-payment.spec.ts
index fd6e23ab..047f04f1 100644
--- a/src/app/sagas/payment/provide-payment/make-payment.spec.ts
+++ b/src/app/sagas/payment/provide-payment/make-payment.spec.ts
@@ -1,5 +1,5 @@
import { call, put } from 'redux-saga/effects';
-import { cloneableGenerator } from 'redux-saga/utils';
+import { cloneableGenerator } from '@redux-saga/testing-utils';
import { SagaIterator } from 'redux-saga';
import { makePayment } from './make-payment';
import { getPayableInvoice } from './get-payable-invoice';
@@ -28,7 +28,7 @@ describe('makePayment', () => {
const m = 'ModelStateMock' as any;
const a = 'AmountInfoStateMock' as any;
const v = { amount: 'amountMock', mail: 'mailMock' } as any;
- const fn = () => [] as any;
+ const fn = (_token) => [] as any;
const gen = cloneableGenerator(() => makePayment(c, m, a, v, fn) as SagaIterator)();
it('should call getPayableInvoice', () => {
@@ -46,7 +46,7 @@ describe('makePayment', () => {
it('should call createPayment', () => {
const paymentResource = 'paymentResourceMock' as any;
const actual = gen.next(paymentResource).value;
- const expected = call(createPayment, capiEndpoint, token, id, v.email, paymentResource, initConfig);
+ const expected = call(createPayment, capiEndpoint, token, id, v.email);
expect(actual.toString()).toEqual(expected.toString());
});
diff --git a/src/app/sagas/payment/provide-payment/make-payment.ts b/src/app/sagas/payment/provide-payment/make-payment.ts
index a16511f4..1c97ef98 100644
--- a/src/app/sagas/payment/provide-payment/make-payment.ts
+++ b/src/app/sagas/payment/provide-payment/make-payment.ts
@@ -8,7 +8,7 @@ import { pollInvoiceEvents } from '../../poll-events';
import { TypeKeys } from 'checkout/actions';
import { SetAcceptedError } from 'checkout/actions/error-actions/set-accepted-error';
-type CreatePaymentResourceFn = () => Iterator;
+type CreatePaymentResourceFn = (invoiceAccessToken: any) => Iterator;
export function* makePayment(
config: Config,
diff --git a/src/app/sagas/payment/provide-payment/pay-with-apple-pay/begin-session.ts b/src/app/sagas/payment/provide-payment/pay-with-apple-pay/begin-session.ts
index 62bf1a88..390b1949 100644
--- a/src/app/sagas/payment/provide-payment/pay-with-apple-pay/begin-session.ts
+++ b/src/app/sagas/payment/provide-payment/pay-with-apple-pay/begin-session.ts
@@ -39,11 +39,11 @@ const begin = (
});
export function* beginSession(config: Config, session: ApplePaySession): Iterator {
- const { applePayMerchantID, wrapperEndpoint } = config.appConfig;
+ const { applePayMerchantID, wrapperEndpoint, brandName } = config.appConfig;
const payload = {
merchantIdentifier: applePayMerchantID,
domainName: location.hostname,
- displayName: 'RBKmoney Checkout'
+ displayName: `${brandName} Checkout`
};
return yield call(begin, session, `${wrapperEndpoint}/applepay`, payload);
}
diff --git a/src/app/sagas/payment/provide-payment/pay-with-apple-pay/pay-with-apple-pay.ts b/src/app/sagas/payment/provide-payment/pay-with-apple-pay/pay-with-apple-pay.ts
index 659463d1..472d2fdf 100644
--- a/src/app/sagas/payment/provide-payment/pay-with-apple-pay/pay-with-apple-pay.ts
+++ b/src/app/sagas/payment/provide-payment/pay-with-apple-pay/pay-with-apple-pay.ts
@@ -31,7 +31,7 @@ export function* payWithApplePay(
initConfig: { description, name },
appConfig
} = c;
- const label = description || name || 'RBKmoney';
+ const label = description || name || appConfig.brandName;
const paymentSystems = findPaymentSystems(m.paymentMethods);
const session = createSession(label, a, paymentSystems, v.amount);
const paymentToken = yield call(beginSession, c, session);
diff --git a/src/app/sagas/payment/provide-payment/pay-with-google-pay/get-payment-data.ts b/src/app/sagas/payment/provide-payment/pay-with-google-pay/get-payment-data.ts
index d639436c..f04b4998 100644
--- a/src/app/sagas/payment/provide-payment/pay-with-google-pay/get-payment-data.ts
+++ b/src/app/sagas/payment/provide-payment/pay-with-google-pay/get-payment-data.ts
@@ -2,23 +2,23 @@ import { call, CallEffect } from 'redux-saga/effects';
import { logPrefix } from 'checkout/log-messages';
import { AmountInfoState } from 'checkout/state';
import { toDisplayAmount } from 'checkout/utils';
+import { AppConfig } from 'checkout/backend';
const getPaymentDataRequest = (
- merchantId: string,
- googlePayGatewayMerchantID: string,
+ config: AppConfig['googlePay'],
amountInfo: AmountInfoState,
formAmount: string
): PaymentDataRequest => ({
- merchantId,
+ merchantId: config.merchantID,
merchantInfo: {
- merchantName: 'RBKmoney',
- merchantOrigin: 'checkout.rbk.money'
+ merchantName: config.merchantName,
+ merchantOrigin: config.merchantOrigin
},
paymentMethodTokenizationParameters: {
tokenizationType: 'PAYMENT_GATEWAY',
parameters: {
- gateway: 'rbkmoney',
- gatewayMerchantId: googlePayGatewayMerchantID
+ gateway: config.gateway,
+ gatewayMerchantId: config.merchantID
}
},
allowedPaymentMethods: ['CARD', 'TOKENIZED_CARD'],
@@ -54,14 +54,13 @@ const handleLoadPaymentDataError = (e: PaymentsError) => {
};
export function* getPaymentData(
- merchantId: string,
- googlePayGatewayMerchantID: string,
+ googlePayConfig: AppConfig['googlePay'],
amountInfo: AmountInfoState,
formAmount: string
): Iterator {
try {
const paymentClient = new google.payments.api.PaymentsClient({ environment: 'PRODUCTION' });
- const request = getPaymentDataRequest(merchantId, googlePayGatewayMerchantID, amountInfo, formAmount);
+ const request = getPaymentDataRequest(googlePayConfig, amountInfo, formAmount);
return yield call(loadPaymentData, paymentClient, request);
} catch (e) {
yield call(handleLoadPaymentDataError, e);
diff --git a/src/app/sagas/payment/provide-payment/pay-with-google-pay/pay-with-google-pay.spec.ts b/src/app/sagas/payment/provide-payment/pay-with-google-pay/pay-with-google-pay.spec.ts
index 2e643861..dd658394 100644
--- a/src/app/sagas/payment/provide-payment/pay-with-google-pay/pay-with-google-pay.spec.ts
+++ b/src/app/sagas/payment/provide-payment/pay-with-google-pay/pay-with-google-pay.spec.ts
@@ -2,16 +2,21 @@ import { payWithGooglePay, createPaymentResource } from './pay-with-google-pay';
import { makePayment } from '../make-payment';
import { call } from 'redux-saga/effects';
import { getPaymentData } from './get-payment-data';
+import { AppConfig } from 'checkout/backend';
describe('payWithGooglePay', () => {
const endpoint = 'http://test.endpoint';
- const googlePayMerchantID = 'googlePayMerchantIDMock' as any;
- const googlePayGatewayMerchantID = 'googlePayGatewayMerchantIDMock' as any;
const locale = 'localeMock' as any;
+ const googlePayConfig: AppConfig['googlePay'] = {
+ merchantName: 'merchantName',
+ merchantID: 'googlePayMerchantIDMock',
+ gatewayMerchantID: 'googlePayGatewayMerchantIDMock',
+ gateway: 'gateway',
+ merchantOrigin: 'merchantOrigin'
+ };
const appConfig = {
capiEndpoint: endpoint,
- googlePayMerchantID,
- googlePayGatewayMerchantID
+ googlePay: googlePayConfig
} as any;
const c = { appConfig, initConfig: { locale } } as any;
const m = 'ModelStateMock' as any;
@@ -21,13 +26,13 @@ describe('payWithGooglePay', () => {
it('should call getPaymentData', () => {
const actual = iterator.next().value;
- const expected = call(getPaymentData, googlePayMerchantID, googlePayGatewayMerchantID, a, v.amount);
+ const expected = call(getPaymentData, googlePayConfig, a, v.amount);
expect(actual).toEqual(expected);
});
it('should call makePayment', () => {
const paymentData = 'paymentDataMock' as any;
- const fn = createPaymentResource(c.appConfig.capiEndpoint, googlePayMerchantID, paymentData);
+ const fn = createPaymentResource(c.appConfig.capiEndpoint, googlePayConfig.merchantID, paymentData);
const actual = iterator.next(paymentData).value;
const expected = call(makePayment, c, m, v, a, fn);
expect(actual.toString()).toEqual(expected.toString());
diff --git a/src/app/sagas/payment/provide-payment/pay-with-google-pay/pay-with-google-pay.ts b/src/app/sagas/payment/provide-payment/pay-with-google-pay/pay-with-google-pay.ts
index 20b228d3..5b4d2ca5 100644
--- a/src/app/sagas/payment/provide-payment/pay-with-google-pay/pay-with-google-pay.ts
+++ b/src/app/sagas/payment/provide-payment/pay-with-google-pay/pay-with-google-pay.ts
@@ -15,9 +15,9 @@ export function* payWithGooglePay(
v: TokenProviderFormValues
): Iterator {
const {
- appConfig: { googlePayMerchantID, googlePayGatewayMerchantID, capiEndpoint }
+ appConfig: { capiEndpoint, googlePay }
} = c;
- const paymentData = yield call(getPaymentData, googlePayMerchantID, googlePayGatewayMerchantID, a, v.amount);
- const fn = createPaymentResource(capiEndpoint, googlePayGatewayMerchantID, paymentData);
+ const paymentData = yield call(getPaymentData, googlePay, a, v.amount);
+ const fn = createPaymentResource(capiEndpoint, googlePay.gatewayMerchantID, paymentData);
yield call(makePayment, c, m, v, a, fn);
}
diff --git a/src/app/sagas/payment/provide-payment/pay-with-yandex-pay/create-ya-payment.ts b/src/app/sagas/payment/provide-payment/pay-with-yandex-pay/create-ya-payment.ts
index c61d1510..8be91ce8 100644
--- a/src/app/sagas/payment/provide-payment/pay-with-yandex-pay/create-ya-payment.ts
+++ b/src/app/sagas/payment/provide-payment/pay-with-yandex-pay/create-ya-payment.ts
@@ -1,6 +1,6 @@
-import { call, CallEffect } from 'redux-saga/effects';
+import { call } from 'redux-saga/effects';
-export function* createYaPayment(paymentData: YaPay.PaymentData): Iterator {
+export function* createYaPayment(paymentData: YaPay.PaymentData) {
try {
return yield call(YaPay.createPayment, paymentData);
} catch (error) {
diff --git a/src/app/sagas/payment/provide-payment/pay-with-yandex-pay/pay-with-yandex-pay.ts b/src/app/sagas/payment/provide-payment/pay-with-yandex-pay/pay-with-yandex-pay.ts
index 660223ce..1521c70d 100644
--- a/src/app/sagas/payment/provide-payment/pay-with-yandex-pay/pay-with-yandex-pay.ts
+++ b/src/app/sagas/payment/provide-payment/pay-with-yandex-pay/pay-with-yandex-pay.ts
@@ -21,14 +21,19 @@ export function* payWithYandexPay(
v: TokenProviderFormValues
): Iterator {
const {
- appConfig: { yandexPayMerchantID, yandexPayGatewayMerchantID, capiEndpoint }
+ appConfig: { yandexPay, capiEndpoint }
} = c;
const yaOrder = getYaPaymentOrder(a, v.amount);
- const yaPaymentData = getYaPayPaymentData(yandexPayMerchantID, yandexPayGatewayMerchantID, yaOrder);
- const yaPayment = yield call(createYaPayment, yaPaymentData);
+ const yaPaymentData = getYaPayPaymentData(
+ yandexPay.merchantID,
+ yandexPay.merchantName,
+ yandexPay.gatewayMerchantID,
+ yaOrder
+ );
+ const yaPayment: YaPay.Payment = yield call(createYaPayment, yaPaymentData);
const yaProcessEvent = yield call(processYaCheckout, yaPayment);
try {
- const fn = createPaymentResource(capiEndpoint, yandexPayGatewayMerchantID, yaProcessEvent);
+ const fn = createPaymentResource(capiEndpoint, yandexPay.gatewayMerchantID, yaProcessEvent);
yield call(makePayment, c, m, v, a, fn);
} catch (error) {
yaPayment.complete(YaPay.CompleteReason.Error, null);
diff --git a/src/app/sagas/poll-events/poll-customer-events.ts b/src/app/sagas/poll-events/poll-customer-events.ts
index c619f411..4549d97a 100644
--- a/src/app/sagas/poll-events/poll-customer-events.ts
+++ b/src/app/sagas/poll-events/poll-customer-events.ts
@@ -1,6 +1,5 @@
import last from 'lodash-es/last';
-import { delay } from 'redux-saga';
-import { call, put, race, select, CallEffect, PutEffect, RaceEffect, SelectEffect } from 'redux-saga/effects';
+import { call, put, race, select, CallEffect, PutEffect, SelectEffect, delay } from 'redux-saga/effects';
import { CustomerChangeType, CustomerEvent, getCustomerEvents } from 'checkout/backend';
import { SetEventsAction, TypeKeys } from 'checkout/actions';
import { State } from 'checkout/state';
@@ -34,7 +33,7 @@ function* poll(
let lastEventID = yield call(getLastEventID);
let lastEvent = null;
while (!isStop(lastEvent)) {
- yield call(delay, 1000);
+ yield delay(1000);
const chunk: CustomerEvent[] = yield call(getCustomerEvents, endpoint, token, invoiceID, 5, lastEventID);
yield put({
type: TypeKeys.EVENTS_POLLING,
@@ -46,12 +45,8 @@ function* poll(
return lastEvent;
}
-export function* pollCustomerEvents(
- endpoint: string,
- token: string,
- invoiceID: string
-): Iterator> {
- const [result] = yield race([call(poll, endpoint, token, invoiceID), call(delay, 60000)]);
+export function* pollCustomerEvents(endpoint: string, token: string, invoiceID: string) {
+ const [result] = yield race([call(poll, endpoint, token, invoiceID), delay(60000)]);
if (result) {
return yield put({
type: TypeKeys.EVENTS_POLLED
diff --git a/src/app/sagas/poll-events/poll-invoice-events.ts b/src/app/sagas/poll-events/poll-invoice-events.ts
index 01b0d043..ebe2ae06 100644
--- a/src/app/sagas/poll-events/poll-invoice-events.ts
+++ b/src/app/sagas/poll-events/poll-invoice-events.ts
@@ -1,6 +1,5 @@
import last from 'lodash-es/last';
-import { delay } from 'redux-saga';
-import { call, put, race, select, CallEffect, PutEffect, RaceEffect, SelectEffect } from 'redux-saga/effects';
+import { call, put, race, select, delay } from 'redux-saga/effects';
import { InvoiceEvent, getInvoiceEvents, InvoiceChangeType, InteractionType } from 'checkout/backend';
import { SetEventsAction, TypeKeys } from 'checkout/actions';
import { State } from 'checkout/state';
@@ -25,20 +24,15 @@ const isStop = (event: InvoiceEvent): boolean => {
}
};
-function* getLastEventID(): Iterator {
+function* getLastEventID() {
return yield select(({ events: { events: events } }: State) => (events && events.length > 0 ? last(events).id : 0));
}
-function* poll(
- endpoint: string,
- token: string,
- invoiceID: string,
- interval = 1000
-): Iterator | boolean> {
+function* poll(endpoint: string, token: string, invoiceID: string, interval = 1000) {
let lastEventID = yield call(getLastEventID);
let lastEvent = null;
while (!isStop(lastEvent)) {
- yield call(delay, interval);
+ yield delay(interval);
let chunk: InvoiceEvent[] = [];
try {
chunk = yield call(getInvoiceEvents, endpoint, token, invoiceID, 5, lastEventID);
@@ -67,23 +61,19 @@ const POLLING_INTEVAL_MS = 1000;
const EVENTS_WAIT_POLLING_TIME_MS = 10 * 60 * 1000;
const EVENTS_WAIT_INTERVAL_MS = 5 * 1000;
-export function* pollInvoiceEvents(
- endpoint: string,
- token: string,
- invoiceID: string
-): Iterator | CallEffect> {
+export function* pollInvoiceEvents(endpoint: string, token: string, invoiceID: string) {
let result: InvoiceEvent;
for (let i = 1; !result && i < 6; i += 1) {
[result] = yield race([
call(poll, endpoint, token, invoiceID),
- call(delay, POLLING_TIME_MS * i, POLLING_INTEVAL_MS * 2 ** i)
+ delay(POLLING_TIME_MS * i, POLLING_INTEVAL_MS * 2 ** i)
]);
}
if (isEventToWait(result)) {
yield call(provideFromInvoiceEvent, result);
- [result] = yield race([
+ [result] = yield race([
call(poll, endpoint, token, invoiceID, EVENTS_WAIT_INTERVAL_MS),
- call(delay, EVENTS_WAIT_POLLING_TIME_MS)
+ delay(EVENTS_WAIT_POLLING_TIME_MS)
]);
}
if (result) {
diff --git a/src/app/themes/coral.ts b/src/app/themes/coral.ts
index cd047598..306026b7 100644
--- a/src/app/themes/coral.ts
+++ b/src/app/themes/coral.ts
@@ -12,7 +12,6 @@ const theme: Theme = {
color: {
neutral,
primary: {
- 0.1: '#ff8454',
1: '#d1658e',
1.1: '#b85c76',
1.2: '#9b4f69'
diff --git a/src/app/themes/eastern.ts b/src/app/themes/eastern.ts
new file mode 100644
index 00000000..815335da
--- /dev/null
+++ b/src/app/themes/eastern.ts
@@ -0,0 +1,59 @@
+import { css } from 'checkout/styled-components';
+import { ThemeName } from './theme-name';
+import { Theme } from './theme';
+import { error, neutral, warning } from './common-palettes';
+
+const palette = {
+ Eastern: '#2596A1',
+ EasternBlue: '#28acba',
+ Emarald: '#06AA87',
+ MonteCarlo: '#7cceb7',
+ Elephant: '#0F253D',
+ Roman: '#DC5A53',
+ White: '#fff'
+};
+
+const theme: Theme = {
+ name: ThemeName.eastern,
+ color: {
+ neutral,
+ primary: {
+ 1: palette.Eastern, // Payment methods list hover, pay button
+ 1.1: palette.EasternBlue, // Button hover
+ 1.2: palette.EasternBlue // Button on click, chevron hover
+ },
+ secondary: {
+ 0.9: palette.Eastern, // Payment methods list
+ 1: palette.Eastern, // Unused
+ 1.1: palette.EasternBlue // All payments method hover
+ },
+ error,
+ warning,
+ info: {},
+ success: {
+ 1: palette.Emarald
+ },
+ focus: {
+ 1: palette.Eastern
+ },
+ font: {
+ infoBlock: palette.White
+ }
+ },
+ gradients: {
+ form: css`linear-gradient(45deg, ${palette.Eastern} -20%, ${palette.Emarald} 90%)`,
+ loader: [
+ [palette.MonteCarlo, '0%'],
+ [palette.Eastern, '100%']
+ ]
+ },
+ font: {
+ family: "'Roboto', sans-serif"
+ },
+ background: {
+ image: false,
+ color: css`linear-gradient(225deg, ${palette.Elephant} 0%, ${palette.Roman} 50%, ${palette.Elephant} 100%)`
+ }
+};
+
+export default theme;
diff --git a/src/app/themes/index.ts b/src/app/themes/index.ts
index 0c2b0bb8..c3c68075 100644
--- a/src/app/themes/index.ts
+++ b/src/app/themes/index.ts
@@ -4,8 +4,9 @@ import main from './main';
import coral from './coral';
import persianGreen from './persian-green';
import solitude from './solitude';
+import eastern from './eastern';
-const themes = [main, coral, persianGreen, solitude];
+const themes = [main, coral, persianGreen, solitude, eastern];
export const DEFAULT_THEME = main;
diff --git a/src/app/themes/main.ts b/src/app/themes/main.ts
index 2df00bd4..9d407ff9 100644
--- a/src/app/themes/main.ts
+++ b/src/app/themes/main.ts
@@ -12,7 +12,6 @@ const theme: Theme = {
color: {
neutral,
primary: {
- 0.1: '#c3f0dd',
1: '#38cd8f',
1.1: '#30b37c',
1.2: '#29996a'
diff --git a/src/app/themes/persian-green.ts b/src/app/themes/persian-green.ts
index 5587dcfa..a0c90036 100644
--- a/src/app/themes/persian-green.ts
+++ b/src/app/themes/persian-green.ts
@@ -18,7 +18,6 @@ const theme: Theme = {
color: {
neutral,
primary: {
- 0.1: palette.PersianGreen,
1: palette.PersianGreen,
1.1: palette.Pelorous,
1.2: palette.Teal
diff --git a/src/app/themes/solitude.ts b/src/app/themes/solitude.ts
index 0a4a4695..e36ace10 100644
--- a/src/app/themes/solitude.ts
+++ b/src/app/themes/solitude.ts
@@ -16,7 +16,6 @@ const theme: Theme = {
color: {
neutral,
primary: {
- 0.1: palette.Black,
1: palette.Black,
1.1: palette.Black,
1.2: palette.Black
diff --git a/src/app/themes/theme-name.ts b/src/app/themes/theme-name.ts
index 8ab33817..df992feb 100644
--- a/src/app/themes/theme-name.ts
+++ b/src/app/themes/theme-name.ts
@@ -2,5 +2,6 @@ export enum ThemeName {
main = 'main',
coral = 'coral',
persianGreen = 'persianGreen',
- solitude = 'solitude'
+ solitude = 'solitude',
+ eastern = 'eastern'
}
diff --git a/src/app/themes/theme.ts b/src/app/themes/theme.ts
index b84f969f..7465068f 100644
--- a/src/app/themes/theme.ts
+++ b/src/app/themes/theme.ts
@@ -14,7 +14,6 @@ export interface Theme {
1: string;
};
primary: {
- 0.1: string;
1: string;
1.1: string;
1.2: string;
diff --git a/src/app/utils/get-ya-pay-payment-data.ts b/src/app/utils/get-ya-pay-payment-data.ts
index 54144686..239471b6 100644
--- a/src/app/utils/get-ya-pay-payment-data.ts
+++ b/src/app/utils/get-ya-pay-payment-data.ts
@@ -10,6 +10,7 @@ enum AllowedCardNetwork {
export const getYaPayPaymentData = (
merchantID: string,
+ merchantName: string,
gatewayMerchantId: string,
order?: YaPay.Order
): YaPay.PaymentData => ({
@@ -19,7 +20,7 @@ export const getYaPayPaymentData = (
currencyCode: YaPay.CurrencyCode.Rub,
merchant: {
id: merchantID,
- name: 'RBKmoney'
+ name: merchantName
},
order: {
...(order || {}),
@@ -28,7 +29,7 @@ export const getYaPayPaymentData = (
paymentMethods: [
{
type: YaPay.PaymentMethodType.Card,
- gateway: 'rbkmoney',
+ gateway: gatewayMerchantId,
gatewayMerchantId,
allowedAuthMethods: [YaPay.AllowedAuthMethod.PanOnly, YaPay.AllowedAuthMethod.CloudToken],
allowedCardNetworks: [
diff --git a/src/appConfig.json b/src/appConfig.json
index acd2f4c7..ea8b98c2 100644
--- a/src/appConfig.json
+++ b/src/appConfig.json
@@ -2,13 +2,22 @@
"capiEndpoint": "",
"wrapperEndpoint": "",
"applePayMerchantID": "",
- "googlePayMerchantID": "",
- "googlePayGatewayMerchantID": "",
"samsungPayMerchantName": "",
"samsungPayServiceID": "",
"brandless": false,
"fixedTheme": "",
- "yandexPayMerchantID": "",
- "yandexPayGatewayMerchantID": "",
+ "brandName": "Vality",
+ "yandexPay": {
+ "merchantName": "Vality",
+ "merchantID": "00000000-0000-0000-0000-000000000000",
+ "gatewayMerchantID": "vality"
+ },
+ "googlePay": {
+ "merchantName": "Vality",
+ "merchantID": "12345678901234567890",
+ "gateway": "vality",
+ "gatewayMerchantID": "vality",
+ "merchantOrigin": "vality.dev/checkout"
+ },
"sentryDsn": "/projects//keys/>"
}
diff --git a/src/assets/logo.svg b/src/assets/logo.svg
new file mode 100644
index 00000000..6d138e16
--- /dev/null
+++ b/src/assets/logo.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/environment.ts b/src/environment.ts
index c113a62a..c474cbc1 100644
--- a/src/environment.ts
+++ b/src/environment.ts
@@ -1,7 +1,7 @@
import { Initializer } from './initializer/initializer';
export interface Environment extends Window {
- RbkmoneyCheckout?: Configurator;
+ ValityCheckout?: Configurator;
ApplePaySession?: ApplePaySession;
PaymentRequest?: PaymentRequest;
google?: any;
@@ -12,13 +12,13 @@ export interface Configurator {
configure: (userConfig: any) => Initializer;
}
-export const environment = window as Environment;
+export const environment = (window as any) as Environment;
export const isApplePayAvailable = (): boolean => {
try {
return environment.ApplePaySession && ApplePaySession.canMakePayments();
} catch (e) {
- console.warn('[RbkmoneyCheckout] apple pay availability', e);
+ console.warn('[ValityCheckout] apple pay availability', e);
return false;
}
};
diff --git a/src/get-origin.ts b/src/get-origin.ts
index 7be445ee..8ac1fadc 100644
--- a/src/get-origin.ts
+++ b/src/get-origin.ts
@@ -1,5 +1,5 @@
export const ieCurrentScriptStub = {
- src: 'https://checkout.rbk.money/checkout.js'
+ src: `${document.location.origin}/checkout.js`
};
const getCurrentScript = (): HTMLScriptElement => (document.currentScript || ieCurrentScriptStub) as HTMLScriptElement;
diff --git a/src/initializer/html-integration.ts b/src/initializer/html-integration.ts
index 194153e3..616ffb73 100644
--- a/src/initializer/html-integration.ts
+++ b/src/initializer/html-integration.ts
@@ -23,7 +23,7 @@ export class HtmlIntegration {
constructor(origin: string) {
this.origin = origin;
- this.element = document.querySelector('.rbkmoney-checkout') as HTMLScriptElement;
+ this.element = document.querySelector('.vality-checkout') as HTMLScriptElement;
this.isAvailable = !!(this.element && this.element.dataset);
}
diff --git a/src/initializer/iframe-container.ts b/src/initializer/iframe-container.ts
index 3d9c586e..50e45595 100644
--- a/src/initializer/iframe-container.ts
+++ b/src/initializer/iframe-container.ts
@@ -26,8 +26,8 @@ const styles = {
const create = (origin: string): HTMLIFrameElement => {
const iframe = document.createElement('iframe');
iframe.setAttribute('src', `${origin}/v1/checkout.html`);
- iframe.setAttribute('name', `rbkmoney-payframe-${generateId()}`);
- iframe.setAttribute('class', 'rbkmoney-payframe');
+ iframe.setAttribute('name', `vality-payframe-${generateId()}`);
+ iframe.setAttribute('class', 'vality-payframe');
iframe.setAttribute('allowtransparency', 'true');
iframe.setAttribute('frameborder', '0');
iframe.setAttribute('allowpaymentrequest', '');
diff --git a/src/initializer/index.ts b/src/initializer/index.ts
index 3110125a..a0558921 100644
--- a/src/initializer/index.ts
+++ b/src/initializer/index.ts
@@ -24,11 +24,11 @@ const init = (origin: string): Configurator => ({
});
domReady().then((origin) => {
- const RbkmoneyCheckout = (environment.RbkmoneyCheckout = init(origin));
+ const ValityCheckout = (environment.ValityCheckout = init(origin));
const htmlIntegration = new HtmlIntegration(origin);
if (htmlIntegration.isAvailable) {
const userConfig = htmlIntegration.getUserConfig();
- const checkout = RbkmoneyCheckout.configure(userConfig);
+ const checkout = ValityCheckout.configure(userConfig);
const payButton = htmlIntegration.renderPayButton(userConfig.label);
payButton.onclick = (e: Event) => {
e.preventDefault();
diff --git a/src/initializer/init-button/append-init-button.ts b/src/initializer/init-button/append-init-button.ts
index 0048726d..2555dfa1 100644
--- a/src/initializer/init-button/append-init-button.ts
+++ b/src/initializer/init-button/append-init-button.ts
@@ -14,7 +14,7 @@ const appendPayButtonStyles = (origin: string) => {
export const appendInitButton = (origin: string, appendEl: HTMLScriptElement, label: string): HTMLButtonElement => {
appendPayButtonStyles(origin);
const button = document.createElement('button');
- button.id = 'rbkmoney-button';
+ button.id = 'vality-button';
button.className = initButton;
button.innerHTML = label || getDefaultLabel();
appendEl.parentNode.appendChild(button);
diff --git a/src/locale/en.json b/src/locale/en.json
index 8f1f7233..e11e8030 100644
--- a/src/locale/en.json
+++ b/src/locale/en.json
@@ -98,7 +98,7 @@
"form.pay.terminals.instruction.to.pay": "To pay",
"form.pay.terminals.instruction.dueDate": "Payment must be made before",
"form.pay.terminals.step.one.text": "Choose nearest mobile shop",
- "form.pay.terminals.step.two.text": "Tell the booking-clerk you’re paying with RBKmoney",
+ "form.pay.terminals.step.two.text": "Tell the booking-clerk you’re paying with ${brandName}",
"form.pay.terminals.step.three.text": "Tell your payment code",
"form.pay.terminals.step.four.text": "Pay with cash",
"form.pay.terminals.step.five.text": "Don’t forget the receipt",
diff --git a/src/locale/ru.json b/src/locale/ru.json
index 14c3cac0..968327d6 100644
--- a/src/locale/ru.json
+++ b/src/locale/ru.json
@@ -98,7 +98,7 @@
"form.pay.terminals.instruction.to.pay": "К оплате",
"form.pay.terminals.instruction.dueDate": "Оплату необходимо произвести до",
"form.pay.terminals.step.one.text": "Посетите любой удобный для вас салон связи",
- "form.pay.terminals.step.two.text": "Скажите кассиру, что платите через RBKmoney",
+ "form.pay.terminals.step.two.text": "Скажите кассиру, что платите через ${brandName}",
"form.pay.terminals.step.three.text": "Скажите ваш код платежа",
"form.pay.terminals.step.four.text": "Внесите наличные",
"form.pay.terminals.step.five.text": "Обязательно возьмите чек",
diff --git a/tsconfig.json b/tsconfig.json
index 598d01d4..c995a8ba 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -2,7 +2,6 @@
"compilerOptions": {
"outDir": "./dist/",
"sourceMap": true,
- "noImplicitAny": true,
"moduleResolution": "Node",
"module": "ES2015",
"target": "ES5",