From e5b8898293d7eefa13e7f5f0a8659337f86ab91e Mon Sep 17 00:00:00 2001
From: semantic-release-bot
Date: Wed, 9 Jun 2021 05:50:09 +0000
Subject: [PATCH 01/48] chore(release): 17.4.2 [skip ci]
## [17.4.2](https://github.com/alfa-laboratory/core-components/compare/v17.4.1...v17.4.2) (2021-06-09)
### Bug Fixes
* **skeleton:** remove vars that purge kills ([886d1b2](https://github.com/alfa-laboratory/core-components/commit/886d1b24b144d9d277821d3264f71a93c7a1b146))
---
CHANGELOG.md | 7 +++++++
package.json | 2 +-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 735924f888..8b67516162 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+## [17.4.2](https://github.com/alfa-laboratory/core-components/compare/v17.4.1...v17.4.2) (2021-06-09)
+
+
+### Bug Fixes
+
+* **skeleton:** remove vars that purge kills ([886d1b2](https://github.com/alfa-laboratory/core-components/commit/886d1b24b144d9d277821d3264f71a93c7a1b146))
+
## [17.4.1](https://github.com/alfa-laboratory/core-components/compare/v17.4.0...v17.4.1) (2021-06-08)
diff --git a/package.json b/package.json
index bb6843f0f0..c5e0ad07db 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components",
- "version": "17.4.1",
+ "version": "17.4.2",
"private": true,
"workspaces": [
"packages/*"
From a72d447b4e9f1b2ac340909562108099b47f11ec Mon Sep 17 00:00:00 2001
From: semantic-release-bot
Date: Wed, 9 Jun 2021 05:50:36 +0000
Subject: [PATCH 02/48] chore: publish
- @alfalab/core-components-calendar-with-skeleton@2.0.3
- @alfalab/core-components-skeleton@1.4.1
---
packages/calendar-with-skeleton/CHANGELOG.md | 8 ++++++++
packages/calendar-with-skeleton/package.json | 4 ++--
packages/skeleton/CHANGELOG.md | 11 +++++++++++
packages/skeleton/package.json | 2 +-
4 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/packages/calendar-with-skeleton/CHANGELOG.md b/packages/calendar-with-skeleton/CHANGELOG.md
index 5266b5a637..6628caf9e5 100644
--- a/packages/calendar-with-skeleton/CHANGELOG.md
+++ b/packages/calendar-with-skeleton/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.0.3](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-calendar-with-skeleton@2.0.2...@alfalab/core-components-calendar-with-skeleton@2.0.3) (2021-06-09)
+
+**Note:** Version bump only for package @alfalab/core-components-calendar-with-skeleton
+
+
+
+
+
## [2.0.2](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-calendar-with-skeleton@2.0.1...@alfalab/core-components-calendar-with-skeleton@2.0.2) (2021-06-08)
**Note:** Version bump only for package @alfalab/core-components-calendar-with-skeleton
diff --git a/packages/calendar-with-skeleton/package.json b/packages/calendar-with-skeleton/package.json
index dd0d9baf1a..bf6a3a085f 100644
--- a/packages/calendar-with-skeleton/package.json
+++ b/packages/calendar-with-skeleton/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-calendar-with-skeleton",
- "version": "2.0.2",
+ "version": "2.0.3",
"description": "CalendarWithSkeleton component",
"keywords": [],
"license": "MIT",
@@ -21,7 +21,7 @@
},
"dependencies": {
"@alfalab/core-components-calendar": "^2.0.1",
- "@alfalab/core-components-skeleton": "^1.4.0",
+ "@alfalab/core-components-skeleton": "^1.4.1",
"classnames": "^2.2.6",
"react-transition-group": "^4.3.0"
}
diff --git a/packages/skeleton/CHANGELOG.md b/packages/skeleton/CHANGELOG.md
index 58b9f5bd2e..07a21e2384 100644
--- a/packages/skeleton/CHANGELOG.md
+++ b/packages/skeleton/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.4.1](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-skeleton@1.4.0...@alfalab/core-components-skeleton@1.4.1) (2021-06-09)
+
+
+### Bug Fixes
+
+* **skeleton:** remove vars that purge kills ([886d1b2](https://github.com/alfa-laboratory/core-components/commit/886d1b24b144d9d277821d3264f71a93c7a1b146))
+
+
+
+
+
# [1.4.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-skeleton@1.3.6...@alfalab/core-components-skeleton@1.4.0) (2021-06-08)
diff --git a/packages/skeleton/package.json b/packages/skeleton/package.json
index c23aacbf07..55876613c7 100644
--- a/packages/skeleton/package.json
+++ b/packages/skeleton/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-skeleton",
- "version": "1.4.0",
+ "version": "1.4.1",
"description": "Skeleton component",
"keywords": [],
"license": "MIT",
From f12e198a31935bd127d88c3caac957cde72fcd4c Mon Sep 17 00:00:00 2001
From: Dmitry Savkin
Date: Thu, 10 Jun 2021 14:34:09 +0300
Subject: [PATCH 03/48] chore: add codemod for heading, label, paragraph (#690)
* chore: add heading, label and paragraph codemode
---
.prettierignore | 1 +
bin/build.sh | 1 +
docs/12.migrations.stories.mdx | 6 +
jest.codemod.config.js | 1 +
jest.config.js | 1 +
lerna.json | 3 +-
package.json | 1 +
packages/codemod/.npmignore | 1 +
packages/codemod/README.md | 35 +++
packages/codemod/bin/index.js | 67 ++++++
packages/codemod/package.json | 20 ++
.../__testfixtures__/transform.input.tsx | 16 ++
.../__testfixtures__/transform.output.tsx | 16 ++
.../src/heading/__tests__/transform.test.ts | 6 +
packages/codemod/src/heading/transform.ts | 201 ++++++++++++++++++
.../__testfixtures__/transform.input.tsx | 21 ++
.../__testfixtures__/transform.output.tsx | 20 ++
.../src/label/__tests__/transform.test.ts | 6 +
packages/codemod/src/label/transform.ts | 133 ++++++++++++
.../__testfixtures__/transform.input.tsx | 14 ++
.../__testfixtures__/transform.output.tsx | 14 ++
.../src/paragraph/__tests__/transform.test.ts | 6 +
packages/codemod/src/paragraph/transform.ts | 128 +++++++++++
packages/codemod/src/utils/index.ts | 1 +
packages/codemod/src/utils/utils.ts | 116 ++++++++++
yarn.lock | 23 +-
26 files changed, 856 insertions(+), 2 deletions(-)
create mode 100644 .prettierignore
create mode 100644 docs/12.migrations.stories.mdx
create mode 100644 jest.codemod.config.js
create mode 100644 packages/codemod/.npmignore
create mode 100644 packages/codemod/README.md
create mode 100755 packages/codemod/bin/index.js
create mode 100644 packages/codemod/package.json
create mode 100644 packages/codemod/src/heading/__testfixtures__/transform.input.tsx
create mode 100644 packages/codemod/src/heading/__testfixtures__/transform.output.tsx
create mode 100644 packages/codemod/src/heading/__tests__/transform.test.ts
create mode 100644 packages/codemod/src/heading/transform.ts
create mode 100644 packages/codemod/src/label/__testfixtures__/transform.input.tsx
create mode 100644 packages/codemod/src/label/__testfixtures__/transform.output.tsx
create mode 100644 packages/codemod/src/label/__tests__/transform.test.ts
create mode 100644 packages/codemod/src/label/transform.ts
create mode 100644 packages/codemod/src/paragraph/__testfixtures__/transform.input.tsx
create mode 100644 packages/codemod/src/paragraph/__testfixtures__/transform.output.tsx
create mode 100644 packages/codemod/src/paragraph/__tests__/transform.test.ts
create mode 100644 packages/codemod/src/paragraph/transform.ts
create mode 100644 packages/codemod/src/utils/index.ts
create mode 100644 packages/codemod/src/utils/utils.ts
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 0000000000..f48045523d
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1 @@
+__testfixtures__
diff --git a/bin/build.sh b/bin/build.sh
index cb0386b471..d2501f6d35 100755
--- a/bin/build.sh
+++ b/bin/build.sh
@@ -14,6 +14,7 @@ echo "start build on $CONCURRENCY parallel process"
lerna exec --concurrency $CONCURRENCY \
--ignore @alfalab/core-components-vars \
--ignore @alfalab/core-components-themes \
+ --ignore @alfalab/core-components-codemod \
-- $(pwd)/bin/rollup.sh
# собираю css пакеты
diff --git a/docs/12.migrations.stories.mdx b/docs/12.migrations.stories.mdx
new file mode 100644
index 0000000000..43951430b2
--- /dev/null
+++ b/docs/12.migrations.stories.mdx
@@ -0,0 +1,6 @@
+import { Description } from '@storybook/addon-docs/blocks';
+import migrationsReadme from '../packages/codemod/README.md';
+
+
+
+{migrationsReadme}
diff --git a/jest.codemod.config.js b/jest.codemod.config.js
new file mode 100644
index 0000000000..f053ebf797
--- /dev/null
+++ b/jest.codemod.config.js
@@ -0,0 +1 @@
+module.exports = {};
diff --git a/jest.config.js b/jest.config.js
index 79e5620fa1..171940c869 100644
--- a/jest.config.js
+++ b/jest.config.js
@@ -19,6 +19,7 @@ module.exports = {
'\\.css$': 'identity-obj-proxy',
},
testMatch: ['**/*.test.ts?(x)', '!**/*.screenshots.test.ts?(x)'],
+ testPathIgnorePatterns: ['codemod'],
coverageReporters: ['lcov', 'text', 'text-summary', 'clover'],
coveragePathIgnorePatterns: ['index.ts'],
};
diff --git a/lerna.json b/lerna.json
index 053b4864d2..a7963b6c68 100644
--- a/lerna.json
+++ b/lerna.json
@@ -9,7 +9,8 @@
"ignoreChanges": [
"*.stories.*",
"**/__snapshots__/**",
- "*.test.*"
+ "*.test.*",
+ "**/codemod/**"
]
}
diff --git a/package.json b/package.json
index c5e0ad07db..b06e9dfee3 100644
--- a/package.json
+++ b/package.json
@@ -27,6 +27,7 @@
"lint:js": "eslint ./packages --ext .ts,.tsx,.js,.jsx",
"test": "jest --watchAll=false --env=jsdom-sixteen",
"test:screenshots": "jest --config=jest.screenshots.config.js",
+ "test:codemod": "jest --config=jest.codemod.config.js packages/codemod/",
"format": "prettier --write \"./{packages,bin}/**/*.{ts,tsx,js,jsx,css,json}\"",
"clean": "rimraf packages/*/{tsconfig.tsbuildinfo,dist} && rimraf {dist,build}",
"cm": "git-cz",
diff --git a/packages/codemod/.npmignore b/packages/codemod/.npmignore
new file mode 100644
index 0000000000..3c3629e647
--- /dev/null
+++ b/packages/codemod/.npmignore
@@ -0,0 +1 @@
+node_modules
diff --git a/packages/codemod/README.md b/packages/codemod/README.md
new file mode 100644
index 0000000000..44590e226f
--- /dev/null
+++ b/packages/codemod/README.md
@@ -0,0 +1,35 @@
+## Тулзы для миграции с arui-feather на core-components.
+
+С помощью данного cli-инструмента можно быстро заменить компоненты из arui-feather на компоненты из core-components.
+
+На данный момент, для замены доступны следуюшие компоненты из arui-feather:
+
+- Heading
+- Paragraph
+- Label
+
+### Использование
+
+1. Установить к себе на проект:
+
+```bash
+$ yarn add --dev @alfalab/core-components-codemod
+```
+
+2. Заменить компоненты:
+
+Можно заменить сразу все доступные компоненты:
+
+```bash
+$ ./node_modules/.bin/core-components-codemod src/**/*.tsx
+```
+
+Можно заменять компоненты частично. Например только Label и Paragraph:
+
+```bash
+$ ./node_modules/.bin/core-components-codemod --components=Label,Paragraph src/**/*.tsx
+```
+
+В большинстве случаев можно заменить один компонент на другой и однозначно поменять ему пропсы. Но это не всегда возможно. В таких случаях вы увидите предупреждение, и должны будете руками поменять пропсы у компонента.
+
+Сейчас замена компонентов доступна только для кода, написанного на `typescript`. Если кому-то нужно мигрировать с `js` - дайте знать, докрутим.
diff --git a/packages/codemod/bin/index.js b/packages/codemod/bin/index.js
new file mode 100755
index 0000000000..24bbc24338
--- /dev/null
+++ b/packages/codemod/bin/index.js
@@ -0,0 +1,67 @@
+#! /usr/bin/env node
+/* eslint-disable @typescript-eslint/no-var-requires, no-console */
+
+const yargs = require('yargs/yargs');
+const shell = require('shelljs');
+const chalk = require('chalk');
+const path = require('path');
+const kebab = require('lodash.kebabcase');
+const { hideBin } = require('yargs/helpers');
+
+const getTransformerPath = componentName =>
+ path.resolve(__dirname, `../src/${kebab(componentName)}/transform.ts`);
+
+const availableComponentsTransformers = ['Label', 'Heading', 'Paragraph'];
+
+function main() {
+ const { argv } = yargs(hideBin(process.argv));
+
+ if (argv.help) {
+ // TODO: show help
+ return;
+ }
+
+ if (!argv._ || argv._.length === 0) {
+ console.log(
+ chalk.red(
+ 'Укажите glob для файлов, которые нужно трансформировать, например src/**/*.tsx',
+ ),
+ );
+
+ return;
+ }
+
+ if (argv.components && typeof argv.components !== 'string') {
+ console.log(
+ chalk.red(
+ 'Укажите компоненты, которые хотите заменить, например --components="Label,Heading,Paragraph"',
+ ),
+ );
+
+ return;
+ }
+
+ let components = availableComponentsTransformers;
+
+ if (argv.components) {
+ components = argv.components.split(',');
+ }
+
+ components.forEach(componentName => {
+ if (!availableComponentsTransformers.includes(componentName)) {
+ console.log(chalk.yellow(`Для компонента ${componentName} еще нет трансформера`));
+ return;
+ }
+
+ const transformer = getTransformerPath(componentName);
+
+ try {
+ console.log(chalk.green(`Трансформируем ${componentName}:`));
+ shell.exec(`jscodeshift --parser=tsx --transform=${transformer} ${argv._.join(' ')}`);
+ } catch (error) {
+ console.log(chalk.red(error));
+ }
+ });
+}
+
+main();
diff --git a/packages/codemod/package.json b/packages/codemod/package.json
new file mode 100644
index 0000000000..20c68c7a20
--- /dev/null
+++ b/packages/codemod/package.json
@@ -0,0 +1,20 @@
+{
+ "name": "@alfalab/core-components-codemod",
+ "version": "1.0.0",
+ "description": "Codemod tools for migrating from feather to core-components",
+ "keywords": [],
+ "license": "MIT",
+ "scripts": {
+ "postinstall": "npm i -g jscodeshift @types/jscodeshift lodash > /dev/null 2>&1 || exit 0"
+ },
+ "publishConfig": {
+ "access": "public"
+ },
+ "bin": "./bin/index.js",
+ "dependencies": {
+ "chalk": "^4.1.1",
+ "lodash.kebabcase": "^4.1.1",
+ "shelljs": "^0.8.4",
+ "yargs": "^17.0.1"
+ }
+}
diff --git a/packages/codemod/src/heading/__testfixtures__/transform.input.tsx b/packages/codemod/src/heading/__testfixtures__/transform.input.tsx
new file mode 100644
index 0000000000..5d2aca3d6d
--- /dev/null
+++ b/packages/codemod/src/heading/__testfixtures__/transform.input.tsx
@@ -0,0 +1,16 @@
+import React from 'react';
+import Heading from 'arui-feather/heading';
+
+const someVar = false;
+
+export const Component = () => (
+
+ Heading xs
+ Heading s
+ Heading m
+ Heading l
+ Heading xl
+ Heading
+ Heading
+
+);
diff --git a/packages/codemod/src/heading/__testfixtures__/transform.output.tsx b/packages/codemod/src/heading/__testfixtures__/transform.output.tsx
new file mode 100644
index 0000000000..e3d2e195fe
--- /dev/null
+++ b/packages/codemod/src/heading/__testfixtures__/transform.output.tsx
@@ -0,0 +1,16 @@
+import React from 'react';
+import { Typography } from '@alfalab/core-components/typography';
+
+const someVar = false;
+
+export const Component = () => (
+
+ Heading xs
+ Heading s
+ Heading m
+ Heading l
+ Heading xl
+ Heading
+ Heading
+
+);
diff --git a/packages/codemod/src/heading/__tests__/transform.test.ts b/packages/codemod/src/heading/__tests__/transform.test.ts
new file mode 100644
index 0000000000..68504ef34d
--- /dev/null
+++ b/packages/codemod/src/heading/__tests__/transform.test.ts
@@ -0,0 +1,6 @@
+// eslint-disable-next-line prefer-destructuring
+const defineTest = require('jscodeshift/dist/testUtils').defineTest;
+
+jest.autoMockOff();
+
+defineTest(__dirname, 'transform', null, 'transform', { parser: 'tsx' });
diff --git a/packages/codemod/src/heading/transform.ts b/packages/codemod/src/heading/transform.ts
new file mode 100644
index 0000000000..9bf6635e22
--- /dev/null
+++ b/packages/codemod/src/heading/transform.ts
@@ -0,0 +1,201 @@
+/* eslint-disable no-param-reassign, no-shadow */
+import {
+ Transform,
+ JSXIdentifier,
+ StringLiteral,
+ ASTPath,
+ JSXElement,
+ JSCodeshift,
+ JSXOpeningElement,
+ FileInfo,
+} from 'jscodeshift';
+
+import { transformTypographyImports, renameAttribute, addStringAttribute, log } from '../utils';
+
+const sizes = {
+ xs: 'xsmall',
+ s: 'small',
+ m: 'medium',
+ l: 'large',
+ xl: 'xlarge',
+};
+
+const tag = {
+ xs: 'h5',
+ s: 'h4',
+ m: 'h3',
+ l: 'h2',
+ xl: 'h1',
+};
+
+const transformSize = (j: JSCodeshift, openingElement: JSXOpeningElement, fileInfo: FileInfo) => {
+ const hasSizeProp =
+ j(openingElement).find(j.JSXAttribute, { name: { name: 'size' } }).length !== 0;
+
+ /**
+ * Если указан size, то
+ */
+ if (hasSizeProp) {
+ /**
+ * Выставляем соответствующий тэг
+ */
+ j(openingElement)
+ .find(j.JSXAttribute, { name: { name: 'size' } })
+ .forEach(({ node }) => {
+ /**
+ * Если размер указан явно, то выставляем соответствующий тэг
+ */
+ if (node.value.type === 'StringLiteral') {
+ const nodeValue = node.value as StringLiteral;
+
+ openingElement.attributes.push(
+ j.jsxAttribute(
+ j.jsxIdentifier('tag'),
+ j.stringLiteral(tag[nodeValue.value]),
+ ),
+ );
+ }
+ });
+
+ /**
+ * Меняем size на view
+ */
+ j(openingElement)
+ .find(j.JSXAttribute, { name: { name: 'size' } })
+ .replaceWith(({ node }) => {
+ /**
+ * Если размер указан явно, то меняем значение
+ */
+ if (node.value.type === 'StringLiteral') {
+ const nodeValue = node.value as StringLiteral;
+
+ return j.jsxAttribute(
+ j.jsxIdentifier('view'),
+ j.stringLiteral(sizes[nodeValue.value]),
+ );
+ }
+
+ /**
+ * Если размер указан неявно (например, записан в переменную, или использовано выражение),
+ * то меняем название атрибута, значение оставляем как есть и выводим предупреждение
+ */
+ node.name.name = 'view';
+
+ log(
+ `Не удалось определить значение 'view' у компонента Heading:\n${fileInfo.path}:${node.loc.start.line}\n`,
+ 'warning',
+ );
+
+ return node;
+ });
+ } else {
+ /**
+ * Если size не указан, то выставляем view='xlarge',
+ * так как в фижере дефолтный size='xl'
+ */
+ addStringAttribute(j, openingElement, { name: 'view', value: 'xlarge' });
+
+ /**
+ * Выставляем тэг h1
+ */
+ addStringAttribute(j, openingElement, { name: 'tag', value: 'h1' });
+ }
+};
+
+const transformMargins = (j: JSCodeshift, openingElement: JSXOpeningElement) => {
+ const hasHasDefaultMarginsProp =
+ j(openingElement).find(j.JSXAttribute, { name: { name: 'hasDefaultMargins' } }).length !==
+ 0;
+
+ /**
+ * Если указана пропса hasDefaultMargins, то
+ */
+ if (hasHasDefaultMarginsProp) {
+ /**
+ * Удаляем ее, если она false
+ */
+ j(openingElement)
+ .find(j.JSXAttribute, {
+ name: { name: 'hasDefaultMargins' },
+ value: { expression: { value: false } },
+ })
+ .remove();
+
+ /**
+ * Меняем имя на defaultMargins, если он true
+ */
+ j(openingElement)
+ .find(j.JSXAttribute, {
+ name: { name: 'hasDefaultMargins' },
+ value: { expression: { value: true } },
+ })
+ .replaceWith(() =>
+ j.jsxAttribute(
+ j.jsxIdentifier('defaultMargins'),
+ j.jsxExpressionContainer(j.booleanLiteral(true)),
+ ),
+ );
+ } else {
+ /**
+ * Если hasDefaultMargins не указан, то выставляем defaultMargins='true',
+ * так как в фижере дефолтный hasDefaultMargins='true'
+ */
+ openingElement.attributes.push(
+ j.jsxAttribute(
+ j.jsxIdentifier('defaultMargins'),
+ j.jsxExpressionContainer(j.booleanLiteral(true)),
+ ),
+ );
+ }
+};
+
+const headingTransform: Transform = (fileInfo, api) => {
+ const j = api.jscodeshift;
+ const source = j(fileInfo.source);
+
+ transformTypographyImports(j, source, {
+ from: 'arui-feather/heading',
+ });
+
+ /**
+ * Находим использование компонента Heading и меняем ему пропсы
+ */
+ source.findJSXElements('Heading').forEach(path => {
+ j(path).replaceWith((path: ASTPath) => {
+ const { node } = path;
+
+ const { openingElement, closingElement } = node;
+
+ const openingElementName = openingElement.name as JSXIdentifier;
+
+ openingElementName.name = 'Typography.TitleResponsive';
+
+ if (closingElement) {
+ const closingElementName = closingElement.name as JSXIdentifier;
+ closingElementName.name = 'Typography.TitleResponsive';
+ }
+
+ transformSize(j, openingElement, fileInfo);
+
+ transformMargins(j, openingElement);
+
+ renameAttribute(j, openingElement, { from: 'data-test-id', to: 'dataTestId' });
+
+ addStringAttribute(j, openingElement, { name: 'font', value: 'system' });
+
+ addStringAttribute(j, openingElement, { name: 'color', value: 'primary' });
+
+ return node;
+ });
+ });
+
+ return source.toSource({
+ quote: 'single',
+ // Не переносим строки, чтобы было удобнее писать тесты
+ wrapColumn: 1000,
+ });
+};
+
+headingTransform.componentName = 'Heading';
+
+export default headingTransform;
diff --git a/packages/codemod/src/label/__testfixtures__/transform.input.tsx b/packages/codemod/src/label/__testfixtures__/transform.input.tsx
new file mode 100644
index 0000000000..d8fc19cb8f
--- /dev/null
+++ b/packages/codemod/src/label/__testfixtures__/transform.input.tsx
@@ -0,0 +1,21 @@
+import React from 'react';
+import Label from 'arui-feather/label';
+// eslint-disable-next-line @typescript-eslint/no-unused-vars
+import { Typography } from '@alfalab/core-components/typography';
+
+const someVar = true;
+
+export const Component = () => (
+
+ Label s
+ Label m
+ Label l
+ Label xl
+ Label 2xl
+ Label 3xl
+ Label 4xl
+ Label without props
+ Label
+ Label
+
+);
diff --git a/packages/codemod/src/label/__testfixtures__/transform.output.tsx b/packages/codemod/src/label/__testfixtures__/transform.output.tsx
new file mode 100644
index 0000000000..9d425fbc50
--- /dev/null
+++ b/packages/codemod/src/label/__testfixtures__/transform.output.tsx
@@ -0,0 +1,20 @@
+import React from 'react';
+// eslint-disable-next-line @typescript-eslint/no-unused-vars
+import { Typography } from '@alfalab/core-components/typography';
+
+const someVar = true;
+
+export const Component = () => (
+
+ Label s
+ Label m
+ Label l
+ Label xl
+ Label 2xl
+ Label 3xl
+ Label 4xl
+ Label without props
+ Label
+ Label
+
+);
diff --git a/packages/codemod/src/label/__tests__/transform.test.ts b/packages/codemod/src/label/__tests__/transform.test.ts
new file mode 100644
index 0000000000..68504ef34d
--- /dev/null
+++ b/packages/codemod/src/label/__tests__/transform.test.ts
@@ -0,0 +1,6 @@
+// eslint-disable-next-line prefer-destructuring
+const defineTest = require('jscodeshift/dist/testUtils').defineTest;
+
+jest.autoMockOff();
+
+defineTest(__dirname, 'transform', null, 'transform', { parser: 'tsx' });
diff --git a/packages/codemod/src/label/transform.ts b/packages/codemod/src/label/transform.ts
new file mode 100644
index 0000000000..3580b2ef43
--- /dev/null
+++ b/packages/codemod/src/label/transform.ts
@@ -0,0 +1,133 @@
+/* eslint-disable no-param-reassign, no-shadow */
+import {
+ Transform,
+ JSXIdentifier,
+ StringLiteral,
+ ASTPath,
+ JSXElement,
+ JSCodeshift,
+ JSXOpeningElement,
+ FileInfo,
+} from 'jscodeshift';
+
+import { transformTypographyImports, renameAttribute, addStringAttribute, log } from '../utils';
+
+const componentSizeMap = {
+ s: 'Typography.Text',
+ m: 'Typography.Text',
+ l: 'Typography.Text',
+ xl: 'Typography.Title',
+ '2xl': 'Typography.Title',
+ '3xl': 'Typography.Title',
+ '4xl': 'Typography.Title',
+};
+
+const sizes = {
+ s: 'primary-small',
+ m: 'primary-medium',
+ l: 'primary-large',
+ xl: 'xsmall',
+ '2xl': 'medium',
+ '3xl': 'large',
+ '4xl': 'xlarge',
+};
+
+const transformSize = (
+ j: JSCodeshift,
+ openingElement: JSXOpeningElement,
+ fileInfo: FileInfo,
+): string => {
+ let size = 'm';
+ let componentName = componentSizeMap[size];
+
+ j(openingElement)
+ .find(j.JSXAttribute, { name: { name: 'size' } })
+ .replaceWith(({ node }) => {
+ /**
+ * Если размер указан явно, то меняем значение
+ */
+ if (node.value.type === 'StringLiteral') {
+ const nodeValue = node.value as StringLiteral;
+ size = nodeValue.value;
+ componentName = componentSizeMap[size];
+
+ return j.jsxAttribute(j.jsxIdentifier('view'), j.stringLiteral(sizes[size]));
+ }
+
+ /**
+ * Если размер указан неявно (например, записан в переменную, или использовано выражение),
+ * то меняем название атрибута, значение оставляем как есть и выводим предупреждение
+ */
+ node.name.name = 'view';
+
+ log(
+ `Не удалось определить значение 'view' у компонента Label:\n${fileInfo.path}:${node.loc.start.line}\n`,
+ 'warning',
+ );
+
+ return node;
+ });
+
+ return componentName;
+};
+
+const labelTransform: Transform = (fileInfo, api) => {
+ const j = api.jscodeshift;
+ const source = j(fileInfo.source);
+
+ transformTypographyImports(j, source, {
+ from: 'arui-feather/label',
+ });
+
+ /**
+ * Находим использование компонента Label и меняем ему пропсы
+ */
+ source.findJSXElements('Label').forEach(path => {
+ j(path).replaceWith((path: ASTPath) => {
+ const { node } = path;
+
+ const { openingElement, closingElement } = node;
+
+ const openingElementName = openingElement.name as JSXIdentifier;
+
+ const componentName = transformSize(j, openingElement, fileInfo);
+
+ openingElementName.name = componentName;
+
+ if (closingElement) {
+ const closingElementName = closingElement.name as JSXIdentifier;
+ closingElementName.name = componentName;
+ }
+
+ renameAttribute(j, openingElement, { from: 'data-test-id', to: 'dataTestId' });
+
+ if (componentName === 'Typography.Title') {
+ addStringAttribute(j, openingElement, { name: 'font', value: 'system' });
+ }
+
+ addStringAttribute(j, openingElement, { name: 'color', value: 'primary' });
+
+ const hasIsNoWrapProp =
+ j(openingElement).find(j.JSXAttribute, { name: { name: 'isNoWrap' } }).length > 0;
+
+ if (hasIsNoWrapProp) {
+ log(
+ `Свойство 'isNoWrap' не существует у компонента '${componentName}':\n${fileInfo.path}:${node.loc.start.line}\n`,
+ 'warning',
+ );
+ }
+
+ return node;
+ });
+ });
+
+ return source.toSource({
+ quote: 'single',
+ // Не переносим строки, чтобы было удобнее писать тесты
+ wrapColumn: 1000,
+ });
+};
+
+labelTransform.componentName = 'Label';
+
+export default labelTransform;
diff --git a/packages/codemod/src/paragraph/__testfixtures__/transform.input.tsx b/packages/codemod/src/paragraph/__testfixtures__/transform.input.tsx
new file mode 100644
index 0000000000..06f67c6ccc
--- /dev/null
+++ b/packages/codemod/src/paragraph/__testfixtures__/transform.input.tsx
@@ -0,0 +1,14 @@
+import React from 'react';
+import Paragraph from 'arui-feather/paragraph';
+
+const someVar = true;
+
+export const Component = () => (
+
+ Paragraph small
+ Paragraph normal
+ Paragraph lead
+ Paragraph
+ Paragraph
+
+);
diff --git a/packages/codemod/src/paragraph/__testfixtures__/transform.output.tsx b/packages/codemod/src/paragraph/__testfixtures__/transform.output.tsx
new file mode 100644
index 0000000000..06481c0a68
--- /dev/null
+++ b/packages/codemod/src/paragraph/__testfixtures__/transform.output.tsx
@@ -0,0 +1,14 @@
+import React from 'react';
+import { Typography } from '@alfalab/core-components/typography';
+
+const someVar = true;
+
+export const Component = () => (
+
+ Paragraph small
+ Paragraph normal
+ Paragraph lead
+ Paragraph
+ Paragraph
+
+);
diff --git a/packages/codemod/src/paragraph/__tests__/transform.test.ts b/packages/codemod/src/paragraph/__tests__/transform.test.ts
new file mode 100644
index 0000000000..68504ef34d
--- /dev/null
+++ b/packages/codemod/src/paragraph/__tests__/transform.test.ts
@@ -0,0 +1,6 @@
+// eslint-disable-next-line prefer-destructuring
+const defineTest = require('jscodeshift/dist/testUtils').defineTest;
+
+jest.autoMockOff();
+
+defineTest(__dirname, 'transform', null, 'transform', { parser: 'tsx' });
diff --git a/packages/codemod/src/paragraph/transform.ts b/packages/codemod/src/paragraph/transform.ts
new file mode 100644
index 0000000000..3979e31ad0
--- /dev/null
+++ b/packages/codemod/src/paragraph/transform.ts
@@ -0,0 +1,128 @@
+/* eslint-disable no-param-reassign, no-shadow */
+import {
+ Transform,
+ JSXIdentifier,
+ StringLiteral,
+ ASTPath,
+ JSXElement,
+ JSCodeshift,
+ JSXOpeningElement,
+ FileInfo,
+} from 'jscodeshift';
+
+import { transformTypographyImports, renameAttribute, addStringAttribute, log } from '../utils';
+
+const componentViewMap = {
+ small: 'primary-small',
+ normal: 'primary-medium',
+ lead: 'small',
+};
+
+const componentSizeMap = {
+ small: 'Typography.Text',
+ normal: 'Typography.Text',
+ lead: 'Typography.Title',
+};
+
+const transformSize = (
+ j: JSCodeshift,
+ openingElement: JSXOpeningElement,
+ fileInfo: FileInfo,
+): string => {
+ let size = 'normal';
+ let componentName = componentSizeMap[size];
+
+ j(openingElement)
+ .find(j.JSXAttribute, { name: { name: 'view' } })
+ .replaceWith(({ node }) => {
+ /**
+ * Если размер указан явно, то меняем значение
+ */
+ if (node.value.type === 'StringLiteral') {
+ const nodeValue = node.value as StringLiteral;
+ size = nodeValue.value;
+ componentName = componentSizeMap[size];
+
+ return j.jsxAttribute(
+ j.jsxIdentifier('view'),
+ j.stringLiteral(componentViewMap[size]),
+ );
+ }
+
+ /**
+ * Если размер указан неявно (например, записан в переменную, или использовано выражение),
+ * то меняем название атрибута, значение оставляем как есть и выводим предупреждение
+ */
+ node.name.name = 'view';
+
+ log(
+ `Не удалось определить значение 'view' у компонента Paragraph:\n${fileInfo.path}:${node.loc.start.line}\n`,
+ 'warning',
+ );
+
+ return node;
+ });
+
+ return componentName;
+};
+
+const paragraphTransform: Transform = (fileInfo, api) => {
+ const j = api.jscodeshift;
+ const source = j(fileInfo.source);
+
+ transformTypographyImports(j, source, {
+ from: 'arui-feather/paragraph',
+ });
+
+ /**
+ * Находим использование компонента Heading и меняем ему пропсы
+ */
+ source.findJSXElements('Paragraph').forEach(path => {
+ j(path).replaceWith((path: ASTPath) => {
+ const { node } = path;
+
+ const { openingElement, closingElement } = node;
+
+ const openingElementName = openingElement.name as JSXIdentifier;
+
+ const componentName = transformSize(j, openingElement, fileInfo);
+
+ openingElementName.name = componentName;
+
+ if (closingElement) {
+ const closingElementName = closingElement.name as JSXIdentifier;
+ closingElementName.name = componentName;
+ }
+
+ if (componentName === 'Typography.Title') {
+ addStringAttribute(j, openingElement, { name: 'weight', value: 'regular' });
+ addStringAttribute(j, openingElement, { name: 'tag', value: 'h4' });
+ addStringAttribute(j, openingElement, { name: 'font', value: 'system' });
+ }
+
+ renameAttribute(j, openingElement, { from: 'data-test-id', to: 'dataTestId' });
+ addStringAttribute(j, openingElement, { name: 'color', value: 'primary' });
+
+ const hasMarkProp =
+ j(openingElement).find(j.JSXAttribute, { name: { name: 'mark' } }).length > 0;
+
+ if (hasMarkProp) {
+ log(
+ `Свойство 'mark' не существует у компонента 'Typography.Text':\n${fileInfo.path}:${node.loc.start.line}\n`,
+ 'warning',
+ );
+ }
+
+ return node;
+ });
+ });
+
+ return source.toSource({
+ quote: 'single',
+ wrapColumn: 1000,
+ });
+};
+
+paragraphTransform.componentName = 'Paragraph';
+
+export default paragraphTransform;
diff --git a/packages/codemod/src/utils/index.ts b/packages/codemod/src/utils/index.ts
new file mode 100644
index 0000000000..04bca77e0d
--- /dev/null
+++ b/packages/codemod/src/utils/index.ts
@@ -0,0 +1 @@
+export * from './utils';
diff --git a/packages/codemod/src/utils/utils.ts b/packages/codemod/src/utils/utils.ts
new file mode 100644
index 0000000000..f0f88dbbca
--- /dev/null
+++ b/packages/codemod/src/utils/utils.ts
@@ -0,0 +1,116 @@
+import { JSCodeshift, Collection, JSXOpeningElement } from 'jscodeshift';
+
+type TransformTypographyImportOpts = {
+ from: string;
+};
+
+type RenameAttributeOpts = {
+ from: string;
+ to: string;
+};
+
+type AddStringAttributeOpts = {
+ name: string;
+ value: string;
+};
+
+export const transformTypographyImports = (
+ j: JSCodeshift,
+ source: Collection,
+ opts: TransformTypographyImportOpts,
+) => {
+ const { from } = opts;
+
+ const to = '@alfalab/core-components/typography';
+ const componentName = 'Typography';
+
+ /**
+ * Импорты типографики
+ */
+ const existedTypographyImports = source
+ .find(j.ImportSpecifier)
+ .filter(path => path.parent.value.source.value === to)
+ .map(path => path.parent);
+
+ /**
+ * Импорты компонента, который надо заменить
+ */
+ const imports = source
+ .find(j.ImportSpecifier)
+ .filter(path => path.parent.value.source.value === from)
+ .map(path => path.parent);
+
+ /**
+ * Импорты компонента, который надо заменить (import default)
+ */
+ const defaultImports = source
+ .find(j.ImportDefaultSpecifier)
+ .filter(path => path.parent.value.source.value === from)
+ .map(path => path.parent);
+
+ if (existedTypographyImports.length > 0) {
+ /**
+ * Если типографика уже заимпортирована, то просто удаляем импорт компонента
+ */
+ imports.remove();
+ defaultImports.remove();
+ } else {
+ /**
+ * Если типографика не заимпортирована, то заменяем импорт компонента на импорт типографики
+ */
+ imports.replaceWith(() =>
+ j.importDeclaration(
+ [j.importSpecifier(j.identifier(componentName))],
+ j.stringLiteral(to),
+ ),
+ );
+ defaultImports.replaceWith(() =>
+ j.importDeclaration(
+ [j.importSpecifier(j.identifier(componentName))],
+ j.stringLiteral(to),
+ ),
+ );
+ }
+};
+
+export const renameAttribute = (
+ j: JSCodeshift,
+ openingElement: JSXOpeningElement,
+ opts: RenameAttributeOpts,
+) => {
+ const { from, to } = opts;
+
+ j(openingElement)
+ .find(j.JSXAttribute, { name: { name: from } })
+ .replaceWith(path => {
+ const { node } = path;
+
+ node.name.name = to;
+
+ return node;
+ });
+};
+
+export const addStringAttribute = (
+ j: JSCodeshift,
+ openingElement: JSXOpeningElement,
+ opts: AddStringAttributeOpts,
+) => {
+ const { name, value } = opts;
+
+ openingElement.attributes.push(j.jsxAttribute(j.jsxIdentifier(name), j.stringLiteral(value)));
+};
+
+type LogLevel = 'error' | 'warning' | 'info' | 'success';
+
+const messageColor = {
+ error: '\x1b[31m',
+ warning: '\x1b[33m',
+ success: '\x1b[32m',
+ info: '\x1b[37m',
+};
+
+export const log = (message: string, level: LogLevel = 'error') => {
+ // eslint-disable-next-line no-console
+ console.log(`${messageColor[level]}%s\x1b[0m`, message);
+};
diff --git a/yarn.lock b/yarn.lock
index 5cb714ba54..c3cde9fd1d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -6587,6 +6587,14 @@ chalk@^3.0.0:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
+chalk@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad"
+ integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
char-regex@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf"
@@ -19873,7 +19881,7 @@ shell-quote@1.7.2:
resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2"
integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==
-shelljs@^0.8.3:
+shelljs@^0.8.3, shelljs@^0.8.4:
version "0.8.4"
resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2"
integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==
@@ -22996,6 +23004,19 @@ yargs@^16.1.0:
y18n "^5.0.5"
yargs-parser "^20.2.2"
+yargs@^17.0.1:
+ version "17.0.1"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.0.1.tgz#6a1ced4ed5ee0b388010ba9fd67af83b9362e0bb"
+ integrity sha512-xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ==
+ 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"
+
yargs@^8.0.2:
version "8.0.2"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360"
From 7ac698d119ac98a1b447f734ebfb44e19d0da519 Mon Sep 17 00:00:00 2001
From: Mikhail
Date: Thu, 17 Jun 2021 11:25:44 +0300
Subject: [PATCH 04/48] style(select): change optgroup label color (#701)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Co-authored-by: Михаил Корецкий
---
...actions-tests-click-open-select-select-one-item-4-snap.png | 4 ++--
.../src/__image_snapshots__/select-optgroup-click-snap.png | 4 ++--
.../src/__image_snapshots__/select-optgroup-default-snap.png | 4 ++--
packages/select/src/vars.css | 2 +-
4 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/packages/select/src/__image_snapshots__/select-interactions-tests-click-open-select-select-one-item-4-snap.png b/packages/select/src/__image_snapshots__/select-interactions-tests-click-open-select-select-one-item-4-snap.png
index 3ba997b8d7..d9a722c928 100644
--- a/packages/select/src/__image_snapshots__/select-interactions-tests-click-open-select-select-one-item-4-snap.png
+++ b/packages/select/src/__image_snapshots__/select-interactions-tests-click-open-select-select-one-item-4-snap.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:8f4ccf170a9b7d4e883ea116c79725162d6f2f874103ebaffc82258f6bedc8f9
-size 12859
+oid sha256:51795776d3ac13b5516045fa82e37263ed95f8a27dde6595034c4f68f941eb8b
+size 12873
diff --git a/packages/select/src/__image_snapshots__/select-optgroup-click-snap.png b/packages/select/src/__image_snapshots__/select-optgroup-click-snap.png
index d47d81c7dc..b853304e05 100644
--- a/packages/select/src/__image_snapshots__/select-optgroup-click-snap.png
+++ b/packages/select/src/__image_snapshots__/select-optgroup-click-snap.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:eaa80a30d311f21c0aaacff1271826f3d5c46abf7425883b065fbd9ea78ae252
-size 16083
+oid sha256:aea41caa31adcd9ef17e7504bbce055b2eecde2e09294ee45abcd73d7e9d4f16
+size 16149
diff --git a/packages/select/src/__image_snapshots__/select-optgroup-default-snap.png b/packages/select/src/__image_snapshots__/select-optgroup-default-snap.png
index 04ba093be8..bd205b7841 100644
--- a/packages/select/src/__image_snapshots__/select-optgroup-default-snap.png
+++ b/packages/select/src/__image_snapshots__/select-optgroup-default-snap.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:c1cc51e0037728b40398ca48b2d34f568fda129f6f6c75075bb0c251b8262dd7
-size 15369
+oid sha256:b8f214b6baab732cb09b8bbafb076a27d3c6b268cf7f6af6ebb6c1f822683980
+size 15431
diff --git a/packages/select/src/vars.css b/packages/select/src/vars.css
index ce8e67bb7e..631c039afb 100644
--- a/packages/select/src/vars.css
+++ b/packages/select/src/vars.css
@@ -42,7 +42,7 @@
/* optgroup */
- --select-optgroup-color: var(--color-light-text-tertiary);
+ --select-optgroup-color: var(--color-light-text-secondary);
--select-optgroup-background: var(--color-light-bg-primary);
--select-optgroup-left-padding: var(--gap-s);
--select-optgroup-right-padding: var(--gap-s);
From 0a3bab52278b4db8f327a8bf5da97cfb5acecc6a Mon Sep 17 00:00:00 2001
From: Alexander Yatsenko
Date: Thu, 17 Jun 2021 11:26:20 +0300
Subject: [PATCH 05/48] fix(select): fix checkmark position on click theme
(#699)
---
packages/select/src/Component.stories.mdx | 1 -
...actions-tests-click-open-select-select-one-item-4-snap.png | 4 ++--
packages/select/src/components/option/index.module.css | 1 +
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/packages/select/src/Component.stories.mdx b/packages/select/src/Component.stories.mdx
index 5ffd71b7cb..6af7fe089a 100644
--- a/packages/select/src/Component.stories.mdx
+++ b/packages/select/src/Component.stories.mdx
@@ -33,7 +33,6 @@ export const options = [
{ key: '13', content: 'Dubnium' },
{ key: '14', content: 'Seaborgium' },
{ key: '15', content: 'Bohrium' },
- { key: '16', content: 'Очень длинный текст Очень длинный текст Очень длинный текст' },
];
export const groups = [
diff --git a/packages/select/src/__image_snapshots__/select-interactions-tests-click-open-select-select-one-item-4-snap.png b/packages/select/src/__image_snapshots__/select-interactions-tests-click-open-select-select-one-item-4-snap.png
index d9a722c928..33a8652937 100644
--- a/packages/select/src/__image_snapshots__/select-interactions-tests-click-open-select-select-one-item-4-snap.png
+++ b/packages/select/src/__image_snapshots__/select-interactions-tests-click-open-select-select-one-item-4-snap.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:51795776d3ac13b5516045fa82e37263ed95f8a27dde6595034c4f68f941eb8b
-size 12873
+oid sha256:49d83ff7c45c7dec65b85dcf5e34244f6d7d1df72e42ce74d4ae7035054a790a
+size 12867
\ No newline at end of file
diff --git a/packages/select/src/components/option/index.module.css b/packages/select/src/components/option/index.module.css
index bb7ed12c0f..12d1102d65 100644
--- a/packages/select/src/components/option/index.module.css
+++ b/packages/select/src/components/option/index.module.css
@@ -89,6 +89,7 @@
.content {
overflow: hidden;
text-overflow: ellipsis;
+ flex: 1;
}
.textContent {
From 6c2f0e083ec94797e8193b19d8bbafd042a5c2a5 Mon Sep 17 00:00:00 2001
From: Artem Kononenko
Date: Thu, 17 Jun 2021 11:26:30 +0300
Subject: [PATCH 06/48] feat(notification): add null autoCloseDelay (#698)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Co-authored-by: Кононенко Артем Игоревич
---
packages/notification/src/Component.tsx | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/packages/notification/src/Component.tsx b/packages/notification/src/Component.tsx
index 6a102c6670..cd37e1fc85 100644
--- a/packages/notification/src/Component.tsx
+++ b/packages/notification/src/Component.tsx
@@ -34,7 +34,7 @@ export type NotificationProps = ToastPlateProps & {
/**
* Время до закрытия компонента
*/
- autoCloseDelay?: number;
+ autoCloseDelay?: number | null;
/**
* Использовать портал
@@ -98,11 +98,13 @@ export const Notification = forwardRef(
const [isClosing, setIsClosing] = useState(false);
const startAutoCloseTimer = useCallback(() => {
- autoCloseTimeoutRef.current = window.setTimeout(() => {
- if (onCloseTimeout) {
- onCloseTimeout();
- }
- }, autoCloseDelay);
+ if (autoCloseDelay !== null) {
+ autoCloseTimeoutRef.current = window.setTimeout(() => {
+ if (onCloseTimeout) {
+ onCloseTimeout();
+ }
+ }, autoCloseDelay);
+ }
}, [autoCloseDelay, onCloseTimeout]);
const stopAutoCloseTimer = useCallback(() => {
From 12d542f11dddcd022c1ba895e4105115be0b98b2 Mon Sep 17 00:00:00 2001
From: Alexander Yatsenko
Date: Thu, 17 Jun 2021 11:26:43 +0300
Subject: [PATCH 07/48] feat(select): add useSelectWithLoading preset (#693)
---
packages/select/package.json | 1 +
packages/select/src/Component.stories.mdx | 46 +++++++++++++++++++
packages/select/src/index.ts | 1 +
packages/select/src/presets/index.ts | 1 +
.../src/presets/useSelectWithLoading/hook.tsx | 38 +++++++++++++++
.../useSelectWithLoading/index.module.css | 7 +++
packages/select/tsconfig.json | 9 +++-
7 files changed, 101 insertions(+), 2 deletions(-)
create mode 100644 packages/select/src/presets/index.ts
create mode 100644 packages/select/src/presets/useSelectWithLoading/hook.tsx
create mode 100644 packages/select/src/presets/useSelectWithLoading/index.module.css
diff --git a/packages/select/package.json b/packages/select/package.json
index c7ea044c00..b65bd76b9d 100644
--- a/packages/select/package.json
+++ b/packages/select/package.json
@@ -23,6 +23,7 @@
"@alfalab/core-components-form-control": "^6.1.1",
"@alfalab/core-components-input": "^6.1.3",
"@alfalab/core-components-popover": "^4.0.0",
+ "@alfalab/core-components-skeleton": "^1.3.6",
"@alfalab/hooks": "^1.0.0",
"classnames": "^2.2.6",
"downshift": "5.4.7",
diff --git a/packages/select/src/Component.stories.mdx b/packages/select/src/Component.stories.mdx
index 6af7fe089a..00da52c17f 100644
--- a/packages/select/src/Component.stories.mdx
+++ b/packages/select/src/Component.stories.mdx
@@ -540,3 +540,49 @@ const groups = [{
label='preventFlip'
/>
+
+
+## Пресеты
+
+### Селект со скелетной загрузкой
+
+```tsx live
+const options = [
+ { key: '1', content: 'Neptunium' },
+ { key: '2', content: 'Plutonium' },
+ { key: '3', content: 'Americium' },
+ { key: '4', content: 'Curium' },
+ { key: '5', content: 'Berkelium' },
+ { key: '6', content: 'Californium' },
+ { key: '7', content: 'Einsteinium' },
+];
+
+function Example() {
+ const [loading, setLoading] = React.useState(true);
+
+ const loadingProps = useSelectWithLoading({
+ visibleOptions: 6,
+ loading,
+ });
+
+ const handleOpen = () => {
+ setLoading(true);
+ setTimeout(() => setLoading(false), 2000);
+ };
+
+ return (
+
+ );
+}
+
+render(
+
+)
+```
diff --git a/packages/select/src/index.ts b/packages/select/src/index.ts
index 428f598ea0..62c2160280 100644
--- a/packages/select/src/index.ts
+++ b/packages/select/src/index.ts
@@ -1,4 +1,5 @@
export * from './Component';
export * from './components';
+export * from './presets';
export * from './typings';
export * from './utils';
diff --git a/packages/select/src/presets/index.ts b/packages/select/src/presets/index.ts
new file mode 100644
index 0000000000..4aedfd357f
--- /dev/null
+++ b/packages/select/src/presets/index.ts
@@ -0,0 +1 @@
+export * from './useSelectWithLoading/hook';
diff --git a/packages/select/src/presets/useSelectWithLoading/hook.tsx b/packages/select/src/presets/useSelectWithLoading/hook.tsx
new file mode 100644
index 0000000000..cb405c0892
--- /dev/null
+++ b/packages/select/src/presets/useSelectWithLoading/hook.tsx
@@ -0,0 +1,38 @@
+import React, { useCallback } from 'react';
+import { Skeleton } from '@alfalab/core-components-skeleton';
+import { Option } from '../../components/option';
+import { BaseSelectProps, OptionShape } from '../../typings';
+
+import styles from './index.module.css';
+
+type useSelectWithLoadingProps = {
+ loading?: boolean;
+ visibleOptions?: BaseSelectProps['visibleOptions'];
+};
+
+export function useSelectWithLoading({
+ loading = false,
+ visibleOptions = 6,
+}: useSelectWithLoadingProps) {
+ const renderOption = useCallback(
+ props => (
+
+ ),
+ [loading],
+ );
+
+ const options: OptionShape[] = Array(visibleOptions)
+ .fill(0)
+ .map((_, key) => ({
+ key: `loading-${key}`,
+ disabled: true,
+ content: ,
+ }));
+
+ if (!loading) return null;
+
+ return {
+ Option: renderOption,
+ options,
+ };
+}
diff --git a/packages/select/src/presets/useSelectWithLoading/index.module.css b/packages/select/src/presets/useSelectWithLoading/index.module.css
new file mode 100644
index 0000000000..8832a185fe
--- /dev/null
+++ b/packages/select/src/presets/useSelectWithLoading/index.module.css
@@ -0,0 +1,7 @@
+.skeleton {
+ position: absolute;
+ top: 50%;
+ transform: translateY(-50%);
+ height: 16px;
+ width: 50%;
+}
diff --git a/packages/select/tsconfig.json b/packages/select/tsconfig.json
index 898e3f5b2d..a3ce58cc85 100644
--- a/packages/select/tsconfig.json
+++ b/packages/select/tsconfig.json
@@ -6,8 +6,13 @@
"rootDirs": ["src"],
"baseUrl": ".",
"paths": {
- "@alfalab/core-components-*": ["../*/src"],
+ "@alfalab/core-components-*": ["../*/src"]
}
},
- "references": [{ "path": "../form-control" }, { "path": "../popover" }, { "path": "../input" }]
+ "references": [
+ { "path": "../form-control" },
+ { "path": "../input" },
+ { "path": "../popover" },
+ { "path": "../skeleton" }
+ ]
}
From 3d5f8f5200980359823b983da3e48a4c0524cb5b Mon Sep 17 00:00:00 2001
From: semantic-release-bot
Date: Thu, 17 Jun 2021 08:53:59 +0000
Subject: [PATCH 08/48] chore(release): 17.5.0 [skip ci]
# [17.5.0](https://github.com/alfa-laboratory/core-components/compare/v17.4.2...v17.5.0) (2021-06-17)
### Bug Fixes
* **select:** fix checkmark position on click theme ([#699](https://github.com/alfa-laboratory/core-components/issues/699)) ([0a3bab5](https://github.com/alfa-laboratory/core-components/commit/0a3bab52278b4db8f327a8bf5da97cfb5acecc6a))
### Features
* **notification:** add null autoCloseDelay ([#698](https://github.com/alfa-laboratory/core-components/issues/698)) ([6c2f0e0](https://github.com/alfa-laboratory/core-components/commit/6c2f0e083ec94797e8193b19d8bbafd042a5c2a5))
* **select:** add useSelectWithLoading preset ([#693](https://github.com/alfa-laboratory/core-components/issues/693)) ([12d542f](https://github.com/alfa-laboratory/core-components/commit/12d542f11dddcd022c1ba895e4105115be0b98b2))
---
CHANGELOG.md | 13 +++++++++++++
package.json | 2 +-
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8b67516162..315612a421 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,16 @@
+# [17.5.0](https://github.com/alfa-laboratory/core-components/compare/v17.4.2...v17.5.0) (2021-06-17)
+
+
+### Bug Fixes
+
+* **select:** fix checkmark position on click theme ([#699](https://github.com/alfa-laboratory/core-components/issues/699)) ([0a3bab5](https://github.com/alfa-laboratory/core-components/commit/0a3bab52278b4db8f327a8bf5da97cfb5acecc6a))
+
+
+### Features
+
+* **notification:** add null autoCloseDelay ([#698](https://github.com/alfa-laboratory/core-components/issues/698)) ([6c2f0e0](https://github.com/alfa-laboratory/core-components/commit/6c2f0e083ec94797e8193b19d8bbafd042a5c2a5))
+* **select:** add useSelectWithLoading preset ([#693](https://github.com/alfa-laboratory/core-components/issues/693)) ([12d542f](https://github.com/alfa-laboratory/core-components/commit/12d542f11dddcd022c1ba895e4105115be0b98b2))
+
## [17.4.2](https://github.com/alfa-laboratory/core-components/compare/v17.4.1...v17.4.2) (2021-06-09)
diff --git a/package.json b/package.json
index b06e9dfee3..b550e7a2b3 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components",
- "version": "17.4.2",
+ "version": "17.5.0",
"private": true,
"workspaces": [
"packages/*"
From 907ebe18641ee2e7e91fc4622527404c20867a54 Mon Sep 17 00:00:00 2001
From: Alexander Yatsenko
Date: Mon, 21 Jun 2021 17:32:45 +0300
Subject: [PATCH 09/48] fix(calendar-with-skeleton): ref & six weeks height
issues (#705)
---
packages/calendar-with-skeleton/src/Component.tsx | 10 +++++++---
.../src/__snapshots__/Component.test.tsx.snap | 2 +-
packages/calendar-with-skeleton/src/index.module.css | 4 ++++
3 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/packages/calendar-with-skeleton/src/Component.tsx b/packages/calendar-with-skeleton/src/Component.tsx
index 3f4bdb8db7..f615c8bc47 100644
--- a/packages/calendar-with-skeleton/src/Component.tsx
+++ b/packages/calendar-with-skeleton/src/Component.tsx
@@ -1,5 +1,5 @@
import React, { forwardRef } from 'react';
-
+import cn from 'classnames';
import { CSSTransition } from 'react-transition-group';
import { Skeleton } from '@alfalab/core-components-skeleton';
@@ -24,7 +24,11 @@ export const CalendarWithSkeleton = forwardRef
+
{calendarVisible &&
}
-
+
diff --git a/packages/calendar-with-skeleton/src/__snapshots__/Component.test.tsx.snap b/packages/calendar-with-skeleton/src/__snapshots__/Component.test.tsx.snap
index 4b22b0f587..3cdcceae41 100644
--- a/packages/calendar-with-skeleton/src/__snapshots__/Component.test.tsx.snap
+++ b/packages/calendar-with-skeleton/src/__snapshots__/Component.test.tsx.snap
@@ -3,7 +3,7 @@
exports[`Calendar Render tests should render calendar when calendarVisible=\`true\` 1`] = `
Date: Mon, 21 Jun 2021 14:57:56 +0000
Subject: [PATCH 10/48] chore(release): 17.5.1 [skip ci]
## [17.5.1](https://github.com/alfa-laboratory/core-components/compare/v17.5.0...v17.5.1) (2021-06-21)
### Bug Fixes
* **calendar-with-skeleton:** ref & six weeks height issues ([#705](https://github.com/alfa-laboratory/core-components/issues/705)) ([907ebe1](https://github.com/alfa-laboratory/core-components/commit/907ebe18641ee2e7e91fc4622527404c20867a54))
---
CHANGELOG.md | 7 +++++++
package.json | 2 +-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 315612a421..5814391bcd 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+## [17.5.1](https://github.com/alfa-laboratory/core-components/compare/v17.5.0...v17.5.1) (2021-06-21)
+
+
+### Bug Fixes
+
+* **calendar-with-skeleton:** ref & six weeks height issues ([#705](https://github.com/alfa-laboratory/core-components/issues/705)) ([907ebe1](https://github.com/alfa-laboratory/core-components/commit/907ebe18641ee2e7e91fc4622527404c20867a54))
+
# [17.5.0](https://github.com/alfa-laboratory/core-components/compare/v17.4.2...v17.5.0) (2021-06-17)
diff --git a/package.json b/package.json
index b550e7a2b3..90f078c849 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components",
- "version": "17.5.0",
+ "version": "17.5.1",
"private": true,
"workspaces": [
"packages/*"
From f74cdc7b312321fcb111f1c64f21714ee403e513 Mon Sep 17 00:00:00 2001
From: Dmitry Savkin
Date: Tue, 22 Jun 2021 09:20:27 +0300
Subject: [PATCH 11/48] feat(dark-theme-styles-injector): add prop for selector
(#709)
* feat(themes): change colors building
* feat(dark-theme-styles-injector): add prop for selector
---
bin/build-themes.js | 2 +-
.../src/component.tsx | 21 +++++++++++++++++--
2 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/bin/build-themes.js b/bin/build-themes.js
index 3b7f39bb2d..418ac84112 100755
--- a/bin/build-themes.js
+++ b/bin/build-themes.js
@@ -91,7 +91,7 @@ const processPostCss = async (content, cssFile) =>
fs.writeFileSync(`../css/colors/${path.basename(file)}`, css);
fs.writeFileSync(
`../css/colors/${path.basename(file).replace(/\.css$/, '.js')}`,
- `module.exports = \`${css}\``,
+ `module.exports = \`${vars}\``,
);
});
diff --git a/packages/dark-theme-styles-injector/src/component.tsx b/packages/dark-theme-styles-injector/src/component.tsx
index 7371599165..2f949ea335 100644
--- a/packages/dark-theme-styles-injector/src/component.tsx
+++ b/packages/dark-theme-styles-injector/src/component.tsx
@@ -9,18 +9,35 @@ const colorsMap = {
};
export type DarkThemeStylesInjectorProps = {
+ /**
+ * Какие цвета необходимо инвертировать
+ */
colors: 'indigo' | 'bluetint';
+
+ /**
+ * Дополнительные стили для инвертированного режима
+ */
styles?: string;
+
+ /**
+ * Селектор, в котором будут переопределяться переменные
+ */
+ selector?: string;
};
export const DarkThemeStylesInjector: FC = ({
colors,
styles = '',
+ selector = ':root',
}) => {
return (
);
};
From b5e91edf03867f5dc93fab78425f7c1a128afd9b Mon Sep 17 00:00:00 2001
From: Aleksandr Serov <33555131+AleksandrSerov@users.noreply.github.com>
Date: Tue, 22 Jun 2021 09:21:36 +0300
Subject: [PATCH 12/48] fix(intl-phone-input): format input value (#703)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Co-authored-by: Александр Серов
Co-authored-by: Alexander Yatsenko
---
.../intl-phone-input/src/component.test.tsx | 18 -----------
packages/intl-phone-input/src/component.tsx | 18 +++--------
...hone-with-unclearable-country-code.test.ts | 32 +++++++++++++++++++
...mat-phone-with-unclearable-country-code.ts | 32 +++++++++++++++++++
.../src/utils/get-phone-diff.test.ts | 30 +++++++++++++++++
.../src/utils/get-phone-diff.ts | 23 +++++++++++++
6 files changed, 122 insertions(+), 31 deletions(-)
create mode 100644 packages/intl-phone-input/src/utils/format-phone-with-unclearable-country-code.test.ts
create mode 100644 packages/intl-phone-input/src/utils/format-phone-with-unclearable-country-code.ts
create mode 100644 packages/intl-phone-input/src/utils/get-phone-diff.test.ts
create mode 100644 packages/intl-phone-input/src/utils/get-phone-diff.ts
diff --git a/packages/intl-phone-input/src/component.test.tsx b/packages/intl-phone-input/src/component.test.tsx
index 12137f9c2f..98c7fce01f 100644
--- a/packages/intl-phone-input/src/component.test.tsx
+++ b/packages/intl-phone-input/src/component.test.tsx
@@ -57,24 +57,6 @@ describe('IntlPhoneInput', () => {
expect(onChange).toHaveBeenCalledWith('+74957888878');
});
- it('should call `onChange` callback after input was changed with whole russian number', async () => {
- const onChange = jest.fn();
- render(
- ,
- );
-
- const input = await screen.getByDisplayValue('');
- fireEvent.change(input, { target: { value: '84957888878' } });
-
- expect(onChange).toHaveBeenCalled();
- expect(onChange).toHaveBeenCalledWith('+74957888878');
- });
-
it('should have default country flag icon', () => {
const { container } = render( );
diff --git a/packages/intl-phone-input/src/component.tsx b/packages/intl-phone-input/src/component.tsx
index 81a2025941..e30e11c21a 100644
--- a/packages/intl-phone-input/src/component.tsx
+++ b/packages/intl-phone-input/src/component.tsx
@@ -11,6 +11,7 @@ import {
} from '@alfalab/core-components-input-autocomplete';
import { CountriesSelect } from './components';
import styles from './index.module.css';
+import { formatPhoneWithUnclearableCountryCode } from './utils/format-phone-with-unclearable-country-code';
const countriesHash = getCountriesHash();
@@ -181,21 +182,12 @@ export const IntlPhoneInput = forwardRef(
}
if (!clearableCountryCode) {
- let newValue;
+ const newValue = formatPhoneWithUnclearableCountryCode(targetValue, country);
- if (targetValue[0] === '8') {
- newValue = `+${country.dialCode}${targetValue.substr(1)}`;
- setValue(newValue);
- return;
- }
-
- if (targetValue.substr(1) < country.dialCode) {
- newValue = `+${country.dialCode}`;
- setValue(newValue);
- return;
- }
- setValue(targetValue);
+ setValue(newValue);
+ return;
}
+ setValue(targetValue);
},
[clearableCountryCode, countryIso2, setCountryByDialCode, setValue, value.length],
);
diff --git a/packages/intl-phone-input/src/utils/format-phone-with-unclearable-country-code.test.ts b/packages/intl-phone-input/src/utils/format-phone-with-unclearable-country-code.test.ts
new file mode 100644
index 0000000000..fad55a5766
--- /dev/null
+++ b/packages/intl-phone-input/src/utils/format-phone-with-unclearable-country-code.test.ts
@@ -0,0 +1,32 @@
+import { Country } from '@alfalab/utils';
+import { formatPhoneWithUnclearableCountryCode } from './format-phone-with-unclearable-country-code';
+
+describe('formatPhoneWithUnclearableCountryCode', () => {
+ it('should work', () => {
+ const ru = {
+ dialCode: '7',
+ } as Country;
+
+ const az = {
+ dialCode: '994',
+ } as Country;
+ expect(formatPhoneWithUnclearableCountryCode('', ru)).toEqual('+7');
+ expect(formatPhoneWithUnclearableCountryCode('+', ru)).toEqual('+7');
+ expect(formatPhoneWithUnclearableCountryCode('7', ru)).toEqual('+7');
+ expect(formatPhoneWithUnclearableCountryCode('+7', ru)).toEqual('+7');
+ expect(formatPhoneWithUnclearableCountryCode('+17', ru)).toEqual('+71');
+ expect(formatPhoneWithUnclearableCountryCode('+71', ru)).toEqual('+71');
+ expect(formatPhoneWithUnclearableCountryCode('1+7', ru)).toEqual('+71');
+
+ expect(formatPhoneWithUnclearableCountryCode('', az)).toEqual('+994');
+ expect(formatPhoneWithUnclearableCountryCode('+', az)).toEqual('+994');
+ expect(formatPhoneWithUnclearableCountryCode('+9', az)).toEqual('+994');
+ expect(formatPhoneWithUnclearableCountryCode('+99', az)).toEqual('+994');
+ expect(formatPhoneWithUnclearableCountryCode('+994', az)).toEqual('+994');
+ expect(formatPhoneWithUnclearableCountryCode('1+994', az)).toEqual('+9941');
+ expect(formatPhoneWithUnclearableCountryCode('+1994', az)).toEqual('+9941');
+ expect(formatPhoneWithUnclearableCountryCode('+9194', az)).toEqual('+9941');
+ expect(formatPhoneWithUnclearableCountryCode('+9914', az)).toEqual('+9941');
+ expect(formatPhoneWithUnclearableCountryCode('+9941', az)).toEqual('+9941');
+ });
+});
diff --git a/packages/intl-phone-input/src/utils/format-phone-with-unclearable-country-code.ts b/packages/intl-phone-input/src/utils/format-phone-with-unclearable-country-code.ts
new file mode 100644
index 0000000000..83d6092321
--- /dev/null
+++ b/packages/intl-phone-input/src/utils/format-phone-with-unclearable-country-code.ts
@@ -0,0 +1,32 @@
+import { Country } from '@alfalab/utils';
+import { getPhoneDiff } from './get-phone-diff';
+
+/**
+ * Форматирует телефон с неудаляемым кодом страны
+ */
+export const formatPhoneWithUnclearableCountryCode = (phone: string, country: Country) => {
+ const defaultValue = `+${country.dialCode}`;
+ // При попытке стереть код страны возвращаем дефолтное значение
+ if (phone.length < defaultValue.length) {
+ return defaultValue;
+ }
+
+ // Если код страны совпадает, даем вводить значение
+ if (phone.substr(1, country.dialCode.length) === country.dialCode) {
+ return phone;
+ }
+
+ const lengthDiff = phone.substr(1).length - country.dialCode.length;
+ // Если разница длины нового значения и длины кода страны равна 1, то определяем отличающийся символ и ставим его после кода
+ if (lengthDiff === 1) {
+ const diff = getPhoneDiff(phone, country);
+ // Если не смогли вычислить отличающийся символ, то возвращаем дефолтное значение
+ if (!diff) {
+ return defaultValue;
+ }
+
+ return `+${country.dialCode}${diff}`;
+ }
+
+ return phone;
+};
diff --git a/packages/intl-phone-input/src/utils/get-phone-diff.test.ts b/packages/intl-phone-input/src/utils/get-phone-diff.test.ts
new file mode 100644
index 0000000000..2eadc54cf7
--- /dev/null
+++ b/packages/intl-phone-input/src/utils/get-phone-diff.test.ts
@@ -0,0 +1,30 @@
+import { Country } from '@alfalab/utils';
+import { getPhoneDiff } from './get-phone-diff';
+
+describe('getPhoneDiff', () => {
+ it('should work', () => {
+ const ru = {
+ dialCode: '7',
+ } as Country;
+
+ const az = {
+ dialCode: '994',
+ } as Country;
+ expect(getPhoneDiff('', ru)).toEqual(null);
+ expect(getPhoneDiff('+', ru)).toEqual(null);
+ expect(getPhoneDiff('7', ru)).toEqual(null);
+ expect(getPhoneDiff('+7', ru)).toEqual(null);
+ expect(getPhoneDiff('+17', ru)).toEqual('1');
+ expect(getPhoneDiff('1+7', ru)).toEqual('1');
+
+ expect(getPhoneDiff('', az)).toEqual(null);
+ expect(getPhoneDiff('+', az)).toEqual(null);
+ expect(getPhoneDiff('+9', az)).toEqual(null);
+ expect(getPhoneDiff('+99', az)).toEqual(null);
+ expect(getPhoneDiff('+994', az)).toEqual(null);
+ expect(getPhoneDiff('1+994', az)).toEqual('1');
+ expect(getPhoneDiff('+1994', az)).toEqual('1');
+ expect(getPhoneDiff('+9194', az)).toEqual('1');
+ expect(getPhoneDiff('+9914', az)).toEqual('1');
+ });
+});
diff --git a/packages/intl-phone-input/src/utils/get-phone-diff.ts b/packages/intl-phone-input/src/utils/get-phone-diff.ts
new file mode 100644
index 0000000000..43e2e7c3e3
--- /dev/null
+++ b/packages/intl-phone-input/src/utils/get-phone-diff.ts
@@ -0,0 +1,23 @@
+import { Country } from '@alfalab/utils';
+
+/**
+ * Возвращает разницу между значением и кодом страны
+ */
+export const getPhoneDiff = (value: string, country: Country) => {
+ if (!value || value === `+${country.dialCode}`) return null;
+
+ const dialRegex = country.dialCode.split('').reduce((acc, item, index) => {
+ return `${acc}(?\\d+)*${item}`;
+ }, '');
+ const regex = new RegExp(`(?\\d+)*\\+${dialRegex}`);
+
+ const result = value.match(regex);
+
+ if (!result) return null;
+ // eslint-disable-next-line no-prototype-builtins
+ if (!result.hasOwnProperty('groups')) return null;
+ const { groups } = result;
+ if (!groups) return null;
+
+ return Object.values(groups).join('');
+};
From cbc6bd3eaa48e3df2791d23e156c7c664d67ff49 Mon Sep 17 00:00:00 2001
From: Dmitry Savkin
Date: Tue, 22 Jun 2021 09:22:03 +0300
Subject: [PATCH 13/48] feat(textarea): add value counter (#695)
* feat(textarea): add value counter
* feat(textarea): remove pluralize from counter text
---
packages/textarea/src/Component.stories.mdx | 59 ----------------
packages/textarea/src/Component.test.tsx | 21 ++++++
packages/textarea/src/Component.tsx | 47 ++++++++++++-
.../textarea-sprite-click-counter-snap.png | 3 +
.../textarea-sprite-default-counter-snap.png | 3 +
.../src/__snapshots__/Component.test.tsx.snap | 70 +++++++++++++++++++
.../src/component.screenshots.test.tsx | 13 ++++
.../textarea/src/docs/component.stories.mdx | 66 +++++++++++++++++
packages/textarea/src/docs/description.mdx | 13 ++++
packages/textarea/src/index.module.css | 8 ++-
10 files changed, 240 insertions(+), 63 deletions(-)
delete mode 100644 packages/textarea/src/Component.stories.mdx
create mode 100644 packages/textarea/src/__image_snapshots__/textarea-sprite-click-counter-snap.png
create mode 100644 packages/textarea/src/__image_snapshots__/textarea-sprite-default-counter-snap.png
create mode 100644 packages/textarea/src/docs/component.stories.mdx
create mode 100644 packages/textarea/src/docs/description.mdx
diff --git a/packages/textarea/src/Component.stories.mdx b/packages/textarea/src/Component.stories.mdx
deleted file mode 100644
index 65fe6899b1..0000000000
--- a/packages/textarea/src/Component.stories.mdx
+++ /dev/null
@@ -1,59 +0,0 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
-import { text, select, boolean, number } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import Icon from '@alfalab/icons-glyph/StarMIcon';
-
-import { Textarea } from './Component';
-import { name, version } from '../package.json';
-
-
-
-
-
-
-
- }
- leftAddons={boolean('leftAddons', false) && }
- bottomAddons={boolean('bottomAddons', false) && bottom text }
- readOnly={boolean('readOnly', false)}
- />
-
-
-
-
-
-
-
-```tsx
-import { Textarea } from '@alfalab/core-components-textarea';
-```
-
-Компонент текстового поля ввода.
-
-
-
-
-
diff --git a/packages/textarea/src/Component.test.tsx b/packages/textarea/src/Component.test.tsx
index 6427cefdf1..aa0f28e8b1 100644
--- a/packages/textarea/src/Component.test.tsx
+++ b/packages/textarea/src/Component.test.tsx
@@ -11,6 +11,27 @@ describe('Textarea', () => {
expect(container).toMatchSnapshot();
});
+
+ it('should match snapshot with default counter', () => {
+ const { container } = render(
+ ,
+ );
+
+ expect(container).toMatchSnapshot();
+ });
+
+ it('should match snapshot with custom counter', () => {
+ const { container } = render(
+
`;
+
+exports[`Textarea Snapshots tests should match snapshot with custom counter 1`] = `
+
+
+
+
+
+ Custom counter
+
+
+
+`;
+
+exports[`Textarea Snapshots tests should match snapshot with default counter 1`] = `
+
+
+
+
+
+ 5/500 символов
+
+
+
+`;
diff --git a/packages/textarea/src/component.screenshots.test.tsx b/packages/textarea/src/component.screenshots.test.tsx
index 41a2077ad3..966a09e985 100644
--- a/packages/textarea/src/component.screenshots.test.tsx
+++ b/packages/textarea/src/component.screenshots.test.tsx
@@ -37,6 +37,19 @@ describe('Textarea | sprite', () => {
size: { width: 240, height: 100 },
}),
],
+ [
+ `${theme} - counter`,
+ createSpriteStorybookUrl({
+ componentName: 'Textarea',
+ knobs: {
+ value: 'Компонент текстового поля ввода.',
+ block: true,
+ showCounter: true,
+ maxLength: 500,
+ },
+ size: { width: 240, height: 100 },
+ }),
+ ],
],
screenshotOpts: {
fullPage: true,
diff --git a/packages/textarea/src/docs/component.stories.mdx b/packages/textarea/src/docs/component.stories.mdx
new file mode 100644
index 0000000000..e64e46e32f
--- /dev/null
+++ b/packages/textarea/src/docs/component.stories.mdx
@@ -0,0 +1,66 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, select, boolean, number } from '@storybook/addon-knobs';
+import { CssVars, ComponentHeader, Tabs } from 'storybook/blocks';
+import Icon from '@alfalab/icons-glyph/StarMIcon';
+
+import { Textarea } from '..';
+import { name, version } from '../../package.json';
+
+import styles from '!!raw-loader!../index.module.css';
+import Description from './description.mdx';
+
+
+
+
+
+
+ {React.createElement(() => {
+ const showCounter = boolean('showCounter', false);
+ return (
+ }
+ leftAddons={boolean('leftAddons', false) && }
+ bottomAddons={boolean('bottomAddons', false) && bottom text }
+ readOnly={boolean('readOnly', false)}
+ showCounter={showCounter}
+ maxLength={showCounter && 500}
+ />
+ );
+ })}
+
+
+
+
+
+
+```tsx
+import { Textarea } from '@alfalab/core-components/textarea';
+```
+
+
}
+ prpos={
}
+ cssVars={
}
+/>
diff --git a/packages/textarea/src/docs/description.mdx b/packages/textarea/src/docs/description.mdx
new file mode 100644
index 0000000000..3337b89f00
--- /dev/null
+++ b/packages/textarea/src/docs/description.mdx
@@ -0,0 +1,13 @@
+import { Textarea } from '..';
+
+Компонент текстового поля ввода.
+
+```tsx live
+
+```
+
+Со счетчиком:
+
+```tsx live
+
+```
diff --git a/packages/textarea/src/index.module.css b/packages/textarea/src/index.module.css
index b213533925..6106c320e8 100644
--- a/packages/textarea/src/index.module.css
+++ b/packages/textarea/src/index.module.css
@@ -1,19 +1,25 @@
@import '../../themes/src/default.css';
:root {
- /* Local variables, not used in theming */
+ /* min-height */
--textarea-s-min-height: var(--form-control-s-min-height);
--textarea-m-min-height: var(--form-control-m-min-height);
--textarea-l-min-height: var(--form-control-l-min-height);
--textarea-xl-min-height: var(--form-control-xl-min-height);
+
+ /* padding-top */
--textarea-s-padding-top: 14px;
--textarea-m-padding-top: 18px;
--textarea-l-padding-top: 22px;
--textarea-xl-padding-top: 24px;
+
+ /* filled margin-top */
--textarea-s-filled-margin-top: 23px;
--textarea-m-filled-margin-top: 28px;
--textarea-l-filled-margin-top: 32px;
--textarea-xl-filled-margin-top: 34px;
+
+ /* filled min-height */
--textarea-s-filled-min-height: calc(
var(--textarea-s-min-height) - var(--textarea-s-filled-margin-top)
);
From 794e3cc99a3b61ec4faa630469dae7e49a56ee0a Mon Sep 17 00:00:00 2001
From: Dmitry Savkin
Date: Tue, 22 Jun 2021 09:45:50 +0300
Subject: [PATCH 14/48] feat(slider-input): design updates (#673)
* test(keyboard-focusable): update screenshot
* feat(form-control): change focused state bg-color
* feat(input): swap right addons and error/success icon
* feat(slider-input): update design
* feat(input): change default error icon
* feat(themes): add error icon to site theme
* feat(input): update default error icon
* docs(slider-input): add site theme to demo
* feat(slider-input): add right slots margins
* feat(themes): fix click form control
---
packages/form-control/src/index.module.css | 5 +++
packages/input/src/Component.stories.mdx | 2 +-
packages/input/src/Component.tsx | 2 +-
.../input-screenshots-addons-sprite-snap.png | 4 +--
...screenshots-hint-and-error-sprite-snap.png | 4 +--
packages/input/src/index.module.css | 6 ++--
...interactions-tests-focus-on-input-snap.png | 4 +--
.../slider-input/src/Component.stories.mdx | 4 +--
packages/slider-input/src/Component.tsx | 31 ++++++++++++-------
...der-input-sprite-additional-props-snap.png | 4 +--
packages/slider-input/src/index.module.css | 13 ++++++++
.../themes/src/mixins/form-control/click.css | 1 +
packages/themes/src/mixins/input/site.css | 3 ++
packages/themes/src/mixins/site.css | 2 ++
14 files changed, 58 insertions(+), 27 deletions(-)
create mode 100644 packages/themes/src/mixins/input/site.css
diff --git a/packages/form-control/src/index.module.css b/packages/form-control/src/index.module.css
index 8955379579..1c19d0f809 100644
--- a/packages/form-control/src/index.module.css
+++ b/packages/form-control/src/index.module.css
@@ -29,6 +29,7 @@
/* focus */
--form-control-focus-border-bottom: 1px solid var(--color-light-border-key);
+ --form-control-focus-bg-color: color-mod(var(--color-light-bg-primary-inverted) alpha(15%));
/* hover */
--form-control-hover-bg-color: color-mod(var(--color-light-bg-primary-inverted) alpha(15%));
@@ -282,6 +283,10 @@
transform: translateY(-100%) scale(0.875);
}
+.focused.inner {
+ background-color: var(--form-control-focus-bg-color);
+}
+
/* HOVER STATE */
.inner:not(.disabled):hover {
diff --git a/packages/input/src/Component.stories.mdx b/packages/input/src/Component.stories.mdx
index 331a8d7957..a34dd73446 100644
--- a/packages/input/src/Component.stories.mdx
+++ b/packages/input/src/Component.stories.mdx
@@ -10,7 +10,7 @@ import { name, version } from '../package.json';
diff --git a/packages/input/src/Component.tsx b/packages/input/src/Component.tsx
index a75b831501..d59afaca70 100644
--- a/packages/input/src/Component.tsx
+++ b/packages/input/src/Component.tsx
@@ -296,9 +296,9 @@ export const Input = React.forwardRef(
)}
+ {rightAddons}
{error && }
{success && !error && }
- {rightAddons}
)
);
diff --git a/packages/input/src/__image_snapshots__/input-screenshots-addons-sprite-snap.png b/packages/input/src/__image_snapshots__/input-screenshots-addons-sprite-snap.png
index e7efd9d15d..80111d8040 100644
--- a/packages/input/src/__image_snapshots__/input-screenshots-addons-sprite-snap.png
+++ b/packages/input/src/__image_snapshots__/input-screenshots-addons-sprite-snap.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:ed99207e950d52232a1fb00485051412039a5b169c682d85020b7eb6f5c69cbb
-size 117838
+oid sha256:2cd866ec209a95e9be1513a7b1c239854b52990c1606fdc72a80c0bd37088e16
+size 117715
diff --git a/packages/input/src/__image_snapshots__/input-screenshots-hint-and-error-sprite-snap.png b/packages/input/src/__image_snapshots__/input-screenshots-hint-and-error-sprite-snap.png
index 0fb8e1aca5..7d4d832fbc 100644
--- a/packages/input/src/__image_snapshots__/input-screenshots-hint-and-error-sprite-snap.png
+++ b/packages/input/src/__image_snapshots__/input-screenshots-hint-and-error-sprite-snap.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:4afdf0e50d718bc008aa98b87ef10593793dd641b0a011e903f7dd34815eeebe
-size 18361
+oid sha256:e35964706147d9f4961f4d47b7e73b224ba345d76acae32f82a2cdaa48488c70
+size 18734
diff --git a/packages/input/src/index.module.css b/packages/input/src/index.module.css
index 071a320eaf..2f374e0c29 100644
--- a/packages/input/src/index.module.css
+++ b/packages/input/src/index.module.css
@@ -8,7 +8,7 @@
--input-with-label-placeholder-color: var(--color-light-text-tertiary);
--input-error-icon-display: flex;
--input-success-icon-display: flex;
- --input-error-icon: url('https://alfabank.st/icons/icon_error_s_color.svg');
+ --input-error-icon: url('https://alfabank.st/icons/glyph_alert-circle_m_negative.svg');
--input-success-icon: url('https://alfabank.st/icons/icon_ok_s_color.svg');
/* disabled */
@@ -78,14 +78,14 @@
@mixin _input-icon;
display: var(--input-error-icon-display);
- background-image: url('https://alfabank.st/icons/icon_error_s_color.svg');
+ background-image: var(--input-error-icon);
}
.successIcon {
@mixin _input-icon;
display: var(--input-success-icon-display);
- background-image: url('https://alfabank.st/icons/icon_ok_s_color.svg');
+ background-image: var(--input-success-icon);
}
/* DISABLED STATE */
diff --git a/packages/keyboard-focusable/src/__image_snapshots__/keyboard-focusable-interactions-tests-focus-on-input-snap.png b/packages/keyboard-focusable/src/__image_snapshots__/keyboard-focusable-interactions-tests-focus-on-input-snap.png
index 120dafde5a..0895ff7960 100644
--- a/packages/keyboard-focusable/src/__image_snapshots__/keyboard-focusable-interactions-tests-focus-on-input-snap.png
+++ b/packages/keyboard-focusable/src/__image_snapshots__/keyboard-focusable-interactions-tests-focus-on-input-snap.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:24ed2131ba004e8fa76d27b5f7c2bf734f7afd39ddb521bfe015c56c8d189cb4
-size 1369
+oid sha256:77f541de6c120675a6b82599a4f562108d16c89411f6ca4c926ce3756fffca23
+size 1362
diff --git a/packages/slider-input/src/Component.stories.mdx b/packages/slider-input/src/Component.stories.mdx
index 73b8274c7d..6ff2f80783 100644
--- a/packages/slider-input/src/Component.stories.mdx
+++ b/packages/slider-input/src/Component.stories.mdx
@@ -15,7 +15,7 @@ import { name, version } from '../package.json';
@@ -41,7 +41,7 @@ import { name, version } from '../package.json';
hint={text('hint', '')}
info={text('info', '')}
error={text('error', '')}
- rightAddons={boolean('rightAddons', false) && !text('error') && }
+ rightAddons={boolean('rightAddons', false) && }
leftAddons={boolean('leftAddons', false) && }
readOnly={boolean('readOnly', false)}
/>
diff --git a/packages/slider-input/src/Component.tsx b/packages/slider-input/src/Component.tsx
index 038860624e..ab4ffec7f4 100644
--- a/packages/slider-input/src/Component.tsx
+++ b/packages/slider-input/src/Component.tsx
@@ -125,6 +125,7 @@ export const SliderInput = forwardRef(
Input = DefaultInput,
customInputProps = {},
dataTestId,
+ error,
...restProps
},
ref,
@@ -159,6 +160,7 @@ export const SliderInput = forwardRef(
[styles.block]: block,
[styles.filled]: Boolean(value),
[styles.hasLabel]: label,
+ [styles.hasError]: Boolean(error),
},
styles[size],
className,
@@ -180,29 +182,34 @@ export const SliderInput = forwardRef(
focusedClassName={styles.focused}
inputMode='numeric'
pattern='[0-9]*'
+ error={error}
bottomAddons={
-
+ !disabled && (
+
+ )
}
rightAddons={
(info || rightAddons) && (
{info && {info} }
- {rightAddons}
+ {rightAddons && (
+ {rightAddons}
+ )}
)
}
/>
- {steps.length > 0 && (
+ {steps.length > 0 && !error && (
{steps.map((stepLabel, i) =>
isValidElement(stepLabel) ? (
diff --git a/packages/slider-input/src/__image_snapshots__/slider-input-sprite-additional-props-snap.png b/packages/slider-input/src/__image_snapshots__/slider-input-sprite-additional-props-snap.png
index 40f22b670a..ba507146d3 100644
--- a/packages/slider-input/src/__image_snapshots__/slider-input-sprite-additional-props-snap.png
+++ b/packages/slider-input/src/__image_snapshots__/slider-input-sprite-additional-props-snap.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:6e99f7a3641a8bded86953cd7dab07b6bef45960b9d115ff6bcaf7d2d7738a16
-size 30235
+oid sha256:d422111c56161e75814bf06ebe305a0dbda69db282cf6425979a9fc840938e61
+size 27070
diff --git a/packages/slider-input/src/index.module.css b/packages/slider-input/src/index.module.css
index cb9966016a..56112551af 100644
--- a/packages/slider-input/src/index.module.css
+++ b/packages/slider-input/src/index.module.css
@@ -30,6 +30,10 @@
font-weight: 700;
font-variant-numeric: tabular-nums;
}
+
+ & input::placeholder {
+ font-weight: 400;
+ }
}
.steps {
@@ -44,6 +48,7 @@
.info {
@mixin system_16-20_regular;
+ margin-right: var(--gap-s);
color: var(--slider-input-info-color);
box-sizing: border-box;
opacity: 0;
@@ -51,6 +56,14 @@
visibility: hidden;
}
+.info:only-child {
+ margin-right: 0;
+}
+
+.hasError .rightAddons {
+ margin-right: var(--gap-2xs);
+}
+
.s.hasLabel .info:first-child {
padding: var(--form-control-labeled-s-paddings);
padding-left: 0;
diff --git a/packages/themes/src/mixins/form-control/click.css b/packages/themes/src/mixins/form-control/click.css
index e008d24a47..912e309586 100644
--- a/packages/themes/src/mixins/form-control/click.css
+++ b/packages/themes/src/mixins/form-control/click.css
@@ -17,6 +17,7 @@
/* focus */
--form-control-focus-shadow: none;
--form-control-focus-border-bottom: 0;
+ --form-control-focus-bg-color: var(--color-light-bg-tertiary);
--form-control-hover-bg-color: var(--color-light-bg-tertiary);
/* error */
diff --git a/packages/themes/src/mixins/input/site.css b/packages/themes/src/mixins/input/site.css
new file mode 100644
index 0000000000..1124d1a22c
--- /dev/null
+++ b/packages/themes/src/mixins/input/site.css
@@ -0,0 +1,3 @@
+@define-mixin input-site {
+ --input-error-icon: url('https://alfabank.st/icons/glyph_cross-circle_m_negative.svg');
+}
diff --git a/packages/themes/src/mixins/site.css b/packages/themes/src/mixins/site.css
index 491bc87e1d..f866fac81c 100644
--- a/packages/themes/src/mixins/site.css
+++ b/packages/themes/src/mixins/site.css
@@ -1,9 +1,11 @@
@import './button/site.css';
@import './tabs/site.css';
@import './form-control/site.css';
+@import './input/site.css';
@define-mixin theme-site {
@mixin button-site;
@mixin form-control-site;
@mixin tabs-site;
+ @mixin input-site;
}
From 815886dc686b9cebfc9036e0384f3c33ab69813e Mon Sep 17 00:00:00 2001
From: semantic-release-bot
Date: Tue, 22 Jun 2021 07:12:51 +0000
Subject: [PATCH 15/48] chore(release): 17.6.0 [skip ci]
# [17.6.0](https://github.com/alfa-laboratory/core-components/compare/v17.5.1...v17.6.0) (2021-06-22)
### Bug Fixes
* **intl-phone-input:** format input value ([#703](https://github.com/alfa-laboratory/core-components/issues/703)) ([b5e91ed](https://github.com/alfa-laboratory/core-components/commit/b5e91edf03867f5dc93fab78425f7c1a128afd9b))
### Features
* **dark-theme-styles-injector:** add prop for selector ([#709](https://github.com/alfa-laboratory/core-components/issues/709)) ([f74cdc7](https://github.com/alfa-laboratory/core-components/commit/f74cdc7b312321fcb111f1c64f21714ee403e513))
* **slider-input:** design updates ([#673](https://github.com/alfa-laboratory/core-components/issues/673)) ([794e3cc](https://github.com/alfa-laboratory/core-components/commit/794e3cc99a3b61ec4faa630469dae7e49a56ee0a))
* **textarea:** add value counter ([#695](https://github.com/alfa-laboratory/core-components/issues/695)) ([cbc6bd3](https://github.com/alfa-laboratory/core-components/commit/cbc6bd3eaa48e3df2791d23e156c7c664d67ff49))
---
CHANGELOG.md | 14 ++++++++++++++
package.json | 2 +-
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5814391bcd..f496e2d60c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,17 @@
+# [17.6.0](https://github.com/alfa-laboratory/core-components/compare/v17.5.1...v17.6.0) (2021-06-22)
+
+
+### Bug Fixes
+
+* **intl-phone-input:** format input value ([#703](https://github.com/alfa-laboratory/core-components/issues/703)) ([b5e91ed](https://github.com/alfa-laboratory/core-components/commit/b5e91edf03867f5dc93fab78425f7c1a128afd9b))
+
+
+### Features
+
+* **dark-theme-styles-injector:** add prop for selector ([#709](https://github.com/alfa-laboratory/core-components/issues/709)) ([f74cdc7](https://github.com/alfa-laboratory/core-components/commit/f74cdc7b312321fcb111f1c64f21714ee403e513))
+* **slider-input:** design updates ([#673](https://github.com/alfa-laboratory/core-components/issues/673)) ([794e3cc](https://github.com/alfa-laboratory/core-components/commit/794e3cc99a3b61ec4faa630469dae7e49a56ee0a))
+* **textarea:** add value counter ([#695](https://github.com/alfa-laboratory/core-components/issues/695)) ([cbc6bd3](https://github.com/alfa-laboratory/core-components/commit/cbc6bd3eaa48e3df2791d23e156c7c664d67ff49))
+
## [17.5.1](https://github.com/alfa-laboratory/core-components/compare/v17.5.0...v17.5.1) (2021-06-21)
diff --git a/package.json b/package.json
index 90f078c849..744eb9d2cd 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components",
- "version": "17.5.1",
+ "version": "17.6.0",
"private": true,
"workspaces": [
"packages/*"
From 645beef3215475c5324396f8a43dbfcbabfc2c49 Mon Sep 17 00:00:00 2001
From: dmitrsavk
Date: Tue, 22 Jun 2021 10:20:54 +0300
Subject: [PATCH 16/48] test: update screenshot
---
...eractions-tests-click-open-select-select-one-item-4-snap.png | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/select/src/__image_snapshots__/select-interactions-tests-click-open-select-select-one-item-4-snap.png b/packages/select/src/__image_snapshots__/select-interactions-tests-click-open-select-select-one-item-4-snap.png
index 33a8652937..0a2f651caf 100644
--- a/packages/select/src/__image_snapshots__/select-interactions-tests-click-open-select-select-one-item-4-snap.png
+++ b/packages/select/src/__image_snapshots__/select-interactions-tests-click-open-select-select-one-item-4-snap.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:49d83ff7c45c7dec65b85dcf5e34244f6d7d1df72e42ce74d4ae7035054a790a
-size 12867
\ No newline at end of file
+size 12867
From f8c4ea00926b751a0eca72ee48301f7034bc216e Mon Sep 17 00:00:00 2001
From: dmitrsavk
Date: Tue, 22 Jun 2021 10:32:54 +0300
Subject: [PATCH 17/48] chore: publish
- @alfalab/core-components-amount-input@4.0.20
- @alfalab/core-components-attach@2.0.2
- @alfalab/core-components-bank-card@3.4.8
- @alfalab/core-components-calendar-input@3.0.8
- @alfalab/core-components-calendar-range@2.0.3
- @alfalab/core-components-calendar-with-skeleton@2.0.4
- @alfalab/core-components-dark-theme-styles-injector@1.5.0
- @alfalab/core-components-form-control@6.2.0
- @alfalab/core-components-input-autocomplete@6.1.7
- @alfalab/core-components-input@6.2.0
- @alfalab/core-components-intl-phone-input@4.1.7
- @alfalab/core-components-keyboard-focusable@1.3.0
- @alfalab/core-components-masked-input@3.2.27
- @alfalab/core-components-notification-manager@3.0.2
- @alfalab/core-components-notification@4.1.0
- @alfalab/core-components-phone-input@4.0.20
- @alfalab/core-components-picker-button@5.0.4
- @alfalab/core-components-select@8.1.0
- @alfalab/core-components-slider-input@3.2.0
- @alfalab/core-components-tabs@4.1.1
- @alfalab/core-components-textarea@5.1.0
- @alfalab/core-components-themes@4.3.0
- @alfalab/core-components-with-suffix@2.4.19
---
packages/amount-input/CHANGELOG.md | 8 ++++++++
packages/amount-input/package.json | 6 +++---
packages/attach/CHANGELOG.md | 8 ++++++++
packages/attach/package.json | 4 ++--
packages/bank-card/CHANGELOG.md | 8 ++++++++
packages/bank-card/package.json | 4 ++--
packages/calendar-input/CHANGELOG.md | 8 ++++++++
packages/calendar-input/package.json | 4 ++--
packages/calendar-range/CHANGELOG.md | 8 ++++++++
packages/calendar-range/package.json | 4 ++--
packages/calendar-with-skeleton/CHANGELOG.md | 11 +++++++++++
packages/calendar-with-skeleton/package.json | 2 +-
packages/dark-theme-styles-injector/CHANGELOG.md | 11 +++++++++++
packages/dark-theme-styles-injector/package.json | 4 ++--
packages/form-control/CHANGELOG.md | 11 +++++++++++
packages/form-control/package.json | 2 +-
packages/input-autocomplete/CHANGELOG.md | 8 ++++++++
packages/input-autocomplete/package.json | 6 +++---
packages/input/CHANGELOG.md | 11 +++++++++++
packages/input/package.json | 4 ++--
packages/intl-phone-input/CHANGELOG.md | 11 +++++++++++
packages/intl-phone-input/package.json | 6 +++---
packages/keyboard-focusable/CHANGELOG.md | 11 +++++++++++
packages/keyboard-focusable/package.json | 2 +-
packages/masked-input/CHANGELOG.md | 8 ++++++++
packages/masked-input/package.json | 4 ++--
packages/notification-manager/CHANGELOG.md | 8 ++++++++
packages/notification-manager/package.json | 4 ++--
packages/notification/CHANGELOG.md | 11 +++++++++++
packages/notification/package.json | 2 +-
packages/phone-input/CHANGELOG.md | 8 ++++++++
packages/phone-input/package.json | 4 ++--
packages/picker-button/CHANGELOG.md | 8 ++++++++
packages/picker-button/package.json | 4 ++--
packages/select/CHANGELOG.md | 16 ++++++++++++++++
packages/select/package.json | 6 +++---
packages/slider-input/CHANGELOG.md | 11 +++++++++++
packages/slider-input/package.json | 4 ++--
packages/tabs/CHANGELOG.md | 8 ++++++++
packages/tabs/package.json | 4 ++--
packages/textarea/CHANGELOG.md | 11 +++++++++++
packages/textarea/package.json | 4 ++--
packages/themes/CHANGELOG.md | 11 +++++++++++
packages/themes/package.json | 2 +-
packages/with-suffix/CHANGELOG.md | 8 ++++++++
packages/with-suffix/package.json | 4 ++--
46 files changed, 267 insertions(+), 45 deletions(-)
diff --git a/packages/amount-input/CHANGELOG.md b/packages/amount-input/CHANGELOG.md
index 568ad70665..3a2a77054d 100644
--- a/packages/amount-input/CHANGELOG.md
+++ b/packages/amount-input/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [4.0.20](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-amount-input@4.0.19...@alfalab/core-components-amount-input@4.0.20) (2021-06-22)
+
+**Note:** Version bump only for package @alfalab/core-components-amount-input
+
+
+
+
+
## [4.0.19](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-amount-input@4.0.18...@alfalab/core-components-amount-input@4.0.19) (2021-05-31)
**Note:** Version bump only for package @alfalab/core-components-amount-input
diff --git a/packages/amount-input/package.json b/packages/amount-input/package.json
index 8541038086..19de3cbe5b 100644
--- a/packages/amount-input/package.json
+++ b/packages/amount-input/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-amount-input",
- "version": "4.0.19",
+ "version": "4.0.20",
"description": "",
"keywords": [],
"license": "MIT",
@@ -19,8 +19,8 @@
"react": "^16.9.0 || ^17.0.1"
},
"dependencies": {
- "@alfalab/core-components-input": "^6.1.3",
- "@alfalab/core-components-with-suffix": "^2.4.18",
+ "@alfalab/core-components-input": "^6.2.0",
+ "@alfalab/core-components-with-suffix": "^2.4.19",
"@alfalab/data": "^0.4.0",
"@alfalab/utils": "^1.1.1",
"classnames": "^2.2.6"
diff --git a/packages/attach/CHANGELOG.md b/packages/attach/CHANGELOG.md
index 137e73b962..d70dc3aeb0 100644
--- a/packages/attach/CHANGELOG.md
+++ b/packages/attach/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.0.2](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-attach@2.0.1...@alfalab/core-components-attach@2.0.2) (2021-06-22)
+
+**Note:** Version bump only for package @alfalab/core-components-attach
+
+
+
+
+
## [2.0.1](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-attach@2.0.0...@alfalab/core-components-attach@2.0.1) (2021-05-31)
**Note:** Version bump only for package @alfalab/core-components-attach
diff --git a/packages/attach/package.json b/packages/attach/package.json
index 6c2a229f0c..a386a920a1 100644
--- a/packages/attach/package.json
+++ b/packages/attach/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-attach",
- "version": "2.0.1",
+ "version": "2.0.2",
"description": "",
"keywords": [],
"license": "MIT",
@@ -20,7 +20,7 @@
},
"dependencies": {
"@alfalab/core-components-button": "^3.0.1",
- "@alfalab/core-components-keyboard-focusable": "^1.2.11",
+ "@alfalab/core-components-keyboard-focusable": "^1.3.0",
"@alfalab/core-components-progress-bar": "^1.1.6",
"@alfalab/icons-classic": "^1.7.0",
"@alfalab/utils": "^1.1.1",
diff --git a/packages/bank-card/CHANGELOG.md b/packages/bank-card/CHANGELOG.md
index b1c75b8b02..7e166a6335 100644
--- a/packages/bank-card/CHANGELOG.md
+++ b/packages/bank-card/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [3.4.8](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-bank-card@3.4.7...@alfalab/core-components-bank-card@3.4.8) (2021-06-22)
+
+**Note:** Version bump only for package @alfalab/core-components-bank-card
+
+
+
+
+
## [3.4.7](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-bank-card@3.4.6...@alfalab/core-components-bank-card@3.4.7) (2021-06-08)
**Note:** Version bump only for package @alfalab/core-components-bank-card
diff --git a/packages/bank-card/package.json b/packages/bank-card/package.json
index f3c4f6418c..68befabddd 100644
--- a/packages/bank-card/package.json
+++ b/packages/bank-card/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-bank-card",
- "version": "3.4.7",
+ "version": "3.4.8",
"description": "Bank card component",
"keywords": [],
"license": "MIT",
@@ -20,7 +20,7 @@
"react-dom": "^16.9.0 || ^17.0.1"
},
"dependencies": {
- "@alfalab/core-components-masked-input": "^3.2.26",
+ "@alfalab/core-components-masked-input": "^3.2.27",
"@alfalab/icons-classic": "^1.7.0",
"@alfalab/icons-glyph": "^1.26.0",
"@alfalab/icons-logotype": "^1.4.0",
diff --git a/packages/calendar-input/CHANGELOG.md b/packages/calendar-input/CHANGELOG.md
index 94defb4045..5c0ee7a668 100644
--- a/packages/calendar-input/CHANGELOG.md
+++ b/packages/calendar-input/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [3.0.8](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-calendar-input@3.0.7...@alfalab/core-components-calendar-input@3.0.8) (2021-06-22)
+
+**Note:** Version bump only for package @alfalab/core-components-calendar-input
+
+
+
+
+
## [3.0.7](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-calendar-input@3.0.6...@alfalab/core-components-calendar-input@3.0.7) (2021-06-08)
**Note:** Version bump only for package @alfalab/core-components-calendar-input
diff --git a/packages/calendar-input/package.json b/packages/calendar-input/package.json
index 4c78f34ef2..c0012cb74e 100644
--- a/packages/calendar-input/package.json
+++ b/packages/calendar-input/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-calendar-input",
- "version": "3.0.7",
+ "version": "3.0.8",
"description": "Calendar input component",
"keywords": [],
"license": "MIT",
@@ -20,7 +20,7 @@
},
"dependencies": {
"@alfalab/core-components-calendar": "^2.0.1",
- "@alfalab/core-components-masked-input": "^3.2.26",
+ "@alfalab/core-components-masked-input": "^3.2.27",
"@alfalab/core-components-popover": "^4.0.0",
"classnames": "^2.2.6",
"date-fns": "^2.16.1",
diff --git a/packages/calendar-range/CHANGELOG.md b/packages/calendar-range/CHANGELOG.md
index da69cb9ea2..48f6965560 100644
--- a/packages/calendar-range/CHANGELOG.md
+++ b/packages/calendar-range/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.0.3](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-calendar-range@2.0.2...@alfalab/core-components-calendar-range@2.0.3) (2021-06-22)
+
+**Note:** Version bump only for package @alfalab/core-components-calendar-range
+
+
+
+
+
## [2.0.2](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-calendar-range@2.0.1...@alfalab/core-components-calendar-range@2.0.2) (2021-06-08)
**Note:** Version bump only for package @alfalab/core-components-calendar-range
diff --git a/packages/calendar-range/package.json b/packages/calendar-range/package.json
index a43eee5db8..9535b5b7f8 100644
--- a/packages/calendar-range/package.json
+++ b/packages/calendar-range/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-calendar-range",
- "version": "2.0.2",
+ "version": "2.0.3",
"description": "Calendar range component",
"keywords": [],
"license": "MIT",
@@ -20,7 +20,7 @@
},
"dependencies": {
"@alfalab/core-components-calendar": "^2.0.1",
- "@alfalab/core-components-calendar-input": "^3.0.7",
+ "@alfalab/core-components-calendar-input": "^3.0.8",
"classnames": "^2.2.6",
"date-fns": "^2.16.1",
"react-merge-refs": "^1.1.0"
diff --git a/packages/calendar-with-skeleton/CHANGELOG.md b/packages/calendar-with-skeleton/CHANGELOG.md
index 6628caf9e5..1f15cef000 100644
--- a/packages/calendar-with-skeleton/CHANGELOG.md
+++ b/packages/calendar-with-skeleton/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.0.4](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-calendar-with-skeleton@2.0.3...@alfalab/core-components-calendar-with-skeleton@2.0.4) (2021-06-22)
+
+
+### Bug Fixes
+
+* **calendar-with-skeleton:** ref & six weeks height issues ([#705](https://github.com/alfa-laboratory/core-components/issues/705)) ([907ebe1](https://github.com/alfa-laboratory/core-components/commit/907ebe18641ee2e7e91fc4622527404c20867a54))
+
+
+
+
+
## [2.0.3](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-calendar-with-skeleton@2.0.2...@alfalab/core-components-calendar-with-skeleton@2.0.3) (2021-06-09)
**Note:** Version bump only for package @alfalab/core-components-calendar-with-skeleton
diff --git a/packages/calendar-with-skeleton/package.json b/packages/calendar-with-skeleton/package.json
index bf6a3a085f..160df1e75d 100644
--- a/packages/calendar-with-skeleton/package.json
+++ b/packages/calendar-with-skeleton/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-calendar-with-skeleton",
- "version": "2.0.3",
+ "version": "2.0.4",
"description": "CalendarWithSkeleton component",
"keywords": [],
"license": "MIT",
diff --git a/packages/dark-theme-styles-injector/CHANGELOG.md b/packages/dark-theme-styles-injector/CHANGELOG.md
index 4bd1934ad9..0493e10cae 100644
--- a/packages/dark-theme-styles-injector/CHANGELOG.md
+++ b/packages/dark-theme-styles-injector/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [1.5.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-dark-theme-styles-injector@1.4.27...@alfalab/core-components-dark-theme-styles-injector@1.5.0) (2021-06-22)
+
+
+### Features
+
+* **dark-theme-styles-injector:** add prop for selector ([#709](https://github.com/alfa-laboratory/core-components/issues/709)) ([f74cdc7](https://github.com/alfa-laboratory/core-components/commit/f74cdc7b312321fcb111f1c64f21714ee403e513))
+
+
+
+
+
## [1.4.27](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-dark-theme-styles-injector@1.4.26...@alfalab/core-components-dark-theme-styles-injector@1.4.27) (2021-06-08)
**Note:** Version bump only for package @alfalab/core-components-dark-theme-styles-injector
diff --git a/packages/dark-theme-styles-injector/package.json b/packages/dark-theme-styles-injector/package.json
index 0877c55cb9..d13a6f1ab9 100644
--- a/packages/dark-theme-styles-injector/package.json
+++ b/packages/dark-theme-styles-injector/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-dark-theme-styles-injector",
- "version": "1.4.27",
+ "version": "1.5.0",
"description": "Inject dark theme styles in page",
"keywords": [],
"license": "MIT",
@@ -19,6 +19,6 @@
"react-dom": "^16.9.0 || ^17.0.1"
},
"dependencies": {
- "@alfalab/core-components-themes": "^4.2.0"
+ "@alfalab/core-components-themes": "^4.3.0"
}
}
diff --git a/packages/form-control/CHANGELOG.md b/packages/form-control/CHANGELOG.md
index 586ed3201f..90fd809a23 100644
--- a/packages/form-control/CHANGELOG.md
+++ b/packages/form-control/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [6.2.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-form-control@6.1.1...@alfalab/core-components-form-control@6.2.0) (2021-06-22)
+
+
+### Features
+
+* **slider-input:** design updates ([#673](https://github.com/alfa-laboratory/core-components/issues/673)) ([794e3cc](https://github.com/alfa-laboratory/core-components/commit/794e3cc99a3b61ec4faa630469dae7e49a56ee0a))
+
+
+
+
+
## [6.1.1](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-form-control@6.1.0...@alfalab/core-components-form-control@6.1.1) (2021-04-26)
**Note:** Version bump only for package @alfalab/core-components-form-control
diff --git a/packages/form-control/package.json b/packages/form-control/package.json
index 175f84e80e..da6e7288d8 100644
--- a/packages/form-control/package.json
+++ b/packages/form-control/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-form-control",
- "version": "6.1.1",
+ "version": "6.2.0",
"description": "FormControl component",
"keywords": [],
"license": "MIT",
diff --git a/packages/input-autocomplete/CHANGELOG.md b/packages/input-autocomplete/CHANGELOG.md
index 26996d755f..8c6d58fee5 100644
--- a/packages/input-autocomplete/CHANGELOG.md
+++ b/packages/input-autocomplete/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [6.1.7](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-input-autocomplete@6.1.6...@alfalab/core-components-input-autocomplete@6.1.7) (2021-06-22)
+
+**Note:** Version bump only for package @alfalab/core-components-input-autocomplete
+
+
+
+
+
## [6.1.6](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-input-autocomplete@6.1.5...@alfalab/core-components-input-autocomplete@6.1.6) (2021-06-08)
**Note:** Version bump only for package @alfalab/core-components-input-autocomplete
diff --git a/packages/input-autocomplete/package.json b/packages/input-autocomplete/package.json
index b3585dfe2f..a08060f873 100644
--- a/packages/input-autocomplete/package.json
+++ b/packages/input-autocomplete/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-input-autocomplete",
- "version": "6.1.6",
+ "version": "6.1.7",
"description": "",
"keywords": [],
"license": "MIT",
@@ -19,8 +19,8 @@
"react": "^16.9.0 || ^17.0.1"
},
"dependencies": {
- "@alfalab/core-components-input": "^6.1.3",
- "@alfalab/core-components-select": "^8.0.8",
+ "@alfalab/core-components-input": "^6.2.0",
+ "@alfalab/core-components-select": "^8.1.0",
"classnames": "^2.2.6"
}
}
diff --git a/packages/input/CHANGELOG.md b/packages/input/CHANGELOG.md
index 7b7d441615..0a1a88d791 100644
--- a/packages/input/CHANGELOG.md
+++ b/packages/input/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [6.2.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-input@6.1.3...@alfalab/core-components-input@6.2.0) (2021-06-22)
+
+
+### Features
+
+* **slider-input:** design updates ([#673](https://github.com/alfa-laboratory/core-components/issues/673)) ([794e3cc](https://github.com/alfa-laboratory/core-components/commit/794e3cc99a3b61ec4faa630469dae7e49a56ee0a))
+
+
+
+
+
## [6.1.3](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-input@6.1.2...@alfalab/core-components-input@6.1.3) (2021-05-31)
**Note:** Version bump only for package @alfalab/core-components-input
diff --git a/packages/input/package.json b/packages/input/package.json
index 2f6ac5eb91..0124096a07 100644
--- a/packages/input/package.json
+++ b/packages/input/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-input",
- "version": "6.1.3",
+ "version": "6.2.0",
"description": "",
"keywords": [],
"license": "MIT",
@@ -20,7 +20,7 @@
},
"dependencies": {
"@alfalab/core-components-button": "^3.0.1",
- "@alfalab/core-components-form-control": "^6.1.1",
+ "@alfalab/core-components-form-control": "^6.2.0",
"@alfalab/hooks": "^1.0.0",
"@alfalab/icons-glyph": "^1.26.0",
"classnames": "^2.2.6",
diff --git a/packages/intl-phone-input/CHANGELOG.md b/packages/intl-phone-input/CHANGELOG.md
index 689bf04a2f..d3f234dbeb 100644
--- a/packages/intl-phone-input/CHANGELOG.md
+++ b/packages/intl-phone-input/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [4.1.7](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-intl-phone-input@4.1.6...@alfalab/core-components-intl-phone-input@4.1.7) (2021-06-22)
+
+
+### Bug Fixes
+
+* **intl-phone-input:** format input value ([#703](https://github.com/alfa-laboratory/core-components/issues/703)) ([b5e91ed](https://github.com/alfa-laboratory/core-components/commit/b5e91edf03867f5dc93fab78425f7c1a128afd9b))
+
+
+
+
+
## [4.1.6](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-intl-phone-input@4.1.5...@alfalab/core-components-intl-phone-input@4.1.6) (2021-06-08)
**Note:** Version bump only for package @alfalab/core-components-intl-phone-input
diff --git a/packages/intl-phone-input/package.json b/packages/intl-phone-input/package.json
index eba364b96a..003517e4a5 100644
--- a/packages/intl-phone-input/package.json
+++ b/packages/intl-phone-input/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-intl-phone-input",
- "version": "4.1.6",
+ "version": "4.1.7",
"description": "Phone input for international phones",
"keywords": [],
"license": "MIT",
@@ -19,8 +19,8 @@
"react": "^16.9.0 || ^17.0.1"
},
"dependencies": {
- "@alfalab/core-components-input": "^6.1.3",
- "@alfalab/core-components-select": "^8.0.8",
+ "@alfalab/core-components-input": "^6.2.0",
+ "@alfalab/core-components-select": "^8.1.0",
"@alfalab/hooks": "^0.9.0",
"@alfalab/utils": "^1.1.1",
"classnames": "^2.2.6",
diff --git a/packages/keyboard-focusable/CHANGELOG.md b/packages/keyboard-focusable/CHANGELOG.md
index 20af159991..947204bd29 100644
--- a/packages/keyboard-focusable/CHANGELOG.md
+++ b/packages/keyboard-focusable/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [1.3.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-keyboard-focusable@1.2.11...@alfalab/core-components-keyboard-focusable@1.3.0) (2021-06-22)
+
+
+### Features
+
+* **slider-input:** design updates ([#673](https://github.com/alfa-laboratory/core-components/issues/673)) ([794e3cc](https://github.com/alfa-laboratory/core-components/commit/794e3cc99a3b61ec4faa630469dae7e49a56ee0a))
+
+
+
+
+
## [1.2.11](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-keyboard-focusable@1.2.10...@alfalab/core-components-keyboard-focusable@1.2.11) (2021-04-26)
**Note:** Version bump only for package @alfalab/core-components-keyboard-focusable
diff --git a/packages/keyboard-focusable/package.json b/packages/keyboard-focusable/package.json
index 2958bfcc42..411d21b3f9 100644
--- a/packages/keyboard-focusable/package.json
+++ b/packages/keyboard-focusable/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-keyboard-focusable",
- "version": "1.2.11",
+ "version": "1.3.0",
"description": "Component and hook for keyboard only focus",
"gitHead": "f054fef20200664c65e2501ef1f916c555cdf05d",
"keywords": [],
diff --git a/packages/masked-input/CHANGELOG.md b/packages/masked-input/CHANGELOG.md
index 171b454558..87283f009e 100644
--- a/packages/masked-input/CHANGELOG.md
+++ b/packages/masked-input/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [3.2.27](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-masked-input@3.2.26...@alfalab/core-components-masked-input@3.2.27) (2021-06-22)
+
+**Note:** Version bump only for package @alfalab/core-components-masked-input
+
+
+
+
+
## [3.2.26](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-masked-input@3.2.25...@alfalab/core-components-masked-input@3.2.26) (2021-06-08)
diff --git a/packages/masked-input/package.json b/packages/masked-input/package.json
index 6dcca6f8a9..0b8744afc2 100644
--- a/packages/masked-input/package.json
+++ b/packages/masked-input/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-masked-input",
- "version": "3.2.26",
+ "version": "3.2.27",
"description": "",
"keywords": [],
"license": "MIT",
@@ -19,7 +19,7 @@
"react": "^16.9.0 || ^17.0.1"
},
"dependencies": {
- "@alfalab/core-components-input": "^6.1.3",
+ "@alfalab/core-components-input": "^6.2.0",
"classnames": "^2.2.6",
"react-merge-refs": "^1.1.0",
"text-mask-core": "^5.1.2"
diff --git a/packages/notification-manager/CHANGELOG.md b/packages/notification-manager/CHANGELOG.md
index 9e4cef524e..1f95b67277 100644
--- a/packages/notification-manager/CHANGELOG.md
+++ b/packages/notification-manager/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [3.0.2](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-notification-manager@3.0.1...@alfalab/core-components-notification-manager@3.0.2) (2021-06-22)
+
+**Note:** Version bump only for package @alfalab/core-components-notification-manager
+
+
+
+
+
## [3.0.1](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-notification-manager@3.0.0...@alfalab/core-components-notification-manager@3.0.1) (2021-05-31)
**Note:** Version bump only for package @alfalab/core-components-notification-manager
diff --git a/packages/notification-manager/package.json b/packages/notification-manager/package.json
index b068c778bb..de791f68ee 100644
--- a/packages/notification-manager/package.json
+++ b/packages/notification-manager/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-notification-manager",
- "version": "3.0.1",
+ "version": "3.0.2",
"description": "Notification manager",
"keywords": [],
"license": "MIT",
@@ -19,7 +19,7 @@
"react": "^16.9.0 || ^17.0.1"
},
"dependencies": {
- "@alfalab/core-components-notification": "^4.0.1",
+ "@alfalab/core-components-notification": "^4.1.0",
"@alfalab/core-components-portal": "^1.4.6",
"@alfalab/core-components-stack": "^2.0.0",
"classnames": "^2.2.6",
diff --git a/packages/notification/CHANGELOG.md b/packages/notification/CHANGELOG.md
index 69984beaaf..a80597810b 100644
--- a/packages/notification/CHANGELOG.md
+++ b/packages/notification/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [4.1.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-notification@4.0.1...@alfalab/core-components-notification@4.1.0) (2021-06-22)
+
+
+### Features
+
+* **notification:** add null autoCloseDelay ([#698](https://github.com/alfa-laboratory/core-components/issues/698)) ([6c2f0e0](https://github.com/alfa-laboratory/core-components/commit/6c2f0e083ec94797e8193b19d8bbafd042a5c2a5))
+
+
+
+
+
## [4.0.1](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-notification@4.0.0...@alfalab/core-components-notification@4.0.1) (2021-05-31)
**Note:** Version bump only for package @alfalab/core-components-notification
diff --git a/packages/notification/package.json b/packages/notification/package.json
index 00bfc481f2..4936cc87e7 100644
--- a/packages/notification/package.json
+++ b/packages/notification/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-notification",
- "version": "4.0.1",
+ "version": "4.1.0",
"description": "",
"keywords": [],
"license": "MIT",
diff --git a/packages/phone-input/CHANGELOG.md b/packages/phone-input/CHANGELOG.md
index 90a57669e9..e0f16e98e2 100644
--- a/packages/phone-input/CHANGELOG.md
+++ b/packages/phone-input/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [4.0.20](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-phone-input@4.0.19...@alfalab/core-components-phone-input@4.0.20) (2021-06-22)
+
+**Note:** Version bump only for package @alfalab/core-components-phone-input
+
+
+
+
+
## [4.0.19](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-phone-input@4.0.18...@alfalab/core-components-phone-input@4.0.19) (2021-06-08)
**Note:** Version bump only for package @alfalab/core-components-phone-input
diff --git a/packages/phone-input/package.json b/packages/phone-input/package.json
index fd1f9062d5..be943ecb68 100644
--- a/packages/phone-input/package.json
+++ b/packages/phone-input/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-phone-input",
- "version": "4.0.19",
+ "version": "4.0.20",
"description": "",
"keywords": [],
"license": "MIT",
@@ -19,7 +19,7 @@
"react": "^16.9.0 || ^17.0.1"
},
"dependencies": {
- "@alfalab/core-components-masked-input": "^3.2.26",
+ "@alfalab/core-components-masked-input": "^3.2.27",
"classnames": "^2.2.6",
"text-mask-core": "^5.1.2"
}
diff --git a/packages/picker-button/CHANGELOG.md b/packages/picker-button/CHANGELOG.md
index 989e5a56b3..d4268b43d7 100644
--- a/packages/picker-button/CHANGELOG.md
+++ b/packages/picker-button/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [5.0.4](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-picker-button@5.0.3...@alfalab/core-components-picker-button@5.0.4) (2021-06-22)
+
+**Note:** Version bump only for package @alfalab/core-components-picker-button
+
+
+
+
+
## [5.0.3](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-picker-button@5.0.2...@alfalab/core-components-picker-button@5.0.3) (2021-06-08)
diff --git a/packages/picker-button/package.json b/packages/picker-button/package.json
index 24a35d6994..3b6405b41e 100644
--- a/packages/picker-button/package.json
+++ b/packages/picker-button/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-picker-button",
- "version": "5.0.3",
+ "version": "5.0.4",
"description": "Picker button component",
"keywords": [],
"license": "MIT",
@@ -20,7 +20,7 @@
},
"dependencies": {
"@alfalab/core-components-button": "^3.0.1",
- "@alfalab/core-components-select": "^8.0.8",
+ "@alfalab/core-components-select": "^8.1.0",
"@alfalab/icons-glyph": "^1.70.0",
"classnames": "^2.2.6"
}
diff --git a/packages/select/CHANGELOG.md b/packages/select/CHANGELOG.md
index 2de5912860..28a41da579 100644
--- a/packages/select/CHANGELOG.md
+++ b/packages/select/CHANGELOG.md
@@ -3,6 +3,22 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [8.1.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-select@8.0.8...@alfalab/core-components-select@8.1.0) (2021-06-22)
+
+
+### Bug Fixes
+
+* **select:** fix checkmark position on click theme ([#699](https://github.com/alfa-laboratory/core-components/issues/699)) ([0a3bab5](https://github.com/alfa-laboratory/core-components/commit/0a3bab52278b4db8f327a8bf5da97cfb5acecc6a))
+
+
+### Features
+
+* **select:** add useSelectWithLoading preset ([#693](https://github.com/alfa-laboratory/core-components/issues/693)) ([12d542f](https://github.com/alfa-laboratory/core-components/commit/12d542f11dddcd022c1ba895e4105115be0b98b2))
+
+
+
+
+
## [8.0.8](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-select@8.0.7...@alfalab/core-components-select@8.0.8) (2021-06-08)
diff --git a/packages/select/package.json b/packages/select/package.json
index b65bd76b9d..dd839232ae 100644
--- a/packages/select/package.json
+++ b/packages/select/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-select",
- "version": "8.0.8",
+ "version": "8.1.0",
"description": "Select component",
"keywords": [],
"license": "MIT",
@@ -20,8 +20,8 @@
"react-dom": "^16.9.0 || ^17.0.1"
},
"dependencies": {
- "@alfalab/core-components-form-control": "^6.1.1",
- "@alfalab/core-components-input": "^6.1.3",
+ "@alfalab/core-components-form-control": "^6.2.0",
+ "@alfalab/core-components-input": "^6.2.0",
"@alfalab/core-components-popover": "^4.0.0",
"@alfalab/core-components-skeleton": "^1.3.6",
"@alfalab/hooks": "^1.0.0",
diff --git a/packages/slider-input/CHANGELOG.md b/packages/slider-input/CHANGELOG.md
index 667bc6c907..27ae1f00ae 100644
--- a/packages/slider-input/CHANGELOG.md
+++ b/packages/slider-input/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [3.2.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-slider-input@3.1.6...@alfalab/core-components-slider-input@3.2.0) (2021-06-22)
+
+
+### Features
+
+* **slider-input:** design updates ([#673](https://github.com/alfa-laboratory/core-components/issues/673)) ([794e3cc](https://github.com/alfa-laboratory/core-components/commit/794e3cc99a3b61ec4faa630469dae7e49a56ee0a))
+
+
+
+
+
## [3.1.6](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-slider-input@3.1.5...@alfalab/core-components-slider-input@3.1.6) (2021-05-31)
**Note:** Version bump only for package @alfalab/core-components-slider-input
diff --git a/packages/slider-input/package.json b/packages/slider-input/package.json
index 3789a17e53..b3bd7e0971 100644
--- a/packages/slider-input/package.json
+++ b/packages/slider-input/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-slider-input",
- "version": "3.1.6",
+ "version": "3.2.0",
"description": "Slider input component",
"keywords": [],
"license": "MIT",
@@ -20,7 +20,7 @@
"react-dom": "^16.9.0 || ^17.0.1"
},
"dependencies": {
- "@alfalab/core-components-input": "^6.1.3",
+ "@alfalab/core-components-input": "^6.2.0",
"@alfalab/core-components-slider": "^1.3.1",
"classnames": "^2.2.6",
"react-merge-refs": "^1.1.0"
diff --git a/packages/tabs/CHANGELOG.md b/packages/tabs/CHANGELOG.md
index c1ee6e71b3..b8fe9dfec4 100644
--- a/packages/tabs/CHANGELOG.md
+++ b/packages/tabs/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [4.1.1](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-tabs@4.1.0...@alfalab/core-components-tabs@4.1.1) (2021-06-22)
+
+**Note:** Version bump only for package @alfalab/core-components-tabs
+
+
+
+
+
# [4.1.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-tabs@4.0.10...@alfalab/core-components-tabs@4.1.0) (2021-06-04)
diff --git a/packages/tabs/package.json b/packages/tabs/package.json
index 1c7905780e..7361d9f003 100644
--- a/packages/tabs/package.json
+++ b/packages/tabs/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-tabs",
- "version": "4.1.0",
+ "version": "4.1.1",
"description": "Tabs components",
"keywords": [],
"license": "MIT",
@@ -19,7 +19,7 @@
"@types/lodash.debounce": "^4.0.6"
},
"dependencies": {
- "@alfalab/core-components-keyboard-focusable": "^1.2.11",
+ "@alfalab/core-components-keyboard-focusable": "^1.3.0",
"@alfalab/core-components-tag": "^2.2.0",
"classnames": "^2.2.6",
"compute-scroll-into-view": "^1.0.13",
diff --git a/packages/textarea/CHANGELOG.md b/packages/textarea/CHANGELOG.md
index 2252c1af22..fb9a5dbebf 100644
--- a/packages/textarea/CHANGELOG.md
+++ b/packages/textarea/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [5.1.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-textarea@5.0.8...@alfalab/core-components-textarea@5.1.0) (2021-06-22)
+
+
+### Features
+
+* **textarea:** add value counter ([#695](https://github.com/alfa-laboratory/core-components/issues/695)) ([cbc6bd3](https://github.com/alfa-laboratory/core-components/commit/cbc6bd3eaa48e3df2791d23e156c7c664d67ff49))
+
+
+
+
+
## [5.0.8](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-textarea@5.0.7...@alfalab/core-components-textarea@5.0.8) (2021-04-26)
**Note:** Version bump only for package @alfalab/core-components-textarea
diff --git a/packages/textarea/package.json b/packages/textarea/package.json
index bd08f37796..fb9a531200 100644
--- a/packages/textarea/package.json
+++ b/packages/textarea/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-textarea",
- "version": "5.0.8",
+ "version": "5.1.0",
"description": "",
"keywords": [],
"license": "MIT",
@@ -19,7 +19,7 @@
"react": "^16.9.0 || ^17.0.1"
},
"dependencies": {
- "@alfalab/core-components-form-control": "^6.1.1",
+ "@alfalab/core-components-form-control": "^6.2.0",
"@alfalab/hooks": "^1.0.0",
"classnames": "^2.2.6",
"react-merge-refs": "^1.1.0",
diff --git a/packages/themes/CHANGELOG.md b/packages/themes/CHANGELOG.md
index 57ab1792cb..881cdf7b0c 100644
--- a/packages/themes/CHANGELOG.md
+++ b/packages/themes/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [4.3.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-themes@4.2.0...@alfalab/core-components-themes@4.3.0) (2021-06-22)
+
+
+### Features
+
+* **slider-input:** design updates ([#673](https://github.com/alfa-laboratory/core-components/issues/673)) ([794e3cc](https://github.com/alfa-laboratory/core-components/commit/794e3cc99a3b61ec4faa630469dae7e49a56ee0a))
+
+
+
+
+
# [4.2.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-themes@4.1.0...@alfalab/core-components-themes@4.2.0) (2021-06-08)
diff --git a/packages/themes/package.json b/packages/themes/package.json
index 92c9039e02..400c32b6f9 100644
--- a/packages/themes/package.json
+++ b/packages/themes/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-themes",
- "version": "4.2.0",
+ "version": "4.3.0",
"description": "",
"keywords": [],
"license": "MIT",
diff --git a/packages/with-suffix/CHANGELOG.md b/packages/with-suffix/CHANGELOG.md
index 12ecd613a7..28cdaa5e43 100644
--- a/packages/with-suffix/CHANGELOG.md
+++ b/packages/with-suffix/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.4.19](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-with-suffix@2.4.18...@alfalab/core-components-with-suffix@2.4.19) (2021-06-22)
+
+**Note:** Version bump only for package @alfalab/core-components-with-suffix
+
+
+
+
+
## [2.4.18](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-with-suffix@2.4.17...@alfalab/core-components-with-suffix@2.4.18) (2021-05-31)
**Note:** Version bump only for package @alfalab/core-components-with-suffix
diff --git a/packages/with-suffix/package.json b/packages/with-suffix/package.json
index db3fd3faa1..b0231943f8 100644
--- a/packages/with-suffix/package.json
+++ b/packages/with-suffix/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-with-suffix",
- "version": "2.4.18",
+ "version": "2.4.19",
"description": "",
"keywords": [],
"license": "MIT",
@@ -19,7 +19,7 @@
"react": "^16.9.0 || ^17.0.1"
},
"dependencies": {
- "@alfalab/core-components-input": "^6.1.3",
+ "@alfalab/core-components-input": "^6.2.0",
"@alfalab/core-components-portal": "^1.4.6",
"classnames": "^2.2.6",
"react-merge-refs": "^1.1.0"
From 48458ecbfbab7a758fed32f65373ea0ea6c96582 Mon Sep 17 00:00:00 2001
From: Mikhail Koretsky
Date: Tue, 22 Jun 2021 11:04:39 +0300
Subject: [PATCH 18/48] fix(storybook): fix typo
---
.storybook/blocks/tabs/component.tsx | 8 +-
.../button/src/docs/component.stories.mdx | 2 +-
packages/plate/src/docs/component.stories.mdx | 2 +-
packages/toast/src/docs/component.stories.mdx | 2 +-
packages/toast/src/docs/description.mdx | 77 ++++++++++++-------
5 files changed, 57 insertions(+), 34 deletions(-)
diff --git a/.storybook/blocks/tabs/component.tsx b/.storybook/blocks/tabs/component.tsx
index 4db1b22eb6..647dbbb82b 100644
--- a/.storybook/blocks/tabs/component.tsx
+++ b/.storybook/blocks/tabs/component.tsx
@@ -15,14 +15,14 @@ const TabTitle = {
type Props = {
description: ReactNode;
- prpos: ReactNode;
+ props: ReactNode;
cssVars?: ReactNode;
defaultSelected?: TabName;
};
export const Tabs: FC = ({
description,
- prpos,
+ props,
cssVars,
defaultSelected = TabName.DESCRIPTION,
}) => {
@@ -41,7 +41,7 @@ export const Tabs: FC = ({
{description}
,
- {prpos}
+ {props}
,
];
@@ -56,7 +56,7 @@ export const Tabs: FC = ({
return result;
};
- const tabs = useMemo(() => renderTabs(), [description, prpos, cssVars]);
+ const tabs = useMemo(() => renderTabs(), [description, props, cssVars]);
return (
diff --git a/packages/button/src/docs/component.stories.mdx b/packages/button/src/docs/component.stories.mdx
index b88daf6e8a..7c65ed4424 100644
--- a/packages/button/src/docs/component.stories.mdx
+++ b/packages/button/src/docs/component.stories.mdx
@@ -73,6 +73,6 @@ import { Button } from '@alfalab/core-components/button';
}
- prpos={ }
+ props={ }
cssVars={ }
/>
diff --git a/packages/plate/src/docs/component.stories.mdx b/packages/plate/src/docs/component.stories.mdx
index fd0242c972..c3533ff0f2 100644
--- a/packages/plate/src/docs/component.stories.mdx
+++ b/packages/plate/src/docs/component.stories.mdx
@@ -48,7 +48,7 @@ import { Plate } from '@alfalab/core-components-plate';
}
- prpos={ }
+ props={ }
cssVars={ }
/>
diff --git a/packages/toast/src/docs/component.stories.mdx b/packages/toast/src/docs/component.stories.mdx
index 91608ba293..95dd0db51e 100644
--- a/packages/toast/src/docs/component.stories.mdx
+++ b/packages/toast/src/docs/component.stories.mdx
@@ -143,6 +143,6 @@ import { Toast } from '@alfalab/core-components-toast';
}
- prpos={ }
+ props={ }
cssVars={ }
/>
diff --git a/packages/toast/src/docs/description.mdx b/packages/toast/src/docs/description.mdx
index df10e1e5c4..b0b2ff8414 100644
--- a/packages/toast/src/docs/description.mdx
+++ b/packages/toast/src/docs/description.mdx
@@ -28,36 +28,60 @@ export function Example() {
justifyContent: 'center',
alignItems: 'flex-start',
padding: '200px',
- boxSizing: 'border-box'
+ boxSizing: 'border-box',
}}
>
{ setAnchorToastOpen(false); }}
+ onClose={() => {
+ setAnchorToastOpen(false);
+ }}
autoCloseDelay={1500}
/>
{ setFixedToastOpen(false); }}
+ onClose={() => {
+ setFixedToastOpen(false);
+ }}
autoCloseDelay={3000}
- actionButton={ { setFixedToastOpen(false) }}>Восстановить }
- style={{maxWidth: 'calc(100vw - 150px)'}}
+ actionButton={
+ {
+ setFixedToastOpen(false);
+ }}
+ >
+ Восстановить
+
+ }
+ style={{ maxWidth: 'calc(100vw - 150px)' }}
/>
- { setAnchorToastOpen(true); }}>
+ {
+ setAnchorToastOpen(true);
+ }}
+ >
Скопировать
- { setFixedToastOpen(true) }} style={{marginLeft: '20px'}}>
+ {
+ setFixedToastOpen(true);
+ }}
+ style={{ marginLeft: '20px' }}
+ >
Удалить
@@ -65,7 +89,7 @@ export function Example() {
}
-
+
В качестве плашки можно использовать любой компонент.
@@ -92,7 +116,7 @@ export function PlateExample() {
}}
>
{ setAnchorToastOpen(false); }}
+ onClose={() => {
+ setAnchorToastOpen(false);
+ }}
autoCloseDelay={3000}
getPortalContainer={() => containerRef.current}
block={true}
hasCloser={true}
- ToastPlate={React.forwardRef((prpos, ref) => {
- return (
-
- )
+ ToastPlate={React.forwardRef((pros, ref) => {
+ return
;
})}
>
Скопировано
-
{ setAnchorToastOpen(true); }}>
+ {
+ setAnchorToastOpen(true);
+ }}
+ >
Скопировать
@@ -131,5 +154,5 @@ export function PlateExample() {
}
-
+
From 4b96a901b7939485307b0b877819a0118c51dc59 Mon Sep 17 00:00:00 2001
From: Mikhail Koretsky
Date: Wed, 23 Jun 2021 13:01:15 +0300
Subject: [PATCH 19/48] refactor(storybook): add tabs to all stories
---
.../src/{ => docs}/Component.stories.mdx | 23 ++-
packages/alert/src/docs/description.mdx | 7 +
.../src/docs/Component.stories.mdx | 63 +++++++
.../description.mdx} | 59 +-----
packages/amount/src/component.stories.mdx | 170 ------------------
.../amount/src/docs/component.stories.mdx | 84 +++++++++
packages/amount/src/docs/description.mdx | 100 +++++++++++
.../src/{ => docs}/Component.stories.mdx | 14 +-
packages/attach/src/docs/description.mdx | 5 +
.../src/{ => docs}/Component.stories.mdx | 18 +-
packages/backdrop/src/docs/description.mdx | 6 +
packages/badge/src/docs/Component.stories.mdx | 77 ++++++++
.../description.mdx} | 68 +------
.../bank-card/src/docs/Component.stories.mdx | 40 +++++
.../description.mdx} | 38 +---
.../src/{ => docs}/Component.stories.mdx | 6 +-
packages/base-modal/src/docs/description.mdx | 0
.../src/docs/Component.stories.mdx | 68 +++++++
.../description.mdx} | 66 +------
.../src/docs/Component.stories.mdx | 38 ++++
.../description.mdx} | 40 +----
.../src/Component.stories.mdx | 91 ----------
.../src/docs/Component.stories.mdx | 51 ++++++
.../src/docs/description.mdx | 50 ++++++
.../calendar/src/docs/Component.stories.mdx | 61 +++++++
.../description.mdx} | 56 +-----
.../src/{ => docs}/Component.stories.mdx | 30 ++--
packages/card-image/src/docs/description.mdx | 17 ++
.../src/{ => docs}/Component.stories.mdx | 16 +-
packages/cdn-icon/src/docs/description.mdx | 5 +
.../checkbox-group/src/Component.stories.mdx | 112 ------------
.../src/docs/Component.stories.mdx | 65 +++++++
.../checkbox-group/src/docs/description.mdx | 55 ++++++
.../src/{ => docs}/Component.stories.mdx | 50 ++----
packages/checkbox/src/docs/description.mdx | 36 ++++
.../src/{ => docs}/Component.stories.mdx | 20 ++-
.../src/docs/description.mdx | 5 +
.../collapse/src/docs/Component.stories.mdx | 48 +++++
.../description.mdx} | 45 +----
.../Component.stories.mdx} | 16 +-
.../confirmation/src/docs/description.mdx | 1 +
.../src/{ => docs}/Component.stories.mdx | 24 +--
packages/divider/src/docs/description.mdx | 13 ++
.../drawer/src/docs/Component.stories.mdx | 62 +++++++
.../description.mdx} | 151 +++++-----------
.../dropzone/src/docs/Component.stories.mdx | 48 +++++
.../description.mdx} | 70 ++------
.../src/docs/Component.stories.mdx | 51 ++++++
.../description.mdx} | 46 +----
.../src/{ => docs}/Component.stories.mdx | 19 +-
.../form-control/src/docs/description.mdx | 6 +
packages/grid/src/docs/Component.stories.mdx | 56 ++++++
.../description.mdx} | 52 +-----
.../src/docs/Component.stories.mdx | 71 ++++++++
.../description.mdx} | 59 +-----
.../src/docs/Component.stories.mdx | 80 +++++++++
.../description.mdx} | 95 +---------
.../input-autocomplete/src/docs/options.ts | 20 +++
.../src/{ => docs}/Component.stories.mdx | 23 ++-
packages/input/src/docs/description.mdx | 9 +
.../src/docs/Component.stories.mdx | 73 ++++++++
.../description.mdx} | 94 +---------
packages/intl-phone-input/src/docs/options.ts | 25 +++
.../src/docs/Component.stories.mdx | 29 +++
.../description.mdx} | 39 +---
packages/link/src/docs/Component.stories.mdx | 78 ++++++++
.../description.mdx} | 71 +-------
.../src/docs/Component.stories.mdx | 47 +++++
.../description.mdx} | 40 +----
.../list/src/{ => docs}/Component.stories.mdx | 41 ++---
packages/list/src/docs/description.mdx | 32 ++++
.../src/{ => docs}/Component.stories.mdx | 18 +-
packages/loader/src/docs/description.mdx | 5 +
.../src/docs/Component.stories.mdx | 32 ++++
packages/masked-input/src/docs/constants.ts | 48 +++++
.../description.mdx} | 42 +----
packages/modal/src/docs/Component.stories.mdx | 148 +++++++++++++++
.../description.mdx} | 144 +--------------
packages/mq/src/docs/Component.stories.mdx | 51 ++++++
.../description.mdx} | 47 +----
.../src/docs/Component.stories.mdx | 74 ++++++++
.../description.mdx} | 66 +------
.../src/{ => docs}/Component.stories.mdx | 41 ++---
.../notification/src/docs/description.mdx | 29 +++
.../src/{ => docs}/Component.stories.mdx | 16 +-
packages/phone-input/src/docs/description.mdx | 7 +
.../src/docs/Component.stories.mdx | 54 ++++++
.../description.mdx} | 112 ++++--------
packages/picker-button/src/docs/options.ts | 17 ++
.../popover/src/docs/Component.stories.mdx | 94 ++++++++++
.../description.mdx} | 84 +--------
.../portal/src/docs/Component.stories.mdx | 34 ++++
.../description.mdx} | 28 +--
.../src/{ => docs}/Component.stories.mdx | 20 ++-
.../progress-bar/src/docs/description.mdx | 11 ++
.../src/{ => docs}/Component.stories.mdx | 16 +-
packages/pure-input/src/docs/description.mdx | 10 ++
.../src/docs/Component.stories.mdx | 68 +++++++
.../description.mdx} | 59 +-----
.../src/{ => docs}/Component.stories.mdx | 54 ++----
packages/radio/src/docs/description.mdx | 27 +++
.../Component.stories.mdx} | 53 +-----
.../select-with-tags/src/docs/constants.ts | 17 ++
.../select-with-tags/src/docs/description.mdx | 37 ++++
.../select/src/docs/Component.stories.mdx | 78 ++++++++
packages/select/src/docs/constants.ts | 66 +++++++
.../description.mdx} | 137 ++------------
.../skeleton/src/docs/Component.stories.mdx | 62 +++++++
.../description.mdx} | 56 +-----
.../src/docs/Component.stories.mdx | 75 ++++++++
.../description.mdx} | 62 +------
.../src/{ => docs}/Component.stories.mdx | 25 ++-
packages/slider/src/docs/description.mdx | 20 +++
packages/space/src/docs/Component.stories.mdx | 59 ++++++
.../description.mdx} | 48 +----
.../spinner/src/docs/Component.stories.mdx | 47 +++++
.../description.mdx} | 36 +---
packages/stack/src/docs/Component.stories.mdx | 38 ++++
.../description.mdx} | 35 +---
.../status/src/docs/Component.stories.mdx | 45 +++++
.../description.mdx} | 36 +---
.../switch/src/docs/Component.stories.mdx | 66 +++++++
.../description.mdx} | 55 +-----
packages/tabs/src/docs/Component.stories.mdx | 158 ++++++++++++++++
.../description.mdx} | 143 +--------------
packages/tag/src/docs/Component.stories.mdx | 61 +++++++
.../description.mdx} | 51 +-----
.../src/{ => docs}/Component.stories.mdx | 19 +-
packages/textarea/src/docs/description.mdx | 11 ++
.../Component.stories.mdx} | 28 ++-
packages/toast-plate/src/docs/description.mdx | 20 +++
.../tooltip/src/docs/Component.stories.mdx | 96 ++++++++++
.../description.mdx} | 87 +--------
.../typography/src/docs/Component.stories.mdx | 115 ++++++++++++
.../description.mdx} | 111 +-----------
...vars.stories.mdx => Component.stories.mdx} | 0
.../src/{ => docs}/Component.stories.mdx | 21 +--
packages/with-suffix/src/docs/description.mdx | 19 ++
138 files changed, 3838 insertions(+), 3055 deletions(-)
rename packages/alert/src/{ => docs}/Component.stories.mdx (69%)
create mode 100644 packages/alert/src/docs/description.mdx
create mode 100644 packages/amount-input/src/docs/Component.stories.mdx
rename packages/amount-input/src/{Component.stories.mdx => docs/description.mdx} (53%)
delete mode 100644 packages/amount/src/component.stories.mdx
create mode 100644 packages/amount/src/docs/component.stories.mdx
create mode 100644 packages/amount/src/docs/description.mdx
rename packages/attach/src/{ => docs}/Component.stories.mdx (79%)
create mode 100644 packages/attach/src/docs/description.mdx
rename packages/backdrop/src/{ => docs}/Component.stories.mdx (68%)
create mode 100644 packages/backdrop/src/docs/description.mdx
create mode 100644 packages/badge/src/docs/Component.stories.mdx
rename packages/badge/src/{Component.stories.mdx => docs/description.mdx} (71%)
create mode 100644 packages/bank-card/src/docs/Component.stories.mdx
rename packages/bank-card/src/{Component.stories.mdx => docs/description.mdx} (54%)
rename packages/base-modal/src/{ => docs}/Component.stories.mdx (94%)
create mode 100644 packages/base-modal/src/docs/description.mdx
create mode 100644 packages/calendar-input/src/docs/Component.stories.mdx
rename packages/calendar-input/src/{Component.stories.mdx => docs/description.mdx} (61%)
create mode 100644 packages/calendar-range/src/docs/Component.stories.mdx
rename packages/calendar-range/src/{Component.stories.mdx => docs/description.mdx} (75%)
delete mode 100644 packages/calendar-with-skeleton/src/Component.stories.mdx
create mode 100644 packages/calendar-with-skeleton/src/docs/Component.stories.mdx
create mode 100644 packages/calendar-with-skeleton/src/docs/description.mdx
create mode 100644 packages/calendar/src/docs/Component.stories.mdx
rename packages/calendar/src/{Component.stories.mdx => docs/description.mdx} (76%)
rename packages/card-image/src/{ => docs}/Component.stories.mdx (62%)
create mode 100644 packages/card-image/src/docs/description.mdx
rename packages/cdn-icon/src/{ => docs}/Component.stories.mdx (71%)
create mode 100644 packages/cdn-icon/src/docs/description.mdx
delete mode 100644 packages/checkbox-group/src/Component.stories.mdx
create mode 100644 packages/checkbox-group/src/docs/Component.stories.mdx
create mode 100644 packages/checkbox-group/src/docs/description.mdx
rename packages/checkbox/src/{ => docs}/Component.stories.mdx (61%)
create mode 100644 packages/checkbox/src/docs/description.mdx
rename packages/circular-progress-bar/src/{ => docs}/Component.stories.mdx (82%)
create mode 100644 packages/circular-progress-bar/src/docs/description.mdx
create mode 100644 packages/collapse/src/docs/Component.stories.mdx
rename packages/collapse/src/{Component.stories.mdx => docs/description.mdx} (62%)
rename packages/confirmation/src/{component.stories.mdx => docs/Component.stories.mdx} (93%)
create mode 100644 packages/confirmation/src/docs/description.mdx
rename packages/divider/src/{ => docs}/Component.stories.mdx (54%)
create mode 100644 packages/divider/src/docs/description.mdx
create mode 100644 packages/drawer/src/docs/Component.stories.mdx
rename packages/drawer/src/{Component.stories.mdx => docs/description.mdx} (72%)
create mode 100644 packages/dropzone/src/docs/Component.stories.mdx
rename packages/dropzone/src/{Component.stories.mdx => docs/description.mdx} (54%)
create mode 100644 packages/file-upload-item/src/docs/Component.stories.mdx
rename packages/file-upload-item/src/{Component.stories.mdx => docs/description.mdx} (56%)
rename packages/form-control/src/{ => docs}/Component.stories.mdx (76%)
create mode 100644 packages/form-control/src/docs/description.mdx
create mode 100644 packages/grid/src/docs/Component.stories.mdx
rename packages/grid/src/{Component.stories.mdx => docs/description.mdx} (91%)
create mode 100644 packages/icon-button/src/docs/Component.stories.mdx
rename packages/icon-button/src/{Component.stories.mdx => docs/description.mdx} (62%)
create mode 100644 packages/input-autocomplete/src/docs/Component.stories.mdx
rename packages/input-autocomplete/src/{Component.stories.mdx => docs/description.mdx} (71%)
create mode 100644 packages/input-autocomplete/src/docs/options.ts
rename packages/input/src/{ => docs}/Component.stories.mdx (77%)
create mode 100644 packages/input/src/docs/description.mdx
create mode 100644 packages/intl-phone-input/src/docs/Component.stories.mdx
rename packages/intl-phone-input/src/{component.stories.mdx => docs/description.mdx} (56%)
create mode 100644 packages/intl-phone-input/src/docs/options.ts
create mode 100644 packages/keyboard-focusable/src/docs/Component.stories.mdx
rename packages/keyboard-focusable/src/{Component.stories.mdx => docs/description.mdx} (70%)
create mode 100644 packages/link/src/docs/Component.stories.mdx
rename packages/link/src/{Component.stories.mdx => docs/description.mdx} (55%)
create mode 100644 packages/list-header/src/docs/Component.stories.mdx
rename packages/list-header/src/{Component.stories.mdx => docs/description.mdx} (59%)
rename packages/list/src/{ => docs}/Component.stories.mdx (69%)
create mode 100644 packages/list/src/docs/description.mdx
rename packages/loader/src/{ => docs}/Component.stories.mdx (60%)
create mode 100644 packages/loader/src/docs/description.mdx
create mode 100644 packages/masked-input/src/docs/Component.stories.mdx
create mode 100644 packages/masked-input/src/docs/constants.ts
rename packages/masked-input/src/{Component.stories.mdx => docs/description.mdx} (63%)
create mode 100644 packages/modal/src/docs/Component.stories.mdx
rename packages/modal/src/{Component.stories.mdx => docs/description.mdx} (66%)
create mode 100644 packages/mq/src/docs/Component.stories.mdx
rename packages/mq/src/{Component.stories.mdx => docs/description.mdx} (67%)
create mode 100644 packages/notification-manager/src/docs/Component.stories.mdx
rename packages/notification-manager/src/{component.stories.mdx => docs/description.mdx} (59%)
rename packages/notification/src/{ => docs}/Component.stories.mdx (53%)
create mode 100644 packages/notification/src/docs/description.mdx
rename packages/phone-input/src/{ => docs}/Component.stories.mdx (70%)
create mode 100644 packages/phone-input/src/docs/description.mdx
create mode 100644 packages/picker-button/src/docs/Component.stories.mdx
rename packages/picker-button/src/{Component.stories.mdx => docs/description.mdx} (73%)
create mode 100644 packages/picker-button/src/docs/options.ts
create mode 100644 packages/popover/src/docs/Component.stories.mdx
rename packages/popover/src/{Component.stories.mdx => docs/description.mdx} (64%)
create mode 100644 packages/portal/src/docs/Component.stories.mdx
rename packages/portal/src/{Component.stories.mdx => docs/description.mdx} (74%)
rename packages/progress-bar/src/{ => docs}/Component.stories.mdx (62%)
create mode 100644 packages/progress-bar/src/docs/description.mdx
rename packages/pure-input/src/{ => docs}/Component.stories.mdx (80%)
create mode 100644 packages/pure-input/src/docs/description.mdx
create mode 100644 packages/radio-group/src/docs/Component.stories.mdx
rename packages/radio-group/src/{Component.stories.mdx => docs/description.mdx} (59%)
rename packages/radio/src/{ => docs}/Component.stories.mdx (56%)
create mode 100644 packages/radio/src/docs/description.mdx
rename packages/select-with-tags/src/{component.stories.mdx => docs/Component.stories.mdx} (60%)
create mode 100644 packages/select-with-tags/src/docs/constants.ts
create mode 100644 packages/select-with-tags/src/docs/description.mdx
create mode 100644 packages/select/src/docs/Component.stories.mdx
create mode 100644 packages/select/src/docs/constants.ts
rename packages/select/src/{Component.stories.mdx => docs/description.mdx} (77%)
create mode 100644 packages/skeleton/src/docs/Component.stories.mdx
rename packages/skeleton/src/{Component.stories.mdx => docs/description.mdx} (54%)
create mode 100644 packages/slider-input/src/docs/Component.stories.mdx
rename packages/slider-input/src/{Component.stories.mdx => docs/description.mdx} (79%)
rename packages/slider/src/{ => docs}/Component.stories.mdx (76%)
create mode 100644 packages/slider/src/docs/description.mdx
create mode 100644 packages/space/src/docs/Component.stories.mdx
rename packages/space/src/{Component.stories.mdx => docs/description.mdx} (78%)
create mode 100644 packages/spinner/src/docs/Component.stories.mdx
rename packages/spinner/src/{Component.stories.mdx => docs/description.mdx} (61%)
create mode 100644 packages/stack/src/docs/Component.stories.mdx
rename packages/stack/src/{component.stories.mdx => docs/description.mdx} (92%)
create mode 100644 packages/status/src/docs/Component.stories.mdx
rename packages/status/src/{Component.stories.mdx => docs/description.mdx} (70%)
create mode 100644 packages/switch/src/docs/Component.stories.mdx
rename packages/switch/src/{Component.stories.mdx => docs/description.mdx} (65%)
create mode 100644 packages/tabs/src/docs/Component.stories.mdx
rename packages/tabs/src/{Component.stories.mdx => docs/description.mdx} (55%)
create mode 100644 packages/tag/src/docs/Component.stories.mdx
rename packages/tag/src/{Component.stories.mdx => docs/description.mdx} (53%)
rename packages/textarea/src/{ => docs}/Component.stories.mdx (79%)
create mode 100644 packages/textarea/src/docs/description.mdx
rename packages/toast-plate/src/{component.stories.mdx => docs/Component.stories.mdx} (71%)
create mode 100644 packages/toast-plate/src/docs/description.mdx
create mode 100644 packages/tooltip/src/docs/Component.stories.mdx
rename packages/tooltip/src/{Component.stories.mdx => docs/description.mdx} (52%)
create mode 100644 packages/typography/src/docs/Component.stories.mdx
rename packages/typography/src/{component.stories.mdx => docs/description.mdx} (56%)
rename packages/vars/src/{vars.stories.mdx => Component.stories.mdx} (100%)
rename packages/with-suffix/src/{ => docs}/Component.stories.mdx (73%)
create mode 100644 packages/with-suffix/src/docs/description.mdx
diff --git a/packages/alert/src/Component.stories.mdx b/packages/alert/src/docs/Component.stories.mdx
similarity index 69%
rename from packages/alert/src/Component.stories.mdx
rename to packages/alert/src/docs/Component.stories.mdx
index 50d3f85fe9..b12e4f390a 100644
--- a/packages/alert/src/Component.stories.mdx
+++ b/packages/alert/src/docs/Component.stories.mdx
@@ -2,11 +2,14 @@ import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
import { select, text, boolean } from '@storybook/addon-knobs';
import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
+import { CssVars, Tabs } from 'storybook/blocks';
-import { Alert } from './Component';
-import { Button } from '../../button/src';
+import { Alert } from '../Component';
+import { Button } from '../../../button/src';
+import Description from './description.mdx'
+import styles from '!!raw-loader!../index.module.css';
-import { name, version } from '../package.json';
+import { name, version } from '../../package.json';
- Вам одобрено. Согласитесь на предложение
-
-
-
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/alert/src/docs/description.mdx b/packages/alert/src/docs/description.mdx
new file mode 100644
index 0000000000..4de83886be
--- /dev/null
+++ b/packages/alert/src/docs/description.mdx
@@ -0,0 +1,7 @@
+Информирует пользователя о чем-либо. Может использоваться как сообщение, комментарий или предупреждение от системы.
+
+```tsx live
+
+ Вам одобрено. Согласитесь на предложение
+
+```
diff --git a/packages/amount-input/src/docs/Component.stories.mdx b/packages/amount-input/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..1d0aca306f
--- /dev/null
+++ b/packages/amount-input/src/docs/Component.stories.mdx
@@ -0,0 +1,63 @@
+import Icon from '@alfalab/icons-glyph/StarMIcon';
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { text, select, boolean, number } from '@storybook/addon-knobs';
+import { action } from '@storybook/addon-actions';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+
+import { AmountInput } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+ }
+ bottomAddons={boolean('bottomAddons', false) && bottom text }
+ onChange={action('change')}
+ clear={boolean('clear', false)}
+ readOnly={boolean('readOnly', false)}
+ />
+
+
+
+
+
+
+```tsx
+import { AmountInput } from '@alfalab/core-components-amount-input';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/amount-input/src/Component.stories.mdx b/packages/amount-input/src/docs/description.mdx
similarity index 53%
rename from packages/amount-input/src/Component.stories.mdx
rename to packages/amount-input/src/docs/description.mdx
index a886113bf4..b0dd94857f 100644
--- a/packages/amount-input/src/Component.stories.mdx
+++ b/packages/amount-input/src/docs/description.mdx
@@ -1,59 +1,7 @@
-import Icon from '@alfalab/icons-glyph/StarMIcon';
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { text, select, boolean, number } from '@storybook/addon-knobs';
-import { action } from '@storybook/addon-actions';
import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Preview } from '@storybook/addon-docs/blocks';
-import { AmountInput } from './Component';
-import { name, version } from '../package.json';
-
-
-
-
-
-
-
-
- }
- bottomAddons={boolean('bottomAddons', false) && bottom text }
- onChange={action('change')}
- clear={boolean('clear', false)}
- readOnly={boolean('readOnly', false)}
- />
-
-
-
-
-
-
-
-```tsx
-import { AmountInput } from '@alfalab/core-components-amount-input';
-```
+import { AmountInput } from '../Component';
Компонент текстового поля для ввода денежных значений.
@@ -62,9 +10,6 @@ import { AmountInput } from '@alfalab/core-components-amount-input';
-
-
-
### Uncontrolled-way
Можно ничего не передавать в компонент и реагировать на 'onChange'
diff --git a/packages/amount/src/component.stories.mdx b/packages/amount/src/component.stories.mdx
deleted file mode 100644
index b00009d254..0000000000
--- a/packages/amount/src/component.stories.mdx
+++ /dev/null
@@ -1,170 +0,0 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { text, select, boolean, number } from '@storybook/addon-knobs';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import { Amount } from '.';
-import { Typography } from '../../typography/src';
-import { getAllCurrencyCodes } from '@alfalab/utils';
-import { name, version } from '../package.json';
-
-
-
-
-
-
-
-
- {React.createElement(() => {
- const currencyCodes = getAllCurrencyCodes();
- const value = number('value', 12300);
- const currency = select('currency', currencyCodes, 'RUR');
- const minority = number('minority', 100);
- const view = select('view', ['default', 'withZeroMinorPart'], 'default');
- const className = select('className', '');
- const dataTestId = text('dataTestId', '');
- return (
-
-
- Amount
- Amount.Pure (Без стилей)
-
-
-
-
-
-
-
-
-
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { Amount } from '@alfalab/core-components-amount';
-```
-
-Компонент для отображения суммы, согласно гайдлайну:
-https://design.alfabank.ru/patterns/amount
-
-
-
-
-
-
-
-## Контекст использования
-
-
-
-- `view="withZeroMinorPart"`: показывает минорную часть, даже если её значение равно 0
-
-
-
-
-
-
- Значение
-
-
- 1234500
-
-
- 1234567
-
-
-
-
- view="default"
-
-
-
-
-
-
-
-
-
-
- view="withZeroMinorPart"
-
-
-
-
-
-
-
-
-
-
-
-
-- Внутри заголовка
-
-
-
-
-
-
-
-
-
-- Внутри параграфа
-
-
-
-
-
-
-
-
-
-- Внутри красного текста
-
-
-
-
-
-
-
-
-
-- Без стилей
-
-
-
-
-
-
-
-
diff --git a/packages/amount/src/docs/component.stories.mdx b/packages/amount/src/docs/component.stories.mdx
new file mode 100644
index 0000000000..ad9600ca8c
--- /dev/null
+++ b/packages/amount/src/docs/component.stories.mdx
@@ -0,0 +1,84 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { text, select, boolean, number } from '@storybook/addon-knobs';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+import { CssVars } from 'storybook/blocks/css-vars';
+
+import { Amount } from '../.';
+import { getAllCurrencyCodes } from '@alfalab/utils';
+import { name, version } from '../../package.json';
+import Description from './description.mdx'
+import styles from '!!raw-loader!../index.module.css';
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const currencyCodes = getAllCurrencyCodes();
+ const value = number('value', 12300);
+ const currency = select('currency', currencyCodes, 'RUR');
+ const minority = number('minority', 100);
+ const view = select('view', ['default', 'withZeroMinorPart'], 'default');
+ const className = select('className', '');
+ const dataTestId = text('dataTestId', '');
+ return (
+
+
+ Amount
+ Amount.Pure (Без стилей)
+
+
+
+
+
+
+
+
+
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { Amount } from '@alfalab/core-components-amount';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
\ No newline at end of file
diff --git a/packages/amount/src/docs/description.mdx b/packages/amount/src/docs/description.mdx
new file mode 100644
index 0000000000..79931f066f
--- /dev/null
+++ b/packages/amount/src/docs/description.mdx
@@ -0,0 +1,100 @@
+import { Container, Row, Col } from 'storybook/blocks/grid';
+
+import { Preview } from '@storybook/addon-docs/blocks';
+
+import { Typography } from '../../../typography/src';
+import { Amount } from '../.';
+
+Компонент для отображения суммы, согласно гайдлайну:
+https://design.alfabank.ru/patterns/amount
+
+
+
+
+
+
+## Контекст использования
+
+
+
+- `view="withZeroMinorPart"`: показывает минорную часть, даже если её значение равно 0
+
+
+
+
+
+
+ Значение
+
+
+ 1234500
+
+
+ 1234567
+
+
+
+
+ view="default"
+
+
+
+
+
+
+
+
+
+
+ view="withZeroMinorPart"
+
+
+
+
+
+
+
+
+
+
+
+
+- Внутри заголовка
+
+
+
+
+
+
+
+
+
+- Внутри параграфа
+
+
+
+
+
+
+
+
+
+- Внутри красного текста
+
+
+
+
+
+
+
+
+
+- Без стилей
+
+
+
+
+
+
+
+
diff --git a/packages/attach/src/Component.stories.mdx b/packages/attach/src/docs/Component.stories.mdx
similarity index 79%
rename from packages/attach/src/Component.stories.mdx
rename to packages/attach/src/docs/Component.stories.mdx
index e5cc3352fa..66ca04c91a 100644
--- a/packages/attach/src/Component.stories.mdx
+++ b/packages/attach/src/docs/Component.stories.mdx
@@ -1,9 +1,11 @@
import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
import { text, select, boolean, number } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
-import { Attach } from './Component';
-import { name, version } from '../package.json';
+import Description from './description.mdx';
+import { Attach } from '../Component';
+import { name, version } from '../../package.json';
+ }
+ props={ }
+/>
-
diff --git a/packages/attach/src/docs/description.mdx b/packages/attach/src/docs/description.mdx
new file mode 100644
index 0000000000..40c355421d
--- /dev/null
+++ b/packages/attach/src/docs/description.mdx
@@ -0,0 +1,5 @@
+import { Attach } from '../Component'
+
+Компонент прикрепления файлов.
+
+
\ No newline at end of file
diff --git a/packages/backdrop/src/Component.stories.mdx b/packages/backdrop/src/docs/Component.stories.mdx
similarity index 68%
rename from packages/backdrop/src/Component.stories.mdx
rename to packages/backdrop/src/docs/Component.stories.mdx
index bd5ccd4fe7..2265e2d6d1 100644
--- a/packages/backdrop/src/Component.stories.mdx
+++ b/packages/backdrop/src/docs/Component.stories.mdx
@@ -2,9 +2,12 @@ import { Meta, Props, Preview, Story } from '@storybook/addon-docs/blocks';
import {boolean, select, text} from '@storybook/addon-knobs';
import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import { Backdrop } from './Component';
-import { version } from '../package.json';
+import { Tabs } from 'storybook/blocks/tabs'
+import { CssVars } from 'storybook/blocks/css-vars';
+import vars from '!!raw-loader!../vars.css';
+import { Backdrop } from '../Component';
+import { version } from '../../package.json';
+import Description from './description.mdx';
+ }
+ props={ }
+ cssProps={}
+/>
+
diff --git a/packages/backdrop/src/docs/description.mdx b/packages/backdrop/src/docs/description.mdx
new file mode 100644
index 0000000000..eaae1c7d48
--- /dev/null
+++ b/packages/backdrop/src/docs/description.mdx
@@ -0,0 +1,6 @@
+import { Container, Row, Col } from 'storybook/blocks/grid';
+
+import { Backdrop } from '../Component'
+
+Компонент для затемнения фона.
+Поддерживает все параметры из [CSSTransition](http://reactcommunity.org/react-transition-group/css-transition).
\ No newline at end of file
diff --git a/packages/badge/src/docs/Component.stories.mdx b/packages/badge/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..01e2709fcd
--- /dev/null
+++ b/packages/badge/src/docs/Component.stories.mdx
@@ -0,0 +1,77 @@
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
+import { select, number, boolean } from '@storybook/addon-knobs';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+import { CssVars } from 'storybook/blocks/css-vars';
+
+import { CheckmarkOnCircleMIcon } from '@alfalab/icons-glyph';
+import { AlertCircleMIcon } from '@alfalab/icons-glyph';
+import { CrossCircleMIcon } from '@alfalab/icons-glyph';
+import { StopCircleMIcon } from '@alfalab/icons-glyph';
+import { InformationCircleMIcon } from '@alfalab/icons-glyph';
+import { ClockMIcon } from '@alfalab/icons-glyph';
+
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { Badge } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const view = select('view', ['count', 'icon'], 'count');
+ const props = view === 'count' ?
+ {
+ view,
+ content: number('content', 1),
+ size: select('size', ['s', 'm', 'l'], 'm'),
+ } : {
+ view,
+ content: ,
+ visibleIconOutline: boolean('visibleIconOutline', false),
+ iconColor: select(
+ 'iconColor',
+ ['positive', 'attention', 'negative', 'tertiary', 'secondary', 'primary'],
+ 'positive'
+ )
+ }
+ return (
+
+
+
+ )
+ })}
+
+
+
+
+
+
+
+```tsx
+import { Badge } from '@alfalab/core-components-badge';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
\ No newline at end of file
diff --git a/packages/badge/src/Component.stories.mdx b/packages/badge/src/docs/description.mdx
similarity index 71%
rename from packages/badge/src/Component.stories.mdx
rename to packages/badge/src/docs/description.mdx
index 2ae2dbdef9..4dd51bf02f 100644
--- a/packages/badge/src/Component.stories.mdx
+++ b/packages/badge/src/docs/description.mdx
@@ -1,70 +1,7 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { select, number, boolean } from '@storybook/addon-knobs';
+import { Preview } from '@storybook/addon-docs/blocks';
import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import { CheckmarkOnCircleMIcon } from '@alfalab/icons-glyph';
-import { AlertCircleMIcon } from '@alfalab/icons-glyph';
-import { CrossCircleMIcon } from '@alfalab/icons-glyph';
-import { StopCircleMIcon } from '@alfalab/icons-glyph';
-import { InformationCircleMIcon } from '@alfalab/icons-glyph';
-import { ClockMIcon } from '@alfalab/icons-glyph';
-
-import { Badge } from './Component';
-import { name, version } from '../package.json';
-
-
-
-
-
-
-
-
- {React.createElement(() => {
- const view = select('view', ['count', 'icon'], 'count');
- const props = view === 'count' ?
- {
- view,
- content: number('content', 1),
- size: select('size', ['s', 'm', 'l'], 'm'),
- } : {
- view,
- content: ,
- visibleIconOutline: boolean('visibleIconOutline', false),
- iconColor: select(
- 'iconColor',
- ['positive', 'attention', 'negative', 'tertiary', 'secondary', 'primary'],
- 'positive'
- )
- }
- return (
-
-
-
- )
- })}
-
-
-
-
-
-
-
-```tsx
-import { Badge } from '@alfalab/core-components-badge';
-```
+import { Badge } from '../Component'
Бывает двух видов: бейдж и стикер.
@@ -181,4 +118,3 @@ import { Badge } from '@alfalab/core-components-badge';
-
diff --git a/packages/bank-card/src/docs/Component.stories.mdx b/packages/bank-card/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..f7cd0566f2
--- /dev/null
+++ b/packages/bank-card/src/docs/Component.stories.mdx
@@ -0,0 +1,40 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, select } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { BankCard } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```tsx
+import { BankCard } from '@alfalab/core-components-bank-card';
+```
+
+ }
+ props={ }
+/>
diff --git a/packages/bank-card/src/Component.stories.mdx b/packages/bank-card/src/docs/description.mdx
similarity index 54%
rename from packages/bank-card/src/Component.stories.mdx
rename to packages/bank-card/src/docs/description.mdx
index 393c6b952f..f4d0dfcf73 100644
--- a/packages/bank-card/src/Component.stories.mdx
+++ b/packages/bank-card/src/docs/description.mdx
@@ -1,45 +1,11 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
-import { text, select } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import { BankCard } from './Component';
-import { name, version } from '../package.json';
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```tsx
+import { Preview } from '@storybook/addon-docs/blocks';
import { BankCard } from '@alfalab/core-components-bank-card';
-```
+
Компонент в виде карты для ввода номера карты или банковского счета.
-
-
-
### Controlled-way
Компонент может быть использован как controlled с помощью `onChange` и `value`:
diff --git a/packages/base-modal/src/Component.stories.mdx b/packages/base-modal/src/docs/Component.stories.mdx
similarity index 94%
rename from packages/base-modal/src/Component.stories.mdx
rename to packages/base-modal/src/docs/Component.stories.mdx
index f118776a91..165b670e1f 100644
--- a/packages/base-modal/src/Component.stories.mdx
+++ b/packages/base-modal/src/docs/Component.stories.mdx
@@ -1,10 +1,10 @@
import { Meta, Props, Preview, Story } from '@storybook/addon-docs/blocks';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Button } from '../../button/src';
+import { Button } from '../../../button/src';
-import { BaseModal } from './Component';
-import { version } from '../package.json';
+import { BaseModal } from '../Component';
+import { version } from '../../package.json';
+
+
+
+
+
+ {React.createElement(() => {
+ const [value, setValue] = React.useState(formatDate(new Date()));
+ const handleChange = (event, { value }) => setValue(value);
+ return (
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { CalendarInput } from '@alfalab/core-components-calendar-input';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
\ No newline at end of file
diff --git a/packages/calendar-input/src/Component.stories.mdx b/packages/calendar-input/src/docs/description.mdx
similarity index 61%
rename from packages/calendar-input/src/Component.stories.mdx
rename to packages/calendar-input/src/docs/description.mdx
index 9a7dddcc95..4f0967634d 100644
--- a/packages/calendar-input/src/Component.stories.mdx
+++ b/packages/calendar-input/src/docs/description.mdx
@@ -1,65 +1,9 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { action } from '@storybook/addon-actions';
-import { text, select, boolean, number } from '@storybook/addon-knobs';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import Icon from '@alfalab/icons-glyph/StarMIcon';
-
import { startOfMonth, startOfDay, subMonths, addMonths } from 'date-fns';
+import { Preview } from '@storybook/addon-docs/blocks';
-import { CalendarInput } from './Component';
-import { parseDateString, formatDate } from './utils';
-
-import { name, version } from '../package.json';
-
-import styles from './stories.module.css';
-
-
-
-
-
-
-
-
- {React.createElement(() => {
- const [value, setValue] = React.useState(formatDate(new Date()));
- const handleChange = (event, { value }) => setValue(value);
- return (
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { CalendarInput } from '@alfalab/core-components-calendar-input';
-```
+import { CalendarInput } from '../Component'
+import { parseDateString, formatDate } from '../utils';
+import styles from '../stories.module.css';
Компонент для ввода даты.
@@ -72,8 +16,6 @@ import { CalendarInput } from '@alfalab/core-components-calendar-input';
})}
-
-
### Controlled-way
diff --git a/packages/calendar-range/src/docs/Component.stories.mdx b/packages/calendar-range/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..a819103044
--- /dev/null
+++ b/packages/calendar-range/src/docs/Component.stories.mdx
@@ -0,0 +1,38 @@
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { CalendarRange } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+
+
+
+
+
+```tsx
+import { CalendarRange } from '@alfalab/core-components-calendar-range';
+```
+
+ }
+ props={ }
+/>
\ No newline at end of file
diff --git a/packages/calendar-range/src/Component.stories.mdx b/packages/calendar-range/src/docs/description.mdx
similarity index 75%
rename from packages/calendar-range/src/Component.stories.mdx
rename to packages/calendar-range/src/docs/description.mdx
index 5190a96bc8..5695368eea 100644
--- a/packages/calendar-range/src/Component.stories.mdx
+++ b/packages/calendar-range/src/docs/description.mdx
@@ -1,47 +1,15 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { action } from '@storybook/addon-actions';
+import { Preview } from '@storybook/addon-docs/blocks';
import { text, select, boolean, number } from '@storybook/addon-knobs';
+import { action } from '@storybook/addon-actions';
import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
import { startOfMonth, startOfDay, subMonths, addMonths } from 'date-fns';
+import { parseDateString } from '../../../calendar-input/src/utils';
-import { CalendarRange } from './Component';
-import { name, version } from '../package.json';
-
-import { parseDateString } from '../../calendar-input/src/utils';
-
-
-
-
-
-
-
-
-
-
-
-
-
-```tsx
-import { CalendarRange } from '@alfalab/core-components-calendar-range';
-```
+import { CalendarRange } from '../Component'
Компонент для ввода даты.
-
-
-
### Controlled-way
diff --git a/packages/calendar-with-skeleton/src/Component.stories.mdx b/packages/calendar-with-skeleton/src/Component.stories.mdx
deleted file mode 100644
index 1cb15944b3..0000000000
--- a/packages/calendar-with-skeleton/src/Component.stories.mdx
+++ /dev/null
@@ -1,91 +0,0 @@
-import { text, boolean } from '@storybook/addon-knobs';
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import { CalendarWithSkeleton } from '.';
-import { name, version } from '../package.json';
-
-import { CalendarInput } from '../../calendar-input/src';
-import { CalendarRange } from '../../calendar-range/src';
-import { Button } from '../../button/src';
-
-
-
-
-
-
-
-
- {React.createElement(() => {
- const [visible, setVisible] = React.useState(false);
- return (
- <>
-
- setVisible(!visible)}>toggle
- >
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { CalendarWithSkeleton } from '@alfalab/core-components-calendar-with-skeleton';
-```
-
-Календарь с возможностью скелетной загрузки
-
-
- {React.createElement(() => {
- const [visible, setVisible] = React.useState(false);
- return (
- <>
-
- setVisible(!visible)}>toggle
- >
- );
- })}
-
-
-
-
-## Использование с другими компонентами
-
-
- {React.createElement(() => {
- return (
-
- );
- })}
-
-
-
- {React.createElement(() => {
- return (
-
- );
- })}
-
diff --git a/packages/calendar-with-skeleton/src/docs/Component.stories.mdx b/packages/calendar-with-skeleton/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..cdb7567130
--- /dev/null
+++ b/packages/calendar-with-skeleton/src/docs/Component.stories.mdx
@@ -0,0 +1,51 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import styles from '!!raw-loader!../index.module.css';
+import Description from './description.mdx';
+import { name, version } from '../../package.json';
+import { Button } from '../../../button/src';
+import { CalendarWithSkeleton } from '../.';
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const [visible, setVisible] = React.useState(false);
+ return (
+ <>
+
+ setVisible(!visible)}>toggle
+ >
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { CalendarWithSkeleton } from '@alfalab/core-components-calendar-with-skeleton';
+```
+
+ }
+ props={ }
+/>
\ No newline at end of file
diff --git a/packages/calendar-with-skeleton/src/docs/description.mdx b/packages/calendar-with-skeleton/src/docs/description.mdx
new file mode 100644
index 0000000000..95b4baabc1
--- /dev/null
+++ b/packages/calendar-with-skeleton/src/docs/description.mdx
@@ -0,0 +1,50 @@
+import { text, boolean } from '@storybook/addon-knobs';
+import { Preview } from '@storybook/addon-docs/blocks';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+
+import { CalendarInput } from '../../../calendar-input/src';
+import { CalendarRange } from '../../../calendar-range/src';
+import { CalendarWithSkeleton } from '../Component';
+
+Календарь с возможностью скелетной загрузки
+
+
+ {React.createElement(() => {
+ const [visible, setVisible] = React.useState(false);
+ return (
+ <>
+
+ setVisible(!visible)}>toggle
+ >
+ );
+ })}
+
+
+
+
+## Использование с другими компонентами
+
+
+ {React.createElement(() => {
+ return (
+
+ );
+ })}
+
+
+
+ {React.createElement(() => {
+ return (
+
+ );
+ })}
+
diff --git a/packages/calendar/src/docs/Component.stories.mdx b/packages/calendar/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..8abd32b40d
--- /dev/null
+++ b/packages/calendar/src/docs/Component.stories.mdx
@@ -0,0 +1,61 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { action } from '@storybook/addon-actions';
+import { select, number } from '@storybook/addon-knobs';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+import { CssVars } from 'storybook/blocks/css-vars';
+import styles from '!!raw-loader!../index.module.css';
+import vars from '!!raw-loader!../vars.css';
+
+import Description from './description.mdx';
+import { Calendar } from '../';
+
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const [value, setValue] = React.useState();
+ return (
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { Calendar } from '@alfalab/core-components-calendar';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
+
diff --git a/packages/calendar/src/Component.stories.mdx b/packages/calendar/src/docs/description.mdx
similarity index 76%
rename from packages/calendar/src/Component.stories.mdx
rename to packages/calendar/src/docs/description.mdx
index 17b864cab0..ae290e2df2 100644
--- a/packages/calendar/src/Component.stories.mdx
+++ b/packages/calendar/src/docs/description.mdx
@@ -1,58 +1,8 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { action } from '@storybook/addon-actions';
-import { select, number } from '@storybook/addon-knobs';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
import startOfDay from 'date-fns/startOfDay';
+import { Preview } from '@storybook/addon-docs/blocks';
-import { Calendar } from './';
-import { usePeriod } from './usePeriod';
-
-import { name, version } from '../package.json';
-
-
-
-
-
-
-
-
- {React.createElement(() => {
- const [value, setValue] = React.useState();
- return (
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { Calendar } from '@alfalab/core-components-calendar';
-```
-
-
-
+import { Calendar } from '../Component';
+import { usePeriod } from '../usePeriod';
## Выбор даты из ограниченного интервала
diff --git a/packages/card-image/src/Component.stories.mdx b/packages/card-image/src/docs/Component.stories.mdx
similarity index 62%
rename from packages/card-image/src/Component.stories.mdx
rename to packages/card-image/src/docs/Component.stories.mdx
index 8d744892d3..99fb837882 100644
--- a/packages/card-image/src/Component.stories.mdx
+++ b/packages/card-image/src/docs/Component.stories.mdx
@@ -1,9 +1,13 @@
import { Meta, Story, Props, Preview, Title } from '@storybook/addon-docs/blocks';
import { text, boolean, number } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+import { CssVars } from 'storybook/blocks/css-vars';
-import { CardImage } from './Component';
-import { name, version } from '../package.json';
+import styles from '!!raw-loader!../index.module.css';
+import Description from './description.mdx';
+import { CardImage } from '../Component';
+import { name, version } from '../../package.json';
-
-
+ }
+ props={ }
+ cssVars={ }
+/>
\ No newline at end of file
diff --git a/packages/card-image/src/docs/description.mdx b/packages/card-image/src/docs/description.mdx
new file mode 100644
index 0000000000..387f68edc8
--- /dev/null
+++ b/packages/card-image/src/docs/description.mdx
@@ -0,0 +1,17 @@
+import { CardImage } from '../Component'
+
+## Описание
+
+Компонент изображения карты.
+
+Показывает прелоадер пока картинка не загрузится (переопределяется через переменную --card-image-background)
+
+
\ No newline at end of file
diff --git a/packages/cdn-icon/src/Component.stories.mdx b/packages/cdn-icon/src/docs/Component.stories.mdx
similarity index 71%
rename from packages/cdn-icon/src/Component.stories.mdx
rename to packages/cdn-icon/src/docs/Component.stories.mdx
index deb5a6f3c2..cfd4aed142 100644
--- a/packages/cdn-icon/src/Component.stories.mdx
+++ b/packages/cdn-icon/src/docs/Component.stories.mdx
@@ -1,8 +1,10 @@
import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
-import { CDNIcon } from './Component';
-import { version } from '../package.json';
+import Description from './description.mdx';
+import { CDNIcon } from '../Component';
+import { version } from '../../package.json';
-
-
-
+ }
+ props={ }
+/>
\ No newline at end of file
diff --git a/packages/cdn-icon/src/docs/description.mdx b/packages/cdn-icon/src/docs/description.mdx
new file mode 100644
index 0000000000..2a275a7e0b
--- /dev/null
+++ b/packages/cdn-icon/src/docs/description.mdx
@@ -0,0 +1,5 @@
+import { CDNIcon } from '../Component'
+
+Компонент иконки, которая запрашивается с сервера.
+
+
diff --git a/packages/checkbox-group/src/Component.stories.mdx b/packages/checkbox-group/src/Component.stories.mdx
deleted file mode 100644
index d06d32e021..0000000000
--- a/packages/checkbox-group/src/Component.stories.mdx
+++ /dev/null
@@ -1,112 +0,0 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
-import { text, boolean, select } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import { CheckboxGroup } from './Component';
-import { name, version } from '../package.json';
-import { Checkbox } from '../../checkbox/src';
-import { Tag } from '../../tag/src';
-
-
-
-
-
-
-
-
- {React.createElement(() => {
- const [value, setValue] = React.useState({ one: false, two: false, three: false });
- const onChange = (_, payload) => {
- setValue({ ...value, [payload.name]: payload.checked });
- };
- const direction = select('direction', ['vertical', 'horizontal'], 'vertical');
- const error = text('error', '');
- const disabled = boolean('disabled', false);
- const label = text('label', 'Заголовок группы');
- return (
-
-
-
-
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { CheckboxGroup } from '@alfalab/core-components-checkbox-group';
-```
-
-Компонент группы чекбоксов.
-
-
- {React.createElement(() => {
- const [value, setValue] = React.useState({ one: false, two: false, three: false });
- const onChange = (_, payload) => {
- setValue({ ...value, [payload.name]: payload.checked });
- };
- return (
-
-
-
-
-
- );
- })}
-
-
-
-
-
-
-### Группа чекбоксов, использующая компонент `Tag`
-
-
- {React.createElement(() => {
- const [value, setValue] = React.useState({ one: false, two: false, three: false });
- const onChange = (_, payload) => {
- setValue({ ...value, [payload.name]: payload.checked });
- };
- return (
-
-
- Первый вариант
-
-
- Второй вариант
-
-
- Третий вариант
-
-
- );
- })}
-
diff --git a/packages/checkbox-group/src/docs/Component.stories.mdx b/packages/checkbox-group/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..64c2f625f0
--- /dev/null
+++ b/packages/checkbox-group/src/docs/Component.stories.mdx
@@ -0,0 +1,65 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, boolean, select } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { CheckboxGroup } from '../Component';
+import { name, version } from '../../package.json';
+import { Checkbox } from '../../../checkbox/src';
+import { Tag } from '../../../tag/src';
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const [value, setValue] = React.useState({ one: false, two: false, three: false });
+ const onChange = (_, payload) => {
+ setValue({ ...value, [payload.name]: payload.checked });
+ };
+ const direction = select('direction', ['vertical', 'horizontal'], 'vertical');
+ const error = text('error', '');
+ const disabled = boolean('disabled', false);
+ const label = text('label', 'Заголовок группы');
+ return (
+
+
+
+
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { CheckboxGroup } from '@alfalab/core-components-checkbox-group';
+```
+
+ }
+ props={ }
+/>
\ No newline at end of file
diff --git a/packages/checkbox-group/src/docs/description.mdx b/packages/checkbox-group/src/docs/description.mdx
new file mode 100644
index 0000000000..37a8f59641
--- /dev/null
+++ b/packages/checkbox-group/src/docs/description.mdx
@@ -0,0 +1,55 @@
+import { Preview } from '@storybook/addon-docs/blocks';
+
+import { CheckboxGroup } from '../Component';
+import { Checkbox } from '../../../checkbox/src';
+import { Tag } from '../../../tag/src';
+
+Компонент группы чекбоксов.
+
+
+ {React.createElement(() => {
+ const [value, setValue] = React.useState({ one: false, two: false, three: false });
+ const onChange = (_, payload) => {
+ setValue({ ...value, [payload.name]: payload.checked });
+ };
+ return (
+
+
+
+
+
+ );
+ })}
+
+
+### Группа чекбоксов, использующая компонент `Tag`
+
+
+ {React.createElement(() => {
+ const [value, setValue] = React.useState({ one: false, two: false, three: false });
+ const onChange = (_, payload) => {
+ setValue({ ...value, [payload.name]: payload.checked });
+ };
+ return (
+
+
+ Первый вариант
+
+
+ Второй вариант
+
+
+ Третий вариант
+
+
+ );
+ })}
+
diff --git a/packages/checkbox/src/Component.stories.mdx b/packages/checkbox/src/docs/Component.stories.mdx
similarity index 61%
rename from packages/checkbox/src/Component.stories.mdx
rename to packages/checkbox/src/docs/Component.stories.mdx
index d91c8fc7b7..20b062462f 100644
--- a/packages/checkbox/src/Component.stories.mdx
+++ b/packages/checkbox/src/docs/Component.stories.mdx
@@ -1,9 +1,13 @@
import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, boolean, select } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+import { CssVars } from 'storybook/blocks/css-vars';
+import styles from '!!raw-loader!../index.module.css';
-import { Checkbox } from './Component';
-import { name, version } from '../package.json';
+import Description from './description.mdx';
+import { Checkbox } from '../Component';
+import { name, version } from '../../package.json';
- {React.createElement(() => {
- const [checked, setChecked] = React.useState(false);
- const handleChange = () => setChecked(!checked);
- return (
-
- );
- })}
-
-
-
-
-
-
-### Чекбокс c неопределенным (indeterminate) состоянием
-
-
- {React.createElement(() => {
- const [checked, setChecked] = React.useState(false);
- const handleChange = () => setChecked(!checked);
- return (
-
- );
- })}
-
+ }
+ props={ }
+ cssVars={ }
+/>
\ No newline at end of file
diff --git a/packages/checkbox/src/docs/description.mdx b/packages/checkbox/src/docs/description.mdx
new file mode 100644
index 0000000000..f0bfec97d2
--- /dev/null
+++ b/packages/checkbox/src/docs/description.mdx
@@ -0,0 +1,36 @@
+import { Preview } from '@storybook/addon-docs/blocks';
+import { Checkbox } from '../Component';
+
+Компонент чекбокса.
+
+
+ {React.createElement(() => {
+ const [checked, setChecked] = React.useState(false);
+ const handleChange = () => setChecked(!checked);
+ return (
+
+ );
+ })}
+
+
+### Чекбокс c неопределенным (indeterminate) состоянием
+
+
+ {React.createElement(() => {
+ const [checked, setChecked] = React.useState(false);
+ const handleChange = () => setChecked(!checked);
+ return (
+
+ );
+ })}
+
diff --git a/packages/circular-progress-bar/src/Component.stories.mdx b/packages/circular-progress-bar/src/docs/Component.stories.mdx
similarity index 82%
rename from packages/circular-progress-bar/src/Component.stories.mdx
rename to packages/circular-progress-bar/src/docs/Component.stories.mdx
index 55a79d1839..683af39aff 100644
--- a/packages/circular-progress-bar/src/Component.stories.mdx
+++ b/packages/circular-progress-bar/src/docs/Component.stories.mdx
@@ -1,9 +1,14 @@
import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, select, number } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+import { CssVars } from 'storybook/blocks/css-vars';
+import styles from '!!raw-loader!../index.module.css';
-import { name, version } from '../package.json';
-import { CircularProgressBar } from './Component';
+import Description from './description.mdx';
+
+import { name, version } from '../../package.json';
+import { CircularProgressBar } from '../Component';
-
-
-
+ }
+ props={ }
+ cssVars={ }
+/>
\ No newline at end of file
diff --git a/packages/circular-progress-bar/src/docs/description.mdx b/packages/circular-progress-bar/src/docs/description.mdx
new file mode 100644
index 0000000000..1b97c8324b
--- /dev/null
+++ b/packages/circular-progress-bar/src/docs/description.mdx
@@ -0,0 +1,5 @@
+import { CircularProgressBar } from '../Component'
+
+Отображает круговой индикатор прогресса (0-100%).
+
+
diff --git a/packages/collapse/src/docs/Component.stories.mdx b/packages/collapse/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..6ee0df898b
--- /dev/null
+++ b/packages/collapse/src/docs/Component.stories.mdx
@@ -0,0 +1,48 @@
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { Collapse } from '../Component';
+import { Button } from '../../../button/src';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+ Альфа-Банк, основанный в 1990 году, является универсальным банком,
+ осуществляющим все основные виды банковских операций, представленных
+ на рынке финансовых услуг, включая обслуживание частных и корпоративных
+ клиентов, инвестиционный банковский бизнес, торговое финансирование и т.д.
+
+
+
+
+
+
+
+
+```tsx
+import { Collapse } from '@alfalab/core-components-collase';
+```
+
+ }
+ props={ }
+/>
\ No newline at end of file
diff --git a/packages/collapse/src/Component.stories.mdx b/packages/collapse/src/docs/description.mdx
similarity index 62%
rename from packages/collapse/src/Component.stories.mdx
rename to packages/collapse/src/docs/description.mdx
index 4fe15efdac..2876a1c28c 100644
--- a/packages/collapse/src/Component.stories.mdx
+++ b/packages/collapse/src/docs/description.mdx
@@ -1,49 +1,10 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Preview } from '@storybook/addon-docs/blocks';
-import { Collapse } from './Component';
-import { Button } from '../../button/src';
-import { name, version } from '../package.json';
-
-
-
-
-
-
-
-
- Альфа-Банк, основанный в 1990 году, является универсальным банком,
- осуществляющим все основные виды банковских операций, представленных
- на рынке финансовых услуг, включая обслуживание частных и корпоративных
- клиентов, инвестиционный банковский бизнес, торговое финансирование и т.д.
-
-
-
-
-
-
-
-
-```tsx
-import { Collapse } from '@alfalab/core-components-collase';
-```
+import { Collapse } from '../Component';
+import { Button } from '../../../button/src';
Компонент «подката» позволяет спрятать кусок текста за ссылку «Еще...».
-
-
### Стандартный Collapse
diff --git a/packages/confirmation/src/component.stories.mdx b/packages/confirmation/src/docs/Component.stories.mdx
similarity index 93%
rename from packages/confirmation/src/component.stories.mdx
rename to packages/confirmation/src/docs/Component.stories.mdx
index 9be58d6b95..93bdfad96d 100644
--- a/packages/confirmation/src/component.stories.mdx
+++ b/packages/confirmation/src/docs/Component.stories.mdx
@@ -2,10 +2,12 @@ import { useState } from 'react';
import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, select, number, boolean } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
-import { Confirmation } from './component';
-import { name, version } from '../package.json';
-import { Select } from '../../select/src/Component';
+import Description from './description.mdx';
+import { Confirmation } from '../component';
+import { name, version } from '../../package.json';
+import { Select } from '../../../select/src/Component';
+ }
+ props={ }
+/>
\ No newline at end of file
diff --git a/packages/confirmation/src/docs/description.mdx b/packages/confirmation/src/docs/description.mdx
new file mode 100644
index 0000000000..87715f7cbd
--- /dev/null
+++ b/packages/confirmation/src/docs/description.mdx
@@ -0,0 +1 @@
+Компонент подтверждения операции по коду.
\ No newline at end of file
diff --git a/packages/divider/src/Component.stories.mdx b/packages/divider/src/docs/Component.stories.mdx
similarity index 54%
rename from packages/divider/src/Component.stories.mdx
rename to packages/divider/src/docs/Component.stories.mdx
index bc11a7455e..dd6ea392a2 100644
--- a/packages/divider/src/Component.stories.mdx
+++ b/packages/divider/src/docs/Component.stories.mdx
@@ -1,8 +1,10 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
-import { Divider } from './Component';
-import { name, version } from '../package.json';
+import Description from './description.mdx';
+import { Divider } from '../Component';
+import { name, version } from '../../package.json';
-
-
-
-
-
+ }
+ props={ }
+/>
\ No newline at end of file
diff --git a/packages/divider/src/docs/description.mdx b/packages/divider/src/docs/description.mdx
new file mode 100644
index 0000000000..b07f203724
--- /dev/null
+++ b/packages/divider/src/docs/description.mdx
@@ -0,0 +1,13 @@
+import { Preview } from '@storybook/addon-docs/blocks';
+
+import { Divider } from '../Component';
+
+Создаёт горизонтальную разделительную линию.
+
+
+
+
diff --git a/packages/drawer/src/docs/Component.stories.mdx b/packages/drawer/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..ec5da4aac9
--- /dev/null
+++ b/packages/drawer/src/docs/Component.stories.mdx
@@ -0,0 +1,62 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { action } from '@storybook/addon-actions';
+import { text, select, boolean } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description, { ContentWrapper, Content } from './description.mdx';
+import { Button } from '../../../button/src';
+import { Typography } from '../../../typography/src';
+import { Drawer } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const [open, setOpen] = React.useState(false);
+ const handleModalOpen = () => setOpen(!open);
+ return (
+
+ Open Drawer
+
+
+
+
+
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { Drawer } from '@alfalab/core-components-drawer';
+```
+
+ }
+ props={ }
+/>
\ No newline at end of file
diff --git a/packages/drawer/src/Component.stories.mdx b/packages/drawer/src/docs/description.mdx
similarity index 72%
rename from packages/drawer/src/Component.stories.mdx
rename to packages/drawer/src/docs/description.mdx
index 089652436f..83fb6a154d 100644
--- a/packages/drawer/src/Component.stories.mdx
+++ b/packages/drawer/src/docs/description.mdx
@@ -1,23 +1,56 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { action } from '@storybook/addon-actions';
-import { text, select, boolean } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Preview } from '@storybook/addon-docs/blocks';
+import { Drawer, DrawerContext } from '../Component';
+import { Button } from '../../../button/src';
-import { Button } from '../../button/src';
-import { Typography } from '../../typography/src';
+## Компонент Drawer
-import { Drawer, DrawerContext } from './Component';
+Компонент, представляющим собой заготовку для реализации сайд-панелей. В основе компонента лежит `BaseModal`.
-import { name, version } from '../package.json';
+
+ {React.createElement(() => {
+ const [open, setOpen] = React.useState(false);
+ const handleModalOpen = () => setOpen(!open);
+ return (
+
+ Open Drawer
+
+
+
+
+
+
+ );
+ })}
+
-
+## Кастомные шапка и футер
+
+
+ {React.createElement(() => {
+ const [open, setOpen] = React.useState(false);
+ const handleModalOpen = () => setOpen(!open);
+ return (
+
+ Open Drawer
+
+
+
+
+
+
+
+
+ );
+ })}
+
-
export const Header = () => {
const { headerHighlighted, onClose, setHasHeader } = React.useContext(DrawerContext);
@@ -94,92 +127,4 @@ export const Content = () => {
>
);
-};
-
-
- {React.createElement(() => {
- const [open, setOpen] = React.useState(false);
- const handleModalOpen = () => setOpen(!open);
- return (
-
- Open Drawer
-
-
-
-
-
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { Drawer } from '@alfalab/core-components-drawer';
-```
-
-## Компонент Drawer
-
-Компонент, представляющим собой заготовку для реализации сайд-панелей. В основе компонента лежит `BaseModal`.
-
-
-
-
- {React.createElement(() => {
- const [open, setOpen] = React.useState(false);
- const handleModalOpen = () => setOpen(!open);
- return (
-
- Open Drawer
-
-
-
-
-
-
- );
- })}
-
-
-
-## Кастомные шапка и футер
-
-
- {React.createElement(() => {
- const [open, setOpen] = React.useState(false);
- const handleModalOpen = () => setOpen(!open);
- return (
-
- Open Drawer
-
-
-
-
-
-
-
-
- );
- })}
-
-
+};
\ No newline at end of file
diff --git a/packages/dropzone/src/docs/Component.stories.mdx b/packages/dropzone/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..306021b93b
--- /dev/null
+++ b/packages/dropzone/src/docs/Component.stories.mdx
@@ -0,0 +1,48 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { boolean } from '@storybook/addon-knobs';
+import { action } from '@storybook/addon-actions';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description, { Container } from './description.mdx';
+import { Dropzone } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+
+ children
+
+
+
+
+
+
+
+
+
+```tsx
+import { Dropzone } from '@alfalab/core-components-dropzone';
+```
+
+ }
+ props={ }
+/>
\ No newline at end of file
diff --git a/packages/dropzone/src/Component.stories.mdx b/packages/dropzone/src/docs/description.mdx
similarity index 54%
rename from packages/dropzone/src/Component.stories.mdx
rename to packages/dropzone/src/docs/description.mdx
index 91e4e6a1d3..b5f59dff5a 100644
--- a/packages/dropzone/src/Component.stories.mdx
+++ b/packages/dropzone/src/docs/description.mdx
@@ -1,63 +1,10 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { boolean } from '@storybook/addon-knobs';
-import { action } from '@storybook/addon-actions';
-import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Preview } from '@storybook/addon-docs/blocks';
+import { Dropzone } from '../Component';
-import { Dropzone } from './Component';
-import { name, version } from '../package.json';
-
-
-
-export const Container = ({ children }) => (
-
- {children}
-
-);
-
-
-
-
-
-
- children
-
-
-
-
-
-
-
-
-
-```tsx
-import { Dropzone } from '@alfalab/core-components-dropzone';
-```
Компонент drag-and-drop контейнер для прикрепления файлов.
-
-
-
{React.createElement(() => {
const [filesList, setFilesList] = React.useState([]);
@@ -83,3 +30,16 @@ import { Dropzone } from '@alfalab/core-components-dropzone';
);
})}
+
+export const Container = ({ children }) => (
+
+ {children}
+
+);
diff --git a/packages/file-upload-item/src/docs/Component.stories.mdx b/packages/file-upload-item/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..7f7046aa8c
--- /dev/null
+++ b/packages/file-upload-item/src/docs/Component.stories.mdx
@@ -0,0 +1,51 @@
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
+import { text, number, select, boolean } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { FileUploadItem } from '../Component';
+
+import { version } from '../../package.json';
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```tsx
+import { FileUploadItem } from '@alfalab/core-components-file-upload-item';
+```
+
+ }
+ props={ }
+/>
\ No newline at end of file
diff --git a/packages/file-upload-item/src/Component.stories.mdx b/packages/file-upload-item/src/docs/description.mdx
similarity index 56%
rename from packages/file-upload-item/src/Component.stories.mdx
rename to packages/file-upload-item/src/docs/description.mdx
index 051abe782b..2cb97a435d 100644
--- a/packages/file-upload-item/src/Component.stories.mdx
+++ b/packages/file-upload-item/src/docs/description.mdx
@@ -1,47 +1,7 @@
-import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
-import { text, number, select, boolean } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import { FileUploadItem } from './Component';
+import { Preview } from '@storybook/addon-docs/blocks';
+import { FileUploadItem } from '../Component';
-import { version } from '../package.json';
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```tsx
-import { FileUploadItem } from '@alfalab/core-components-file-upload-item';
-```
Компонент иконки, которая запрашивается с сервера.
@@ -107,5 +67,3 @@ import { FileUploadItem } from '@alfalab/core-components-file-upload-item';
-
-
diff --git a/packages/form-control/src/Component.stories.mdx b/packages/form-control/src/docs/Component.stories.mdx
similarity index 76%
rename from packages/form-control/src/Component.stories.mdx
rename to packages/form-control/src/docs/Component.stories.mdx
index e6db2311b7..bbfc02bec0 100644
--- a/packages/form-control/src/Component.stories.mdx
+++ b/packages/form-control/src/docs/Component.stories.mdx
@@ -2,9 +2,13 @@ import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, select, boolean } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import Icon from '@alfalab/icons-glyph/StarMIcon';
+import { Tabs } from 'storybook/blocks/tabs';
+import { CssVars } from 'storybook/blocks/css-vars';
-import { FormControl } from './Component';
-import { name, version } from '../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { FormControl } from '../Component';
+import { name, version } from '../../package.json';
-
-
-
+
}
+ props={
}
+ cssVars={
}
+/>
diff --git a/packages/form-control/src/docs/description.mdx b/packages/form-control/src/docs/description.mdx
new file mode 100644
index 0000000000..65849f26a3
--- /dev/null
+++ b/packages/form-control/src/docs/description.mdx
@@ -0,0 +1,6 @@
+import { FormControl } from '../Component';
+
+Базовый компонент для построения полей ввода — input, textarea, select и др.
+
+
+
diff --git a/packages/grid/src/docs/Component.stories.mdx b/packages/grid/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..14e1eb14fd
--- /dev/null
+++ b/packages/grid/src/docs/Component.stories.mdx
@@ -0,0 +1,56 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { Grid } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const style = {
+ height: 30,
+ background: '#ff5c5c'
+ };
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { Grid } from '@alfalab/core-components-grid';
+```
+
+
}
+ props={
}
+/>
diff --git a/packages/grid/src/Component.stories.mdx b/packages/grid/src/docs/description.mdx
similarity index 91%
rename from packages/grid/src/Component.stories.mdx
rename to packages/grid/src/docs/description.mdx
index 8338cd94aa..40266ad800 100644
--- a/packages/grid/src/Component.stories.mdx
+++ b/packages/grid/src/docs/description.mdx
@@ -1,54 +1,8 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Preview } from '@storybook/addon-docs/blocks';
-import { Grid } from './Component';
-import { name, version } from '../package.json';
+import { Grid } from '../Component';
-
-
-
-
-
-
- {React.createElement(() => {
- const style = {
- height: 30,
- background: '#ff5c5c'
- };
- return (
-
-
-
-
-
-
-
-
-
-
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { Grid } from '@alfalab/core-components-grid';
-```
-
Компонент грид, который включает в себя Row и Col.
## Grid.Row
@@ -394,5 +348,3 @@ import { Grid } from '@alfalab/core-components-grid';
);
})}
-
-
diff --git a/packages/icon-button/src/docs/Component.stories.mdx b/packages/icon-button/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..e2d9e51cfa
--- /dev/null
+++ b/packages/icon-button/src/docs/Component.stories.mdx
@@ -0,0 +1,71 @@
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
+import { select, boolean } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+
+import { StarMIcon } from '@alfalab/icons-glyph/StarMIcon';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import defaultStyles from '!!raw-loader!../default.module.css';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { IconButton } from '../Component';
+
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const colors = select('colors', ['default', 'inverted'], 'default');
+ return (
+
+
+
+ )
+ })}
+
+
+
+
+
+
+
+```tsx
+import { IconButton } from '@alfalab/core-components-icon-button';
+```
+
+
+
}
+ props={
}
+ cssVars={
}
+/>
+
+
diff --git a/packages/icon-button/src/Component.stories.mdx b/packages/icon-button/src/docs/description.mdx
similarity index 62%
rename from packages/icon-button/src/Component.stories.mdx
rename to packages/icon-button/src/docs/description.mdx
index 767bbf51e7..38d8b0785e 100644
--- a/packages/icon-button/src/Component.stories.mdx
+++ b/packages/icon-button/src/docs/description.mdx
@@ -1,62 +1,11 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { select, boolean } from '@storybook/addon-knobs';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Preview } from '@storybook/addon-docs/blocks';
+import { Container, Row, Col } from 'storybook/blocks/grid';
import { StarMIcon } from '@alfalab/icons-glyph/StarMIcon';
import { BankAlfaXxlBlackIcon } from '@alfalab/icons-classic/BankAlfaXxlBlackIcon';
-import { IconButton } from './Component';
-
-import { name, version } from '../package.json';
-
-
-
-
-
-
-
-
- {React.createElement(() => {
- const colors = select('colors', ['default', 'inverted'], 'default');
- return (
-
-
-
- )
- })}
-
-
-
-
-
-
-
-```tsx
-import { IconButton } from '@alfalab/core-components-icon-button';
-```
+import { IconButton } from '../Component';
+
### Размеры
diff --git a/packages/input-autocomplete/src/docs/Component.stories.mdx b/packages/input-autocomplete/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..4dbc0ffa06
--- /dev/null
+++ b/packages/input-autocomplete/src/docs/Component.stories.mdx
@@ -0,0 +1,80 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { text, select, boolean } from '@storybook/addon-knobs';
+import { action } from '@storybook/addon-actions';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import { Tag } from '@alfalab/core-components-tag';
+import { Input } from '@alfalab/core-components-input';
+import { MaskedInput } from '@alfalab/core-components-masked-input';
+import { Arrow, Option } from '@alfalab/core-components-select';
+
+import Description from './description.mdx';
+import { InputAutocomplete } from '../Component';
+import { name, version } from '../../package.json';
+import { options, matchOption } from './options'
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const [value, setValue] = React.useState('');
+ const handleInput = event => {
+ setValue(event.target.value);
+ };
+ const handleChange = ({ selected }) => {
+ setValue(selected ? selected.key : '');
+ };
+ const filteredOptions = options.filter(option => matchOption(option, value));
+ return (
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { InputAutocomplete } from '@alfalab/core-components-input-autocomplete';
+```
+
+
}
+ props={
}
+/>
\ No newline at end of file
diff --git a/packages/input-autocomplete/src/Component.stories.mdx b/packages/input-autocomplete/src/docs/description.mdx
similarity index 71%
rename from packages/input-autocomplete/src/Component.stories.mdx
rename to packages/input-autocomplete/src/docs/description.mdx
index 4416c8db44..901c73eb1b 100644
--- a/packages/input-autocomplete/src/Component.stories.mdx
+++ b/packages/input-autocomplete/src/docs/description.mdx
@@ -1,96 +1,12 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { text, select, boolean } from '@storybook/addon-knobs';
-import { action } from '@storybook/addon-actions';
+import { Preview } from '@storybook/addon-docs/blocks';
import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tag } from '@alfalab/core-components-tag';
-import { Input } from '@alfalab/core-components-input';
import { MaskedInput } from '@alfalab/core-components-masked-input';
import { Arrow, Option } from '@alfalab/core-components-select';
-import { InputAutocomplete } from './Component';
-import { name, version } from '../package.json';
-
-export const options = [
- { key: 'Neptunium', content: 'Neptunium' },
- { key: 'Plutonium', content: 'Plutonium' },
- { key: 'Americium', content: 'Americium' },
- { key: 'Curium', content: 'Curium' },
- { key: 'Berkelium', content: 'Berkelium' },
- { key: 'Californium', content: 'Californium' },
- { key: 'Einsteinium', content: 'Einsteinium' },
- { key: 'Fermium', content: 'Fermium' },
- { key: 'Mendelevium', content: 'Mendelevium' },
- { key: 'Nobelium', content: 'Nobelium' },
- { key: 'Lawrencium', content: 'Lawrencium' },
- { key: 'Rutherfordium', content: 'Rutherfordium' },
- { key: 'Dubnium', content: 'Dubnium' },
- { key: 'Seaborgium', content: 'Seaborgium' },
- { key: 'Bohrium', content: 'Bohrium' },
-];
-
-export const matchOption = (option, inputValue) =>
- option.content.toLowerCase().includes((inputValue || '').toLowerCase());
-
-
-
-
-
-
-
-
- {React.createElement(() => {
- const [value, setValue] = React.useState('');
- const handleInput = event => {
- setValue(event.target.value);
- };
- const handleChange = ({ selected }) => {
- setValue(selected ? selected.key : '');
- };
- const filteredOptions = options.filter(option => matchOption(option, value));
- return (
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { InputAutocomplete } from '@alfalab/core-components-input-autocomplete';
-```
+import { InputAutocomplete } from '../Component';
+import { options, matchOption } from './options'
Компонент поля для ввода с автокомплитом
@@ -118,9 +34,6 @@ import { InputAutocomplete } from '@alfalab/core-components-input-autocomplete';
-
-
-
### Кейс с очисткой поля
@@ -338,3 +251,5 @@ import { InputAutocomplete } from '@alfalab/core-components-input-autocomplete';
import { Arrow } from '@alfalab/core-components/select';
```
+
+
diff --git a/packages/input-autocomplete/src/docs/options.ts b/packages/input-autocomplete/src/docs/options.ts
new file mode 100644
index 0000000000..66acf88723
--- /dev/null
+++ b/packages/input-autocomplete/src/docs/options.ts
@@ -0,0 +1,20 @@
+export const options = [
+ { key: 'Neptunium', content: 'Neptunium' },
+ { key: 'Plutonium', content: 'Plutonium' },
+ { key: 'Americium', content: 'Americium' },
+ { key: 'Curium', content: 'Curium' },
+ { key: 'Berkelium', content: 'Berkelium' },
+ { key: 'Californium', content: 'Californium' },
+ { key: 'Einsteinium', content: 'Einsteinium' },
+ { key: 'Fermium', content: 'Fermium' },
+ { key: 'Mendelevium', content: 'Mendelevium' },
+ { key: 'Nobelium', content: 'Nobelium' },
+ { key: 'Lawrencium', content: 'Lawrencium' },
+ { key: 'Rutherfordium', content: 'Rutherfordium' },
+ { key: 'Dubnium', content: 'Dubnium' },
+ { key: 'Seaborgium', content: 'Seaborgium' },
+ { key: 'Bohrium', content: 'Bohrium' },
+];
+
+export const matchOption = (option: { content: string }, inputValue: string) =>
+ option.content.toLowerCase().includes((inputValue || '').toLowerCase());
diff --git a/packages/input/src/Component.stories.mdx b/packages/input/src/docs/Component.stories.mdx
similarity index 77%
rename from packages/input/src/Component.stories.mdx
rename to packages/input/src/docs/Component.stories.mdx
index 2ec0428c52..504fa0b770 100644
--- a/packages/input/src/Component.stories.mdx
+++ b/packages/input/src/docs/Component.stories.mdx
@@ -2,9 +2,13 @@ import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, select, boolean } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import Icon from '@alfalab/icons-glyph/StarMIcon';
+import { Tabs } from 'storybook/blocks/tabs';
-import { Input } from './Component';
-import { name, version } from '../package.json';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import Description from './description.mdx';
+import { Input } from '../Component';
+import { name, version } from '../../package.json';
-
-
-
-
-
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/input/src/docs/description.mdx b/packages/input/src/docs/description.mdx
new file mode 100644
index 0000000000..1a02196826
--- /dev/null
+++ b/packages/input/src/docs/description.mdx
@@ -0,0 +1,9 @@
+import { Input } from '../Component';
+
+Компонент текстового поля ввода.
+
+☝️ В приложениях Клика используйте обёртку [newclick-composite-components/input](http://digital/demo/newclick-composite-components/master/?path=/docs/form-input--basic).
+
+
+
+
diff --git a/packages/intl-phone-input/src/docs/Component.stories.mdx b/packages/intl-phone-input/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..b27ed2eb1d
--- /dev/null
+++ b/packages/intl-phone-input/src/docs/Component.stories.mdx
@@ -0,0 +1,73 @@
+import { Meta, Story, Preview, Props, Title } from '@storybook/addon-docs/blocks';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { action } from '@storybook/addon-actions';
+import { text, select, boolean, object } from '@storybook/addon-knobs';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { options, matchOption } from './options';
+import { IntlPhoneInput } from '../component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+ {React.createElement(() => {
+ const [value, setValue] = React.useState('+79647820725');
+ const [selectedCountry, setSelectedCountry] = React.useState('RU');
+ const handleChange = React.useCallback((newValue) => {
+ setValue(newValue);
+ }, [setValue]);
+ const size = select('size', ['s', 'm', 'l', 'xl'], 'm');
+ const block = boolean('block', false);
+ const disabled = boolean('disabled', false);
+ const label = text('label', 'Номер телефона');
+ const clearableCountryCode = boolean('clearableCountryCode', true);
+ const handleCountryChange = React.useCallback((countryCode) => {
+ setSelectedCountry(countryCode);
+ })
+ return (
+
+
+
+ Код выбранной страны: {selectedCountry}
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { IntlPhoneInput } from '@alfalab/core-components-intl-phone-input';
+```
+
+ }
+ props={ }
+/>
\ No newline at end of file
diff --git a/packages/intl-phone-input/src/component.stories.mdx b/packages/intl-phone-input/src/docs/description.mdx
similarity index 56%
rename from packages/intl-phone-input/src/component.stories.mdx
rename to packages/intl-phone-input/src/docs/description.mdx
index aa00eee9b2..394d52a9a8 100644
--- a/packages/intl-phone-input/src/component.stories.mdx
+++ b/packages/intl-phone-input/src/docs/description.mdx
@@ -1,57 +1,8 @@
-import { Meta, Story, Preview, Props, Description, Title } from '@storybook/addon-docs/blocks';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import { action } from '@storybook/addon-actions';
-import { text, select, boolean, object } from '@storybook/addon-knobs';
+import { Preview } from '@storybook/addon-docs/blocks';
+import { text, select, boolean } from '@storybook/addon-knobs';
-import { IntlPhoneInput } from './component';
-import { name, version } from '../package.json';
-
-export const options = [
- {
- key: '+7 921 681 53 98',
- content: '+7 921 681 53 98'
- },
- {
- key: '+7 921 681 52 97',
- content: '+7 921 681 52 97'
- },
- {
- key: '+7 921 681 52 96',
- content: '+7 921 681 52 96'
- },
- {
- key: '+7 921 681 52 95',
- content: '+7 921 681 52 95'
- },
- {
- key: '+7 921 681 52 94',
- content: '+7 921 681 52 94'
- },
- ];
-
-export const matchOption = (option, inputValue) =>
- option.key.toLowerCase().includes((inputValue || '').toLowerCase());
-
-
-
-
-
-
-
-```tsx
-import { IntlPhoneInput } from '@alfalab/core-components-intl-phone-input';
-```
-
-## Описание
+import { IntlPhoneInput } from '../component';
+import { options, matchOption } from './options';
Компонент текстового поля для ввода международных номеров телефонов.
@@ -61,43 +12,6 @@ import { IntlPhoneInput } from '@alfalab/core-components-intl-phone-input';
**Если вы используете `arui-scripts` для сборки, версия `arui-scripts` должна быть не ниже 9.7.0.**
-
- {React.createElement(() => {
- const [value, setValue] = React.useState('+79647820725');
- const [selectedCountry, setSelectedCountry] = React.useState('RU');
- const handleChange = React.useCallback((newValue) => {
- setValue(newValue);
- }, [setValue]);
- const size = select('size', ['s', 'm', 'l', 'xl'], 'm');
- const block = boolean('block', false);
- const disabled = boolean('disabled', false);
- const label = text('label', 'Номер телефона');
- const clearableCountryCode = boolean('clearableCountryCode', true);
- const handleCountryChange = React.useCallback((countryCode) => {
- setSelectedCountry(countryCode);
- })
- return (
-
-
-
- Код выбранной страны: {selectedCountry}
-
- );
- })}
-
-
-
### Кейс с очисткой поля
diff --git a/packages/intl-phone-input/src/docs/options.ts b/packages/intl-phone-input/src/docs/options.ts
new file mode 100644
index 0000000000..871842cd2b
--- /dev/null
+++ b/packages/intl-phone-input/src/docs/options.ts
@@ -0,0 +1,25 @@
+export const options = [
+ {
+ key: '+7 921 681 53 98',
+ content: '+7 921 681 53 98',
+ },
+ {
+ key: '+7 921 681 52 97',
+ content: '+7 921 681 52 97',
+ },
+ {
+ key: '+7 921 681 52 96',
+ content: '+7 921 681 52 96',
+ },
+ {
+ key: '+7 921 681 52 95',
+ content: '+7 921 681 52 95',
+ },
+ {
+ key: '+7 921 681 52 94',
+ content: '+7 921 681 52 94',
+ },
+];
+
+export const matchOption = (option: { key: string }, inputValue: string) =>
+ option.key.toLowerCase().includes((inputValue || '').toLowerCase());
diff --git a/packages/keyboard-focusable/src/docs/Component.stories.mdx b/packages/keyboard-focusable/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..7bfe3b6864
--- /dev/null
+++ b/packages/keyboard-focusable/src/docs/Component.stories.mdx
@@ -0,0 +1,29 @@
+import { Meta, Preview, Props } from '@storybook/addon-docs/blocks';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { KeyboardFocusable } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+```tsx
+import { KeyboardFocusable } from '@alfalab/core-components-keyboard-focusable';
+```
+
+ }
+ props={ }
+/>
diff --git a/packages/keyboard-focusable/src/Component.stories.mdx b/packages/keyboard-focusable/src/docs/description.mdx
similarity index 70%
rename from packages/keyboard-focusable/src/Component.stories.mdx
rename to packages/keyboard-focusable/src/docs/description.mdx
index b2c0cff92e..bfec22f148 100644
--- a/packages/keyboard-focusable/src/Component.stories.mdx
+++ b/packages/keyboard-focusable/src/docs/description.mdx
@@ -1,35 +1,9 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { action } from '@storybook/addon-actions';
-import { text, select, boolean } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import { useFocus } from '@alfalab/hooks';
-
-import { KeyboardFocusable, useKeyboardFocus } from './Component';
-import { name, version } from '../package.json';
-
-export const focusOutlineStyles = {
- outline: '2px solid var(--focus-color)',
- outlineOffset: '2px',
-};
-
-
-
+import { Preview } from '@storybook/addon-docs/blocks';
-
+import { useFocus } from '@alfalab/hooks';
-
-
-```tsx
-import { KeyboardFocusable } from '@alfalab/core-components-keyboard-focusable';
-```
+import { KeyboardFocusable } from '../Component';
В соответствии с дизайн-системой все интерактивные элементы должны иметь определенную обводку при фокусе, но только при переключении с клавиатуры.
При клике мышки обводки быть не должно.
@@ -40,7 +14,10 @@ import { KeyboardFocusable } from '@alfalab/core-components-keyboard-focusable';
## Компонент KeyboardFocusable
-
+export const focusOutlineStyles = {
+ outline: '2px solid var(--focus-color)',
+ outlineOffset: '2px',
+};
@@ -82,4 +59,4 @@ const { focused } = useFocus(ref, 'keyboard');
return (
focus me
);
-```
+```
\ No newline at end of file
diff --git a/packages/link/src/docs/Component.stories.mdx b/packages/link/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..cfb84358e2
--- /dev/null
+++ b/packages/link/src/docs/Component.stories.mdx
@@ -0,0 +1,78 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import {text, select, boolean} from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import Icon from '@alfalab/icons-glyph/StarMIcon';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import defaultStyles from '!!raw-loader!../default.module.css';
+import invertedStyles from '!!raw-loader!../inverted.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { Link } from '../Component';
+import { Typography } from '../../../typography/src';
+import { name, version } from '../../package.json';
+
+export const VIEWS = ['primary', 'secondary', 'default'];
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const colors = select('colors', ['default', 'inverted'], 'default');
+ return (
+
+
+ }
+ rightAddons={boolean('rightAddons', false) && }
+ colors={colors}
+ >
+ {text('text', 'Вернуться в интернет-банк')}
+
+
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { Link } from '@alfalab/core-components-link';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
+
diff --git a/packages/link/src/Component.stories.mdx b/packages/link/src/docs/description.mdx
similarity index 55%
rename from packages/link/src/Component.stories.mdx
rename to packages/link/src/docs/description.mdx
index 569b782d18..b16be5caa3 100644
--- a/packages/link/src/Component.stories.mdx
+++ b/packages/link/src/docs/description.mdx
@@ -1,69 +1,8 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import {text, select, boolean} from '@storybook/addon-knobs';
-import { Container, Row } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import Icon from '@alfalab/icons-glyph/StarMIcon';
-
-import { Link } from './Component';
-import { Typography } from '../../typography/src';
-import { name, version } from '../package.json';
-
-export const VIEWS = ['primary', 'secondary', 'default'];
-
-
-
-
-
-
+import { Preview } from '@storybook/addon-docs/blocks';
-
- {React.createElement(() => {
- const colors = select('colors', ['default', 'inverted'], 'default');
- return (
-
-
- }
- rightAddons={boolean('rightAddons', false) && }
- colors={colors}
- >
- {text('text', 'Вернуться в интернет-банк')}
-
-
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { Link } from '@alfalab/core-components-link';
-```
+import { Container, Row } from 'storybook/blocks/grid';
+import { Link } from '../Component';
+import { Typography } from '../../../typography/src';
Ссылка — элемент навигации, который обозначает возможность перехода на другую страницу
или вызова нового информационного слоя.
@@ -77,8 +16,6 @@ import { Link } from '@alfalab/core-components-link';
-
-
## Виды ссылок
diff --git a/packages/list-header/src/docs/Component.stories.mdx b/packages/list-header/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..bce77474ca
--- /dev/null
+++ b/packages/list-header/src/docs/Component.stories.mdx
@@ -0,0 +1,47 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { text, boolean } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { ListHeader } from '../Component';
+import { version } from '../../package.json';
+
+export const TAG = ['ul', 'ol'];
+
+
+
+
+
+
+
+
+
+
+
+
+
+```tsx
+import { ListHeader } from '@alfalab/core-components-list-header';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/list-header/src/Component.stories.mdx b/packages/list-header/src/docs/description.mdx
similarity index 59%
rename from packages/list-header/src/Component.stories.mdx
rename to packages/list-header/src/docs/description.mdx
index 16c3f49def..b7dde8b1b7 100644
--- a/packages/list-header/src/Component.stories.mdx
+++ b/packages/list-header/src/docs/description.mdx
@@ -1,40 +1,6 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { text, boolean } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import { ListHeader } from './Component';
-import { version } from '../package.json';
-
-export const TAG = ['ul', 'ol'];
-
-
-
-
-
-
-
-
-
-
-
-
-
-```tsx
-import { ListHeader } from '@alfalab/core-components-list-header';
-```
+import { Preview } from '@storybook/addon-docs/blocks';
+import { ListHeader } from '../Component';
ListHeader используется для разделения ячеек списка по смысловым группам.
@@ -43,8 +9,6 @@ ListHeader используется для разделения ячеек сп
description='дополнительный текст с описанием'
/>
-
-
Компонент с серой подложкой используется для «бесконечных списков». Например, для истории операций или списка писем.
diff --git a/packages/list/src/Component.stories.mdx b/packages/list/src/docs/Component.stories.mdx
similarity index 69%
rename from packages/list/src/Component.stories.mdx
rename to packages/list/src/docs/Component.stories.mdx
index 0bd21f400a..881d8a884f 100644
--- a/packages/list/src/Component.stories.mdx
+++ b/packages/list/src/docs/Component.stories.mdx
@@ -3,9 +3,13 @@ import { text, select } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Container, Row } from 'storybook/blocks/grid';
import { Typography } from '@alfalab/core-components-typography';
+import { Tabs } from 'storybook/blocks/tabs';
+import { CssVars } from 'storybook/blocks/css-vars';
-import { List } from './Component';
-import { version } from '../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { List } from '../Component';
+import { version } from '../../package.json';
export const TAG = ['ul', 'ol'];
@@ -51,31 +55,8 @@ export const TAG = ['ul', 'ol'];
import { List } from '@alfalab/core-components-list';
```
-
-
-
-
-
- 1 item
- 2 item
- 3 item
-
-
-
-
- 1 item
- 2 item
- 3 item
-
-
-
-
- 1 item
- 2 item
- 3 item
-
-
-
-
-
-
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/list/src/docs/description.mdx b/packages/list/src/docs/description.mdx
new file mode 100644
index 0000000000..6fa5de9559
--- /dev/null
+++ b/packages/list/src/docs/description.mdx
@@ -0,0 +1,32 @@
+
+import { Preview } from '@storybook/addon-docs/blocks';
+import { Container, Row } from 'storybook/blocks/grid';
+import { Typography } from '@alfalab/core-components-typography';
+
+import { List } from '../Component';
+
+
+
+
+
+ 1 item
+ 2 item
+ 3 item
+
+
+
+
+ 1 item
+ 2 item
+ 3 item
+
+
+
+
+ 1 item
+ 2 item
+ 3 item
+
+
+
+
diff --git a/packages/loader/src/Component.stories.mdx b/packages/loader/src/docs/Component.stories.mdx
similarity index 60%
rename from packages/loader/src/Component.stories.mdx
rename to packages/loader/src/docs/Component.stories.mdx
index c43db4dfb6..60d48f4133 100644
--- a/packages/loader/src/Component.stories.mdx
+++ b/packages/loader/src/docs/Component.stories.mdx
@@ -1,8 +1,10 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
-import { Loader } from './Component';
-import { name, version } from '../package.json';
+import Description from './description.mdx';
+import { Loader } from '../Component';
+import { name, version } from '../../package.json';
-
-
-
+ }
+ props={ }
+/>
diff --git a/packages/loader/src/docs/description.mdx b/packages/loader/src/docs/description.mdx
new file mode 100644
index 0000000000..90d35258ab
--- /dev/null
+++ b/packages/loader/src/docs/description.mdx
@@ -0,0 +1,5 @@
+import { Loader } from '../Component';
+
+Компонент Loader.
+
+
\ No newline at end of file
diff --git a/packages/masked-input/src/docs/Component.stories.mdx b/packages/masked-input/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..40b7374113
--- /dev/null
+++ b/packages/masked-input/src/docs/Component.stories.mdx
@@ -0,0 +1,32 @@
+import { Meta, Props, Story, Preview } from '@storybook/addon-docs/blocks';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { MaskedInput } from '../Component';
+import { name, version } from '../../package.json';
+import { masks, placeholders } from './constants';
+
+
+
+
+
+
+
+```tsx
+import { MaskedInput } from '@alfalab/core-components-masked-input';
+```
+
+ }
+ props={ }
+/>
diff --git a/packages/masked-input/src/docs/constants.ts b/packages/masked-input/src/docs/constants.ts
new file mode 100644
index 0000000000..4d3405ac81
--- /dev/null
+++ b/packages/masked-input/src/docs/constants.ts
@@ -0,0 +1,48 @@
+export const masks = {
+ phone: [
+ '+',
+ /\d/,
+ ' ',
+ '(',
+ /\d/,
+ /\d/,
+ /\d/,
+ ')',
+ ' ',
+ /\d/,
+ /\d/,
+ /\d/,
+ '-',
+ /\d/,
+ /\d/,
+ '-',
+ /\d/,
+ /\d/,
+ ],
+ card: [
+ /\d/,
+ /\d/,
+ /\d/,
+ /\d/,
+ ' ',
+ /\d/,
+ /\d/,
+ /\d/,
+ /\d/,
+ ' ',
+ /\d/,
+ /\d/,
+ /\d/,
+ /\d/,
+ ' ',
+ /\d/,
+ /\d/,
+ /\d/,
+ /\d/,
+ ],
+};
+
+export const placeholders = {
+ phone: '+7 (000) 000-00-00',
+ card: '0000 0000 0000 0000',
+};
diff --git a/packages/masked-input/src/Component.stories.mdx b/packages/masked-input/src/docs/description.mdx
similarity index 63%
rename from packages/masked-input/src/Component.stories.mdx
rename to packages/masked-input/src/docs/description.mdx
index db378abb43..7d56fe51d2 100644
--- a/packages/masked-input/src/Component.stories.mdx
+++ b/packages/masked-input/src/docs/description.mdx
@@ -1,40 +1,7 @@
-import { Meta, Props, Story, Preview } from '@storybook/addon-docs/blocks';
-import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Preview } from '@storybook/addon-docs/blocks';
-import { MaskedInput } from './Component';
-import { name, version } from '../package.json';
-
-
-export const masks = {
- phone: ['+', /\d/, ' ', '(', /\d/, /\d/, /\d/, ')', ' ', /\d/, /\d/, /\d/, '-', /\d/, /\d/, '-', /\d/, /\d/],
- card: [/\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/],
-};
-
-export const placeholders = {
- phone: '+7 (000) 000-00-00',
- card: '0000 0000 0000 0000',
-};
-
-
-
-
-
-
-
-
-
-```tsx
-import { MaskedInput } from '@alfalab/core-components-masked-input';
-```
+import { MaskedInput } from '../Component';
+import { masks, placeholders } from './constants';
Компонент текстового поля для ввода текста по указанной маске.
@@ -48,9 +15,6 @@ import { MaskedInput } from '@alfalab/core-components-masked-input';
-
-
-
### Uncontrolled-way
Можно ничего не передавать в компонент и реагировать на `onChange`
diff --git a/packages/modal/src/docs/Component.stories.mdx b/packages/modal/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..d7cd040e5a
--- /dev/null
+++ b/packages/modal/src/docs/Component.stories.mdx
@@ -0,0 +1,148 @@
+import { Meta, Props, Preview, Story } from '@storybook/addon-docs/blocks';
+import { boolean, select, text } from '@storybook/addon-knobs';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { CrossMIcon } from '@alfalab/icons-glyph';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import vars from '!!raw-loader!../vars.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+
+import { Button } from '../../../button/src';
+import { Spinner } from '../../../spinner/src';
+import { Typography } from '../../../typography/src';
+
+import { ModalContext } from '../Context';
+import { ModalMobile } from '../Component.mobile';
+import { ModalDesktop } from '../Component.desktop';
+import { ModalResponsive } from '../Component.responsive';
+
+import { version } from '../../package.json';
+
+
+
+
+export const Text = () => (
+
+ Сейчас много говорят об отказах банков в проведении операций, блокировках интернет-банка.
+ Это связано с тем, что Центральный банк РФ обязывает банки выявлять операции своих клиентов,
+ потенциально нарушающие требования Федерального закона «О противодействии легализации (отмыванию) доходов,
+ полученных преступным путем, и финансированию терроризма» — 115-ФЗ
+
+);
+
+export const Footer = () => (
+ <>
+
Сохранить
+
Отмена
+ >
+);
+
+export const Content = () => {
+ const [showMore, setShowMore] = React.useState(false);
+ return (
+ <>
+
+ {(showMore || boolean('showMore')) && (
+ <>
+
+
+
+ >
+ )}
+
setShowMore(!showMore)}>
+ {showMore ? 'Скрыть' : 'Показать еще'}
+
+ >
+ );
+};
+
+export const renderModalStory = (ModalComponent, props = {}) => {
+ const [open, setOpen] = React.useState(false);
+ const handleModalOpen = () => setOpen(!open);
+ const header = boolean('header', false);
+ const headerTitle = text('header.title');
+ const hasCloser = boolean('header.hasCloser', true);
+ const stickyHeader = boolean('header.sticky', false);
+ const footer = boolean('footer', false);
+ const stickyFooter = boolean('footer.sticky', false);
+ const footerLayout = select('footer.layout', ['start', 'center', 'space-between', 'column'], 'start');
+ const footerGap = select('footer.gap', [false, 16, 24, 32], false);
+ const flexContent = boolean('content.flex', false);
+ return (
+
+ Открыть модалку
+
+ {header && (
+
+ )}
+ {!header && hasCloser && (
+
+ )}
+
+
+
+ {footer && (
+
+
+
+ )}
+
+
+ );
+}
+
+
+ {renderModalStory(ModalMobile)}
+
+
+
+
+ {renderModalStory(ModalDesktop, {
+ size: select('size', ['s', 'm', 'l'], 's'),
+ fullscreen: boolean('fullscreen', false),
+ })}
+
+
+
+ {renderModalStory(ModalResponsive, {
+ size: select('size', ['s', 'm', 'l'], 's'),
+ fullscreen: boolean('fullscreen', false),
+ })}
+
+
+
+
+
+
+
+
+```tsx
+import { ModalDesktop } from '@alfalab/core-components-modal/desktop';
+import { ModalMobile } from '@alfalab/core-components-modal/mobile';
+import { ModalResponsive } from '@alfalab/core-components-modal/responsive';
+```
+
+
}
+ cssVars={
}
+ props={
}
+/>
diff --git a/packages/modal/src/Component.stories.mdx b/packages/modal/src/docs/description.mdx
similarity index 66%
rename from packages/modal/src/Component.stories.mdx
rename to packages/modal/src/docs/description.mdx
index aee15e428e..b699f8777a 100644
--- a/packages/modal/src/Component.stories.mdx
+++ b/packages/modal/src/docs/description.mdx
@@ -4,138 +4,18 @@ import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { CrossMIcon } from '@alfalab/icons-glyph';
-import { Button } from '../../button/src';
-import { Spinner } from '../../spinner/src';
-import { Typography } from '../../typography/src';
+import { Button } from '../../../button/src';
+import { Spinner } from '../../../spinner/src';
+import { Typography } from '../../../typography/src';
-import { ModalContext } from './Context';
-import { ModalMobile } from './Component.mobile';
-import { ModalDesktop } from './Component.desktop';
-import { ModalResponsive } from './Component.responsive';
+import { ModalContext } from '../Context';
+import { ModalMobile } from '../Component.mobile';
+import { ModalDesktop } from '../Component.desktop';
+import { ModalResponsive } from '../Component.responsive';
-import { version } from '../package.json';
+import { version } from '../../package.json';
-
-
-export const Text = () => (
-
- Сейчас много говорят об отказах банков в проведении операций, блокировках интернет-банка.
- Это связано с тем, что Центральный банк РФ обязывает банки выявлять операции своих клиентов,
- потенциально нарушающие требования Федерального закона «О противодействии легализации (отмыванию) доходов,
- полученных преступным путем, и финансированию терроризма» — 115-ФЗ
-
-);
-
-export const Footer = () => (
- <>
-
Сохранить
-
Отмена
- >
-);
-
-export const Content = () => {
- const [showMore, setShowMore] = React.useState(false);
- return (
- <>
-
- {(showMore || boolean('showMore')) && (
- <>
-
-
-
- >
- )}
-
setShowMore(!showMore)}>
- {showMore ? 'Скрыть' : 'Показать еще'}
-
- >
- );
-};
-
-export const renderModalStory = (ModalComponent, props = {}) => {
- const [open, setOpen] = React.useState(false);
- const handleModalOpen = () => setOpen(!open);
- const header = boolean('header', false);
- const headerTitle = text('header.title');
- const hasCloser = boolean('header.hasCloser', true);
- const stickyHeader = boolean('header.sticky', false);
- const footer = boolean('footer', false);
- const stickyFooter = boolean('footer.sticky', false);
- const footerLayout = select('footer.layout', ['start', 'center', 'space-between', 'column'], 'start');
- const footerGap = select('footer.gap', [false, 16, 24, 32], false);
- const flexContent = boolean('content.flex', false);
- return (
-
- Открыть модалку
-
- {header && (
-
- )}
- {!header && hasCloser && (
-
- )}
-
-
-
- {footer && (
-
-
-
- )}
-
-
- );
-}
-
-
- {renderModalStory(ModalMobile)}
-
-
-
-
- {renderModalStory(ModalDesktop, {
- size: select('size', ['s', 'm', 'l'], 's'),
- fullscreen: boolean('fullscreen', false),
- })}
-
-
-
- {renderModalStory(ModalResponsive, {
- size: select('size', ['s', 'm', 'l'], 's'),
- fullscreen: boolean('fullscreen', false),
- })}
-
-
-
-
-
-
-
-
-```tsx
-import { ModalDesktop } from '@alfalab/core-components-modal/desktop';
-import { ModalMobile } from '@alfalab/core-components-modal/mobile';
-import { ModalResponsive } from '@alfalab/core-components-modal/responsive';
-```
-
Компонент модального окна, построенный как Compound Components.
Предоставляет стандартные компоненты `Header`, `Closer`, `Content`, `Footer`, а также доступ к контексту.
@@ -175,14 +55,6 @@ import { ModalResponsive } from '@alfalab/core-components-modal/responsive';
})}
-
-
-
-
### Плавающий крестик без шапки
diff --git a/packages/mq/src/docs/Component.stories.mdx b/packages/mq/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..441973aae4
--- /dev/null
+++ b/packages/mq/src/docs/Component.stories.mdx
@@ -0,0 +1,51 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { select, number } from '@storybook/addon-knobs';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { Button } from '../../../button/src';
+
+import { Mq, useMatchMedia } from '../';
+
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+
+
+ Mobile button
+
+
+ Desktop button
+
+
+
+
+
+
+
+
+
+```tsx
+import { Mq, useMatchMedia } from '@alfalab/core-components-mq';
+```
+
+ }
+ props={ }
+/>
diff --git a/packages/mq/src/Component.stories.mdx b/packages/mq/src/docs/description.mdx
similarity index 67%
rename from packages/mq/src/Component.stories.mdx
rename to packages/mq/src/docs/description.mdx
index a5176ca6e8..726597f061 100644
--- a/packages/mq/src/Component.stories.mdx
+++ b/packages/mq/src/docs/description.mdx
@@ -1,47 +1,10 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { select, number } from '@storybook/addon-knobs';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import { Button } from '../../button/src';
-
-import { Mq, useMatchMedia } from './';
-
-import { name, version } from '../package.json';
-
-
-
-
-
-
-
-
-
-
- Mobile button
-
-
- Desktop button
-
-
-
-
-
+import { Preview } from '@storybook/addon-docs/blocks';
+import { ComponentHeader } from 'storybook/blocks/component-header';
-
+import { Button } from '../../../button/src';
-```tsx
-import { Mq, useMatchMedia } from '@alfalab/core-components-mq';
-```
+import { Mq, useMatchMedia } from '../';
Компонент, имплементирующий поддержку медиа запросов в шаблонах с помощью `window.matchMedia`.
Рендерит внутренние компоненты/разметку исходя из соответствия условиям запроса.
@@ -76,5 +39,3 @@ import { Mq, useMatchMedia } from '@alfalab/core-components-mq';
})}
-
-
diff --git a/packages/notification-manager/src/docs/Component.stories.mdx b/packages/notification-manager/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..940934740c
--- /dev/null
+++ b/packages/notification-manager/src/docs/Component.stories.mdx
@@ -0,0 +1,74 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { select, text, boolean, number } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Button } from '@alfalab/core-components-button';
+import { Notification } from '@alfalab/core-components-notification';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { NotificationManager } from '../component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+ {React.createElement(() => {
+ const [notifications, setNotifications] = React.useState([]);
+ const [count, setCount] = React.useState(0);
+ const addNotification = () => {
+ const newNotification = (
+
+ );
+ notifications.unshift(newNotification);
+ setNotifications([...notifications]);
+ setCount(val => val + 1);
+ };
+ const removeNotification = React.useCallback(id => {
+ /**
+ * Обратите внимание, что актуальный массив нотификаций
+ * нужно брать из аргументов функции обновления состояния.
+ */
+ setNotifications(actualNotifications =>
+ actualNotifications.filter(notification => notification.props.id !== id),
+ );
+ }, []);
+ return (
+
+ Добавить нотификацию
+
+
+ );
+ })}
+
+
+
+
+
+
+```tsx
+import { NotificationManager } from '@alfalab/core-components-notification-manager';
+```
+
+
}
+ props={
}
+/>
diff --git a/packages/notification-manager/src/component.stories.mdx b/packages/notification-manager/src/docs/description.mdx
similarity index 59%
rename from packages/notification-manager/src/component.stories.mdx
rename to packages/notification-manager/src/docs/description.mdx
index dd61c7ec95..a7dbb93364 100644
--- a/packages/notification-manager/src/component.stories.mdx
+++ b/packages/notification-manager/src/docs/description.mdx
@@ -4,67 +4,7 @@ import { ComponentHeader } from 'storybook/blocks/component-header';
import { Button } from '@alfalab/core-components-button';
import { Notification } from '@alfalab/core-components-notification';
-import { NotificationManager } from './component';
-import { name, version } from '../package.json';
-
-
-
-
-
-
- {React.createElement(() => {
- const [notifications, setNotifications] = React.useState([]);
- const [count, setCount] = React.useState(0);
- const addNotification = () => {
- const newNotification = (
-
- );
- notifications.unshift(newNotification);
- setNotifications([...notifications]);
- setCount(val => val + 1);
- };
- const removeNotification = React.useCallback(id => {
- /**
- * Обратите внимание, что актуальный массив нотификаций
- * нужно брать из аргументов функции обновления состояния.
- */
- setNotifications(actualNotifications =>
- actualNotifications.filter(notification => notification.props.id !== id),
- );
- }, []);
- return (
-
- Добавить нотификацию
-
-
- );
- })}
-
-
-
-
-
-
-```tsx
-import { NotificationManager } from '@alfalab/core-components-notification-manager';
-```
+import { NotificationManager } from '../component';
Менеджер нотификаций.
Рендерит массив нотификаций:
@@ -125,6 +65,4 @@ const removeNotification = React.useCallback(id => {
);
})}
-
-
-
+
\ No newline at end of file
diff --git a/packages/notification/src/Component.stories.mdx b/packages/notification/src/docs/Component.stories.mdx
similarity index 53%
rename from packages/notification/src/Component.stories.mdx
rename to packages/notification/src/docs/Component.stories.mdx
index 6a3d6c7a0a..961c1e7506 100644
--- a/packages/notification/src/Component.stories.mdx
+++ b/packages/notification/src/docs/Component.stories.mdx
@@ -2,8 +2,13 @@ import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
import { select, text, boolean, number } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Button } from "@alfalab/core-components-button";
-import { Notification } from './Component';
-import { name, version } from '../package.json';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { Notification } from '../Component';
+import { name, version } from '../../package.json';
- {React.createElement(() => {
- const [isVisible, setIsVisible] = React.useState(false);
- const toggleVisiblity = React.useCallback(() => setIsVisible(prev => !prev), []);
- const hideNotification = React.useCallback(() => setIsVisible(false), []);
- return (
-
-
- Самая обыкновенная нотификации
-
- Тогглер
-
)
- })}
-
-
-
-
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/notification/src/docs/description.mdx b/packages/notification/src/docs/description.mdx
new file mode 100644
index 0000000000..aeb82691ed
--- /dev/null
+++ b/packages/notification/src/docs/description.mdx
@@ -0,0 +1,29 @@
+import { Preview } from '@storybook/addon-docs/blocks';
+import { Button } from "@alfalab/core-components-button";
+import { Notification } from '../Component';
+
+Компонент нотификации.
+
+
+ {React.createElement(() => {
+ const [isVisible, setIsVisible] = React.useState(false);
+ const toggleVisiblity = React.useCallback(() => setIsVisible(prev => !prev), []);
+ const hideNotification = React.useCallback(() => setIsVisible(false), []);
+ return (
+
+
+ Самая обыкновенная нотификации
+
+ Тогглер
+
)
+ })}
+
+
diff --git a/packages/phone-input/src/Component.stories.mdx b/packages/phone-input/src/docs/Component.stories.mdx
similarity index 70%
rename from packages/phone-input/src/Component.stories.mdx
rename to packages/phone-input/src/docs/Component.stories.mdx
index 16bc54252d..d5336356f4 100644
--- a/packages/phone-input/src/Component.stories.mdx
+++ b/packages/phone-input/src/docs/Component.stories.mdx
@@ -3,9 +3,11 @@ import { Meta, Props, Story, Title } from '@storybook/addon-docs/blocks';
import { text, select, boolean, number } from '@storybook/addon-knobs';
import { action } from '@storybook/addon-actions';
import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
-import { PhoneInput } from './Component';
-import { name, version } from '../package.json';
+import Description from './description.mdx';
+import { PhoneInput } from '../Component';
+import { name, version } from '../../package.json';
+ }
+ props={ }
+/>
-
diff --git a/packages/phone-input/src/docs/description.mdx b/packages/phone-input/src/docs/description.mdx
new file mode 100644
index 0000000000..8018e801bb
--- /dev/null
+++ b/packages/phone-input/src/docs/description.mdx
@@ -0,0 +1,7 @@
+import { PhoneInput } from '../Component';
+
+Компонент текстового поля для ввода российского номера телефона.
+
+☝️ В приложениях Клика используйте обёртку [newclick-composite-components/phone-input](http://digital/demo/newclick-composite-components/master/?path=/docs/form-phoneinput--basic).
+
+
\ No newline at end of file
diff --git a/packages/picker-button/src/docs/Component.stories.mdx b/packages/picker-button/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..5286e60972
--- /dev/null
+++ b/packages/picker-button/src/docs/Component.stories.mdx
@@ -0,0 +1,54 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { text, boolean, select } from '@storybook/addon-knobs';
+import { action } from '@storybook/addon-actions';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import Icon from '@alfalab/icons-glyph/StarMIcon';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { options } from './options'
+import { OptionsList } from '../../../select/src/components/options-list';
+import { Button } from '../../../button/src';
+import { PickerButton } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+ : null}
+ />
+
+
+
+
+
+
+
+```tsx
+import { PickerButton } from '@alfalab/core-components-picker-button';
+```
+
+ }
+ props={ }
+/>
diff --git a/packages/picker-button/src/Component.stories.mdx b/packages/picker-button/src/docs/description.mdx
similarity index 73%
rename from packages/picker-button/src/Component.stories.mdx
rename to packages/picker-button/src/docs/description.mdx
index 232b8a5fc3..73ebfab631 100644
--- a/packages/picker-button/src/Component.stories.mdx
+++ b/packages/picker-button/src/docs/description.mdx
@@ -3,91 +3,15 @@ import { text, boolean, select } from '@storybook/addon-knobs';
import { action } from '@storybook/addon-actions';
import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
-// import Icon from '@alfalab/icons-glyph/StarMIcon';
import Icon from '@alfalab/icons-glyph/StarMIcon';
-import { OptionsList } from '../../select/src/components/options-list';
-import { Button } from '../../button/src';
-import { PickerButton } from './Component';
-import { name, version } from '../package.json';
-
-export const containerStyle = { display: 'grid', gridTemplateColumns: '1fr 1fr 1fr', columnGap: '24px', alignItems: 'center', justifyItems: 'center'}
-
-export const options = [
- { key: '1', content: 'Neptunium'},
- { key: '2', content: 'Plutonium' },
- { key: '3', content: 'Americium' },
- { key: '4', content: 'Curium' },
- { key: '5', content: 'Berkelium' },
- { key: '6', content: 'Californium' },
- { key: '7', content: 'Einsteinium' },
- { key: '8', content: 'Fermium' },
- { key: '9', content: 'Mendelevium' },
- { key: '10', content: 'Nobelium' },
- { key: '11', content: 'Lawrencium' },
- { key: '12', content: 'Rutherfordium' },
- { key: '13', content: 'Dubnium' },
- { key: '14', content: 'Seaborgium' },
- { key: '15', content: 'Bohrium' },
-];
-
-export const customOptionList = (props) => (
-
- Header
-
-
-);
-
-export const groupedOptions = [{
- label: 'Группа №1',
- options: [
- { key: '1', content: 'Neptunium' },
- { key: '2', content: 'Plutonium' },
- ]
-},
-{
- label: 'Группа №2',
- options: [
- { key: '3', content: 'Berkelium' },
- { key: '4', content: 'Californium' },
- ]
-}]
-
-
-
-
-
-
-
- : null}
- />
-
+import { options } from './options'
+import { OptionsList } from '../../../select/src/components/options-list';
+import { Button } from '../../../button/src';
+import { PickerButton } from '../Component';
+import { name, version } from '../../package.json';
-
-
-
-
-```tsx
-import { PickerButton } from '@alfalab/core-components-picker-button';
-```
-
Компонент PickerButton. Использует селект, но с кнопкой вместо стандартного Field.
Кнопка содержит несколько команд, объединенных по смыслу. Используется для скрытия редких или одинаковых по контексту действий.
@@ -175,4 +99,28 @@ import { PickerButton } from '@alfalab/core-components-picker-button';
-
+
+
+export const containerStyle = { display: 'grid', gridTemplateColumns: '1fr 1fr 1fr', columnGap: '24px', alignItems: 'center', justifyItems: 'center'}
+
+export const customOptionList = (props) => (
+
+ Header
+
+
+);
+
+export const groupedOptions = [{
+ label: 'Группа №1',
+ options: [
+ { key: '1', content: 'Neptunium' },
+ { key: '2', content: 'Plutonium' },
+ ]
+},
+{
+ label: 'Группа №2',
+ options: [
+ { key: '3', content: 'Berkelium' },
+ { key: '4', content: 'Californium' },
+ ]
+}]
\ No newline at end of file
diff --git a/packages/picker-button/src/docs/options.ts b/packages/picker-button/src/docs/options.ts
new file mode 100644
index 0000000000..0353643c76
--- /dev/null
+++ b/packages/picker-button/src/docs/options.ts
@@ -0,0 +1,17 @@
+export const options = [
+ { key: '1', content: 'Neptunium' },
+ { key: '2', content: 'Plutonium' },
+ { key: '3', content: 'Americium' },
+ { key: '4', content: 'Curium' },
+ { key: '5', content: 'Berkelium' },
+ { key: '6', content: 'Californium' },
+ { key: '7', content: 'Einsteinium' },
+ { key: '8', content: 'Fermium' },
+ { key: '9', content: 'Mendelevium' },
+ { key: '10', content: 'Nobelium' },
+ { key: '11', content: 'Lawrencium' },
+ { key: '12', content: 'Rutherfordium' },
+ { key: '13', content: 'Dubnium' },
+ { key: '14', content: 'Seaborgium' },
+ { key: '15', content: 'Bohrium' },
+];
diff --git a/packages/popover/src/docs/Component.stories.mdx b/packages/popover/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..db40d26179
--- /dev/null
+++ b/packages/popover/src/docs/Component.stories.mdx
@@ -0,0 +1,94 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, boolean, select, number } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import {Button} from '../../../button/src';
+import { Popover } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const POSITION_OPTIONS = [
+ 'top',
+ 'top-start',
+ 'top-end',
+ 'bottom',
+ 'bottom-start',
+ 'bottom-end',
+ 'right',
+ 'right-start',
+ 'right-end',
+ 'left',
+ 'left-start',
+ 'left-end',
+ ];
+ const [open, setOpen] = React.useState(false);
+ const [buttonElement, setButtonElement] = React.useState(null);
+ const toggle = () => {
+ setOpen(!open);
+ };
+ const handleButtonRef = node => {
+ setButtonElement(node);
+ };
+ const transitionTimeout = number('transition.timeout (ms)', 150);
+ return (
+
+
+ I am popover
+
+
+ Show/Hide popover
+
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { Popover } from '@alfalab/core-components-popover';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/popover/src/Component.stories.mdx b/packages/popover/src/docs/description.mdx
similarity index 64%
rename from packages/popover/src/Component.stories.mdx
rename to packages/popover/src/docs/description.mdx
index f9e0d8c236..71f290981d 100644
--- a/packages/popover/src/Component.stories.mdx
+++ b/packages/popover/src/docs/description.mdx
@@ -2,87 +2,11 @@ import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, boolean, select, number } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import {Button} from '../../button/src';
-import { Popover } from './Component';
-import { name, version } from '../package.json';
+import {Button} from '../../../button/src';
+import { Popover } from '../Component';
+import { name, version } from '../../package.json';
-
-
-
-
-
-
- {React.createElement(() => {
- const POSITION_OPTIONS = [
- 'top',
- 'top-start',
- 'top-end',
- 'bottom',
- 'bottom-start',
- 'bottom-end',
- 'right',
- 'right-start',
- 'right-end',
- 'left',
- 'left-start',
- 'left-end',
- ];
- const [open, setOpen] = React.useState(false);
- const [buttonElement, setButtonElement] = React.useState(null);
- const toggle = () => {
- setOpen(!open);
- };
- const handleButtonRef = node => {
- setButtonElement(node);
- };
- const transitionTimeout = number('transition.timeout (ms)', 150);
- return (
-
-
- I am popover
-
-
- Show/Hide popover
-
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { Popover } from '@alfalab/core-components-popover';
-```
-
Компонент `Popover`. Под капотом использует `popper.js` и `react-transition-group`.
@@ -190,5 +114,3 @@ import { Popover } from '@alfalab/core-components-popover';
);
})}
-
-
diff --git a/packages/portal/src/docs/Component.stories.mdx b/packages/portal/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..49e9d757c8
--- /dev/null
+++ b/packages/portal/src/docs/Component.stories.mdx
@@ -0,0 +1,34 @@
+import { Meta, Props, Preview, Story } from '@storybook/addon-docs/blocks';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Button } from '../../../button/src';
+import Icon from '@alfalab/icons-glyph/StarMIcon';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { Portal } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+
+```tsx
+import { Portal } from '@alfalab/core-components-portal';
+```
+
+ }
+ props={ }
+/>
diff --git a/packages/portal/src/Component.stories.mdx b/packages/portal/src/docs/description.mdx
similarity index 74%
rename from packages/portal/src/Component.stories.mdx
rename to packages/portal/src/docs/description.mdx
index 43ccf80d46..0c0d21dcb3 100644
--- a/packages/portal/src/Component.stories.mdx
+++ b/packages/portal/src/docs/description.mdx
@@ -1,31 +1,12 @@
import { Meta, Props, Preview, Story } from '@storybook/addon-docs/blocks';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Button } from '../../button/src';
+import { Button } from '../../../button/src';
import Icon from '@alfalab/icons-glyph/StarMIcon';
-import { Portal } from './Component';
-import { name, version } from '../package.json';
+import { Portal } from '../Component';
+import { name, version } from '../../package.json';
-
-
-
-
-
-
-
-```tsx
-import { Portal } from '@alfalab/core-components-portal';
-```
-
Порталы позволяют рендерить дочерние элементы в DOM-узел, который находится вне DOM-иерархии родительского компонента.
@@ -50,6 +31,3 @@ import { Portal } from '@alfalab/core-components-portal';
);
})}
-
-
-
diff --git a/packages/progress-bar/src/Component.stories.mdx b/packages/progress-bar/src/docs/Component.stories.mdx
similarity index 62%
rename from packages/progress-bar/src/Component.stories.mdx
rename to packages/progress-bar/src/docs/Component.stories.mdx
index 7d327390cd..d0c4f1dbfc 100644
--- a/packages/progress-bar/src/Component.stories.mdx
+++ b/packages/progress-bar/src/docs/Component.stories.mdx
@@ -2,9 +2,14 @@ import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, select, number } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import { name, version } from '../package.json';
-import { ProgressBar } from './Component';
+import { Tabs } from 'storybook/blocks/tabs';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+
+import { name, version } from '../../package.json';
+import { ProgressBar } from '../Component';
-
-
-
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/progress-bar/src/docs/description.mdx b/packages/progress-bar/src/docs/description.mdx
new file mode 100644
index 0000000000..ef463cb359
--- /dev/null
+++ b/packages/progress-bar/src/docs/description.mdx
@@ -0,0 +1,11 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, select, number } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+
+import { name, version } from '../../package.json';
+import { ProgressBar } from '../Component';
+
+
+Отображает линейный индикатор прогресса (0-100%).
+
+
diff --git a/packages/pure-input/src/Component.stories.mdx b/packages/pure-input/src/docs/Component.stories.mdx
similarity index 80%
rename from packages/pure-input/src/Component.stories.mdx
rename to packages/pure-input/src/docs/Component.stories.mdx
index ad7edfe42e..5bc1b7ba69 100644
--- a/packages/pure-input/src/Component.stories.mdx
+++ b/packages/pure-input/src/docs/Component.stories.mdx
@@ -1,9 +1,11 @@
import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, select, boolean } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
-import { PureInput } from './Component';
-import { name, version } from '../package.json';
+import Description from './description.mdx';
+import { PureInput } from '../Component';
+import { name, version } from '../../package.json';
-
-
-
+ }
+ props={ }
+/>
diff --git a/packages/pure-input/src/docs/description.mdx b/packages/pure-input/src/docs/description.mdx
new file mode 100644
index 0000000000..0398a14d62
--- /dev/null
+++ b/packages/pure-input/src/docs/description.mdx
@@ -0,0 +1,10 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, select, boolean } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+
+import { PureInput } from '../Component';
+import { name, version } from '../../package.json';
+
+Компонент, представляющий из себя стилизованный нативный `input`.
+
+
diff --git a/packages/radio-group/src/docs/Component.stories.mdx b/packages/radio-group/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..05ccaabc6e
--- /dev/null
+++ b/packages/radio-group/src/docs/Component.stories.mdx
@@ -0,0 +1,68 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, boolean, select } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+import { CssVars } from 'storybook/blocks/css-vars';
+
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { RadioGroup } from '../Component';
+import { name, version } from '../../package.json';
+import { Radio } from '../../../radio/src';
+import { Tag } from '../../../tag/src';
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const [value, setValue] = React.useState({ one: false, two: false, three: false });
+ const onChange = (_, payload) => {
+ setValue({ ...value, [payload.name]: payload.checked });
+ };
+ const direction = select('direction', ['vertical', 'horizontal'], 'vertical');
+ const error = text('error', '');
+ const disabled = boolean('disabled', false);
+ const label = text('label', '');
+ return (
+
+
+
+
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { RadioGroup } from '@alfalab/core-components-radio-group';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/radio-group/src/Component.stories.mdx b/packages/radio-group/src/docs/description.mdx
similarity index 59%
rename from packages/radio-group/src/Component.stories.mdx
rename to packages/radio-group/src/docs/description.mdx
index 1fc9ae0999..be1a9a4a63 100644
--- a/packages/radio-group/src/Component.stories.mdx
+++ b/packages/radio-group/src/docs/description.mdx
@@ -2,60 +2,12 @@ import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, boolean, select } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import { RadioGroup } from './Component';
-import { name, version } from '../package.json';
-import { Radio } from '../../radio/src';
-import { Tag } from '../../tag/src';
+import { RadioGroup } from '../Component';
+import { name, version } from '../../package.json';
+import { Radio } from '../../../radio/src';
+import { Tag } from '../../../tag/src';
-
-
-
-
-
-
- {React.createElement(() => {
- const [value, setValue] = React.useState({ one: false, two: false, three: false });
- const onChange = (_, payload) => {
- setValue({ ...value, [payload.name]: payload.checked });
- };
- const direction = select('direction', ['vertical', 'horizontal'], 'vertical');
- const error = text('error', '');
- const disabled = boolean('disabled', false);
- const label = text('label', '');
- return (
-
-
-
-
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { RadioGroup } from '@alfalab/core-components-radio-group';
-```
Компонент группы радио.
@@ -87,9 +39,6 @@ import { RadioGroup } from '@alfalab/core-components-radio-group';
-
-
-
### Группа радио, использующая компонент `Tag`
diff --git a/packages/radio/src/Component.stories.mdx b/packages/radio/src/docs/Component.stories.mdx
similarity index 56%
rename from packages/radio/src/Component.stories.mdx
rename to packages/radio/src/docs/Component.stories.mdx
index e841f54fdc..06daf180e1 100644
--- a/packages/radio/src/Component.stories.mdx
+++ b/packages/radio/src/docs/Component.stories.mdx
@@ -1,9 +1,13 @@
import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, boolean, select } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
-import { Radio } from './Component';
-import { name, version } from '../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { Radio } from '../Component';
+import { name, version } from '../../package.json';
- {React.createElement(() => {
- const [checked, setChecked] = React.useState(false);
- const handleChange = () => setChecked(!checked);
- const disabled = boolean('disabled', false);
- const label = text('label', 'Text label')
- const hint = text('hint', 'Hint');
- return (
-
- );
- })}
-
-
-
-
-
-
-### Компонент Radio
-
-
- {React.createElement(() => {
- const [checked, setChecked] = React.useState(false);
- const handleChange = () => setChecked(!checked);
- return (
-
- );
- })}
-
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/radio/src/docs/description.mdx b/packages/radio/src/docs/description.mdx
new file mode 100644
index 0000000000..e6bac16222
--- /dev/null
+++ b/packages/radio/src/docs/description.mdx
@@ -0,0 +1,27 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, boolean, select } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+
+import { Radio } from '../Component';
+import { name, version } from '../../package.json';
+
+### Компонент Radio
+
+
+ {React.createElement(() => {
+ const [checked, setChecked] = React.useState(false);
+ const handleChange = () => setChecked(!checked);
+ const disabled = boolean('disabled', false);
+ const label = text('label', 'Text label')
+ const hint = text('hint', 'Hint');
+ return (
+
+ );
+ })}
+
diff --git a/packages/select-with-tags/src/component.stories.mdx b/packages/select-with-tags/src/docs/Component.stories.mdx
similarity index 60%
rename from packages/select-with-tags/src/component.stories.mdx
rename to packages/select-with-tags/src/docs/Component.stories.mdx
index 8905dc9189..c8ce12a06b 100644
--- a/packages/select-with-tags/src/component.stories.mdx
+++ b/packages/select-with-tags/src/docs/Component.stories.mdx
@@ -3,34 +3,16 @@ import { text, select, boolean } from '@storybook/addon-knobs';
import { action } from '@storybook/addon-actions';
import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
import { Tag } from '@alfalab/core-components-tag';
import { Input } from '@alfalab/core-components-input';
import { MaskedInput } from '@alfalab/core-components-masked-input';
import { Arrow, Option } from '@alfalab/core-components-select';
-import { SelectWithTags } from './component';
-
-export const options = [
- { key: '1', content: 'H', value: 'H' },
- { key: '2', content: 'Li', value: 'Li' },
- { key: '3', content: 'Na', value: 'Na' },
- { key: '4', content: 'Curium', value: 'Curium' },
- { key: '5', content: 'Berkelium', value: 'Berkelium' },
- { key: '6', content: 'Californium', value: 'Californium' },
- { key: '7', content: 'Einsteinium', value: 'Einsteinium' },
- { key: '8', content: 'Fermium', value: 'Fermium' },
- { key: '9', content: 'Mendelevium', value: 'Mendelevium' },
- { key: '10', content: 'Nobelium', value: 'Nobelium' },
- { key: '11', content: 'Lawrencium', value: 'Lawrencium'},
- { key: '12', content: 'Rutherfordium', value: 'Rutherfordium'},
- { key: '13', content: 'Dubnium', value: 'Dubnium' },
- { key: '14', content: 'Seaborgium', value: 'Seaborgium'},
- { key: '15', content: 'Bohrium', value: 'Bohrium' },
-];
-
-export const matchOption = (option, inputValue) =>
- option.content.toLowerCase().includes((inputValue || '').toLowerCase());
+import { SelectWithTags } from '../component';
+import Description from './description.mdx';
+import { options } from './constants';
import { SelectWithTags } from '@alfalab/core-components-select-with-tags';
```
-Размеры `s` и `m` пока лучше не использовать, так как еще нет актуальных макетов.
-
-
- {React.createElement(() => {
- const [value, setValue] = React.useState('');
- const handleInput = event => {
- setValue(event.target.value);
- };
- return (
-
-
-
- );
- })}
-
-
-
+ }
+ props={ }
+/>
diff --git a/packages/select-with-tags/src/docs/constants.ts b/packages/select-with-tags/src/docs/constants.ts
new file mode 100644
index 0000000000..7999656219
--- /dev/null
+++ b/packages/select-with-tags/src/docs/constants.ts
@@ -0,0 +1,17 @@
+export const options = [
+ { key: '1', content: 'H', value: 'H' },
+ { key: '2', content: 'Li', value: 'Li' },
+ { key: '3', content: 'Na', value: 'Na' },
+ { key: '4', content: 'Curium', value: 'Curium' },
+ { key: '5', content: 'Berkelium', value: 'Berkelium' },
+ { key: '6', content: 'Californium', value: 'Californium' },
+ { key: '7', content: 'Einsteinium', value: 'Einsteinium' },
+ { key: '8', content: 'Fermium', value: 'Fermium' },
+ { key: '9', content: 'Mendelevium', value: 'Mendelevium' },
+ { key: '10', content: 'Nobelium', value: 'Nobelium' },
+ { key: '11', content: 'Lawrencium', value: 'Lawrencium' },
+ { key: '12', content: 'Rutherfordium', value: 'Rutherfordium' },
+ { key: '13', content: 'Dubnium', value: 'Dubnium' },
+ { key: '14', content: 'Seaborgium', value: 'Seaborgium' },
+ { key: '15', content: 'Bohrium', value: 'Bohrium' },
+];
diff --git a/packages/select-with-tags/src/docs/description.mdx b/packages/select-with-tags/src/docs/description.mdx
new file mode 100644
index 0000000000..72073f875e
--- /dev/null
+++ b/packages/select-with-tags/src/docs/description.mdx
@@ -0,0 +1,37 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { text, select, boolean } from '@storybook/addon-knobs';
+import { action } from '@storybook/addon-actions';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+
+import { Tag } from '@alfalab/core-components-tag';
+import { Input } from '@alfalab/core-components-input';
+import { MaskedInput } from '@alfalab/core-components-masked-input';
+import { Arrow, Option } from '@alfalab/core-components-select';
+
+import { SelectWithTags } from '../component';
+import { options } from './constants';
+
+
+Размеры `s` и `m` пока лучше не использовать, так как еще нет актуальных макетов.
+
+
+ {React.createElement(() => {
+ const [value, setValue] = React.useState('');
+ const handleInput = event => {
+ setValue(event.target.value);
+ };
+ return (
+
+
+
+ );
+ })}
+
+
diff --git a/packages/select/src/docs/Component.stories.mdx b/packages/select/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..33e042f8e7
--- /dev/null
+++ b/packages/select/src/docs/Component.stories.mdx
@@ -0,0 +1,78 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { text, boolean, number, select as selectKnob } from '@storybook/addon-knobs';
+import { action } from '@storybook/addon-actions';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import vars from '!!raw-loader!../vars.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { Select } from '../Component';
+import { Field } from '../components/field';
+import { Arrow } from '../components/arrow';
+import { OptionsList } from '../components/options-list';
+import { VirtualOptionsList } from '../components/virtual-options-list';
+import { Optgroup } from '../components/optgroup';
+import { Option } from '../components/option';
+import { Button } from '../../../button/src';
+import { joinOptions } from '../utils';
+import { name, version } from '../../package.json';
+
+import Icon from '@alfalab/icons-classic/BankAlfaSBlackIcon';
+import { options, POSITION_OPTIONS } from './constants'
+
+
+
+
+
+
+
+ null}
+ circularNavigation={boolean('circularNavigation', false)}
+ nativeSelect={boolean('nativeSelect', false)}
+ placeholder={text('placeholder', 'Выберите элемент')}
+ label={text('label', 'Элемент')}
+ visibleOptions={number('visibleOptions', 5)}
+ onChange={action('change')}
+ onOpen={action('open')}
+ defaultOpen={boolean('defaultOpen', false)}
+ popoverPosition={selectKnob('popoverPosition', POSITION_OPTIONS, 'bottom-start')}
+ optionsListWidth={selectKnob('optionsListWidth', ['field', 'content'], 'field')}
+ />
+
+
+
+
+
+
+
+```tsx
+import { Select } from '@alfalab/core-components-select';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/select/src/docs/constants.ts b/packages/select/src/docs/constants.ts
new file mode 100644
index 0000000000..f9b9ec96aa
--- /dev/null
+++ b/packages/select/src/docs/constants.ts
@@ -0,0 +1,66 @@
+export const options = [
+ { key: '1', content: 'Neptunium' },
+ { key: '2', content: 'Plutonium' },
+ { key: '3', content: 'Americium' },
+ { key: '4', content: 'Curium' },
+ { key: '5', content: 'Berkelium' },
+ { key: '6', content: 'Californium' },
+ { key: '7', content: 'Einsteinium' },
+ { key: '8', content: 'Fermium' },
+ { key: '9', content: 'Mendelevium' },
+ { key: '10', content: 'Nobelium' },
+ { key: '11', content: 'Lawrencium' },
+ { key: '12', content: 'Rutherfordium' },
+ { key: '13', content: 'Dubnium' },
+ { key: '14', content: 'Seaborgium' },
+ { key: '15', content: 'Bohrium' },
+ { key: '16', content: 'Очень длинный текст Очень длинный текст Очень длинный текст' },
+];
+
+export const groups = [
+ {
+ label: 'Группа №1',
+ options: [
+ { key: '1', content: 'Neptunium' },
+ { key: '2', content: 'Plutonium' },
+ { key: '3', content: 'Americium' },
+ { key: '4', content: 'Curium' },
+ ],
+ },
+ {
+ label: 'Группа №2',
+ options: [
+ { key: '5', content: 'Berkelium' },
+ { key: '6', content: 'Californium' },
+ { key: '7', content: 'Einsteinium' },
+ { key: '8', content: 'Fermium' },
+ { key: '9', content: 'Mendelevium' },
+ { key: '10', content: 'Nobelium' },
+ ],
+ },
+ {
+ label: 'Группа №3',
+ options: [
+ { key: '11', content: 'Lawrencium' },
+ { key: '12', content: 'Rutherfordium' },
+ { key: '13', content: 'Dubnium' },
+ { key: '14', content: 'Seaborgium' },
+ { key: '15', content: 'Bohrium' },
+ ],
+ },
+];
+
+export const POSITION_OPTIONS = [
+ 'top',
+ 'top-start',
+ 'top-end',
+ 'bottom',
+ 'bottom-start',
+ 'bottom-end',
+ 'right',
+ 'right-start',
+ 'right-end',
+ 'left',
+ 'left-start',
+ 'left-end',
+];
diff --git a/packages/select/src/Component.stories.mdx b/packages/select/src/docs/description.mdx
similarity index 77%
rename from packages/select/src/Component.stories.mdx
rename to packages/select/src/docs/description.mdx
index b96f36c80c..d7f1520bc7 100644
--- a/packages/select/src/Component.stories.mdx
+++ b/packages/select/src/docs/description.mdx
@@ -4,70 +4,19 @@ import { action } from '@storybook/addon-actions';
import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Select } from './Component';
-import { Field } from './components/field';
-import { Arrow } from './components/arrow';
-import { OptionsList } from './components/options-list';
-import { VirtualOptionsList } from './components/virtual-options-list';
-import { Optgroup } from './components/optgroup';
-import { Option } from './components/option';
-import { Button } from '../../button/src';
-import { joinOptions } from './utils';
-import { name, version } from '../package.json';
+import { Select } from '../Component';
+import { Field } from '../components/field';
+import { Arrow } from '../components/arrow';
+import { OptionsList } from '../components/options-list';
+import { VirtualOptionsList } from '../components/virtual-options-list';
+import { Optgroup } from '../components/optgroup';
+import { Option } from '../components/option';
+import { Button } from '../../../button/src';
+import { joinOptions } from '../utils';
+import { name, version } from '../../package.json';
import Icon from '@alfalab/icons-classic/BankAlfaSBlackIcon';
-
-export const options = [
- { key: '1', content: 'Neptunium'},
- { key: '2', content: 'Plutonium' },
- { key: '3', content: 'Americium' },
- { key: '4', content: 'Curium' },
- { key: '5', content: 'Berkelium' },
- { key: '6', content: 'Californium' },
- { key: '7', content: 'Einsteinium' },
- { key: '8', content: 'Fermium' },
- { key: '9', content: 'Mendelevium' },
- { key: '10', content: 'Nobelium' },
- { key: '11', content: 'Lawrencium' },
- { key: '12', content: 'Rutherfordium' },
- { key: '13', content: 'Dubnium' },
- { key: '14', content: 'Seaborgium' },
- { key: '15', content: 'Bohrium' },
- { key: '16', content: 'Очень длинный текст Очень длинный текст Очень длинный текст' },
-];
-
-export const groups = [
- {
- label: 'Группа №1',
- options: [
- { key: '1', content: 'Neptunium' },
- { key: '2', content: 'Plutonium' },
- { key: '3', content: 'Americium' },
- { key: '4', content: 'Curium' },
- ]
- },
- {
- label: 'Группа №2',
- options: [
- { key: '5', content: 'Berkelium' },
- { key: '6', content: 'Californium' },
- { key: '7', content: 'Einsteinium' },
- { key: '8', content: 'Fermium' },
- { key: '9', content: 'Mendelevium' },
- { key: '10', content: 'Nobelium' },
- ]
- },
- {
- label: 'Группа №3',
- options: [
- { key: '11', content: 'Lawrencium' },
- { key: '12', content: 'Rutherfordium' },
- { key: '13', content: 'Dubnium' },
- { key: '14', content: 'Seaborgium' },
- { key: '15', content: 'Bohrium' },
- ]
- },
-];
+import { options, groups, POSITION_OPTIONS } from './constants';
export const optionsWithHtml = options.map(option => {
return {
@@ -80,70 +29,6 @@ export const renderUppercased = (options) => {
return options.map(option => option.content.toUpperCase()).join(', ');
};
-export const POSITION_OPTIONS = [
- 'top',
- 'top-start',
- 'top-end',
- 'bottom',
- 'bottom-start',
- 'bottom-end',
- 'right',
- 'right-start',
- 'right-end',
- 'left',
- 'left-start',
- 'left-end',
-];
-
-
-
-
-
-
-
-
- null}
- circularNavigation={boolean('circularNavigation', false)}
- nativeSelect={boolean('nativeSelect', false)}
- placeholder={text('placeholder', 'Выберите элемент')}
- label={text('label', 'Элемент')}
- visibleOptions={number('visibleOptions', 5)}
- onChange={action('change')}
- onOpen={action('open')}
- defaultOpen={boolean('defaultOpen', false)}
- popoverPosition={selectKnob('popoverPosition', POSITION_OPTIONS, 'bottom-start')}
- optionsListWidth={selectKnob('optionsListWidth', ['field', 'content'], 'field')}
- />
-
-
-
-
-
-
-
-```tsx
-import { Select } from '@alfalab/core-components-select';
-```
Компонент выпадающего списка.
diff --git a/packages/skeleton/src/docs/Component.stories.mdx b/packages/skeleton/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..df9071f599
--- /dev/null
+++ b/packages/skeleton/src/docs/Component.stories.mdx
@@ -0,0 +1,62 @@
+import { text, boolean } from '@storybook/addon-knobs';
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { Skeleton } from '..';
+import { name, version } from '../../package.json';
+import { Typography } from '../../../typography/src';
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ return (
+
+
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { Skeleton } from '@alfalab/core-components-skeleton';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/skeleton/src/Component.stories.mdx b/packages/skeleton/src/docs/description.mdx
similarity index 54%
rename from packages/skeleton/src/Component.stories.mdx
rename to packages/skeleton/src/docs/description.mdx
index 77aea3b626..d3c9370629 100644
--- a/packages/skeleton/src/Component.stories.mdx
+++ b/packages/skeleton/src/docs/description.mdx
@@ -3,62 +3,14 @@ import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Skeleton } from '.';
-import { name, version } from '../package.json';
-import { Typography } from '../../typography/src';
-import styles from './stories.module.css';
-
-
-
-
-
-
-
-
- {React.createElement(() => {
- return (
-
-
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { Skeleton } from '@alfalab/core-components-skeleton';
-```
+import { Skeleton } from '..';
+import { name, version } from '../../package.json';
+import { Typography } from '../../../typography/src';
+import styles from '../stories.module.css';
Компонент скелетной загрузки.
-
-
-
## Использование
С контентом:
diff --git a/packages/slider-input/src/docs/Component.stories.mdx b/packages/slider-input/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..1dfc2efd92
--- /dev/null
+++ b/packages/slider-input/src/docs/Component.stories.mdx
@@ -0,0 +1,75 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { action } from '@storybook/addon-actions';
+import { text, select, boolean, number } from '@storybook/addon-knobs';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import Icon from '@alfalab/icons-glyph/StarMIcon';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { SliderInput } from '../Component';
+import { AmountInput } from '../../../amount-input/src';
+import { Input } from '../../../input/src';
+import { withSuffix } from '../../../with-suffix/src';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+{React.createElement(() => {
+ const [value, setValue] = React.useState('50');
+ const handleChange = (event, { value }) => setValue(value);
+ return (
+ }
+ leftAddons={boolean('leftAddons', false) && }
+ readOnly={boolean('readOnly', false)}
+ />
+ );
+})}
+
+
+
+
+
+
+
+```tsx
+import { SliderInput } from '@alfalab/core-components-slider-input';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/slider-input/src/Component.stories.mdx b/packages/slider-input/src/docs/description.mdx
similarity index 79%
rename from packages/slider-input/src/Component.stories.mdx
rename to packages/slider-input/src/docs/description.mdx
index f7098ab39e..7ce8d6eb41 100644
--- a/packages/slider-input/src/Component.stories.mdx
+++ b/packages/slider-input/src/docs/description.mdx
@@ -5,65 +5,13 @@ import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
import Icon from '@alfalab/icons-glyph/StarMIcon';
-import { SliderInput } from './Component';
-import { AmountInput } from '../../amount-input/src';
-import { Input } from '../../input/src';
-import { withSuffix } from '../../with-suffix/src';
-import { name, version } from '../package.json';
+import { SliderInput } from '../Component';
+import { AmountInput } from '../../../amount-input/src';
+import { Input } from '../../../input/src';
+import { withSuffix } from '../../../with-suffix/src';
+import { name, version } from '../../package.json';
-
-
-
-
-
-
-{React.createElement(() => {
- const [value, setValue] = React.useState('50');
- const handleChange = (event, { value }) => setValue(value);
- return (
- }
- leftAddons={boolean('leftAddons', false) && }
- readOnly={boolean('readOnly', false)}
- />
- );
-})}
-
-
-
-
-
-
-
-```tsx
-import { SliderInput } from '@alfalab/core-components-slider-input';
-```
-
Поле ввода, совмещенное со слайдером
export const normalizeValue = (value, min, max) => {
diff --git a/packages/slider/src/Component.stories.mdx b/packages/slider/src/docs/Component.stories.mdx
similarity index 76%
rename from packages/slider/src/Component.stories.mdx
rename to packages/slider/src/docs/Component.stories.mdx
index c5bef3dbb2..e2c830f36b 100644
--- a/packages/slider/src/Component.stories.mdx
+++ b/packages/slider/src/docs/Component.stories.mdx
@@ -4,9 +4,13 @@ import { text, select, boolean, number } from '@storybook/addon-knobs';
import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
import Icon from '@alfalab/icons-glyph/StarMIcon';
+import { Tabs } from 'storybook/blocks/tabs';
-import { Slider } from './Component';
-import { name, version } from '../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { Slider } from '../Component';
+import { name, version } from '../../package.json';
-{React.createElement(() => {
- const [value, setValue] = React.useState(50);
- const handleChange = (event, { value }) => setValue(value);
- return (
-
- );
-})}
-
-
-
+
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/slider/src/docs/description.mdx b/packages/slider/src/docs/description.mdx
new file mode 100644
index 0000000000..2baf7ed377
--- /dev/null
+++ b/packages/slider/src/docs/description.mdx
@@ -0,0 +1,20 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { action } from '@storybook/addon-actions';
+import { text, select, boolean, number } from '@storybook/addon-knobs';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import Icon from '@alfalab/icons-glyph/StarMIcon';
+
+import { Slider } from '../Component';
+import { name, version } from '../../package.json';
+
+
+ {React.createElement(() => {
+ const [value, setValue] = React.useState(50);
+ const handleChange = (event, { value }) => setValue(value);
+ return (
+
+ );
+ })}
+
+
diff --git a/packages/space/src/docs/Component.stories.mdx b/packages/space/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..d8913ff3b0
--- /dev/null
+++ b/packages/space/src/docs/Component.stories.mdx
@@ -0,0 +1,59 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { select, boolean, text } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Input } from '@alfalab/core-components-input';
+import { CardImage } from '@alfalab/core-components-card-image';
+import { Button } from '@alfalab/core-components-button';
+import { Divider } from '@alfalab/core-components-divider';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { Space } from '../Component';
+import { name, version } from '../../package.json';
+
+export const DIRECTIONS = ['horizontal', 'vertical'];
+export const ALIGNES = ['start', 'end', 'center'];
+export const SIZES = ['s', 'm', 'l', 8, 72];
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```tsx
+import { Space } from '@alfalab/core-components-space';
+```
+
+ }
+ props={ }
+/>
diff --git a/packages/space/src/Component.stories.mdx b/packages/space/src/docs/description.mdx
similarity index 78%
rename from packages/space/src/Component.stories.mdx
rename to packages/space/src/docs/description.mdx
index e0fc9549f8..f0203afc6c 100644
--- a/packages/space/src/Component.stories.mdx
+++ b/packages/space/src/docs/description.mdx
@@ -6,55 +6,11 @@ import { CardImage } from '@alfalab/core-components-card-image';
import { Button } from '@alfalab/core-components-button';
import { Divider } from '@alfalab/core-components-divider';
-import { Space } from './Component';
-import { name, version } from '../package.json';
-
-export const DIRECTIONS = ['horizontal', 'vertical'];
-export const ALIGNES = ['start', 'end', 'center'];
-export const SIZES = ['s', 'm', 'l', 8, 72];
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```tsx
-import { Space } from '@alfalab/core-components-space';
-```
+import { Space } from '../Component';
+import { name, version } from '../../package.json';
Компонент для установки расстояния между компонентами.
-
-
### Примеры
Просто карточки.
diff --git a/packages/spinner/src/docs/Component.stories.mdx b/packages/spinner/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..8bbd88100b
--- /dev/null
+++ b/packages/spinner/src/docs/Component.stories.mdx
@@ -0,0 +1,47 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { text, boolean, select } from '@storybook/addon-knobs';
+import { action } from '@storybook/addon-actions';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+
+import { Button } from '../../../button/src';
+import { Spinner } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```tsx
+import { Spinner } from '@alfalab/core-components-spinner';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/spinner/src/Component.stories.mdx b/packages/spinner/src/docs/description.mdx
similarity index 61%
rename from packages/spinner/src/Component.stories.mdx
rename to packages/spinner/src/docs/description.mdx
index 96d6c3f607..11b8892e79 100644
--- a/packages/spinner/src/Component.stories.mdx
+++ b/packages/spinner/src/docs/description.mdx
@@ -4,36 +4,9 @@ import { action } from '@storybook/addon-actions';
import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Button } from '../../button/src';
-import { Spinner } from './Component';
-import { name, version } from '../package.json';
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```tsx
-import { Spinner } from '@alfalab/core-components-spinner';
-```
+import { Button } from '../../../button/src';
+import { Spinner } from '../Component';
+import { name, version } from '../../package.json';
Компонент спиннера.
@@ -74,6 +47,3 @@ Spinner `size=s` in button:
Документы загружаются...
-
-
-
diff --git a/packages/stack/src/docs/Component.stories.mdx b/packages/stack/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..8f95ded0c6
--- /dev/null
+++ b/packages/stack/src/docs/Component.stories.mdx
@@ -0,0 +1,38 @@
+import { useState } from 'react';
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+import { Button } from '../../../button/src';
+import { Portal } from '../../../portal/src';
+import { ModalDesktop } from '../../../modal/src/desktop';
+import { Tooltip } from '../../../tooltip/src';
+import Description from './description.mdx';
+import { Stack } from '../';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+
+
+
+```tsx
+import { Stack } from '@alfalab/core-components-stack';
+```
+
+ }
+ props={ }
+/>
diff --git a/packages/stack/src/component.stories.mdx b/packages/stack/src/docs/description.mdx
similarity index 92%
rename from packages/stack/src/component.stories.mdx
rename to packages/stack/src/docs/description.mdx
index 77a3115b56..0e2ff49583 100644
--- a/packages/stack/src/component.stories.mdx
+++ b/packages/stack/src/docs/description.mdx
@@ -1,35 +1,14 @@
import { useState } from 'react';
import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Button } from '../../button/src';
-import { Portal } from '../../portal/src';
-import { ModalDesktop } from '../../modal/src/desktop';
-import { Tooltip } from '../../tooltip/src';
+import { Button } from '../../../button/src';
+import { Portal } from '../../../portal/src';
+import { ModalDesktop } from '../../../modal/src/desktop';
+import { Tooltip } from '../../../tooltip/src';
-import { Stack } from '.';
-import { name, version } from '../package.json';
+import { Stack } from '../';
+import { name, version } from '../../package.json';
-
-
-
-
-
-
-
-
-
-
-```tsx
-import { Stack } from '@alfalab/core-components-stack';
-```
Компонент для управления [порядком наложения](https://developer.mozilla.org/ru/docs/Web/CSS/z-index).
@@ -167,5 +146,3 @@ import { Stack } from '@alfalab/core-components-stack';
- POPOVER — Компоненты, которые управляют своей позицией, например, поповер, тултип
- MODAL — Для модальных окон с оверлеем
- TOAST - Для тостов и нотификаций
-
-
diff --git a/packages/status/src/docs/Component.stories.mdx b/packages/status/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..b792a3e9b2
--- /dev/null
+++ b/packages/status/src/docs/Component.stories.mdx
@@ -0,0 +1,45 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { select, text } from '@storybook/addon-knobs';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { Status, colors } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+ {text('children', 'Label')}
+
+
+
+
+
+
+
+
+```tsx
+import { Status } from '@alfalab/core-components-status';
+```
+
+ }
+ props={ }
+/>
diff --git a/packages/status/src/Component.stories.mdx b/packages/status/src/docs/description.mdx
similarity index 70%
rename from packages/status/src/Component.stories.mdx
rename to packages/status/src/docs/description.mdx
index 372e6bb62b..6707e52b23 100644
--- a/packages/status/src/Component.stories.mdx
+++ b/packages/status/src/docs/description.mdx
@@ -3,39 +3,9 @@ import { select, text } from '@storybook/addon-knobs';
import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Status, colors } from './Component';
-import { name, version } from '../package.json';
+import { Status, colors } from '../Component';
+import { name, version } from '../../package.json';
-
-
-
-
-
-
-
- {text('children', 'Label')}
-
-
-
-
-
-
-
-
-```tsx
-import { Status } from '@alfalab/core-components-status';
-```
Статус испольнения/подключения или маркетингового выделения
@@ -75,5 +45,3 @@ import { Status } from '@alfalab/core-components-status';
-
-
diff --git a/packages/switch/src/docs/Component.stories.mdx b/packages/switch/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..d050636f6a
--- /dev/null
+++ b/packages/switch/src/docs/Component.stories.mdx
@@ -0,0 +1,66 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, boolean, select } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { Button } from '../../../button/src';
+import Icon from '@alfalab/icons-glyph/StarMIcon';
+
+import { Switch } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const [checked, setChecked] = React.useState(false);
+ const handleChange = () => setChecked(!checked);
+ return (
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { Switch } from '@alfalab/core-components-switch';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/switch/src/Component.stories.mdx b/packages/switch/src/docs/description.mdx
similarity index 65%
rename from packages/switch/src/Component.stories.mdx
rename to packages/switch/src/docs/description.mdx
index c0d9e0aa78..06695eb854 100644
--- a/packages/switch/src/Component.stories.mdx
+++ b/packages/switch/src/docs/description.mdx
@@ -2,59 +2,13 @@ import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, boolean, select } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Button } from '../../button/src';
+import { Button } from '../../../button/src';
import Icon from '@alfalab/icons-glyph/StarMIcon';
-import { Switch } from './Component';
-import { name, version } from '../package.json';
+import { Switch } from '../Component';
+import { name, version } from '../../package.json';
-
-
-
-
-
-
- {React.createElement(() => {
- const [checked, setChecked] = React.useState(false);
- const handleChange = () => setChecked(!checked);
- return (
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { Switch } from '@alfalab/core-components-switch';
-```
-
Компонент переключателя.
@@ -77,9 +31,6 @@ import { Switch } from '@alfalab/core-components-switch';
-
-
-
### Переключатель без текста
diff --git a/packages/tabs/src/docs/Component.stories.mdx b/packages/tabs/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..4a50aa1b95
--- /dev/null
+++ b/packages/tabs/src/docs/Component.stories.mdx
@@ -0,0 +1,158 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { boolean, select } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import Icon from '@alfalab/icons-glyph/StarMIcon';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import vars from '!!raw-loader!../vars.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { Tab, TabsDesktop, PrimaryTabListDesktop, SecondaryTabListDesktop } from '../desktop';
+import { TabsMobile, PrimaryTabListMobile, SecondaryTabListMobile } from '../mobile';
+import { TabsResponsive } from '../responsive';
+
+import { name, version } from '../../package.json';
+
+export const titles = Array(7).fill(0).map((_, i) => ({ title: `Таб ${i + 1}`, id: i + 1 }));
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const [selectedId, setSelectedId] = React.useState('tab-1');
+ const handleChange = (event, { selectedId }) => setSelectedId(selectedId);
+ return (
+
+
+ Таб 1
+
+
+ Таб 2
+
+
+ Таб 3
+
+
+ Таб 4
+
+
+ Таб 5
+
+
+ );
+ })}
+
+
+
+ {React.createElement(() => {
+ const [selectedId, setSelectedId] = React.useState('tab-1');
+ const handleChange = (event, { selectedId }) => setSelectedId(selectedId);
+ return (
+
+
+ Таб 1
+
+
+ Таб 2
+
+
+ Таб 3
+
+
+ Таб 4
+
+
+ Таб 5
+
+
+ );
+ })}
+
+
+
+ {React.createElement(() => {
+ const [selectedId, setSelectedId] = React.useState('tab-1');
+ const handleChange = (event, { selectedId }) => setSelectedId(selectedId);
+ return (
+
+
+ Таб 1
+
+
+ Таб 2
+
+
+ Таб 3
+
+
+ Таб 4
+
+
+ Таб 5
+
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+// Импорт адаптивных табов
+import { TabsResponsive, Tab } from '@alfalab/core-components-tabs';
+import { TabsResponsive, Tab } from '@alfalab/core-components-tabs/responsive';
+// Импорт только десктопных табов
+import { TabsDesktop, Tab } from '@alfalab/core-components-tabs/desktop';
+// Импорт только мобильных табов
+import { TabsMobile, Tab } from '@alfalab/core-components-tabs/mobile';
+```
+
+ }
+ cssVars={ }
+ props={
+
+ }
+/>
diff --git a/packages/tabs/src/Component.stories.mdx b/packages/tabs/src/docs/description.mdx
similarity index 55%
rename from packages/tabs/src/Component.stories.mdx
rename to packages/tabs/src/docs/description.mdx
index 6a2f79ed2b..24ecbc35bb 100644
--- a/packages/tabs/src/Component.stories.mdx
+++ b/packages/tabs/src/docs/description.mdx
@@ -3,141 +3,14 @@ import { boolean, select } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import Icon from '@alfalab/icons-glyph/StarMIcon';
-import { Tab, TabsDesktop, PrimaryTabListDesktop, SecondaryTabListDesktop } from './desktop';
-import { TabsMobile, PrimaryTabListMobile, SecondaryTabListMobile } from './mobile';
-import { TabsResponsive } from './responsive';
+import { Tab, TabsDesktop, PrimaryTabListDesktop, SecondaryTabListDesktop } from '../desktop';
+import { TabsMobile, PrimaryTabListMobile, SecondaryTabListMobile } from '../mobile';
+import { TabsResponsive } from '../responsive';
-import { name, version } from '../package.json';
+import { name, version } from '../../package.json';
-export const titles = Array(7).fill(0).map((_, i) => ({ title: `Таб ${i + 1}`, id: i + 1 }));
-
-
-
-
-
-
- {React.createElement(() => {
- const [selectedId, setSelectedId] = React.useState('tab-1');
- const handleChange = (event, { selectedId }) => setSelectedId(selectedId);
- return (
-
-
- Таб 1
-
-
- Таб 2
-
-
- Таб 3
-
-
- Таб 4
-
-
- Таб 5
-
-
- );
- })}
-
-
-
- {React.createElement(() => {
- const [selectedId, setSelectedId] = React.useState('tab-1');
- const handleChange = (event, { selectedId }) => setSelectedId(selectedId);
- return (
-
-
- Таб 1
-
-
- Таб 2
-
-
- Таб 3
-
-
- Таб 4
-
-
- Таб 5
-
-
- );
- })}
-
-
-
- {React.createElement(() => {
- const [selectedId, setSelectedId] = React.useState('tab-1');
- const handleChange = (event, { selectedId }) => setSelectedId(selectedId);
- return (
-
-
- Таб 1
-
-
- Таб 2
-
-
- Таб 3
-
-
- Таб 4
-
-
- Таб 5
-
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-// Импорт адаптивных табов
-import { TabsResponsive, Tab } from '@alfalab/core-components-tabs';
-import { TabsResponsive, Tab } from '@alfalab/core-components-tabs/responsive';
-// Импорт только десктопных табов
-import { TabsDesktop, Tab } from '@alfalab/core-components-tabs/desktop';
-// Импорт только мобильных табов
-import { TabsMobile, Tab } from '@alfalab/core-components-tabs/mobile';
-```
-
Компоненты для построения табов.
### Tab
@@ -283,11 +156,3 @@ import { TabsMobile, Tab } from '@alfalab/core-components-tabs/mobile';
);
})}
-
-
-
diff --git a/packages/tag/src/docs/Component.stories.mdx b/packages/tag/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..f271c4508a
--- /dev/null
+++ b/packages/tag/src/docs/Component.stories.mdx
@@ -0,0 +1,61 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, select, boolean } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import Icon from '@alfalab/icons-glyph/CopyMIcon';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description, { SIZES } from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { Tag } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const [checked, setChecked] = React.useState(false);
+ const handleClick = () => setChecked(!checked);
+ return (
+ }
+ onClick={handleClick}
+ >
+ {text('label', 'Оплатить')}
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { Tag } from '@alfalab/core-components-tag';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/tag/src/Component.stories.mdx b/packages/tag/src/docs/description.mdx
similarity index 53%
rename from packages/tag/src/Component.stories.mdx
rename to packages/tag/src/docs/description.mdx
index 7047154c86..62b2fd0b54 100644
--- a/packages/tag/src/Component.stories.mdx
+++ b/packages/tag/src/docs/description.mdx
@@ -3,54 +3,11 @@ import { text, select, boolean } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import Icon from '@alfalab/icons-glyph/CopyMIcon';
-import { Tag } from './Component';
-import { name, version } from '../package.json';
+import { Tag } from '../Component';
+import { name, version } from '../../package.json';
export const SIZES = ['xs', 's', 'm', 'l', 'xl'];
-
-
-
-
-
-
-
- {React.createElement(() => {
- const [checked, setChecked] = React.useState(false);
- const handleClick = () => setChecked(!checked);
- return (
- }
- onClick={handleClick}
- >
- {text('label', 'Оплатить')}
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { Tag } from '@alfalab/core-components-tag';
-```
-
Компонент тэг (чипсы).
@@ -70,10 +27,6 @@ import { Tag } from '@alfalab/core-components-tag';
})}
-
-
-
-
### Тэг с иконкой
diff --git a/packages/textarea/src/Component.stories.mdx b/packages/textarea/src/docs/Component.stories.mdx
similarity index 79%
rename from packages/textarea/src/Component.stories.mdx
rename to packages/textarea/src/docs/Component.stories.mdx
index afd35ee78a..d17a8a5c9b 100644
--- a/packages/textarea/src/Component.stories.mdx
+++ b/packages/textarea/src/docs/Component.stories.mdx
@@ -2,9 +2,13 @@ import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, select, boolean, number } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import Icon from '@alfalab/icons-glyph/StarMIcon';
+import { Tabs } from 'storybook/blocks/tabs';
+import { CssVars } from 'storybook/blocks/css-vars';
-import { Textarea } from './Component';
-import { name, version } from '../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { Textarea } from '../Component';
+import { name, version } from '../../package.json';
-
-
-
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/textarea/src/docs/description.mdx b/packages/textarea/src/docs/description.mdx
new file mode 100644
index 0000000000..8c2393d919
--- /dev/null
+++ b/packages/textarea/src/docs/description.mdx
@@ -0,0 +1,11 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, select, boolean, number } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import Icon from '@alfalab/icons-glyph/StarMIcon';
+
+import { Textarea } from '../Component';
+import { name, version } from '../../package.json';
+
+Компонент текстового поля ввода.
+
+
\ No newline at end of file
diff --git a/packages/toast-plate/src/component.stories.mdx b/packages/toast-plate/src/docs/Component.stories.mdx
similarity index 71%
rename from packages/toast-plate/src/component.stories.mdx
rename to packages/toast-plate/src/docs/Component.stories.mdx
index f2a45cc4f5..3e521ea8ae 100644
--- a/packages/toast-plate/src/component.stories.mdx
+++ b/packages/toast-plate/src/docs/Component.stories.mdx
@@ -2,9 +2,14 @@ import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, select, boolean } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Button } from '@alfalab/core-components-button';
+import { Tabs } from 'storybook/blocks/tabs';
-import { ToastPlate } from './';
-import { name, version } from '../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+
+import { ToastPlate } from '../';
+import { name, version } from '../../package.json';
- Восстановить }
- />
-
-
-
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/toast-plate/src/docs/description.mdx b/packages/toast-plate/src/docs/description.mdx
new file mode 100644
index 0000000000..977c9e44e0
--- /dev/null
+++ b/packages/toast-plate/src/docs/description.mdx
@@ -0,0 +1,20 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, select, boolean } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Button } from '@alfalab/core-components-button';
+
+import { ToastPlate } from '../';
+import { name, version } from '../../package.json';
+
+Плашка для компонента `Toast`. Также используется в компоненте `Notification`.
+
+
+ Восстановить }
+ />
+
diff --git a/packages/tooltip/src/docs/Component.stories.mdx b/packages/tooltip/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..3d0769f012
--- /dev/null
+++ b/packages/tooltip/src/docs/Component.stories.mdx
@@ -0,0 +1,96 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, boolean, select, number } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { Button } from '../../../button/src';
+import { Tooltip } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const POSITION_OPTIONS = [
+ 'top',
+ 'top-start',
+ 'top-end',
+ 'bottom',
+ 'bottom-start',
+ 'bottom-end',
+ 'right',
+ 'right-start',
+ 'right-end',
+ 'left',
+ 'left-start',
+ 'left-end',
+ ];
+ const openSelectValue = select('open', ['true', 'false', 'undefined'], 'undefined');
+ const open =
+ openSelectValue === 'false' ? false : openSelectValue === 'true' ? true : undefined;
+ const trigger = select('trigger', ['hover', 'click'], 'hover');
+ return (
+
+
+ Теперь вам можно снимать наличные в кассе и банкоматах, если ваш тариф это
+ позволяет
+
+ }
+ open={open}
+ trigger={trigger}
+ offset={[number('offset[0]', 0), number('offset[1]', 10)]}
+ position={select('position', POSITION_OPTIONS, 'left')}
+ onCloseDelay={number('onCloseDelay (in ms)', 300)}
+ onOpenDelay={number('onOpenDelay (in ms)', 300)}
+ view={select('view', ['tooltip', 'hint'], 'tooltip')}
+ dataTestId='test-id'
+ >
+
+ {trigger === 'hover' ? 'Hover me' : 'Click me'}
+
+
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { Tooltip } from '@alfalab/core-components-tooltip';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/tooltip/src/Component.stories.mdx b/packages/tooltip/src/docs/description.mdx
similarity index 52%
rename from packages/tooltip/src/Component.stories.mdx
rename to packages/tooltip/src/docs/description.mdx
index 15238a3dd8..85a159b665 100644
--- a/packages/tooltip/src/Component.stories.mdx
+++ b/packages/tooltip/src/docs/description.mdx
@@ -2,89 +2,11 @@ import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, boolean, select, number } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import {Button} from '../../button/src';
-import { Tooltip } from './Component';
-import { name, version } from '../package.json';
+import {Button} from '../../../button/src';
+import { Tooltip } from '../Component';
+import { name, version } from '../../package.json';
-
-
-
-
-
-
- {React.createElement(() => {
- const POSITION_OPTIONS = [
- 'top',
- 'top-start',
- 'top-end',
- 'bottom',
- 'bottom-start',
- 'bottom-end',
- 'right',
- 'right-start',
- 'right-end',
- 'left',
- 'left-start',
- 'left-end',
- ];
- const openSelectValue = select('open', ['true', 'false', 'undefined'], 'undefined');
- const open =
- openSelectValue === 'false' ? false : openSelectValue === 'true' ? true : undefined;
- const trigger = select('trigger', ['hover', 'click'], 'hover');
- return (
-
-
- Теперь вам можно снимать наличные в кассе и банкоматах, если ваш тариф это
- позволяет
-
- }
- open={open}
- trigger={trigger}
- offset={[number('offset[0]', 0), number('offset[1]', 10)]}
- position={select('position', POSITION_OPTIONS, 'left')}
- onCloseDelay={number('onCloseDelay (in ms)', 300)}
- onOpenDelay={number('onOpenDelay (in ms)', 300)}
- view={select('view', ['tooltip', 'hint'], 'tooltip')}
- dataTestId='test-id'
- >
-
- {trigger === 'hover' ? 'Hover me' : 'Click me'}
-
-
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { Tooltip } from '@alfalab/core-components-tooltip';
-```
-
Компонент `Tooltip`.
@@ -169,6 +91,3 @@ import { Tooltip } from '@alfalab/core-components-tooltip';
-
-
-
diff --git a/packages/typography/src/docs/Component.stories.mdx b/packages/typography/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..87ab029577
--- /dev/null
+++ b/packages/typography/src/docs/Component.stories.mdx
@@ -0,0 +1,115 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, boolean, select, number } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { Typography } from '../component';
+import { name, version } from '../../package.json';
+import { colors } from '../colors';
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const VIEW_TYPES = [
+ 'xlarge',
+ 'large',
+ 'medium',
+ 'small',
+ 'xsmall',
+ ];
+ const color = select('color', colors, '');
+ const weight = select('weight', ['regular', 'medium', 'bold'], 'medium');
+ const font = select('font', ['styrene', 'system'], 'styrene');
+ return VIEW_TYPES.map(view => (
+
+ заголовок view='{view}'
+
+ ))
+ })}
+
+
+
+ {React.createElement(() => {
+ const VIEW_TYPES = [
+ 'xlarge',
+ 'large',
+ 'medium',
+ 'small',
+ 'xsmall',
+ ];
+ const color = select('color', colors, '');
+ const weight = select('weight', ['regular', 'medium', 'bold'], 'medium');
+ const font = select('font', ['styrene', 'system'], 'styrene');
+ return VIEW_TYPES.map(view => (
+
+ заголовок view='{view}'
+
+ ))
+ })}
+
+
+
+ {React.createElement(() => {
+ const VIEW_TYPES = [
+ 'primary-large',
+ 'primary-medium',
+ 'primary-small',
+ 'secondary-large',
+ 'secondary-medium',
+ 'secondary-small',
+ 'component',
+ 'caps',
+ ];
+ const color = select('color', colors, '');
+ const tag = select('tag', ['div', 'p', 'span'], 'p');
+ const weight = select('weight', ['regular', 'medium', 'bold'], 'regular');
+ const className = text('className', '');
+ return VIEW_TYPES.map(view => (
+
+ {view}. Космологи́ческая сингуля́рность — состояния Вселенной в определённый момент времени в прошлом,
+ когда плотность энергии (материи) и кривизна пространства-времени были очень велики — порядка
+ планковских значений.
+
+ ));
+ })}
+
+
+
+
+
+
+
+```tsx
+import { Typography } from '@alfalab/core-components-typography';
+```
+
+ }
+ props={ }
+/>
diff --git a/packages/typography/src/component.stories.mdx b/packages/typography/src/docs/description.mdx
similarity index 56%
rename from packages/typography/src/component.stories.mdx
rename to packages/typography/src/docs/description.mdx
index 77ac8356ac..0dae182c6f 100644
--- a/packages/typography/src/component.stories.mdx
+++ b/packages/typography/src/docs/description.mdx
@@ -2,110 +2,9 @@ import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, boolean, select, number } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Typography } from './component';
-import { name, version } from '../package.json';
-import { colors } from './colors';
-
-
-
-
-
-
-
-
- {React.createElement(() => {
- const VIEW_TYPES = [
- 'xlarge',
- 'large',
- 'medium',
- 'small',
- 'xsmall',
- ];
- const color = select('color', colors, '');
- const weight = select('weight', ['regular', 'medium', 'bold'], 'medium');
- const font = select('font', ['styrene', 'system'], 'styrene');
- return VIEW_TYPES.map(view => (
-
- заголовок view='{view}'
-
- ))
- })}
-
-
-
- {React.createElement(() => {
- const VIEW_TYPES = [
- 'xlarge',
- 'large',
- 'medium',
- 'small',
- 'xsmall',
- ];
- const color = select('color', colors, '');
- const weight = select('weight', ['regular', 'medium', 'bold'], 'medium');
- const font = select('font', ['styrene', 'system'], 'styrene');
- return VIEW_TYPES.map(view => (
-
- заголовок view='{view}'
-
- ))
- })}
-
-
-
- {React.createElement(() => {
- const VIEW_TYPES = [
- 'primary-large',
- 'primary-medium',
- 'primary-small',
- 'secondary-large',
- 'secondary-medium',
- 'secondary-small',
- 'component',
- 'caps',
- ];
- const color = select('color', colors, '');
- const tag = select('tag', ['div', 'p', 'span'], 'p');
- const weight = select('weight', ['regular', 'medium', 'bold'], 'regular');
- const className = text('className', '');
- return VIEW_TYPES.map(view => (
-
- {view}. Космологи́ческая сингуля́рность — состояния Вселенной в определённый момент времени в прошлом,
- когда плотность энергии (материи) и кривизна пространства-времени были очень велики — порядка
- планковских значений.
-
- ));
- })}
-
-
-
-
-
-
-
-```tsx
-import { Typography } from '@alfalab/core-components-typography';
-```
+import { Typography } from '../component';
+import { name, version } from '../../package.json';
+import { colors } from '../colors';
Набор компонентов для оформления текста, реализующий [гибридную систему типографики](https://www.figma.com/file/FWya6P55TnXkiVGaM2qBio/2020-Web-Hybrid-Typography?node-id=593%3A0).
@@ -115,10 +14,6 @@ import { Typography } from '@alfalab/core-components-typography';
[Подробнее про использование типографики](https://alfa-laboratory.github.io/core-components/master/?path=/docs/гайдлайны-типографика--page)
-
-
-
-
## Typography.Title
Стандартный заголовок для шрифта styrene
diff --git a/packages/vars/src/vars.stories.mdx b/packages/vars/src/Component.stories.mdx
similarity index 100%
rename from packages/vars/src/vars.stories.mdx
rename to packages/vars/src/Component.stories.mdx
diff --git a/packages/with-suffix/src/Component.stories.mdx b/packages/with-suffix/src/docs/Component.stories.mdx
similarity index 73%
rename from packages/with-suffix/src/Component.stories.mdx
rename to packages/with-suffix/src/docs/Component.stories.mdx
index 2d67d7c4b3..0a5d066c4f 100644
--- a/packages/with-suffix/src/Component.stories.mdx
+++ b/packages/with-suffix/src/docs/Component.stories.mdx
@@ -2,10 +2,13 @@ import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, select, boolean } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import Icon from '@alfalab/icons-glyph/StarMIcon';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
import { Input } from '@alfalab/core-components-input';
-import { withSuffix as WithSuffix } from './Component';
-import { name, version } from '../package.json';
+import { withSuffix as WithSuffix } from '../Component';
+import { name, version } from '../../package.json';
export const SuffixInput = WithSuffix(Input);
@@ -49,14 +52,6 @@ export const SuffixInput = WithSuffix(Input);
import { withSuffix } from '@alfalab/core-components-with-suffix';
```
-HOC, позволяющий закрепить определенный текст после значения инпута.
-
-Добавляет в переданный инпут доп. пропсу `suffix?: ReactNode`
-
-
- {React.createElement(() => {
- const SuffixInput = WithSuffix(Input);
- return мес} />;
- })}
-
-
+ }
+/>
diff --git a/packages/with-suffix/src/docs/description.mdx b/packages/with-suffix/src/docs/description.mdx
new file mode 100644
index 0000000000..4b08afa9c8
--- /dev/null
+++ b/packages/with-suffix/src/docs/description.mdx
@@ -0,0 +1,19 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, select, boolean } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import Icon from '@alfalab/icons-glyph/StarMIcon';
+
+import { Input } from '@alfalab/core-components-input';
+import { withSuffix as WithSuffix } from '../Component';
+import { name, version } from '../../package.json';
+
+HOC, позволяющий закрепить определенный текст после значения инпута.
+
+Добавляет в переданный инпут доп. пропсу `suffix?: ReactNode`
+
+
+ {React.createElement(() => {
+ const SuffixInput = WithSuffix(Input);
+ return мес} />;
+ })}
+
From 8c0c339a8f7f0d1e94734035fa90e3e5813d64e1 Mon Sep 17 00:00:00 2001
From: Mikhail Koretsky
Date: Wed, 23 Jun 2021 16:23:47 +0300
Subject: [PATCH 20/48] refactor(storybook): fix some refactoring errors
n
---
packages/alert/src/docs/Component.stories.mdx | 4 +---
packages/amount-input/src/docs/Component.stories.mdx | 1 +
packages/badge/src/docs/description.mdx | 7 +++++++
packages/link/src/docs/description.mdx | 1 +
packages/select/src/docs/description.mdx | 10 ----------
packages/slider-input/src/docs/description.mdx | 3 ---
6 files changed, 10 insertions(+), 16 deletions(-)
diff --git a/packages/alert/src/docs/Component.stories.mdx b/packages/alert/src/docs/Component.stories.mdx
index b12e4f390a..2213790e77 100644
--- a/packages/alert/src/docs/Component.stories.mdx
+++ b/packages/alert/src/docs/Component.stories.mdx
@@ -1,13 +1,12 @@
import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
import { select, text, boolean } from '@storybook/addon-knobs';
import { Container, Row, Col } from 'storybook/blocks/grid';
+import { Tabs } from 'storybook/blocks/tabs';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import { CssVars, Tabs } from 'storybook/blocks';
import { Alert } from '../Component';
import { Button } from '../../../button/src';
import Description from './description.mdx'
-import styles from '!!raw-loader!../index.module.css';
import { name, version } from '../../package.json';
@@ -50,5 +49,4 @@ import { Alert } from '@alfalab/core-components-alert';
}
props={ }
- cssVars={ }
/>
diff --git a/packages/amount-input/src/docs/Component.stories.mdx b/packages/amount-input/src/docs/Component.stories.mdx
index 1d0aca306f..5a78278298 100644
--- a/packages/amount-input/src/docs/Component.stories.mdx
+++ b/packages/amount-input/src/docs/Component.stories.mdx
@@ -4,6 +4,7 @@ import { text, select, boolean, number } from '@storybook/addon-knobs';
import { action } from '@storybook/addon-actions';
import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
+import { CssVars } from 'storybook/blocks/css-vars';
import { Tabs } from 'storybook/blocks/tabs';
import Description from './description.mdx';
diff --git a/packages/badge/src/docs/description.mdx b/packages/badge/src/docs/description.mdx
index 4dd51bf02f..d5f5d0ed6e 100644
--- a/packages/badge/src/docs/description.mdx
+++ b/packages/badge/src/docs/description.mdx
@@ -1,6 +1,13 @@
import { Preview } from '@storybook/addon-docs/blocks';
import { Container, Row, Col } from 'storybook/blocks/grid';
+import { CheckmarkOnCircleMIcon } from '@alfalab/icons-glyph';
+import { AlertCircleMIcon } from '@alfalab/icons-glyph';
+import { CrossCircleMIcon } from '@alfalab/icons-glyph';
+import { StopCircleMIcon } from '@alfalab/icons-glyph';
+import { InformationCircleMIcon } from '@alfalab/icons-glyph';
+import { ClockMIcon } from '@alfalab/icons-glyph';
+
import { Badge } from '../Component'
Бывает двух видов: бейдж и стикер.
diff --git a/packages/link/src/docs/description.mdx b/packages/link/src/docs/description.mdx
index b16be5caa3..add9d864b5 100644
--- a/packages/link/src/docs/description.mdx
+++ b/packages/link/src/docs/description.mdx
@@ -1,4 +1,5 @@
import { Preview } from '@storybook/addon-docs/blocks';
+import Icon from '@alfalab/icons-glyph/StarMIcon';
import { Container, Row } from 'storybook/blocks/grid';
import { Link } from '../Component';
diff --git a/packages/select/src/docs/description.mdx b/packages/select/src/docs/description.mdx
index d7f1520bc7..690d1fd6bb 100644
--- a/packages/select/src/docs/description.mdx
+++ b/packages/select/src/docs/description.mdx
@@ -37,16 +37,6 @@ export const renderUppercased = (options) => {
-
-
-
-
## Использование
В случае, если нужно собрать селект под очень специфичный кейс - за основу стоит взять компонент `BaseSelect`,
diff --git a/packages/slider-input/src/docs/description.mdx b/packages/slider-input/src/docs/description.mdx
index 7ce8d6eb41..c679cfc3c6 100644
--- a/packages/slider-input/src/docs/description.mdx
+++ b/packages/slider-input/src/docs/description.mdx
@@ -222,6 +222,3 @@ export const normalizeValue = (value, min, max) => {
);
})}
-
-
-
From 4738a25e819776cbdb1edd469792b82e0d1c5f85 Mon Sep 17 00:00:00 2001
From: dmitrsavk
Date: Thu, 24 Jun 2021 17:15:05 +0300
Subject: [PATCH 21/48] test(select): update screenshots
---
...tions-tests-default-open-select-select-one-item-2-snap.png | 4 ++--
...tions-tests-default-open-select-select-one-item-3-snap.png | 4 ++--
...tions-tests-default-open-select-select-one-item-4-snap.png | 4 ++--
.../select-interactions-tests-long-options-2-snap.png | 4 ++--
.../select-interactions-tests-long-options-snap.png | 4 ++--
.../select-interactions-tests-visible-options-snap.png | 4 ++--
.../src/__image_snapshots__/select-optgroup-default-snap.png | 4 ++--
7 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/packages/select/src/__image_snapshots__/select-interactions-tests-default-open-select-select-one-item-2-snap.png b/packages/select/src/__image_snapshots__/select-interactions-tests-default-open-select-select-one-item-2-snap.png
index 82514a1acf..fd3c4a5410 100644
--- a/packages/select/src/__image_snapshots__/select-interactions-tests-default-open-select-select-one-item-2-snap.png
+++ b/packages/select/src/__image_snapshots__/select-interactions-tests-default-open-select-select-one-item-2-snap.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:6c47dc67e4342b6d44e140604001541511514cc70312990ebfa5f34640257ba0
-size 11730
+oid sha256:09c1bf81a016042bc4a207cfed651ed2a35aa18444d5f273968129b035792913
+size 11723
diff --git a/packages/select/src/__image_snapshots__/select-interactions-tests-default-open-select-select-one-item-3-snap.png b/packages/select/src/__image_snapshots__/select-interactions-tests-default-open-select-select-one-item-3-snap.png
index 82ded7765e..8e4a5cb90c 100644
--- a/packages/select/src/__image_snapshots__/select-interactions-tests-default-open-select-select-one-item-3-snap.png
+++ b/packages/select/src/__image_snapshots__/select-interactions-tests-default-open-select-select-one-item-3-snap.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:639cd86cc699c1df51778d8d9ba3526320b4586219f9062abcd552b53510148b
-size 4625
+oid sha256:ecf316f25a3a8e515778a4c9534fc18dbf7c4430195b43a407e901558ecb070c
+size 4636
diff --git a/packages/select/src/__image_snapshots__/select-interactions-tests-default-open-select-select-one-item-4-snap.png b/packages/select/src/__image_snapshots__/select-interactions-tests-default-open-select-select-one-item-4-snap.png
index 428b895730..92dcb86861 100644
--- a/packages/select/src/__image_snapshots__/select-interactions-tests-default-open-select-select-one-item-4-snap.png
+++ b/packages/select/src/__image_snapshots__/select-interactions-tests-default-open-select-select-one-item-4-snap.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:1aaa39dc4c55b324cacec1871919e6c1b591d201092919baefbf525473ad7db8
-size 11713
+oid sha256:56af0fa28a21702e42eeabba6dbfdd4b8788d764f3a0038fdab91307d20c9bb3
+size 11721
diff --git a/packages/select/src/__image_snapshots__/select-interactions-tests-long-options-2-snap.png b/packages/select/src/__image_snapshots__/select-interactions-tests-long-options-2-snap.png
index 0ee60d5834..ea217a564a 100644
--- a/packages/select/src/__image_snapshots__/select-interactions-tests-long-options-2-snap.png
+++ b/packages/select/src/__image_snapshots__/select-interactions-tests-long-options-2-snap.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:abeeabfdadc4732768acaff6dfc4e8f9b94d71f8eb3fb0b632917385efa2b111
-size 12688
+oid sha256:5143d71b80df720fc0d116e700f4ac38c2d41713a9051b8423260cffc1fb9138
+size 12695
diff --git a/packages/select/src/__image_snapshots__/select-interactions-tests-long-options-snap.png b/packages/select/src/__image_snapshots__/select-interactions-tests-long-options-snap.png
index 003169a2f5..9a0852d3ef 100644
--- a/packages/select/src/__image_snapshots__/select-interactions-tests-long-options-snap.png
+++ b/packages/select/src/__image_snapshots__/select-interactions-tests-long-options-snap.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:7c1e7ee8e5d1bff63f2fc645036d1b1b7e004602dd066dce26cec306999556fd
-size 11899
+oid sha256:ca7f6dd777d7fd142760de7246f960410c2c6d6eea95b6ad1c8441201a3993a6
+size 11903
diff --git a/packages/select/src/__image_snapshots__/select-interactions-tests-visible-options-snap.png b/packages/select/src/__image_snapshots__/select-interactions-tests-visible-options-snap.png
index 4298815158..ae022bb8cb 100644
--- a/packages/select/src/__image_snapshots__/select-interactions-tests-visible-options-snap.png
+++ b/packages/select/src/__image_snapshots__/select-interactions-tests-visible-options-snap.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:987ff03930cb53e411ccccef782163b87377aba83bf3a3ce2bebe205cf27462b
-size 9386
+oid sha256:b47026831f840498da8801f6d4c2258e1a7397d02daac5b869fb163be50c3b8c
+size 9370
diff --git a/packages/select/src/__image_snapshots__/select-optgroup-default-snap.png b/packages/select/src/__image_snapshots__/select-optgroup-default-snap.png
index bd205b7841..6e93d56cf0 100644
--- a/packages/select/src/__image_snapshots__/select-optgroup-default-snap.png
+++ b/packages/select/src/__image_snapshots__/select-optgroup-default-snap.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:b8f214b6baab732cb09b8bbafb076a27d3c6b268cf7f6af6ebb6c1f822683980
-size 15431
+oid sha256:12ff8415dd94faeafdb741fcfb73e3137f18295269635112502423678fc2999a
+size 15417
From 0fb3d2227cf15259e5ce597b87f903de170ef308 Mon Sep 17 00:00:00 2001
From: Mikhail Koretsky
Date: Thu, 24 Jun 2021 17:42:04 +0300
Subject: [PATCH 22/48] feat(storybook): add live-edit stories without
dependencies
---
.storybook/blocks/example/utils/scope.ts | 9 ++-
.../amount-input/src/docs/description.mdx | 14 ++--
packages/amount/src/docs/description.mdx | 22 ++++---
packages/attach/src/docs/description.mdx | 4 +-
packages/badge/src/docs/description.mdx | 8 +--
packages/bank-card/src/docs/description.mdx | 10 +--
.../calendar-input/src/docs/description.mdx | 32 +++++-----
.../calendar-range/src/docs/description.mdx | 8 +--
.../src/docs/description.mdx | 47 ++++++--------
packages/calendar/src/docs/description.mdx | 40 ++++++------
packages/card-image/src/docs/description.mdx | 4 +-
packages/cdn-icon/src/docs/description.mdx | 2 +-
.../checkbox-group/src/docs/description.mdx | 16 ++---
packages/checkbox/src/docs/description.mdx | 16 ++---
.../src/docs/description.mdx | 2 +
packages/collapse/src/docs/description.mdx | 12 ++--
packages/divider/src/docs/description.mdx | 4 +-
packages/drawer/src/docs/description.mdx | 16 ++---
packages/dropzone/src/docs/description.mdx | 19 ++++--
.../file-upload-item/src/docs/description.mdx | 4 +-
.../form-control/src/docs/description.mdx | 2 +
packages/grid/src/docs/description.mdx | 64 +++++++++----------
packages/icon-button/src/docs/description.mdx | 48 +++++++-------
.../src/docs/description.mdx | 51 +++++++--------
packages/input/src/docs/description.mdx | 10 ++-
.../intl-phone-input/src/docs/description.mdx | 16 ++---
.../src/docs/description.mdx | 36 ++++++-----
packages/link/src/docs/description.mdx | 16 ++---
packages/list-header/src/docs/description.mdx | 19 +++---
packages/list/src/docs/description.mdx | 4 +-
packages/loader/src/docs/description.mdx | 4 +-
packages/modal/src/docs/description.mdx | 28 ++++----
packages/mq/src/docs/description.mdx | 12 ++--
.../src/docs/description.mdx | 8 +--
.../notification/src/docs/description.mdx | 8 +--
packages/phone-input/src/docs/description.mdx | 4 +-
.../picker-button/src/docs/description.mdx | 2 +-
packages/plate/src/docs/description.mdx | 4 +-
packages/popover/src/docs/description.mdx | 16 ++---
packages/portal/src/docs/description.mdx | 8 +--
.../progress-bar/src/docs/description.mdx | 2 +
packages/pure-input/src/docs/description.mdx | 2 +
packages/radio-group/src/docs/description.mdx | 16 ++---
packages/radio/src/docs/description.mdx | 8 +--
.../select-with-tags/src/docs/description.mdx | 8 +--
packages/skeleton/src/docs/description.mdx | 8 +--
.../slider-input/src/docs/description.mdx | 40 ++++++------
packages/slider/src/docs/description.mdx | 8 +--
packages/space/src/docs/description.mdx | 36 +++++------
packages/spinner/src/docs/description.mdx | 8 +++
packages/status/src/docs/description.mdx | 8 +--
packages/switch/src/docs/description.mdx | 32 +++++-----
packages/tabs/src/docs/description.mdx | 32 +++++-----
packages/tag/src/docs/description.mdx | 16 ++---
packages/textarea/src/docs/description.mdx | 4 +-
packages/toast-plate/src/docs/description.mdx | 4 +-
packages/toast/src/docs/description.mdx | 18 +++---
packages/tooltip/src/docs/description.mdx | 12 ++--
packages/typography/src/docs/description.mdx | 29 +++++----
packages/with-suffix/src/docs/description.mdx | 12 ++--
60 files changed, 503 insertions(+), 449 deletions(-)
diff --git a/.storybook/blocks/example/utils/scope.ts b/.storybook/blocks/example/utils/scope.ts
index e9c09f4adf..3d91c156cc 100644
--- a/.storybook/blocks/example/utils/scope.ts
+++ b/.storybook/blocks/example/utils/scope.ts
@@ -1,6 +1,8 @@
import { ComponentType } from 'react';
import * as grid from '../../grid';
import * as glyph from '@alfalab/icons-glyph';
+import * as dateUtils from 'date-fns';
+import * as knobs from '@storybook/addon-knobs';
const req = require.context(
'../../../../packages',
@@ -12,9 +14,12 @@ const isComponent = (component: any) =>
['function', 'object'].some(t => typeof component === t) &&
['displayName', '$$typeof'].some(p => p in component);
+const isComponentsMap = (component: any) =>
+ component && Object.values(component).some(isComponent)
+
const components = req.keys().reduce((acc: Record>, key) => {
Object.entries(req(key)).forEach(([componentName, component]: [string, any]) => {
- if (isComponent(component)) {
+ if (isComponent(component) || isComponentsMap(component)) {
acc[componentName] = component;
}
});
@@ -26,4 +31,6 @@ export default {
...components,
...grid,
...glyph,
+ ...dateUtils,
+ ...knobs,
};
diff --git a/packages/amount-input/src/docs/description.mdx b/packages/amount-input/src/docs/description.mdx
index b0dd94857f..5eaaaefb90 100644
--- a/packages/amount-input/src/docs/description.mdx
+++ b/packages/amount-input/src/docs/description.mdx
@@ -7,23 +7,25 @@ import { AmountInput } from '../Component';
☝️ В приложениях Клика используйте обёртку [newclick-composite-components/amount-input](http://digital/demo/newclick-composite-components/master/?path=/docs/form-amountinput--basic).
+```tsx live
+```
### Uncontrolled-way
Можно ничего не передавать в компонент и реагировать на 'onChange'
-
+```tsx live
-
+```
### Controlled-way
Компонент может быть использован как controlled с помощью `onChange` и `selected`:
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [value, setValue] = React.useState(10000);
const [suggests] = React.useState([
{ currency: 'RUR', minorUnits: 100, value: 15600 },
@@ -56,5 +58,5 @@ import { AmountInput } from '../Component';
);
- })}
-
+ })
+```
diff --git a/packages/amount/src/docs/description.mdx b/packages/amount/src/docs/description.mdx
index 79931f066f..41d67cd508 100644
--- a/packages/amount/src/docs/description.mdx
+++ b/packages/amount/src/docs/description.mdx
@@ -8,9 +8,11 @@ import { Amount } from '../.';
Компонент для отображения суммы, согласно гайдлайну:
https://design.alfabank.ru/patterns/amount
+```tsx live
+```
## Контекст использования
@@ -19,7 +21,7 @@ https://design.alfabank.ru/patterns/amount
- `view="withZeroMinorPart"`: показывает минорную часть, даже если её значение равно 0
-
+```tsx live
@@ -57,44 +59,44 @@ https://design.alfabank.ru/patterns/amount
-
+```
- Внутри заголовка
-
+```tsx live
-
+```
- Внутри параграфа
-
+```tsx live
-
+```
- Внутри красного текста
-
+```tsx live
-
+```
- Без стилей
-
+```tsx live
-
+```
diff --git a/packages/attach/src/docs/description.mdx b/packages/attach/src/docs/description.mdx
index 40c355421d..697f1e77b0 100644
--- a/packages/attach/src/docs/description.mdx
+++ b/packages/attach/src/docs/description.mdx
@@ -2,4 +2,6 @@ import { Attach } from '../Component'
Компонент прикрепления файлов.
-
\ No newline at end of file
+```tsx live
+
+```
diff --git a/packages/badge/src/docs/description.mdx b/packages/badge/src/docs/description.mdx
index d5f5d0ed6e..259aca366a 100644
--- a/packages/badge/src/docs/description.mdx
+++ b/packages/badge/src/docs/description.mdx
@@ -19,7 +19,7 @@ import { Badge } from '../Component'
Счётчик действий, уведомлений или сообщений. Если `content` не передан, то отображается точка.
Если `content` больше 99, то отображается 99+.
-
+```tsx live
@@ -33,7 +33,7 @@ import { Badge } from '../Component'
-
+```
### Стикер
`view="icon"`
@@ -42,7 +42,7 @@ import { Badge } from '../Component'
Для управления цветом иконки используется проп `iconColor`, для управления цветом подложки используется css-переменная
`--badge-icon-bg-color` (по дефолту белый).
-
+```tsx live
@@ -123,5 +123,5 @@ import { Badge } from '../Component'
-
+```
diff --git a/packages/bank-card/src/docs/description.mdx b/packages/bank-card/src/docs/description.mdx
index f4d0dfcf73..4386ca9aa8 100644
--- a/packages/bank-card/src/docs/description.mdx
+++ b/packages/bank-card/src/docs/description.mdx
@@ -4,14 +4,16 @@ import { BankCard } from '@alfalab/core-components-bank-card';
Компонент в виде карты для ввода номера карты или банковского счета.
+```tsx live
+```
### Controlled-way
Компонент может быть использован как controlled с помощью `onChange` и `value`:
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [value, setValue] = React.useState('');
const handleChange = (event, payload) => setValue(payload.value);
return (
@@ -21,6 +23,6 @@ import { BankCard } from '@alfalab/core-components-bank-card';
setValue('')}>Очистить
);
- })}
-
+ })
+```
diff --git a/packages/calendar-input/src/docs/description.mdx b/packages/calendar-input/src/docs/description.mdx
index 4f0967634d..84caa874bb 100644
--- a/packages/calendar-input/src/docs/description.mdx
+++ b/packages/calendar-input/src/docs/description.mdx
@@ -7,22 +7,22 @@ import styles from '../stories.module.css';
Компонент для ввода даты.
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const defaultMonth = new Date('December 1, 2010 00:00:00');
return (
);
- })}
-
+ })
+```
### Controlled-way
Компонент может быть использован как controlled с помощью `onChange` и `selected`:
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [value, setValue] = React.useState('');
const handleChange = (event, { value }) => setValue(value);
return (
@@ -32,16 +32,16 @@ import styles from '../stories.module.css';
label='Дата регистрации'
/>
);
- })}
-
+ })
+```
### Рендер календаря под инпутом
Календарь может рендериться как в поповере, так и под инпутом
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [value, setValue] = React.useState('');
const handleChange = (event, { value }) => setValue(value);
return (
@@ -52,16 +52,16 @@ import styles from '../stories.module.css';
calendarPosition='static'
/>
);
- })}
-
+ })
+```
### Минимальная и максимальная дата
Календарь может рендериться как в поповере, так и под инпутом
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const minDate = subMonths(startOfDay(new Date()), 2).getTime();
const maxDate = addMonths(startOfDay(new Date()), 2).getTime();
const [error, setError] = React.useState('');
@@ -88,8 +88,8 @@ import styles from '../stories.module.css';
error={error}
/>
);
- })}
-
+ })
+```
### Инпут по ширине календаря
diff --git a/packages/calendar-range/src/docs/description.mdx b/packages/calendar-range/src/docs/description.mdx
index 5695368eea..176ed7a79f 100644
--- a/packages/calendar-range/src/docs/description.mdx
+++ b/packages/calendar-range/src/docs/description.mdx
@@ -12,8 +12,8 @@ import { CalendarRange } from '../Component'
### Controlled-way
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [valueFrom, setValueFrom] = React.useState('10.10.2020');
const [valueTo, setValueTo] = React.useState('10.11.2020');
return (
@@ -24,8 +24,8 @@ import { CalendarRange } from '../Component'
onDateToChange={({ value }) => setValueTo(value)}
/>
);
- })}
-
+ })
+```
### Min/Max даты
diff --git a/packages/calendar-with-skeleton/src/docs/description.mdx b/packages/calendar-with-skeleton/src/docs/description.mdx
index 95b4baabc1..ebe392805a 100644
--- a/packages/calendar-with-skeleton/src/docs/description.mdx
+++ b/packages/calendar-with-skeleton/src/docs/description.mdx
@@ -8,8 +8,8 @@ import { CalendarWithSkeleton } from '../Component';
Календарь с возможностью скелетной загрузки
-
- {React.createElement(() => {
+```tsx live
+ render((() => {
const [visible, setVisible] = React.useState(false);
return (
<>
@@ -17,34 +17,25 @@ import { CalendarWithSkeleton } from '../Component';
setVisible(!visible)}>toggle
>
);
- })}
-
+ })
+```
-
## Использование с другими компонентами
-
- {React.createElement(() => {
- return (
-
- );
- })}
-
+```tsx live
+
+```
-
- {React.createElement(() => {
- return (
-
- );
- })}
-
+```tsx live
+
+```
diff --git a/packages/calendar/src/docs/description.mdx b/packages/calendar/src/docs/description.mdx
index ae290e2df2..bb89149b44 100644
--- a/packages/calendar/src/docs/description.mdx
+++ b/packages/calendar/src/docs/description.mdx
@@ -13,8 +13,8 @@ import { usePeriod } from '../usePeriod';
Задать границы можно с помощью свойств `minDate` и `maxDate`
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [value, setValue] = React.useState();
const minDate = startOfDay(new Date());
minDate.setDate(10);
@@ -29,13 +29,13 @@ import { usePeriod } from '../usePeriod';
maxDate={maxDate.getTime()}
/>
);
- })}
-
+ })
+```
## Скрытие выбора года и месяца
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [value, setValue] = React.useState(new Date().setMonth(6));
const minDate = startOfDay(new Date());
minDate.setMonth(5);
@@ -50,8 +50,8 @@ import { usePeriod } from '../usePeriod';
maxDate={maxDate.getTime()}
/>
);
- })}
-
+ })
+```
## Недоступные даты
@@ -60,8 +60,8 @@ import { usePeriod } from '../usePeriod';
Задать недоступные даты можно, передав массив дат в свойство `offDays`
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [value, setValue] = React.useState();
const offDays = [new Date().setDate(1), new Date().setDate(7), new Date().setDate(28)];
return (
@@ -71,8 +71,8 @@ import { usePeriod } from '../usePeriod';
offDays={offDays}
/>
);
- })}
-
+ })
+```
## Отметка о событии
@@ -81,8 +81,8 @@ import { usePeriod } from '../usePeriod';
Задать события можно, передав массив дат в свойство `events`
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [value, setValue] = React.useState();
const events = [
new Date().setDate(3),
@@ -97,8 +97,8 @@ import { usePeriod } from '../usePeriod';
events={events}
/>
);
- })}
-
+ })
+```
## Выделение периода
@@ -109,8 +109,8 @@ import { usePeriod } from '../usePeriod';
Для автоматического управления выделением можно воспользоваться хуком `usePeriod`
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
// import { usePeriod } from '@alfalab/core-components/calendar';
const [value, setValue] = React.useState();
const onPeriodChange = (selectedFrom, selectedTo) => {
@@ -130,5 +130,5 @@ import { usePeriod } from '../usePeriod';
onChange={handleChange}
/>
);
- })}
-
+ })
+```
diff --git a/packages/card-image/src/docs/description.mdx b/packages/card-image/src/docs/description.mdx
index 387f68edc8..3aa31841d4 100644
--- a/packages/card-image/src/docs/description.mdx
+++ b/packages/card-image/src/docs/description.mdx
@@ -6,6 +6,7 @@ import { CardImage } from '../Component'
Показывает прелоадер пока картинка не загрузится (переопределяется через переменную --card-image-background)
+```tsx live
\ No newline at end of file
+/>
+```
\ No newline at end of file
diff --git a/packages/cdn-icon/src/docs/description.mdx b/packages/cdn-icon/src/docs/description.mdx
index 2a275a7e0b..ad450fda3a 100644
--- a/packages/cdn-icon/src/docs/description.mdx
+++ b/packages/cdn-icon/src/docs/description.mdx
@@ -2,4 +2,4 @@ import { CDNIcon } from '../Component'
Компонент иконки, которая запрашивается с сервера.
-
+
\ No newline at end of file
diff --git a/packages/checkbox-group/src/docs/description.mdx b/packages/checkbox-group/src/docs/description.mdx
index 37a8f59641..619f98d602 100644
--- a/packages/checkbox-group/src/docs/description.mdx
+++ b/packages/checkbox-group/src/docs/description.mdx
@@ -6,8 +6,8 @@ import { Tag } from '../../../tag/src';
Компонент группы чекбоксов.
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [value, setValue] = React.useState({ one: false, two: false, three: false });
const onChange = (_, payload) => {
setValue({ ...value, [payload.name]: payload.checked });
@@ -22,13 +22,13 @@ import { Tag } from '../../../tag/src';
);
- })}
-
+ })
+```
### Группа чекбоксов, использующая компонент `Tag`
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [value, setValue] = React.useState({ one: false, two: false, three: false });
const onChange = (_, payload) => {
setValue({ ...value, [payload.name]: payload.checked });
@@ -51,5 +51,5 @@ import { Tag } from '../../../tag/src';
);
- })}
-
+ })
+```
diff --git a/packages/checkbox/src/docs/description.mdx b/packages/checkbox/src/docs/description.mdx
index f0bfec97d2..f3b7bf6aa3 100644
--- a/packages/checkbox/src/docs/description.mdx
+++ b/packages/checkbox/src/docs/description.mdx
@@ -3,8 +3,8 @@ import { Checkbox } from '../Component';
Компонент чекбокса.
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [checked, setChecked] = React.useState(false);
const handleChange = () => setChecked(!checked);
return (
@@ -15,13 +15,13 @@ import { Checkbox } from '../Component';
hint='Соглашайтесь, будьте любезны'
/>
);
- })}
-
+ })
+```
### Чекбокс c неопределенным (indeterminate) состоянием
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [checked, setChecked] = React.useState(false);
const handleChange = () => setChecked(!checked);
return (
@@ -32,5 +32,5 @@ import { Checkbox } from '../Component';
indeterminate={true}
/>
);
- })}
-
+ })
+```
diff --git a/packages/circular-progress-bar/src/docs/description.mdx b/packages/circular-progress-bar/src/docs/description.mdx
index 1b97c8324b..d7359b2919 100644
--- a/packages/circular-progress-bar/src/docs/description.mdx
+++ b/packages/circular-progress-bar/src/docs/description.mdx
@@ -2,4 +2,6 @@ import { CircularProgressBar } from '../Component'
Отображает круговой индикатор прогресса (0-100%).
+```tsx live
+```
diff --git a/packages/collapse/src/docs/description.mdx b/packages/collapse/src/docs/description.mdx
index 2876a1c28c..eda6bcf743 100644
--- a/packages/collapse/src/docs/description.mdx
+++ b/packages/collapse/src/docs/description.mdx
@@ -7,7 +7,7 @@ import { Button } from '../../../button/src';
### Стандартный Collapse
-
+```tsx live name='Collapse'>
-
+```
### Collapse с кастомным контролом
Управлять состоянием компонента можно снаружи используя любой контрол (например кнопку) и передавать
текущее значение состояния через проп expanded
-
- {React.createElement(() => {
+```tsx live name='Collapse with custom control'>
+ render(() => {
const [expanded, setExpanded] = React.useState(false)
return <>
setExpanded(!expanded)}>
@@ -44,5 +44,5 @@ import { Button } from '../../../button/src';
>
- })}
-
+ })
+```
diff --git a/packages/divider/src/docs/description.mdx b/packages/divider/src/docs/description.mdx
index b07f203724..0e35da2f89 100644
--- a/packages/divider/src/docs/description.mdx
+++ b/packages/divider/src/docs/description.mdx
@@ -4,10 +4,10 @@ import { Divider } from '../Component';
Создаёт горизонтальную разделительную линию.
-
+```tsx live
-
+```
diff --git a/packages/drawer/src/docs/description.mdx b/packages/drawer/src/docs/description.mdx
index 83fb6a154d..bddc04b7ba 100644
--- a/packages/drawer/src/docs/description.mdx
+++ b/packages/drawer/src/docs/description.mdx
@@ -6,8 +6,8 @@ import { Button } from '../../../button/src';
Компонент, представляющим собой заготовку для реализации сайд-панелей. В основе компонента лежит `BaseModal`.
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [open, setOpen] = React.useState(false);
const handleModalOpen = () => setOpen(!open);
return (
@@ -23,14 +23,14 @@ import { Button } from '../../../button/src';
);
- })}
-
+ })
+```
## Кастомные шапка и футер
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [open, setOpen] = React.useState(false);
const handleModalOpen = () => setOpen(!open);
return (
@@ -48,8 +48,8 @@ import { Button } from '../../../button/src';
);
- })}
-
+ })
+```
export const Header = () => {
diff --git a/packages/dropzone/src/docs/description.mdx b/packages/dropzone/src/docs/description.mdx
index b5f59dff5a..bba5b7f65c 100644
--- a/packages/dropzone/src/docs/description.mdx
+++ b/packages/dropzone/src/docs/description.mdx
@@ -5,7 +5,8 @@ import { Dropzone } from '../Component';
Компонент drag-and-drop контейнер для прикрепления файлов.
-
+```tsx live
+
{React.createElement(() => {
const [filesList, setFilesList] = React.useState([]);
const handleDrop = (files) => {
@@ -17,7 +18,14 @@ import { Dropzone } from '../Component';
};
return (
-
+
{filesList.length > 0 ? (
{ filesList.map(file => { file } ) }
@@ -25,11 +33,12 @@ import { Dropzone } from '../Component';
) : (
children
)}
-
+
);
})}
-
+
+```
export const Container = ({ children }) => (
(
justifyContent: 'center'
}}>
{children}
-
+
);
diff --git a/packages/file-upload-item/src/docs/description.mdx b/packages/file-upload-item/src/docs/description.mdx
index 2cb97a435d..a7587b9357 100644
--- a/packages/file-upload-item/src/docs/description.mdx
+++ b/packages/file-upload-item/src/docs/description.mdx
@@ -5,7 +5,7 @@ import { FileUploadItem } from '../Component';
Компонент иконки, которая запрашивается с сервера.
-
+```tsx live
-
+```
diff --git a/packages/form-control/src/docs/description.mdx b/packages/form-control/src/docs/description.mdx
index 65849f26a3..41b4810457 100644
--- a/packages/form-control/src/docs/description.mdx
+++ b/packages/form-control/src/docs/description.mdx
@@ -2,5 +2,7 @@ import { FormControl } from '../Component';
Базовый компонент для построения полей ввода — input, textarea, select и др.
+```tsx live
+```
diff --git a/packages/grid/src/docs/description.mdx b/packages/grid/src/docs/description.mdx
index 40266ad800..e5f18fc616 100644
--- a/packages/grid/src/docs/description.mdx
+++ b/packages/grid/src/docs/description.mdx
@@ -10,8 +10,8 @@ import { Grid } from '../Component';
### Установка горизонтального отступа
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const style = {
height: 30,
background: '#ff5c5c'
@@ -29,15 +29,15 @@ import { Grid } from '../Component';
);
- })}
-
+ })
+```
### Выравнивание
По вертикали
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const style = {
height: 30,
background: '#ff5c5c'
@@ -94,13 +94,13 @@ import { Grid } from '../Component';
);
- })}
-
+ })
+```
По горизонтали
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const style = {
height: 30,
background: '#ff5c5c',
@@ -150,14 +150,14 @@ import { Grid } from '../Component';
);
- })}
-
+ })
+```
## Grid.Col
Колонки используются для создания сетки. Сетка имеет резиновую систему разметки, которая масштабируется до 12 столбцов. Колонки должны быть помещены в строки (компонент Grid.Row).
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const style = {
height: 30,
lineHeight: '30px',
@@ -220,15 +220,15 @@ import { Grid } from '../Component';
);
- })}
-
+ })
+```
### Адаптивная ширина
Сетку можно настроить для каждой контрольной точки для построения сложного адаптивного интерфейса.
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const style = {
height: 30,
lineHeight: '30px',
@@ -252,13 +252,13 @@ import { Grid } from '../Component';
);
- })}
-
+ })
+```
### Вертикальное выравнивание
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const style = {
height: 30,
background: '#ff5c5c'
@@ -279,15 +279,15 @@ import { Grid } from '../Component';
);
- })}
-
+ })
+```
### Изменение порядка элементов
Для быстрого изменения порядка одного элемента возможно использование значений first и last.
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const style = {
height: 30,
lineHeight: '30px',
@@ -322,13 +322,13 @@ import { Grid } from '../Component';
);
- })}
-
+ })
+```
### Смещение колонок
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const style = {
height: 30,
lineHeight: '30px',
@@ -346,5 +346,5 @@ import { Grid } from '../Component';
);
- })}
-
+ })
+```
diff --git a/packages/icon-button/src/docs/description.mdx b/packages/icon-button/src/docs/description.mdx
index 38d8b0785e..ab3b218337 100644
--- a/packages/icon-button/src/docs/description.mdx
+++ b/packages/icon-button/src/docs/description.mdx
@@ -9,7 +9,7 @@ import { IconButton } from '../Component';
### Размеры
-
+```tsx live
@@ -23,13 +23,13 @@ import { IconButton } from '../Component';
-
+```
### Виды кнопок
- Primary
-
+```tsx live
@@ -40,11 +40,11 @@ import { IconButton } from '../Component';
-
+```
- Secondary
-
+```tsx live
@@ -55,11 +55,11 @@ import { IconButton } from '../Component';
-
+```
- Transparent
-
+```tsx live style={{ background: '#ef3124'}}>
@@ -70,11 +70,11 @@ import { IconButton } from '../Component';
-
+```
- Negative
-
+```tsx live
@@ -85,23 +85,23 @@ import { IconButton } from '../Component';
-
-
-
+```
## Темы
`default-inverted`
-
-
-
-
-
-
-
-
-
-
-
-
+```tsx live
+
+
+
+
+
+
+
+
+
+
+
+
+```
diff --git a/packages/input-autocomplete/src/docs/description.mdx b/packages/input-autocomplete/src/docs/description.mdx
index 901c73eb1b..072ffbe8d3 100644
--- a/packages/input-autocomplete/src/docs/description.mdx
+++ b/packages/input-autocomplete/src/docs/description.mdx
@@ -10,8 +10,8 @@ import { options, matchOption } from './options'
Компонент поля для ввода с автокомплитом
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [value, setValue] = React.useState('');
const handleInput = event => {
setValue(event.target.value);
@@ -30,14 +30,14 @@ import { options, matchOption } from './options'
value={value}
/>
);
- })}
-
+ })
+```
### Кейс с очисткой поля
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [value, setValue] = React.useState('');
const handleInput = event => {
setValue(event.target.value);
@@ -65,14 +65,14 @@ import { options, matchOption } from './options'
}}
/>
);
- })}
-
+ })
+```
### Автокомплит с тэгами
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [value, setValue] = React.useState('');
const [selectedTags, setSelectedTags] = React.useState([]);
const handleInput = event => {
@@ -109,14 +109,14 @@ import { options, matchOption } from './options'
);
- })}
-
+ })
+```
### Ошибка при пустом значении
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [dirty, setDirty] = React.useState(false);
const [value, setValue] = React.useState('');
const handleInput = event => {
@@ -138,14 +138,14 @@ import { options, matchOption } from './options'
error={dirty && !value}
/>
);
- })}
-
+ })
+```
### Поле с маской
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const mask = [/\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/];
const cards = [
{
@@ -201,14 +201,14 @@ import { options, matchOption } from './options'
}}
/>
);
- })}
-
+ })
+```
### Multiple
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [value, setValue] = React.useState('');
const handleInput = event => {
setValue(event.target.value);
@@ -241,14 +241,15 @@ import { options, matchOption } from './options'
value={value}
/>
);
- })}
-
+ })
+```
### Автокомплит со стрелкой
-```tsx
+```tsx live
import { Arrow } from '@alfalab/core-components/select';
+
```
diff --git a/packages/input/src/docs/description.mdx b/packages/input/src/docs/description.mdx
index 1a02196826..c3a64fe6d0 100644
--- a/packages/input/src/docs/description.mdx
+++ b/packages/input/src/docs/description.mdx
@@ -4,6 +4,10 @@ import { Input } from '../Component';
☝️ В приложениях Клика используйте обёртку [newclick-composite-components/input](http://digital/demo/newclick-composite-components/master/?path=/docs/form-input--basic).
-
-
-
+```tsx live
+
+
+
+
+
+```
diff --git a/packages/intl-phone-input/src/docs/description.mdx b/packages/intl-phone-input/src/docs/description.mdx
index 394d52a9a8..5449ac6252 100644
--- a/packages/intl-phone-input/src/docs/description.mdx
+++ b/packages/intl-phone-input/src/docs/description.mdx
@@ -15,8 +15,8 @@ import { options, matchOption } from './options';
### Кейс с очисткой поля
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [value, setValue] = React.useState('+7');
const [selectedCountry, setSelectedCountry] = React.useState('RU');
const handleChange = React.useCallback((newValue) => {
@@ -50,14 +50,14 @@ import { options, matchOption } from './options';
Код выбранной страны: {selectedCountry}
);
- })}
-
+ })
+```
### Кейс с автокомплитом
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [value, setValue] = React.useState('+7');
const [selectedCountry, setSelectedCountry] = React.useState('RU');
const handleChange = React.useCallback((newValue) => {
@@ -90,5 +90,5 @@ import { options, matchOption } from './options';
Код выбранной страны: {selectedCountry}
);
- })}
-
+ })
+```
diff --git a/packages/keyboard-focusable/src/docs/description.mdx b/packages/keyboard-focusable/src/docs/description.mdx
index bfec22f148..e075e2713d 100644
--- a/packages/keyboard-focusable/src/docs/description.mdx
+++ b/packages/keyboard-focusable/src/docs/description.mdx
@@ -1,4 +1,5 @@
+import cn from 'classnames';
import { Preview } from '@storybook/addon-docs/blocks';
import { useFocus } from '@alfalab/hooks';
@@ -14,20 +15,23 @@ import { KeyboardFocusable } from '../Component';
## Компонент KeyboardFocusable
-export const focusOutlineStyles = {
- outline: '2px solid var(--focus-color)',
- outlineOffset: '2px',
-};
-
+```tsx live
- {(ref, focused) => (
-
- focus me by keyboard
-
- )}
+ {(ref, focused) => {
+ const focusOutlineStyles = {
+ outline: '2px solid var(--focus-color)',
+ outlineOffset: '2px',
+ };
+
+ return (
+
+ focus me by keyboard
+
+ )
+ }}
-
+```
```tsx
// Нативный элемент
@@ -53,10 +57,10 @@ export const focusOutlineStyles = {
## Хук @alfalab/hooks/useFocus
```tsx
-const ref = useRef(null);
-const { focused } = useFocus(ref, 'keyboard');
+ const ref = useRef(null);
+ const { focused } = useFocus(ref, 'keyboard');
-return (
- focus me
-);
+ return (
+ focus me
+ );
```
\ No newline at end of file
diff --git a/packages/link/src/docs/description.mdx b/packages/link/src/docs/description.mdx
index add9d864b5..4f5ce2072e 100644
--- a/packages/link/src/docs/description.mdx
+++ b/packages/link/src/docs/description.mdx
@@ -8,13 +8,13 @@ import { Typography } from '../../../typography/src';
Ссылка — элемент навигации, который обозначает возможность перехода на другую страницу
или вызова нового информационного слоя.
-
+```tsx live
Заказать карту
-
+```
@@ -23,7 +23,7 @@ import { Typography } from '../../../typography/src';
### Обычная ссылка
Нестареющая классика. Ссылка может вести как на страницу внутри системы, так и на внешний ресурс.
-
+```tsx live
@@ -41,12 +41,12 @@ import { Typography } from '../../../typography/src';
-
+```
### Псевдоссылка
Вызывает информационный слой (collapse, dropdown, popup) без перехода на другую страницу.
-
+```tsx live
@@ -64,13 +64,13 @@ import { Typography } from '../../../typography/src';
-
+```
### Слоты для кастомизации
Добавляет слоты `leftAddons` и `rightAddons` для кастомизации ссылок.
Переданный контент будет отрисован слева или справа от текста ссылки.
-
+```tsx live
-
+```
diff --git a/packages/list-header/src/docs/description.mdx b/packages/list-header/src/docs/description.mdx
index b7dde8b1b7..f6cb97426d 100644
--- a/packages/list-header/src/docs/description.mdx
+++ b/packages/list-header/src/docs/description.mdx
@@ -4,30 +4,31 @@ import { ListHeader } from '../Component';
ListHeader используется для разделения ячеек списка по смысловым группам.
-
-
+```tsx live
+
+```
Компонент с серой подложкой используется для «бесконечных списков». Например, для истории операций или списка писем.
-
+```tsx live
В Санкт-Петербурге ожидаются дожди, ливни с грозой, градом и шквалистым ветром до 20 м/с.
Ясно, без осадков.
-
+```
Компонент без подложки используется для «фиксированных списков».
-
+```tsx live
В Санкт-Петербурге ожидаются дожди, ливни с грозой, градом и шквалистым ветром до 20 м/с.
Ясно, без осадков.
-
+```
diff --git a/packages/list/src/docs/description.mdx b/packages/list/src/docs/description.mdx
index 6fa5de9559..dd197b5830 100644
--- a/packages/list/src/docs/description.mdx
+++ b/packages/list/src/docs/description.mdx
@@ -5,7 +5,7 @@ import { Typography } from '@alfalab/core-components-typography';
import { List } from '../Component';
-
+```tsx live
@@ -29,4 +29,4 @@ import { List } from '../Component';
-
+```
diff --git a/packages/loader/src/docs/description.mdx b/packages/loader/src/docs/description.mdx
index 90d35258ab..977326aee1 100644
--- a/packages/loader/src/docs/description.mdx
+++ b/packages/loader/src/docs/description.mdx
@@ -2,4 +2,6 @@ import { Loader } from '../Component';
Компонент Loader.
-
\ No newline at end of file
+```tsx live
+
+```
\ No newline at end of file
diff --git a/packages/modal/src/docs/description.mdx b/packages/modal/src/docs/description.mdx
index b699f8777a..3cf9e6fbec 100644
--- a/packages/modal/src/docs/description.mdx
+++ b/packages/modal/src/docs/description.mdx
@@ -20,8 +20,8 @@ import { version } from '../../package.json';
Предоставляет стандартные компоненты `Header`, `Closer`, `Content`, `Footer`, а также доступ к контексту.
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [open, setOpen] = React.useState(false);
const handleModalOpen = () => setOpen(!open);
return (
@@ -52,13 +52,13 @@ import { version } from '../../package.json';
);
- })}
-
+ })
+```
### Плавающий крестик без шапки
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [open, setOpen] = React.useState(false);
const handleModalOpen = () => setOpen(!open);
return (
@@ -70,18 +70,20 @@ import { version } from '../../package.json';
>
-
+
+ Сейчас много говорят об отказах банков в проведении операций, блокировках интернет-банка. Это связано с тем, что Центральный банк РФ обязывает банки выявлять операции своих клиентов, потенциально нарушающие требования Федерального закона 115-ФЗ «О противодействии легализации (отмыванию) доходов, полученных преступным путем, и финансированию терроризма».
+
);
- })}
-
+ })
+```
### Фиксации верхнего края
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [open, setOpen] = React.useState(false);
const [loaded, setLoaded] = React.useState(false);
const handleModalOpen = () => setOpen(!open);
@@ -119,8 +121,8 @@ import { version } from '../../package.json';
);
- })}
-
+ })
+```
## Использование контекста и кастомные компоненты
diff --git a/packages/mq/src/docs/description.mdx b/packages/mq/src/docs/description.mdx
index 726597f061..48263752a5 100644
--- a/packages/mq/src/docs/description.mdx
+++ b/packages/mq/src/docs/description.mdx
@@ -18,7 +18,7 @@ import { Mq, useMatchMedia } from '../';
1. `matchMedia()` накладнее для браузера, чем матчинг элемента в CSS;
2. Этот способ работает только на клиенте, и, при использовании SSR, может усилить различие серверной и финальной разметки, и добавить сложности к тестированию.
-
+```tsx live
Mobile button
@@ -27,15 +27,15 @@ import { Mq, useMatchMedia } from '../';
Desktop button
-
+```
Помимо компонента, в пакете доступен хук `useMatchMedia`:
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const query = '(min-width: 600px)'
const [matches] = useMatchMedia(query);
return `Matches ${query}: ${matches}`;
- })}
-
+ })
+```
diff --git a/packages/notification-manager/src/docs/description.mdx b/packages/notification-manager/src/docs/description.mdx
index a7dbb93364..6322e70341 100644
--- a/packages/notification-manager/src/docs/description.mdx
+++ b/packages/notification-manager/src/docs/description.mdx
@@ -28,8 +28,8 @@ const removeNotification = React.useCallback(id => {
}, []);
```
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [notifications, setNotifications] = React.useState([]);
const [count, setCount] = React.useState(0);
const addNotification = () => {
@@ -64,5 +64,5 @@ const removeNotification = React.useCallback(id => {
/>
);
- })}
-
\ No newline at end of file
+ })
+```
\ No newline at end of file
diff --git a/packages/notification/src/docs/description.mdx b/packages/notification/src/docs/description.mdx
index aeb82691ed..7d07aec5c2 100644
--- a/packages/notification/src/docs/description.mdx
+++ b/packages/notification/src/docs/description.mdx
@@ -4,8 +4,8 @@ import { Notification } from '../Component';
Компонент нотификации.
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [isVisible, setIsVisible] = React.useState(false);
const toggleVisiblity = React.useCallback(() => setIsVisible(prev => !prev), []);
const hideNotification = React.useCallback(() => setIsVisible(false), []);
@@ -24,6 +24,6 @@ import { Notification } from '../Component';
Тогглер
)
- })}
-
+ })
+```
diff --git a/packages/phone-input/src/docs/description.mdx b/packages/phone-input/src/docs/description.mdx
index 8018e801bb..9c9abd52b2 100644
--- a/packages/phone-input/src/docs/description.mdx
+++ b/packages/phone-input/src/docs/description.mdx
@@ -4,4 +4,6 @@ import { PhoneInput } from '../Component';
☝️ В приложениях Клика используйте обёртку [newclick-composite-components/phone-input](http://digital/demo/newclick-composite-components/master/?path=/docs/form-phoneinput--basic).
-
\ No newline at end of file
+```tsx live
+
+```
\ No newline at end of file
diff --git a/packages/picker-button/src/docs/description.mdx b/packages/picker-button/src/docs/description.mdx
index 73ebfab631..efab6e5f30 100644
--- a/packages/picker-button/src/docs/description.mdx
+++ b/packages/picker-button/src/docs/description.mdx
@@ -123,4 +123,4 @@ export const groupedOptions = [{
{ key: '3', content: 'Berkelium' },
{ key: '4', content: 'Californium' },
]
-}]
\ No newline at end of file
+}]
diff --git a/packages/plate/src/docs/description.mdx b/packages/plate/src/docs/description.mdx
index f3b58ec61f..5f5b571a92 100644
--- a/packages/plate/src/docs/description.mdx
+++ b/packages/plate/src/docs/description.mdx
@@ -10,7 +10,7 @@ import { Badge } from '../../../badge/src';
Компонент плашки.
-
+```tsx live
<>
>
-
+```
diff --git a/packages/popover/src/docs/description.mdx b/packages/popover/src/docs/description.mdx
index 71f290981d..79daab0dd0 100644
--- a/packages/popover/src/docs/description.mdx
+++ b/packages/popover/src/docs/description.mdx
@@ -9,8 +9,8 @@ import { name, version } from '../../package.json';
Компонент `Popover`. Под капотом использует `popper.js` и `react-transition-group`.
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const POSITION_OPTIONS = [
'top',
'top-start',
@@ -60,14 +60,14 @@ import { name, version } from '../../package.json';
);
- })}
-
+ })
+```
В редких случаях, если положение поповера не пересчитывается (например, при измененнии размера элемента-якоря),
то можно воспользоваться методом `update`:
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [buttonElement, setButtonElement] = React.useState(null);
const [count, setCount] = React.useState(1);
const onClick = () => {
@@ -112,5 +112,5 @@ import { name, version } from '../../package.json';
);
- })}
-
+ })
+```
diff --git a/packages/portal/src/docs/description.mdx b/packages/portal/src/docs/description.mdx
index 0c0d21dcb3..a6684cf2de 100644
--- a/packages/portal/src/docs/description.mdx
+++ b/packages/portal/src/docs/description.mdx
@@ -9,8 +9,8 @@ import { name, version } from '../../package.json';
Порталы позволяют рендерить дочерние элементы в DOM-узел, который находится вне DOM-иерархии родительского компонента.
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [show, setShow] = React.useState(false);
const handleClick = () => setShow(!show);
const styles = { border: '1px solid lightgray', marginTop: '10px' };
@@ -29,5 +29,5 @@ import { name, version } from '../../package.json';
);
- })}
-
+ })
+```
diff --git a/packages/progress-bar/src/docs/description.mdx b/packages/progress-bar/src/docs/description.mdx
index ef463cb359..72858b8b8e 100644
--- a/packages/progress-bar/src/docs/description.mdx
+++ b/packages/progress-bar/src/docs/description.mdx
@@ -8,4 +8,6 @@ import { ProgressBar } from '../Component';
Отображает линейный индикатор прогресса (0-100%).
+```tsx live
+```
diff --git a/packages/pure-input/src/docs/description.mdx b/packages/pure-input/src/docs/description.mdx
index 0398a14d62..527166f934 100644
--- a/packages/pure-input/src/docs/description.mdx
+++ b/packages/pure-input/src/docs/description.mdx
@@ -7,4 +7,6 @@ import { name, version } from '../../package.json';
Компонент, представляющий из себя стилизованный нативный `input`.
+```tsx live
+```
diff --git a/packages/radio-group/src/docs/description.mdx b/packages/radio-group/src/docs/description.mdx
index be1a9a4a63..97aad63726 100644
--- a/packages/radio-group/src/docs/description.mdx
+++ b/packages/radio-group/src/docs/description.mdx
@@ -11,8 +11,8 @@ import { Tag } from '../../../tag/src';
Компонент группы радио.
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [value, setValue] = React.useState({ one: false, two: false, three: false });
const onChange = (_, payload) => {
setValue({ ...value, [payload.name]: payload.checked });
@@ -35,14 +35,14 @@ import { Tag } from '../../../tag/src';
);
- })}
-
+ })
+```
### Группа радио, использующая компонент `Tag`
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [value, setValue] = React.useState({ one: false, two: false, three: false });
const onChange = (_, payload) => {
setValue({ ...value, [payload.name]: payload.checked });
@@ -66,5 +66,5 @@ import { Tag } from '../../../tag/src';
);
- })}
-
+ })
+```
diff --git a/packages/radio/src/docs/description.mdx b/packages/radio/src/docs/description.mdx
index e6bac16222..6d7a5419f1 100644
--- a/packages/radio/src/docs/description.mdx
+++ b/packages/radio/src/docs/description.mdx
@@ -7,8 +7,8 @@ import { name, version } from '../../package.json';
### Компонент Radio
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [checked, setChecked] = React.useState(false);
const handleChange = () => setChecked(!checked);
const disabled = boolean('disabled', false);
@@ -23,5 +23,5 @@ import { name, version } from '../../package.json';
label={label}
/>
);
- })}
-
+ })
+```
diff --git a/packages/select-with-tags/src/docs/description.mdx b/packages/select-with-tags/src/docs/description.mdx
index 72073f875e..9989d27554 100644
--- a/packages/select-with-tags/src/docs/description.mdx
+++ b/packages/select-with-tags/src/docs/description.mdx
@@ -15,8 +15,8 @@ import { options } from './constants';
Размеры `s` и `m` пока лучше не использовать, так как еще нет актуальных макетов.
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [value, setValue] = React.useState('');
const handleInput = event => {
setValue(event.target.value);
@@ -32,6 +32,6 @@ import { options } from './constants';
/>
);
- })}
-
+ })
+```
diff --git a/packages/skeleton/src/docs/description.mdx b/packages/skeleton/src/docs/description.mdx
index d3c9370629..a037d08a75 100644
--- a/packages/skeleton/src/docs/description.mdx
+++ b/packages/skeleton/src/docs/description.mdx
@@ -15,7 +15,7 @@ import styles from '../stories.module.css';
С контентом:
-
+```tsx live
Какой-то текст
-
+```
С заданными размерами:
-
+```tsx live
@@ -53,4 +53,4 @@ import styles from '../stories.module.css';
-
+```
diff --git a/packages/slider-input/src/docs/description.mdx b/packages/slider-input/src/docs/description.mdx
index c679cfc3c6..1ffaf2bbca 100644
--- a/packages/slider-input/src/docs/description.mdx
+++ b/packages/slider-input/src/docs/description.mdx
@@ -18,8 +18,8 @@ export const normalizeValue = (value, min, max) => {
return value === '' ? '' : Math.min(max, value.toString().replace(/[^\d-]/g, ''));
}
-
-{React.createElement(() => {
+```tsx live
+render(() => {
const min = 0;
const max = 10;
const step = 1;
@@ -36,11 +36,11 @@ export const normalizeValue = (value, min, max) => {
steps={['0', '5', '10']}
/>
);
-})}
-
+})
+```
-
-{React.createElement(() => {
+```tsx live
+render(() => {
// import { withSuffix } from '@alfalab/core-components-with-suffix';
// import { Input } from '@alfalab/core-components-input';
const SuffixInput = React.useMemo(() => withSuffix(Input), []);
@@ -66,12 +66,12 @@ export const normalizeValue = (value, min, max) => {
}}
/>
);
-})}
-
+})
+```
-
-{React.createElement(() => {
+```tsx live
+render(() => {
// import { withSuffix } from '@alfalab/core-components-with-suffix';
// import { Input } from '@alfalab/core-components-input';
const SuffixInput = React.useMemo(() => withSuffix(Input), []);
@@ -109,10 +109,10 @@ export const normalizeValue = (value, min, max) => {
/>
);
})}
-
+```
-
-{React.createElement(() => {
+```tsx live
+render(() => {
// import { withSuffix } from '@alfalab/core-components-with-suffix';
// import { Input } from '@alfalab/core-components-input';
const SuffixInput = React.useMemo(() => withSuffix(Input), []);
@@ -143,12 +143,12 @@ export const normalizeValue = (value, min, max) => {
/>
);
})}
-
+```
## AmountSliderInput
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const min = 100000;
const max = 600000;
const step = 1000;
@@ -180,11 +180,11 @@ export const normalizeValue = (value, min, max) => {
/>
);
})}
-
+```
-
-{React.createElement(() => {
+```tsx live
+render(() => {
const min = 100000;
const max = 22000000;
const step = 1000;
@@ -221,4 +221,4 @@ export const normalizeValue = (value, min, max) => {
/>
);
})}
-
+```
diff --git a/packages/slider/src/docs/description.mdx b/packages/slider/src/docs/description.mdx
index 2baf7ed377..9d373f8e05 100644
--- a/packages/slider/src/docs/description.mdx
+++ b/packages/slider/src/docs/description.mdx
@@ -8,13 +8,13 @@ import Icon from '@alfalab/icons-glyph/StarMIcon';
import { Slider } from '../Component';
import { name, version } from '../../package.json';
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [value, setValue] = React.useState(50);
const handleChange = (event, { value }) => setValue(value);
return (
);
- })}
-
+ })
+```
diff --git a/packages/space/src/docs/description.mdx b/packages/space/src/docs/description.mdx
index f0203afc6c..05e913c1d2 100644
--- a/packages/space/src/docs/description.mdx
+++ b/packages/space/src/docs/description.mdx
@@ -15,27 +15,27 @@ import { name, version } from '../../package.json';
Просто карточки.
-
+```tsx live
-
+```
Пользовательское расстояние между карточками.
-
+```tsx live
-
+```
Пользовательское расстояние между карточками в виде массива [64, 32].
-
+```tsx live
@@ -43,21 +43,21 @@ import { name, version } from '../../package.json';
-
+```
С адаптивом.
-
+```tsx live
-
+```
С разделителем.
-
+```tsx live
}
@@ -67,11 +67,11 @@ import { name, version } from '../../package.json';
-
+```
Группа для полей ввода. Каждое поле ввода с аттрибутом block. Space c fullWidth.
-
+```tsx live
-
+```
Автоматический перенос строки.
-
+```tsx live
Над вишней в цвету
Спряталась за облака
-
+```
Выравнивание.
-
+```tsx live
-
+```
-
+```tsx live
-
+```
diff --git a/packages/spinner/src/docs/description.mdx b/packages/spinner/src/docs/description.mdx
index 11b8892e79..68255d14be 100644
--- a/packages/spinner/src/docs/description.mdx
+++ b/packages/spinner/src/docs/description.mdx
@@ -10,7 +10,9 @@ import { name, version } from '../../package.json';
Компонент спиннера.
+```tsx live
+```
@@ -27,15 +29,20 @@ import { name, version } from '../../package.json';
## Примеры
Spinner `size=s`:
+```tsx live
+```
Spinner `size=m`:
+```tsx live
+```
Spinner `size=s` in button:
+```tsx live
Документы загружаются...
+```
diff --git a/packages/status/src/docs/description.mdx b/packages/status/src/docs/description.mdx
index 6707e52b23..3efdfdc63a 100644
--- a/packages/status/src/docs/description.mdx
+++ b/packages/status/src/docs/description.mdx
@@ -16,7 +16,7 @@ import { name, version } from '../../package.json';
Применяется в таблицах и др. компонентах, отображает статус исполнения или подключения чего-либо.
(Исполнено, Отменено, На подпись и т.д)
-
+```tsx live
{colors.map(color => (
@@ -26,7 +26,7 @@ import { name, version } from '../../package.json';
))}
-
+```
### Статус лейбл
@@ -34,7 +34,7 @@ import { name, version } from '../../package.json';
Применяется для отображения маркетингового статуса продукта/услуги (Акция, Скидка, Новинка и т.д)
-
+```tsx live
{colors.map(color => (
@@ -44,4 +44,4 @@ import { name, version } from '../../package.json';
))}
-
+```
diff --git a/packages/switch/src/docs/description.mdx b/packages/switch/src/docs/description.mdx
index 06695eb854..9ee5673126 100644
--- a/packages/switch/src/docs/description.mdx
+++ b/packages/switch/src/docs/description.mdx
@@ -11,8 +11,8 @@ import { name, version } from '../../package.json';
Компонент переключателя.
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [checked, setChecked] = React.useState(false);
const handleChange = () => setChecked(!checked);
return (
@@ -27,14 +27,14 @@ import { name, version } from '../../package.json';
onChange={handleChange}
/>
);
- })}
-
+ })
+```
### Переключатель без текста
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [checked, setChecked] = React.useState(false);
const handleChange = () => setChecked(!checked);
return (
@@ -43,13 +43,13 @@ import { name, version } from '../../package.json';
onChange={handleChange}
/>
);
- })}
-
+ })
+```
### Кастомный контент
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [checked, setChecked] = React.useState(false);
const handleChange = () => setChecked(!checked);
return (
@@ -69,13 +69,13 @@ import { name, version } from '../../package.json';
}
/>
);
- })}
-
+ })
+```
### Переключатель справа от контента
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [checked, setChecked] = React.useState(false);
const handleChange = () => setChecked(!checked);
return (
@@ -87,5 +87,5 @@ import { name, version } from '../../package.json';
hint='Описание пункта'
/>
);
- })}
-
+ })
+```
diff --git a/packages/tabs/src/docs/description.mdx b/packages/tabs/src/docs/description.mdx
index 24ecbc35bb..789641a647 100644
--- a/packages/tabs/src/docs/description.mdx
+++ b/packages/tabs/src/docs/description.mdx
@@ -26,8 +26,8 @@ import { name, version } from '../../package.json';
### TabsDesktop
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [selectedId, setSelectedId] = React.useState('tab-1');
const handleChange = (event, { selectedId }) => setSelectedId(selectedId);
return (
@@ -56,13 +56,13 @@ import { name, version } from '../../package.json';
);
- })}
-
+ })
+```
### TabsMobile
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [selectedId, setSelectedId] = React.useState('tab-1');
const handleChange = (event, { selectedId }) => setSelectedId(selectedId);
return (
@@ -90,15 +90,15 @@ import { name, version } from '../../package.json';
);
- })}
-
+ })
+```
### TabsResponsive
Адаптивная версия табов, перестраивается при 768px
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [selectedId, setSelectedId] = React.useState('tab-1');
const handleChange = (event, { selectedId }) => setSelectedId(selectedId);
return (
@@ -127,15 +127,15 @@ import { name, version } from '../../package.json';
);
- })}
-
+ })
+```
### Табы со слотом справа
В заголовки табов можно добавлять дополнительные элементы с помощью свойства `rightAddons`
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [selectedId, setSelectedId] = React.useState('tab-1');
const handleChange = (event, { selectedId }) => setSelectedId(selectedId);
return (
@@ -154,5 +154,5 @@ import { name, version } from '../../package.json';
);
- })}
-
+ })
+```
diff --git a/packages/tag/src/docs/description.mdx b/packages/tag/src/docs/description.mdx
index 62b2fd0b54..62dbf082c7 100644
--- a/packages/tag/src/docs/description.mdx
+++ b/packages/tag/src/docs/description.mdx
@@ -10,8 +10,8 @@ export const SIZES = ['xs', 's', 'm', 'l', 'xl'];
Компонент тэг (чипсы).
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [checked, setChecked] = React.useState(false);
const handleClick = () => setChecked(!checked);
return (
@@ -24,13 +24,13 @@ export const SIZES = ['xs', 's', 'm', 'l', 'xl'];
{text('label', 'Оплатить')}
);
- })}
-
+ })
+```
### Тэг с иконкой
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const [checked, setChecked] = React.useState(false);
const handleClick = () => setChecked(!checked);
return (
@@ -42,5 +42,5 @@ export const SIZES = ['xs', 's', 'm', 'l', 'xl'];
Нажми меня
);
- })}
-
+ })
+```
diff --git a/packages/textarea/src/docs/description.mdx b/packages/textarea/src/docs/description.mdx
index 8c2393d919..3ef301e06f 100644
--- a/packages/textarea/src/docs/description.mdx
+++ b/packages/textarea/src/docs/description.mdx
@@ -8,4 +8,6 @@ import { name, version } from '../../package.json';
Компонент текстового поля ввода.
-
\ No newline at end of file
+```tsx live
+
+```
\ No newline at end of file
diff --git a/packages/toast-plate/src/docs/description.mdx b/packages/toast-plate/src/docs/description.mdx
index 977c9e44e0..2410c2dba4 100644
--- a/packages/toast-plate/src/docs/description.mdx
+++ b/packages/toast-plate/src/docs/description.mdx
@@ -8,7 +8,7 @@ import { name, version } from '../../package.json';
Плашка для компонента `Toast`. Также используется в компоненте `Notification`.
-
+```tsx live
Восстановить }
/>
-
+```
diff --git a/packages/toast/src/docs/description.mdx b/packages/toast/src/docs/description.mdx
index b0b2ff8414..804115a2c1 100644
--- a/packages/toast/src/docs/description.mdx
+++ b/packages/toast/src/docs/description.mdx
@@ -12,7 +12,8 @@ import { Plate } from '../../../plate/src';
Если `anchorElement` не передавать, то тост появится снизу экрана.
-export function Example() {
+```tsx live
+function Example() {
const [anchorToastOpen, setAnchorToastOpen] = React.useState(false);
const [fixedToastOpen, setFixedToastOpen] = React.useState(false);
const [buttonElement, setButtonElement] = React.useState(null);
@@ -81,16 +82,15 @@ export function Example() {
setFixedToastOpen(true);
}}
style={{ marginLeft: '20px' }}
- >
+ >
Удалить
);
}
-
-
-
+render( )
+```
В качестве плашки можно использовать любой компонент.
@@ -98,7 +98,8 @@ export function Example() {
Например, компонент `Plate`:
-export function PlateExample() {
+```tsx live
+function PlateExample() {
const [anchorToastOpen, setAnchorToastOpen] = React.useState(false);
const containerRef = React.useRef();
React.useLayoutEffect(() => {
@@ -153,6 +154,5 @@ export function PlateExample() {
);
}
-
-
-
+render( )
+```
diff --git a/packages/tooltip/src/docs/description.mdx b/packages/tooltip/src/docs/description.mdx
index 85a159b665..0c806bedee 100644
--- a/packages/tooltip/src/docs/description.mdx
+++ b/packages/tooltip/src/docs/description.mdx
@@ -9,8 +9,8 @@ import { name, version } from '../../package.json';
Компонент `Tooltip`.
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const POSITION_OPTIONS = [
'top',
'top-start',
@@ -60,12 +60,12 @@ import { name, version } from '../../package.json';
);
- })}
-
+ })
+```
Также возможен вид `Hint`.
-
+```tsx live
-
+```
diff --git a/packages/typography/src/docs/description.mdx b/packages/typography/src/docs/description.mdx
index 0dae182c6f..56b4228273 100644
--- a/packages/typography/src/docs/description.mdx
+++ b/packages/typography/src/docs/description.mdx
@@ -16,11 +16,12 @@ import { colors } from '../colors';
## Typography.Title
+```tsx live
Стандартный заголовок для шрифта styrene
Стандартный заголовок для шрифта system
-
-
- {React.createElement(() => {
+```
+```tsx live
+ render(() => {
const VIEW_TYPES = [
'xlarge',
'large',
@@ -36,16 +37,18 @@ import { colors } from '../colors';
заголовок view='{view}'
))
- })}
-
+ })
+```
## Typography.TitleResponsive
+```tsx live
Адаптивный заголовок для шрифта styrene
Адаптивный заголовок для шрифта system
+```
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const VIEW_TYPES = [
'xlarge',
'large',
@@ -61,15 +64,15 @@ import { colors } from '../colors';
заголовок view='{view}'
))
- })}
-
+ })
+```
## Typography.Text
Компонент для оформления текста. Позволяет задать внешний вид, тэг и цвет текста.
-
- {React.createElement(() => {
+```tsx live
+ render(() => {
const VIEW_TYPES = [
'primary-large',
'primary-medium',
@@ -91,5 +94,5 @@ import { colors } from '../colors';
планковских значений.
));
- })}
-
+ })
+```
diff --git a/packages/with-suffix/src/docs/description.mdx b/packages/with-suffix/src/docs/description.mdx
index 4b08afa9c8..2bb5499a25 100644
--- a/packages/with-suffix/src/docs/description.mdx
+++ b/packages/with-suffix/src/docs/description.mdx
@@ -4,16 +4,16 @@ import { ComponentHeader } from 'storybook/blocks/component-header';
import Icon from '@alfalab/icons-glyph/StarMIcon';
import { Input } from '@alfalab/core-components-input';
-import { withSuffix as WithSuffix } from '../Component';
+import { withSuffix } from '../Component';
import { name, version } from '../../package.json';
HOC, позволяющий закрепить определенный текст после значения инпута.
Добавляет в переданный инпут доп. пропсу `suffix?: ReactNode`
-
- {React.createElement(() => {
- const SuffixInput = WithSuffix(Input);
+```tsx live
+ render(() => {
+ const SuffixInput = withSuffix(Input);
return мес} />;
- })}
-
+ })
+```
From 1f7391df16a270d8a3a28b8ebaf98d0ed0928bc8 Mon Sep 17 00:00:00 2001
From: Dmitry Savkin
Date: Mon, 28 Jun 2021 16:59:32 +0300
Subject: [PATCH 23/48] feat(bottom-sheet): new component (PDS-228) (#645)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* feat(bottom-sheet): add base of component
* feat(bottom-sheet): add base of swipe
* feat(bottom-sheet): add swiping
* fix(toast-plate): fix cross color (#642)
* chore(release): 16.1.2 [skip ci]
## [16.1.2](https://github.com/alfa-laboratory/core-components/compare/v16.1.1...v16.1.2) (2021-05-05)
### Bug Fixes
* **toast-plate:** fix cross color ([#642](https://github.com/alfa-laboratory/core-components/issues/642)) ([96a17fd](https://github.com/alfa-laboratory/core-components/commit/96a17fdcd28a37519845d5a0c40809f107e3031f))
* chore: publish
- @alfalab/core-components-notification-manager@2.0.2
- @alfalab/core-components-notification@3.0.2
- @alfalab/core-components-toast-plate@2.3.1
- @alfalab/core-components-toast@2.0.1
* fix: update popover versions (#646)
* fix(calendar-input): update popover version
* fix(toast): update popover version
* fix(tooltip): update popover version
* chore(release): 16.1.3 [skip ci]
## [16.1.3](https://github.com/alfa-laboratory/core-components/compare/v16.1.2...v16.1.3) (2021-05-06)
### Bug Fixes
* update popover versions ([#646](https://github.com/alfa-laboratory/core-components/issues/646)) ([199cf80](https://github.com/alfa-laboratory/core-components/commit/199cf80cd60e6edf0ac5d41c7eb258ab05d3b534))
* chore: publish
- @alfalab/core-components-calendar-input@3.0.1
- @alfalab/core-components-calendar-range@1.3.27
- @alfalab/core-components-toast@2.0.2
- @alfalab/core-components-tooltip@3.0.1
* feat(button): add loader minimal display interval (#634)
* feat(button): add loader minimal display interval
* test(button): add some tests
* feat(icon-button): add negative view (#635)
* chore(release): 16.2.0 [skip ci]
# [16.2.0](https://github.com/alfa-laboratory/core-components/compare/v16.1.3...v16.2.0) (2021-05-07)
### Features
* **button:** add loader minimal display interval ([#634](https://github.com/alfa-laboratory/core-components/issues/634)) ([d2f7edc](https://github.com/alfa-laboratory/core-components/commit/d2f7edc52c3e43ce3f5db8250446227b869ab731))
* **icon-button:** add negative view ([#635](https://github.com/alfa-laboratory/core-components/issues/635)) ([7006116](https://github.com/alfa-laboratory/core-components/commit/70061167d1e00a786e28c53ebb26e4e174d03311))
* chore: publish
- @alfalab/core-components-button@2.2.0-beta.4
- @alfalab/core-components-file-upload-item@1.1.2
- @alfalab/core-components-icon-button@1.3.0
* feat(button): fix version (#648)
* chore(deps-dev): bump json from 9.0.6 to 10.0.0 (#647)
Bumps [json](https://github.com/trentm/json) from 9.0.6 to 10.0.0.
- [Release notes](https://github.com/trentm/json/releases)
- [Changelog](https://github.com/trentm/json/blob/master/CHANGES.md)
- [Commits](https://github.com/trentm/json/compare/9.0.6...10.0.0)
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(intl-phone-input): add autocomplete (#630)
* feat(intl-phone-input): draft intlphone input with autocomplete
* chore: pochinil
* feat(intl-phone-input): update country select styles
* feat(intl-phone-input): dont erase country code
* fix(intl-phone-input): fix registry
* fix(intl-phone-input): fix registry
* fix(intl-phone-input): fix build
* fix(intl-phone-input): ts error
* feat(intl-phone-input): return old deps
* feat(intl-phone-input): add new props
* fix(intl-phone-input): pasting starting with 8
* test(intl-phone-input): fix screenshot tests
* fix(intl-phone-input): fix ts error
Co-authored-by: Александр Серов
Co-authored-by: reme3d2y
Co-authored-by: dmitrsavk
* chore(release): 16.3.0 [skip ci]
# [16.3.0](https://github.com/alfa-laboratory/core-components/compare/v16.2.0...v16.3.0) (2021-05-07)
### Features
* **button:** fix version ([#648](https://github.com/alfa-laboratory/core-components/issues/648)) ([ec51599](https://github.com/alfa-laboratory/core-components/commit/ec5159910a7fdc103d4f4e8d3d4198db3ffbdcc8))
* **intl-phone-input:** add autocomplete ([#630](https://github.com/alfa-laboratory/core-components/issues/630)) ([18b5714](https://github.com/alfa-laboratory/core-components/commit/18b57143ede6bf5e9fcd7d460b4859c6d86c026b))
* chore: publish
- @alfalab/core-components-alert@1.1.5
- @alfalab/core-components-amount-input@4.0.15
- @alfalab/core-components-attach@1.4.22
- @alfalab/core-components-bank-card@3.4.2
- @alfalab/core-components-button@2.3.0
- @alfalab/core-components-calendar-input@3.0.2
- @alfalab/core-components-calendar-range@1.3.28
- @alfalab/core-components-calendar-with-skeleton@1.1.2
- @alfalab/core-components-calendar@1.2.10
- @alfalab/core-components-confirmation@5.0.0
- @alfalab/core-components-file-upload-item@1.1.3
- @alfalab/core-components-icon-button@1.3.1
- @alfalab/core-components-input-autocomplete@6.1.0
- @alfalab/core-components-input@6.0.14
- @alfalab/core-components-intl-phone-input@4.1.0
- @alfalab/core-components-masked-input@3.2.21
- @alfalab/core-components-modal@1.4.2
- @alfalab/core-components-notification-manager@2.0.3
- @alfalab/core-components-notification@3.0.3
- @alfalab/core-components-phone-input@4.0.14
- @alfalab/core-components-picker-button@4.0.2
- @alfalab/core-components-plate@1.7.2
- @alfalab/core-components-select@8.0.2
- @alfalab/core-components-slider-input@3.1.2
- @alfalab/core-components-toast-plate@2.3.2
- @alfalab/core-components-toast@2.0.3
- @alfalab/core-components-with-suffix@2.4.14
* feat(base-modal): add utils export
* test: update snapshots
fix(backdrop): fix opacity
feat(bottom-sheet): updates
docs(bottom-sheet): updates
feat(bottom-sheet): updates
docs(bottom-sheet): updates
feat(bottom-sheet): try scroll
feat(bottom-sheet): try scroll
feat(bottom-sheet): some fixes
feat(bottom-sheet): add footer highlighted
feat(bottom-sheet): updates
feat(bottom-sheet): updates
feat(bottom-sheet): add base of tests
* test(bottom-sheet): fix
* test(bottom-sheet): add some tests
* test(bottom-sheet): add swipe test
* test(bottom-sheet): add some tests
* feat(bottom-sheet): add swipe velocity to sheet
* refactor(bottom-sheet): migrate to base modal (#669)
* refactor(bottom-sheet): migrate to base-modal
* feat(bottom-sheet): updates
Co-authored-by: dmitrsavk
* feat(bottom-sheet): some design-review fixes
* feat(bottom-sheet): updates
* feat(bottom-sheet): change animation
Co-authored-by: semantic-release-bot
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Aleksandr Serov <33555131+AleksandrSerov@users.noreply.github.com>
Co-authored-by: Александр Серов
Co-authored-by: reme3d2y
Co-authored-by: Alexander Yatsenko
---
packages/base-modal/src/Component.tsx | 28 +-
packages/base-modal/src/index.ts | 1 +
packages/base-modal/src/utils.ts | 4 +-
packages/bottom-sheet/package.json | 30 ++
...t-interactions-tests-open-sheet-2-snap.png | 3 +
...eet-interactions-tests-open-sheet-snap.png | 3 +
.../bottom-sheet-sprite-snap.png | 3 +
.../src/__snapshots__/component.test.tsx.snap | 160 +++++++++
.../src/component.screenshots.test.tsx | 76 +++++
.../bottom-sheet/src/component.stories.mdx | 86 +++++
packages/bottom-sheet/src/component.test.tsx | 322 ++++++++++++++++++
packages/bottom-sheet/src/component.tsx | 299 ++++++++++++++++
.../src/components/footer/Component.tsx | 36 ++
.../src/components/footer/index.module.css | 12 +
.../swipeable-backdrop/Component.tsx | 38 +++
packages/bottom-sheet/src/index.module.css | 101 ++++++
packages/bottom-sheet/src/index.ts | 1 +
packages/bottom-sheet/tsconfig.json | 17 +
18 files changed, 1212 insertions(+), 8 deletions(-)
create mode 100644 packages/bottom-sheet/package.json
create mode 100644 packages/bottom-sheet/src/__image_snapshots__/bottom-sheet-interactions-tests-open-sheet-2-snap.png
create mode 100644 packages/bottom-sheet/src/__image_snapshots__/bottom-sheet-interactions-tests-open-sheet-snap.png
create mode 100644 packages/bottom-sheet/src/__image_snapshots__/bottom-sheet-sprite-snap.png
create mode 100644 packages/bottom-sheet/src/__snapshots__/component.test.tsx.snap
create mode 100644 packages/bottom-sheet/src/component.screenshots.test.tsx
create mode 100644 packages/bottom-sheet/src/component.stories.mdx
create mode 100644 packages/bottom-sheet/src/component.test.tsx
create mode 100644 packages/bottom-sheet/src/component.tsx
create mode 100644 packages/bottom-sheet/src/components/footer/Component.tsx
create mode 100644 packages/bottom-sheet/src/components/footer/index.module.css
create mode 100644 packages/bottom-sheet/src/components/swipeable-backdrop/Component.tsx
create mode 100644 packages/bottom-sheet/src/index.module.css
create mode 100644 packages/bottom-sheet/src/index.ts
create mode 100644 packages/bottom-sheet/tsconfig.json
diff --git a/packages/base-modal/src/Component.tsx b/packages/base-modal/src/Component.tsx
index 8cfcefadba..7d162a9695 100644
--- a/packages/base-modal/src/Component.tsx
+++ b/packages/base-modal/src/Component.tsx
@@ -10,6 +10,8 @@ import React, {
useEffect,
useMemo,
Ref,
+ FC,
+ MutableRefObject,
} from 'react';
import cn from 'classnames';
import mergeRefs from 'react-merge-refs';
@@ -19,7 +21,7 @@ import { TransitionProps } from 'react-transition-group/Transition';
import FocusLock from 'react-focus-lock';
import { Portal, PortalProps } from '@alfalab/core-components-portal';
-import { Backdrop, BackdropProps } from '@alfalab/core-components-backdrop';
+import { Backdrop as DefaultBackdrop, BackdropProps } from '@alfalab/core-components-backdrop';
import { Stack, stackingOrder } from '@alfalab/core-components-stack';
import { handleContainer, hasScrollbar, isScrolledToBottom, isScrolledToTop } from './utils';
@@ -32,6 +34,11 @@ export type BaseModalProps = {
*/
children?: ReactNode;
+ /**
+ * Компонент бэкдропа
+ */
+ Backdrop?: FC;
+
/**
* Свойства для Бэкдропа
*/
@@ -100,7 +107,10 @@ export type BaseModalProps = {
*/
wrapperClassName?: string;
- scrollHandler?: 'wrapper' | 'content';
+ /**
+ * Обработчик скролла контента
+ */
+ scrollHandler?: 'wrapper' | 'content' | MutableRefObject;
/**
* Пропсы для анимации (CSSTransition)
@@ -179,6 +189,7 @@ export const BaseModal = forwardRef(
container,
children,
scrollHandler = 'wrapper',
+ Backdrop = DefaultBackdrop,
backdropProps = {},
transitionProps = {},
disableBackdropClick,
@@ -210,7 +221,7 @@ export const BaseModal = forwardRef(
const componentRef = useRef(null);
const contentRef = useRef(null);
const wrapperRef = useRef(null);
- const scrollableNodeRef = useRef(null);
+ const scrollableNodeRef = useRef(null);
const restoreContainerStyles = useRef(null);
const shouldRender = keepMounted || open || !exited;
@@ -302,10 +313,15 @@ export const BaseModal = forwardRef(
[disableEscapeKeyDown, handleClose],
);
+ const getScrollHandler = useCallback(() => {
+ if (scrollHandler === 'wrapper') return wrapperRef.current;
+ if (scrollHandler === 'content') return componentRef.current;
+ return scrollHandler.current || wrapperRef.current;
+ }, [scrollHandler]);
+
const handleEntered: Required['onEntered'] = useCallback(
(node, isAppearing) => {
- scrollableNodeRef.current =
- scrollHandler === 'content' ? componentRef.current : wrapperRef.current;
+ scrollableNodeRef.current = getScrollHandler();
addResizeHandle();
@@ -320,7 +336,7 @@ export const BaseModal = forwardRef(
if (onMount) onMount();
},
- [addResizeHandle, handleScroll, onMount, scrollHandler, transitionProps],
+ [addResizeHandle, getScrollHandler, handleScroll, onMount, transitionProps],
);
const handleExited: Required['onExited'] = useCallback(
diff --git a/packages/base-modal/src/index.ts b/packages/base-modal/src/index.ts
index e51a5d2440..78e3c77916 100644
--- a/packages/base-modal/src/index.ts
+++ b/packages/base-modal/src/index.ts
@@ -1 +1,2 @@
export * from './Component';
+export * from './utils';
diff --git a/packages/base-modal/src/utils.ts b/packages/base-modal/src/utils.ts
index 9f4f7dc2aa..23e3aac291 100644
--- a/packages/base-modal/src/utils.ts
+++ b/packages/base-modal/src/utils.ts
@@ -1,9 +1,9 @@
export function isScrolledToTop(target: HTMLElement) {
- return target.scrollTop === 0;
+ return target.scrollTop <= 0;
}
export function isScrolledToBottom(target: HTMLElement) {
- return target.scrollHeight - target.offsetHeight === target.scrollTop;
+ return target.scrollHeight - target.offsetHeight <= target.scrollTop;
}
export function hasScrollbar(target: HTMLElement) {
diff --git a/packages/bottom-sheet/package.json b/packages/bottom-sheet/package.json
new file mode 100644
index 0000000000..73fa2ccae4
--- /dev/null
+++ b/packages/bottom-sheet/package.json
@@ -0,0 +1,30 @@
+{
+ "name": "@alfalab/core-components-bottom-sheet",
+ "version": "1.0.0",
+ "description": "Bottom sheet mobile component",
+ "keywords": [],
+ "license": "MIT",
+ "main": "dist/index.js",
+ "module": "./dist/esm/index.js",
+ "files": [
+ "dist"
+ ],
+ "scripts": {
+ "postinstall": "node ./dist/send-stats.js > /dev/null 2>&1 || exit 0"
+ },
+ "publishConfig": {
+ "access": "public"
+ },
+ "peerDependencies": {
+ "react": "^16.9.0 || ^17.0.1",
+ "react-dom": "^16.9.0 || ^17.0.1"
+ },
+ "dependencies": {
+ "@alfalab/core-components-backdrop": "^1.1.2",
+ "@alfalab/core-components-base-modal": "^2.0.0",
+ "@alfalab/core-components-typography": "^1.4.7",
+ "classnames": "^2.2.6",
+ "react-swipeable": "^5.5.0",
+ "react-transition-group": "^4.3.0"
+ }
+}
diff --git a/packages/bottom-sheet/src/__image_snapshots__/bottom-sheet-interactions-tests-open-sheet-2-snap.png b/packages/bottom-sheet/src/__image_snapshots__/bottom-sheet-interactions-tests-open-sheet-2-snap.png
new file mode 100644
index 0000000000..6a566bda1b
--- /dev/null
+++ b/packages/bottom-sheet/src/__image_snapshots__/bottom-sheet-interactions-tests-open-sheet-2-snap.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:89e4f135f6208c3c9106de6fcdefb886e14cf94599cdc443f712e4cfa6c43ab0
+size 88989
diff --git a/packages/bottom-sheet/src/__image_snapshots__/bottom-sheet-interactions-tests-open-sheet-snap.png b/packages/bottom-sheet/src/__image_snapshots__/bottom-sheet-interactions-tests-open-sheet-snap.png
new file mode 100644
index 0000000000..82abbc36c9
--- /dev/null
+++ b/packages/bottom-sheet/src/__image_snapshots__/bottom-sheet-interactions-tests-open-sheet-snap.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b7f9fe4a972c8f40bb3bb7694fb30abd932c6f73559c23f567b04b4c9bb4c921
+size 24043
diff --git a/packages/bottom-sheet/src/__image_snapshots__/bottom-sheet-sprite-snap.png b/packages/bottom-sheet/src/__image_snapshots__/bottom-sheet-sprite-snap.png
new file mode 100644
index 0000000000..48b5fad07b
--- /dev/null
+++ b/packages/bottom-sheet/src/__image_snapshots__/bottom-sheet-sprite-snap.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:50a3bd372bd5a57a3ba755ea7b6798292211db761f610744c6ba117018d50f5f
+size 10143
diff --git a/packages/bottom-sheet/src/__snapshots__/component.test.tsx.snap b/packages/bottom-sheet/src/__snapshots__/component.test.tsx.snap
new file mode 100644
index 0000000000..e1137cdde3
--- /dev/null
+++ b/packages/bottom-sheet/src/__snapshots__/component.test.tsx.snap
@@ -0,0 +1,160 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Bottom sheet Snapshots tests should match snapshot 1`] = `
+
+
+
+
+`;
+
+exports[`Bottom sheet Snapshots tests should match snapshot with action button 1`] = `
+
+
+
+
+`;
diff --git a/packages/bottom-sheet/src/component.screenshots.test.tsx b/packages/bottom-sheet/src/component.screenshots.test.tsx
new file mode 100644
index 0000000000..bb4322a490
--- /dev/null
+++ b/packages/bottom-sheet/src/component.screenshots.test.tsx
@@ -0,0 +1,76 @@
+import {
+ setupScreenshotTesting,
+ createSpriteStorybookUrl,
+ createStorybookUrl,
+ openBrowserPage,
+ matchHtml,
+ closeBrowser,
+} from '../../screenshot-utils';
+
+const screenshotTesting = setupScreenshotTesting({
+ it,
+ beforeAll,
+ afterAll,
+ expect,
+});
+
+describe(
+ 'BottomSheet',
+ screenshotTesting({
+ cases: [
+ [
+ 'sprite',
+ createSpriteStorybookUrl({
+ componentName: 'BottomSheet',
+ size: { width: 350, height: 350 },
+ knobs: {
+ open: true,
+ title: 'Заголовок',
+ children: 'Контент',
+ },
+ }),
+ ],
+ ],
+ screenshotOpts: {
+ fullPage: true,
+ },
+ }),
+);
+
+describe('BottomSheet | interactions tests', () => {
+ test('Open sheet', async () => {
+ const pageUrl = createStorybookUrl({
+ componentName: 'BottomSheet',
+ testStory: false,
+ });
+
+ const { browser, context, page, css } = await openBrowserPage(pageUrl);
+
+ try {
+ await page.click('#button-1');
+
+ await matchHtml({
+ page,
+ expect,
+ css,
+ screenshotOpts: { fullPage: true },
+ });
+
+ await page.reload();
+
+ await page.click('#button-2');
+
+ await matchHtml({
+ page,
+ expect,
+ css,
+ screenshotOpts: { fullPage: true },
+ });
+ } catch (error) {
+ // eslint-disable-next-line no-console
+ console.error(error.message);
+ } finally {
+ await closeBrowser({ browser, context, page });
+ }
+ });
+});
diff --git a/packages/bottom-sheet/src/component.stories.mdx b/packages/bottom-sheet/src/component.stories.mdx
new file mode 100644
index 0000000000..29c1d18e1a
--- /dev/null
+++ b/packages/bottom-sheet/src/component.stories.mdx
@@ -0,0 +1,86 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, select, boolean, number } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Button } from '@alfalab/core-components-button';
+
+import { BottomSheet } from './';
+import { name, version } from '../package.json';
+
+export const shortText =
+ 'Пользуйтесь сразу: реквизиты виртуальной и пластиковой карты будут доступны уже через 60 секунд после после оформления.';
+
+export const longText = Array(10).fill(shortText).join('\n\n');
+
+
+
+
+
+
+ {React.createElement(() => {
+ const [open, setOpen] = React.useState(false);
+ const handleClose = React.useCallback(() => {
+ setOpen(false);
+ }, []);
+ const [textContent, setTextContent] = React.useState('');
+ const renderActionButton = boolean('renderActionButton', true);
+ return (
+
+
{
+ setTextContent(shortText);
+ setOpen(true);
+ }}
+ style={{ margin: '15px'}}
+ id="button-1"
+ >
+ Окрыть шторку
+
+
{
+ setTextContent(longText);
+ setOpen(true);
+ }}
+ style={{ margin: '15px'}}
+ id="button-2"
+ >
+ Окрыть шторку с длинным контентом
+
+
Понятно}
+ onClose={handleClose}
+ desktopSwipeable={boolean('desktopSwipeable', true)}
+ >
+
+ {textContent}
+
+
+
+ )
+ })}
+
+
+
+
+
+
+```tsx
+import { BottomSheet } from '@alfalab/core-components-bottom-sheet';
+```
+
+Шторка используется только в мобильной версии. Является адаптивом тултипа и списка с небольшим выбором.
+Вызывается при нажатии на кнопку или иконку. Выезжает снизу вверх.
+
+
diff --git a/packages/bottom-sheet/src/component.test.tsx b/packages/bottom-sheet/src/component.test.tsx
new file mode 100644
index 0000000000..7bbe7f613e
--- /dev/null
+++ b/packages/bottom-sheet/src/component.test.tsx
@@ -0,0 +1,322 @@
+import React, { useState, forwardRef } from 'react';
+import { fireEvent, render, waitFor, waitForElementToBeRemoved } from '@testing-library/react';
+
+import { BottomSheet, BottomSheetProps, CLOSE_OFFSET } from '.';
+
+const BottomSheetWrapper = forwardRef>((props, ref) => {
+ const [open, setOpen] = useState(props.open === undefined ? true : props.open);
+
+ const handleClose = () => {
+ setOpen(false);
+
+ if (props.onClose) {
+ props.onClose();
+ }
+ };
+
+ return (
+
+ {props.children || Bottom sheet content
}
+
+ );
+});
+
+const dataTestId = 'test-id';
+
+let getBoundingClientRect: () => DOMRect;
+
+const mockGetBoundingClientRect = (height: number) => {
+ if (!getBoundingClientRect) {
+ getBoundingClientRect = HTMLElement.prototype.getBoundingClientRect;
+ }
+
+ HTMLElement.prototype.getBoundingClientRect = () => ({
+ height,
+ width: 0,
+ top: 0,
+ left: 0,
+ right: 0,
+ bottom: 0,
+ x: 0,
+ y: 0,
+ toJSON: () => '',
+ });
+};
+
+const clearGetBoundingClientRect = () => {
+ HTMLElement.prototype.getBoundingClientRect = getBoundingClientRect;
+};
+
+describe('Bottom sheet', () => {
+ beforeAll(() => {
+ mockGetBoundingClientRect(100);
+ });
+
+ afterAll(() => {
+ clearGetBoundingClientRect();
+ });
+
+ describe('Snapshots tests', () => {
+ it('should match snapshot', () => {
+ const { baseElement } = render( );
+
+ expect(baseElement).toMatchSnapshot();
+ });
+
+ it('should match snapshot with action button', () => {
+ const { baseElement } = render( } />);
+
+ expect(baseElement).toMatchSnapshot();
+ });
+ });
+
+ describe('Props tests', () => {
+ it('should set `data-test-id` attribute', () => {
+ const { getByTestId } = render( );
+
+ expect(getByTestId(dataTestId).tagName).toBe('DIV');
+ expect(getByTestId(dataTestId).getAttribute('role')).toBe('dialog');
+ });
+
+ it('should forward ref', () => {
+ const ref = jest.fn();
+
+ const { getByTestId } = render(
+ ,
+ );
+
+ expect(ref.mock.calls).toEqual([[getByTestId(dataTestId)]]);
+ });
+
+ it('should render content', () => {
+ const text = 'BottomSheet';
+
+ const { getByText } = render({text} );
+
+ expect(getByText(text)).toBeInTheDocument();
+ });
+
+ it('should be open, if open is `true`', () => {
+ const text = 'BottomSheet';
+
+ const { queryByText } = render({text} );
+
+ expect(queryByText(text)).toBeInTheDocument();
+ });
+
+ it('should be closed, if open is `false`', () => {
+ const text = 'BottomSheet';
+
+ const { queryByText } = render(
+ {text} ,
+ );
+
+ expect(queryByText(text)).not.toBeInTheDocument();
+ });
+
+ it('should render title', () => {
+ const title = 'Title';
+
+ const { getByText } = render( );
+
+ expect(getByText(title)).toBeInTheDocument();
+ });
+
+ it('should render action button', () => {
+ const { getByTestId } = render(
+ } />,
+ );
+
+ expect(getByTestId(dataTestId)).toBeInTheDocument();
+ });
+
+ it('should set className', () => {
+ const className = 'class-name';
+
+ render( );
+
+ expect(document.body.querySelector(`.${className}`)).toBeInTheDocument();
+ });
+
+ it('should set contentClassName', () => {
+ const className = 'class-name';
+
+ render( );
+
+ expect(document.body.querySelector(`.${className}`)).toBeInTheDocument();
+ });
+
+ it('should set z-index', () => {
+ const zIndex = 9999;
+
+ const { getByTestId } = render(
+ ,
+ );
+
+ const component = getByTestId(dataTestId);
+
+ expect(+getComputedStyle(component).zIndex).toBe(zIndex);
+ });
+ });
+
+ describe('Interactions tests', () => {
+ it('should close if on backdrop click', async () => {
+ const { getByTestId, queryByTestId } = render(
+ ,
+ );
+
+ const backdrop = document.querySelector('.backdrop');
+
+ if (backdrop) {
+ fireEvent.click(backdrop);
+ }
+
+ await waitForElementToBeRemoved(() => getByTestId(dataTestId));
+
+ const component = await queryByTestId(dataTestId);
+
+ expect(component).not.toBeInTheDocument();
+ });
+
+ it('should swiping on touchmove', async () => {
+ const className = 'className';
+
+ const onEntered = jest.fn();
+
+ render(
+ ,
+ );
+
+ await waitFor(() => expect(onEntered).toBeCalledTimes(1));
+
+ const swipeableBottomSheet = document.querySelector(`.${className}`) as HTMLElement;
+
+ const { top, left } = swipeableBottomSheet.getBoundingClientRect();
+
+ const initial = { x: left + 10, y: top + 10 };
+
+ let swipeDelta = 20;
+
+ fireEvent.touchStart(swipeableBottomSheet, {
+ touches: [{ clientX: initial.x, clientY: initial.y }],
+ });
+ fireEvent.touchMove(swipeableBottomSheet, {
+ touches: [{ clientX: initial.x, clientY: initial.y + swipeDelta }],
+ });
+
+ expect(getComputedStyle(swipeableBottomSheet).transform).toBe(
+ `translateY(${swipeDelta}px)`,
+ );
+
+ swipeDelta = 40;
+
+ fireEvent.touchMove(swipeableBottomSheet, {
+ touches: [{ clientX: initial.x, clientY: initial.y + swipeDelta }],
+ });
+
+ expect(getComputedStyle(swipeableBottomSheet).transform).toBe(
+ `translateY(${swipeDelta}px)`,
+ );
+ });
+
+ it('should return up, if swiped less then default closeOffset', async () => {
+ const className = 'className';
+
+ const onEntered = jest.fn();
+ const onExited = jest.fn();
+
+ render(
+ ,
+ );
+
+ await waitFor(() => expect(onEntered).toBeCalledTimes(1));
+
+ const swipeableBottomSheet = document.querySelector(`.${className}`) as HTMLElement;
+
+ const { top, left, height } = swipeableBottomSheet.getBoundingClientRect();
+
+ const initial = { x: left + 10, y: top + 10 };
+
+ const swipeDelta = height * CLOSE_OFFSET - 20;
+
+ fireEvent.touchStart(swipeableBottomSheet, {
+ touches: [{ clientX: initial.x, clientY: initial.y }],
+ });
+
+ fireEvent.touchMove(swipeableBottomSheet, {
+ touches: [{ clientX: initial.x, clientY: initial.y + swipeDelta }],
+ });
+
+ fireEvent.touchEnd(swipeableBottomSheet);
+
+ expect(onExited).not.toBeCalled();
+ expect(getComputedStyle(swipeableBottomSheet).transform).toBe('');
+ });
+
+ it('should close, if swiped more then default closeOffset', async () => {
+ const className = 'className';
+
+ const onEntered = jest.fn();
+ const onExited = jest.fn();
+
+ const { queryByTestId } = render(
+ ,
+ );
+
+ await waitFor(() => expect(onEntered).toBeCalledTimes(1));
+
+ const swipeableBottomSheet = document.querySelector(`.${className}`) as HTMLElement;
+
+ const { top, left, height } = swipeableBottomSheet.getBoundingClientRect();
+
+ const initial = { x: left + 10, y: top + 10 };
+
+ const swipeDelta = height * CLOSE_OFFSET + 20;
+
+ fireEvent.touchStart(swipeableBottomSheet, {
+ touches: [{ clientX: initial.x, clientY: initial.y }],
+ });
+
+ fireEvent.touchMove(swipeableBottomSheet, {
+ touches: [{ clientX: initial.x, clientY: initial.y + swipeDelta }],
+ });
+
+ fireEvent.touchEnd(swipeableBottomSheet);
+
+ await waitFor(() => expect(onExited).toBeCalledTimes(1));
+
+ const component = await queryByTestId(dataTestId);
+
+ expect(component).not.toBeInTheDocument();
+ });
+ });
+});
diff --git a/packages/bottom-sheet/src/component.tsx b/packages/bottom-sheet/src/component.tsx
new file mode 100644
index 0000000000..8940d44b8a
--- /dev/null
+++ b/packages/bottom-sheet/src/component.tsx
@@ -0,0 +1,299 @@
+import React, {
+ CSSProperties,
+ forwardRef,
+ ReactNode,
+ useCallback,
+ useEffect,
+ useRef,
+ useState,
+} from 'react';
+import cn from 'classnames';
+import { TransitionProps } from 'react-transition-group/Transition';
+import { SwipeCallback, useSwipeable } from 'react-swipeable';
+import { BaseModal } from '@alfalab/core-components-base-modal';
+import { Typography } from '@alfalab/core-components-typography';
+
+import { Footer } from './components/footer/Component';
+import { SwipeableBackdrop } from './components/swipeable-backdrop/Component';
+
+import styles from './index.module.css';
+
+export type BottomSheetProps = {
+ /**
+ * Контент
+ */
+ children?: ReactNode;
+
+ /**
+ * Управление видимостью
+ */
+ open: boolean;
+
+ /**
+ * Заголовок
+ */
+ title?: ReactNode;
+
+ /**
+ * Кнопка действия (обычно, это кнопка закрытия)
+ */
+ actionButton?: ReactNode;
+
+ /**
+ * Дополнительный класс
+ */
+ className?: string;
+
+ /**
+ * Дополнительный класс
+ */
+ contentClassName?: string;
+
+ /**
+ * TransitionProps, прокидываются в компонент CSSTransitionProps.
+ */
+ transitionProps?: Partial;
+
+ /**
+ * Идентификатор для систем автоматизированного тестирования
+ */
+ dataTestId?: string;
+
+ /**
+ * z-index компонента
+ */
+ zIndex?: number;
+
+ /**
+ * Будет ли свайпаться на десктопе
+ * @default false
+ */
+ desktopSwipeable?: boolean;
+
+ /**
+ * Обработчик закрытия
+ */
+ onClose: () => void;
+};
+
+const TIMEOUT = 300;
+const SWIPE_CLOSE_VELOCITY = 0.4;
+const MIN_BACKDROP_OPACITY = 0.2;
+
+export const CLOSE_OFFSET = 0.2;
+
+export const BottomSheet = forwardRef(
+ (
+ {
+ open,
+ title,
+ actionButton,
+ contentClassName,
+ className,
+ children,
+ zIndex,
+ transitionProps = {},
+ dataTestId,
+ desktopSwipeable: trackMouse = false,
+ onClose,
+ },
+ ref,
+ ) => {
+ const [sheetOffset, setSheetOffset] = useState(0);
+ const [backdropOpacity, setBackdropOpacity] = useState(1);
+ const [scrollLocked, setScrollLocked] = useState(false);
+
+ const sheetHeight = useRef(0);
+ const scrollableContainer = useRef(null);
+ const scrollableContainerScrollValue = useRef(0);
+
+ const getBackdropOpacity = (offset: number): number => {
+ if (sheetHeight.current === 0) return MIN_BACKDROP_OPACITY;
+
+ const opacity = 1 - (1 - MIN_BACKDROP_OPACITY) * (offset / sheetHeight.current);
+
+ return Number(opacity.toFixed(2));
+ };
+
+ const getSheetOffset = (deltaY: number): number => {
+ let offset = deltaY > 0 ? 0 : -deltaY;
+ offset -= scrollableContainerScrollValue.current;
+
+ return Math.floor(Math.max(0, offset));
+ };
+
+ /**
+ * Если контент внутри шторки скроллится - то шторка не должна свайпаться
+ */
+ const shouldSkipSwiping = () => {
+ if (!scrollableContainer.current) {
+ return false;
+ }
+
+ if (!scrollableContainerScrollValue.current) {
+ scrollableContainerScrollValue.current = Math.floor(
+ scrollableContainer.current.scrollTop,
+ );
+ }
+
+ return scrollableContainer.current.scrollTop > 0;
+ };
+
+ const handleBackdropSwipedDown: SwipeCallback = ({ velocity }) => {
+ if (velocity > SWIPE_CLOSE_VELOCITY) {
+ onClose();
+ }
+ };
+
+ const handleSheetSwipedDown: SwipeCallback = ({ velocity }) => {
+ if (shouldSkipSwiping()) {
+ return;
+ }
+
+ const shouldClose =
+ sheetOffset > sheetHeight.current * CLOSE_OFFSET || velocity > SWIPE_CLOSE_VELOCITY;
+
+ if (shouldClose) {
+ onClose();
+ } else {
+ setSheetOffset(0);
+ setBackdropOpacity(1);
+ }
+ };
+
+ const handleSheetSwiped: SwipeCallback = () => {
+ setScrollLocked(false);
+ scrollableContainerScrollValue.current = 0;
+ };
+
+ const handleSheetSwiping: SwipeCallback = ({ deltaY }) => {
+ if (shouldSkipSwiping()) {
+ return;
+ }
+
+ const offset = getSheetOffset(deltaY);
+ const opacity = getBackdropOpacity(offset);
+
+ setSheetOffset(offset);
+ setBackdropOpacity(opacity);
+
+ /**
+ * Если шторка начинает свайпаться, то блокируем скролл внутри нее
+ */
+ if (offset > 0) {
+ setScrollLocked(true);
+ }
+ };
+
+ const backdropSwipeablehandlers = useSwipeable({
+ onSwipedDown: handleBackdropSwipedDown,
+ delta: 100,
+ trackMouse,
+ });
+
+ const sheetSwipeablehandlers = useSwipeable({
+ onSwiping: handleSheetSwiping,
+ onSwipedDown: handleSheetSwipedDown,
+ onSwiped: handleSheetSwiped,
+ delta: 5,
+ trackMouse,
+ });
+
+ const handleExited = useCallback(
+ node => {
+ setBackdropOpacity(1);
+
+ if (transitionProps.onExited) {
+ transitionProps.onExited(node);
+ }
+ },
+ [transitionProps],
+ );
+
+ const handleEntered = useCallback(
+ (node, isAppearing) => {
+ if (!sheetHeight.current) {
+ sheetHeight.current = node.getBoundingClientRect().height;
+ }
+
+ setBackdropOpacity(1);
+
+ if (transitionProps.onEntered) {
+ transitionProps.onEntered(node, isAppearing);
+ }
+ },
+ [transitionProps],
+ );
+
+ useEffect(() => {
+ if (!open) {
+ setSheetOffset(0);
+ }
+ }, [open]);
+
+ const getSwipeStyles = (): CSSProperties => ({
+ transform: sheetOffset ? `translateY(${sheetOffset}px)` : '',
+ });
+
+ return (
+
+
+
+
+
+ {title && (
+
+ {title}
+
+ )}
+
+
{children}
+
+ {actionButton &&
}
+
+
+
+ );
+ },
+);
diff --git a/packages/bottom-sheet/src/components/footer/Component.tsx b/packages/bottom-sheet/src/components/footer/Component.tsx
new file mode 100644
index 0000000000..adfdc3118b
--- /dev/null
+++ b/packages/bottom-sheet/src/components/footer/Component.tsx
@@ -0,0 +1,36 @@
+import React, { FC, ReactNode, useContext, useEffect } from 'react';
+import cn from 'classnames';
+
+import { BaseModalContext } from '@alfalab/core-components-base-modal';
+
+import styles from './index.module.css';
+
+export type FooterProps = {
+ /**
+ * Контент футера
+ */
+ children?: ReactNode;
+
+ /**
+ * Дополнительный класс
+ */
+ className?: string;
+};
+
+export const Footer: FC = ({ children, className }) => {
+ const { footerHighlighted, setHasFooter } = useContext(BaseModalContext);
+
+ useEffect(() => {
+ setHasFooter(true);
+ }, [setHasFooter]);
+
+ return (
+
+ {children}
+
+ );
+};
diff --git a/packages/bottom-sheet/src/components/footer/index.module.css b/packages/bottom-sheet/src/components/footer/index.module.css
new file mode 100644
index 0000000000..64cf50f8fd
--- /dev/null
+++ b/packages/bottom-sheet/src/components/footer/index.module.css
@@ -0,0 +1,12 @@
+@import '../../../../themes/src/default.css';
+
+.footer {
+ position: sticky;
+ bottom: 0;
+ padding: var(--gap-m) var(--gap-m) var(--gap-3xl);
+ background-color: var(--color-light-bg-primary);
+}
+
+.highlighted {
+ box-shadow: var(--shadow-s-up);
+}
diff --git a/packages/bottom-sheet/src/components/swipeable-backdrop/Component.tsx b/packages/bottom-sheet/src/components/swipeable-backdrop/Component.tsx
new file mode 100644
index 0000000000..832b5387dd
--- /dev/null
+++ b/packages/bottom-sheet/src/components/swipeable-backdrop/Component.tsx
@@ -0,0 +1,38 @@
+import React, { FC } from 'react';
+
+import { Backdrop, BackdropProps } from '@alfalab/core-components-backdrop';
+import { SwipeableHandlers } from 'react-swipeable/types';
+
+export type SwipeableBackdropProps = BackdropProps & {
+ /**
+ * Прозрачность бэкдропа
+ */
+ opacity?: number;
+
+ /**
+ * Обработчики свайпа
+ */
+ handlers?: SwipeableHandlers;
+
+ /**
+ * Время анимации opacity
+ */
+ opacityTimeout?: number;
+};
+
+export const SwipeableBackdrop: FC = ({
+ opacity,
+ handlers,
+ opacityTimeout,
+ ...backdropProps
+}) => (
+
+
+
+);
diff --git a/packages/bottom-sheet/src/index.module.css b/packages/bottom-sheet/src/index.module.css
new file mode 100644
index 0000000000..4cf6c1fcab
--- /dev/null
+++ b/packages/bottom-sheet/src/index.module.css
@@ -0,0 +1,101 @@
+@import '../../themes/src/default.css';
+
+:root {
+ --bottom-sheet-in-transition: 0.7s cubic-bezier(0.09, 0.91, 0.18, 0.99);
+ --bottom-sheet-out-transition: 0.3s ease;
+}
+
+.modal {
+ background-color: transparent;
+ position: fixed;
+ bottom: 0;
+ width: 100%;
+ max-width: 600px;
+}
+
+.component {
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ max-height: calc(100vh - 72px);
+ border-top-right-radius: 16px;
+ border-top-left-radius: 16px;
+ background: var(--color-light-bg-primary);
+ transform: translateY(100%);
+}
+
+.withTransition {
+ transition: var(--bottom-sheet-out-transition);
+}
+
+.marker {
+ position: absolute;
+ top: var(--gap-2xs);
+ left: 50%;
+ width: 36px;
+ height: 4px;
+ border-radius: 20px;
+ transform: translateX(-50%);
+ background-color: var(--color-light-graphic-neutral);
+}
+
+.scrollableContainer {
+ overflow: auto;
+ padding-top: var(--gap-2xl);
+}
+
+.withPadding {
+ padding-bottom: var(--gap-xl);
+}
+
+.content {
+ display: flex;
+ flex-direction: column;
+ flex: 1;
+ padding: 0 var(--gap-m) var(--gap-m);
+ color: var(--color-light-text-primary);
+}
+
+.title {
+ margin-bottom: var(--gap-xl);
+ padding: 0 var(--gap-m);
+}
+
+.scrollLocked {
+ overflow: hidden;
+}
+
+.appear,
+.enter {
+ & .component {
+ transition: none;
+ }
+}
+
+.appearActive,
+.enterActive {
+ & .component {
+ transition: var(--bottom-sheet-in-transition);
+ transform: translateY(0);
+ }
+}
+
+.enterDone,
+.appearDone {
+ & .component {
+ transform: translateY(0);
+ }
+}
+
+.exit {
+ & .component {
+ transform: translateY(0);
+ }
+}
+
+.exitActive {
+ & .component {
+ transition: var(--bottom-sheet-out-transition);
+ transform: translateY(100%);
+ }
+}
diff --git a/packages/bottom-sheet/src/index.ts b/packages/bottom-sheet/src/index.ts
new file mode 100644
index 0000000000..bb824842ce
--- /dev/null
+++ b/packages/bottom-sheet/src/index.ts
@@ -0,0 +1 @@
+export * from './component';
diff --git a/packages/bottom-sheet/tsconfig.json b/packages/bottom-sheet/tsconfig.json
new file mode 100644
index 0000000000..452460b53b
--- /dev/null
+++ b/packages/bottom-sheet/tsconfig.json
@@ -0,0 +1,17 @@
+{
+ "include": ["src", "../../typings"],
+ "extends": "../../tsconfig.json",
+ "compilerOptions": {
+ "outDir": "dist",
+ "rootDirs": ["src"],
+ "baseUrl": ".",
+ "paths": {
+ "@alfalab/core-components-*": ["../*/src"]
+ }
+ },
+ "references": [
+ { "path": "../backdrop" },
+ { "path": "../base-modal" },
+ { "path": "../typography" }
+ ]
+}
From a6749a149d511b28cc59aaec188d59c380c64243 Mon Sep 17 00:00:00 2001
From: Aleksandr Dyuzhikov
Date: Mon, 28 Jun 2021 19:26:59 +0300
Subject: [PATCH 24/48] fix(base-modal): fix has scroll bug (#712)
* fix(base-modal): fix has scroll bug
* fix(base-modal): revert observer on content ref
* fix(base-select): revert ref
Co-authored-by: Alexander Yatsenko
Co-authored-by: reme3d2y
---
packages/base-modal/src/Component.tsx | 76 +++++++++++++++------------
1 file changed, 43 insertions(+), 33 deletions(-)
diff --git a/packages/base-modal/src/Component.tsx b/packages/base-modal/src/Component.tsx
index 7d162a9695..59d90aa222 100644
--- a/packages/base-modal/src/Component.tsx
+++ b/packages/base-modal/src/Component.tsx
@@ -110,7 +110,7 @@ export type BaseModalProps = {
/**
* Обработчик скролла контента
*/
- scrollHandler?: 'wrapper' | 'content' | MutableRefObject;
+ scrollHandler?: 'wrapper' | 'content' | MutableRefObject;
/**
* Пропсы для анимации (CSSTransition)
@@ -219,28 +219,33 @@ export const BaseModal = forwardRef(
const [footerHighlighted, setFooterHighlighted] = useState(false);
const componentRef = useRef(null);
- const contentRef = useRef(null);
const wrapperRef = useRef(null);
- const scrollableNodeRef = useRef(null);
+ const scrollableNodeRef = useRef(null);
+ const contentNodeRef = useRef(null);
const restoreContainerStyles = useRef(null);
- const shouldRender = keepMounted || open || !exited;
+ const checkToHasScrollBar = () => {
+ if (scrollableNodeRef.current) {
+ const scrollExists = hasScrollbar(scrollableNodeRef.current);
+ setFooterHighlighted(scrollExists);
+ setHasScroll(scrollExists);
+ }
+ };
- const resizeObserver = useMemo(() => {
- return new ResizeObserver(() => {
- if (scrollableNodeRef.current) {
- const scrollExists = hasScrollbar(scrollableNodeRef.current);
- setFooterHighlighted(scrollExists);
- setHasScroll(scrollExists);
- }
- });
+ const contentRef = useCallback((node: HTMLDivElement) => {
+ if (node !== null) {
+ contentNodeRef.current = node;
+ checkToHasScrollBar();
+ }
}, []);
+ const shouldRender = keepMounted || open || !exited;
+
+ const resizeObserver = useMemo(() => new ResizeObserver(checkToHasScrollBar), []);
+
const addResizeHandle = useCallback(() => {
- if (scrollableNodeRef.current && contentRef.current) {
- resizeObserver.observe(scrollableNodeRef.current);
- resizeObserver.observe(contentRef.current);
- }
+ if (scrollableNodeRef.current) resizeObserver.observe(scrollableNodeRef.current);
+ if (contentNodeRef.current) resizeObserver.observe(contentNodeRef.current);
}, [resizeObserver]);
const removeResizeHandle = useCallback(() => {
@@ -248,23 +253,20 @@ export const BaseModal = forwardRef(
}, [resizeObserver]);
const handleScroll = useCallback(() => {
- if (!scrollableNodeRef.current) return;
-
- if (componentRef.current) {
- if (hasHeader) {
- setHeaderHighlighted(
- isScrolledToTop(scrollableNodeRef.current) === false &&
- componentRef.current.getBoundingClientRect().top <= 0,
- );
- }
+ if (!scrollableNodeRef.current || !componentRef.current) return;
- if (hasFooter) {
- setFooterHighlighted(
- isScrolledToBottom(scrollableNodeRef.current) === false &&
- componentRef.current.getBoundingClientRect().bottom >=
- window.innerHeight,
- );
- }
+ if (hasHeader) {
+ setHeaderHighlighted(
+ !isScrolledToTop(scrollableNodeRef.current) &&
+ componentRef.current.getBoundingClientRect().top <= 0,
+ );
+ }
+
+ if (hasFooter) {
+ setFooterHighlighted(
+ !isScrolledToBottom(scrollableNodeRef.current) &&
+ componentRef.current.getBoundingClientRect().bottom >= window.innerHeight,
+ );
}
}, [hasFooter, hasHeader]);
@@ -399,7 +401,15 @@ export const BaseModal = forwardRef(
setHasFooter,
onClose: handleClose,
}),
- [hasHeader, hasFooter, hasScroll, headerHighlighted, footerHighlighted, handleClose],
+ [
+ contentRef,
+ hasHeader,
+ hasFooter,
+ hasScroll,
+ headerHighlighted,
+ footerHighlighted,
+ handleClose,
+ ],
);
if (!shouldRender) return null;
From bc36cf7db35cbd7c5d36c178a50bbd27d2f11b0c Mon Sep 17 00:00:00 2001
From: Mikhail Gekhman <45306345+avlnche64@users.noreply.github.com>
Date: Mon, 28 Jun 2021 21:27:06 +0500
Subject: [PATCH 25/48] fix(space): remove last element margin (#713)
Co-authored-by: Alexander Yatsenko
---
packages/space/src/Item.tsx | 4 ++--
packages/space/src/__snapshots__/Component.test.tsx.snap | 4 ----
2 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/packages/space/src/Item.tsx b/packages/space/src/Item.tsx
index 68170711d2..0a872abe48 100644
--- a/packages/space/src/Item.tsx
+++ b/packages/space/src/Item.tsx
@@ -29,12 +29,12 @@ const Item = (props: ItemProps) => {
let style: React.CSSProperties = {};
if (direction === 'vertical') {
- if (index < length) {
+ if (index < length - 1) {
style = { marginBottom: horizontalSize / (divider ? 2 : 1) };
}
} else {
style = {
- ...(index < length && { marginRight: horizontalSize / (divider ? 2 : 1) }),
+ ...(index < length - 1 && { marginRight: horizontalSize / (divider ? 2 : 1) }),
...(wrap && { paddingBottom: verticalSize }),
};
}
diff --git a/packages/space/src/__snapshots__/Component.test.tsx.snap b/packages/space/src/__snapshots__/Component.test.tsx.snap
index 1199097178..d65beace8c 100644
--- a/packages/space/src/__snapshots__/Component.test.tsx.snap
+++ b/packages/space/src/__snapshots__/Component.test.tsx.snap
@@ -10,7 +10,6 @@ Object {
>
@@ -140,7 +137,6 @@ Object {
,
From 6b855aa97eff918e0e16f957c4c05bb7f2d8f4fe Mon Sep 17 00:00:00 2001
From: Evgeny Sergeev
Date: Mon, 28 Jun 2021 19:27:15 +0300
Subject: [PATCH 26/48] fix(typography): add missing weight styles (#719)
* fix(typography): add missing weight styles
* updated screenshot
---
packages/typography/src/component.stories.mdx | 4 ++--
.../typography-title-all-variants-sprite-snap.png | 4 ++--
packages/typography/src/title/index.module.css | 12 ++++++++++++
3 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/packages/typography/src/component.stories.mdx b/packages/typography/src/component.stories.mdx
index 7c49415994..a198e73846 100644
--- a/packages/typography/src/component.stories.mdx
+++ b/packages/typography/src/component.stories.mdx
@@ -22,7 +22,7 @@ import { colors } from './colors';
'xsmall',
];
const color = select('color', colors, '');
- const weight = select('weight', ['regular', 'medium', 'bold'], 'medium');
+ const weight = select('weight', ['', 'regular', 'medium', 'bold']);
const font = select('font', ['styrene', 'system'], 'styrene');
return VIEW_TYPES.map(view => (
(
Date: Mon, 28 Jun 2021 19:27:24 +0300
Subject: [PATCH 27/48] feat(confirmation): add property for change retry
button text (#720)
* feat(confirmation): add property for change retry button text
* feat(confirmation): rename buttonRetryText to buttonReturnText
* feat(confirmation): add property for change retry button text
Property buttonRetryText now changes button label at first screen instead of help screen
BREAKING CHANGE: buttonRetryText renamed to buttonReturnText
Co-authored-by: Alexander Soldatov
---
packages/confirmation/src/Component.test.tsx | 30 ++++++++++++++-----
packages/confirmation/src/component.tsx | 16 +++++++---
.../src/components/countdown/component.tsx | 4 ++-
.../sign-confirmation/component.tsx | 3 ++
4 files changed, 41 insertions(+), 12 deletions(-)
diff --git a/packages/confirmation/src/Component.test.tsx b/packages/confirmation/src/Component.test.tsx
index 3e560020d6..b124b74f96 100644
--- a/packages/confirmation/src/Component.test.tsx
+++ b/packages/confirmation/src/Component.test.tsx
@@ -203,8 +203,8 @@ describe('Confirmation', () => {
});
describe('Sms retry tests', () => {
- const buttonRetryInHintText = Confirmation.defaultProps?.buttonRetryText;
- const buttonRetryText = 'Запросить новый код';
+ const buttonReturnInHintText = Confirmation.defaultProps?.buttonReturnText as string;
+ const buttonRetryText = Confirmation.defaultProps?.buttonRetryText as string;
const hintLinkText = 'Не приходит сообщение?';
it('should display retry button', async () => {
@@ -214,14 +214,30 @@ describe('Confirmation', () => {
expect(buttonRetry).toBeInTheDocument();
});
- it('should set custom buttonRetryText in hint', async () => {
- const customButtonRetryTextInHint = 'Send code again';
+ it('should set custom buttonRetryText', async () => {
+ const customButtonRetryText = 'Запросить код повторно';
const { findByText } = render(
,
+ );
+
+ const buttonRetry = await findByText(customButtonRetryText);
+
+ expect(buttonRetry).toBeInTheDocument();
+ });
+
+ it('should set custom buttonReturnText in hint', async () => {
+ const customButtonReturnTextInHint = 'Send code again';
+
+ const { findByText } = render(
+ ,
);
@@ -231,7 +247,7 @@ describe('Confirmation', () => {
const smsHintButton = await findByText(hintLinkText);
smsHintButton.click();
- const buttonWithCustomText = await findByText(customButtonRetryTextInHint);
+ const buttonWithCustomText = await findByText(customButtonReturnTextInHint);
expect(buttonWithCustomText).toBeInTheDocument();
});
@@ -270,7 +286,7 @@ describe('Confirmation', () => {
const smsHintButton = await findByText(hintLinkText);
smsHintButton.click();
- const buttonRetryInHint = await findByText(buttonRetryInHintText as string);
+ const buttonRetryInHint = await findByText(buttonReturnInHintText);
buttonRetryInHint.click();
expect(onSmsRetryClick).toBeCalled();
diff --git a/packages/confirmation/src/component.tsx b/packages/confirmation/src/component.tsx
index 7322676ae3..ab2f5668ac 100644
--- a/packages/confirmation/src/component.tsx
+++ b/packages/confirmation/src/component.tsx
@@ -108,7 +108,12 @@ export type ConfirmationProps = {
buttonErrorText?: string;
/**
- * Текст кнопки "Запросить код"
+ * Текст кнопки "Вернуться назад" на экране помощи
+ */
+ buttonReturnText?: string;
+
+ /**
+ * Текст кнопки "Запросить новый код"
*/
buttonRetryText?: string;
@@ -177,7 +182,8 @@ export const Confirmation = forwardRef(
codeCheckingText = 'Проверка кода',
codeSendingText = 'Отправляем код',
buttonErrorText = 'Понятно',
- buttonRetryText = 'Вернуться назад',
+ buttonReturnText = 'Вернуться назад',
+ buttonRetryText = 'Запросить новый код',
alignContent = 'left',
noAttemptsLeftMessage,
onInputFinished,
@@ -262,6 +268,7 @@ export const Confirmation = forwardRef(
errorText={nonFatalError || ''}
error={error}
title={signTitle}
+ buttonRetryText={buttonRetryText}
inputRef={inputRef}
codeCheckingText={codeCheckingText}
codeSendingText={codeSendingText}
@@ -326,7 +333,7 @@ export const Confirmation = forwardRef(
view='secondary'
onClick={handleSmsRetryFromHintClick}
>
- {buttonRetryText}
+ {buttonReturnText}
)}
@@ -350,6 +357,7 @@ Confirmation.defaultProps = {
codeCheckingText: 'Проверка кода',
codeSendingText: 'Отправляем код',
buttonErrorText: 'Понятно',
- buttonRetryText: 'Вернуться назад',
+ buttonReturnText: 'Вернуться назад',
+ buttonRetryText: 'Запросить новый код',
alignContent: 'left',
};
diff --git a/packages/confirmation/src/components/countdown/component.tsx b/packages/confirmation/src/components/countdown/component.tsx
index 3ed9fa5568..569a458a5d 100644
--- a/packages/confirmation/src/components/countdown/component.tsx
+++ b/packages/confirmation/src/components/countdown/component.tsx
@@ -49,6 +49,7 @@ export type CountdownProps = {
hasPhoneMask: boolean;
phone?: string;
alignContent: string;
+ buttonRetryText: string;
noAttemptsLeftMessage?: string;
hasError: boolean;
onCountdownFinished?: () => void;
@@ -59,6 +60,7 @@ export const Countdown: FC = ({
duration = 5000,
phone = '',
hasPhoneMask = true,
+ buttonRetryText,
alignContent,
noAttemptsLeftMessage,
hasError,
@@ -157,7 +159,7 @@ export const Countdown: FC = ({
onClick={handleRepeatSmsButtonClick}
className={styles.getCodeButton}
>
- Запросить новый код
+ {buttonRetryText}
) : (
diff --git a/packages/confirmation/src/components/sign-confirmation/component.tsx b/packages/confirmation/src/components/sign-confirmation/component.tsx
index 58f74a0241..960cda8398 100644
--- a/packages/confirmation/src/components/sign-confirmation/component.tsx
+++ b/packages/confirmation/src/components/sign-confirmation/component.tsx
@@ -29,6 +29,7 @@ export type SignConfirmationProps = {
inputRef: MutableRefObject
;
alignContent: ContentAlign;
noAttemptsLeftMessage?: string;
+ buttonRetryText: string;
onInputFinished: ({ code }: { code: string }) => void;
onInputChange: ({ code }: { code: string }) => void;
onSmsRetryClick: (event: React.MouseEvent) => void;
@@ -55,6 +56,7 @@ export const SignConfirmation: FC = ({
codeSendingText,
alignContent,
noAttemptsLeftMessage,
+ buttonRetryText,
onInputFinished,
onInputChange,
onSmsRetryClick,
@@ -135,6 +137,7 @@ export const SignConfirmation: FC = ({
alignContent={alignContent}
noAttemptsLeftMessage={noAttemptsLeftMessage}
hasError={Boolean(displayedError)}
+ buttonRetryText={buttonRetryText}
onRepeatSms={onSmsRetryClick}
onCountdownFinished={onCountdownFinished}
/>
From 27aaa605a958d932a52904556ac2fe1dd59356af Mon Sep 17 00:00:00 2001
From: Evgeny Sergeev
Date: Mon, 28 Jun 2021 19:27:31 +0300
Subject: [PATCH 28/48] feat(skeleton): add display var, change default to
block (#718)
BREAKING CHANGE: inline-block changes to block
---
packages/skeleton/src/Component.stories.mdx | 1 +
packages/skeleton/src/index.module.css | 3 ++-
packages/skeleton/src/stories.module.css | 5 +++++
3 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/packages/skeleton/src/Component.stories.mdx b/packages/skeleton/src/Component.stories.mdx
index ff85077c44..c1ef6d5e48 100644
--- a/packages/skeleton/src/Component.stories.mdx
+++ b/packages/skeleton/src/Component.stories.mdx
@@ -26,6 +26,7 @@ import styles from './stories.module.css';
className={ text('className', '') }
dataTestId={ text('dataTestId', '') }
animate={ boolean('animate', true) }
+ className={styles['example-7']}
>
Date: Mon, 28 Jun 2021 16:50:38 +0000
Subject: [PATCH 29/48] chore(release): 18.0.0 [skip ci]
# [18.0.0](https://github.com/alfa-laboratory/core-components/compare/v17.6.0...v18.0.0) (2021-06-28)
### Bug Fixes
* **base-modal:** fix has scroll bug ([#712](https://github.com/alfa-laboratory/core-components/issues/712)) ([a6749a1](https://github.com/alfa-laboratory/core-components/commit/a6749a149d511b28cc59aaec188d59c380c64243))
* **space:** remove last element margin ([#713](https://github.com/alfa-laboratory/core-components/issues/713)) ([bc36cf7](https://github.com/alfa-laboratory/core-components/commit/bc36cf7db35cbd7c5d36c178a50bbd27d2f11b0c))
* **typography:** add missing weight styles ([#719](https://github.com/alfa-laboratory/core-components/issues/719)) ([6b855aa](https://github.com/alfa-laboratory/core-components/commit/6b855aa97eff918e0e16f957c4c05bb7f2d8f4fe))
### Features
* **bottom-sheet:** new component (PDS-228) ([#645](https://github.com/alfa-laboratory/core-components/issues/645)) ([1f7391d](https://github.com/alfa-laboratory/core-components/commit/1f7391df16a270d8a3a28b8ebaf98d0ed0928bc8)), closes [#642](https://github.com/alfa-laboratory/core-components/issues/642) [#642](https://github.com/alfa-laboratory/core-components/issues/642) [#646](https://github.com/alfa-laboratory/core-components/issues/646) [#646](https://github.com/alfa-laboratory/core-components/issues/646) [#634](https://github.com/alfa-laboratory/core-components/issues/634) [#635](https://github.com/alfa-laboratory/core-components/issues/635) [#634](https://github.com/alfa-laboratory/core-components/issues/634) [#635](https://github.com/alfa-laboratory/core-components/issues/635) [#648](https://github.com/alfa-laboratory/core-components/issues/648) [#647](https://github.com/alfa-laboratory/core-components/issues/647) [#630](https://github.com/alfa-laboratory/core-components/issues/630) [#648](https://github.com/alfa-laboratory/core-components/issues/648) [#630](https://github.com/alfa-laboratory/core-components/issues/630) [#669](https://github.com/alfa-laboratory/core-components/issues/669)
* **confirmation:** add property for change retry button text ([#720](https://github.com/alfa-laboratory/core-components/issues/720)) ([c0f7688](https://github.com/alfa-laboratory/core-components/commit/c0f76888cffff8ad4169769bc4615429663352a5))
* **skeleton:** add display var, change default to block ([#718](https://github.com/alfa-laboratory/core-components/issues/718)) ([27aaa60](https://github.com/alfa-laboratory/core-components/commit/27aaa605a958d932a52904556ac2fe1dd59356af))
### BREAKING CHANGES
* **skeleton:** inline-block changes to block
* **confirmation:** buttonRetryText renamed to buttonReturnText
Co-authored-by: Alexander Soldatov
---
CHANGELOG.md | 24 ++++++++++++++++++++++++
package.json | 2 +-
2 files changed, 25 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f496e2d60c..70f3c204ae 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,27 @@
+# [18.0.0](https://github.com/alfa-laboratory/core-components/compare/v17.6.0...v18.0.0) (2021-06-28)
+
+
+### Bug Fixes
+
+* **base-modal:** fix has scroll bug ([#712](https://github.com/alfa-laboratory/core-components/issues/712)) ([a6749a1](https://github.com/alfa-laboratory/core-components/commit/a6749a149d511b28cc59aaec188d59c380c64243))
+* **space:** remove last element margin ([#713](https://github.com/alfa-laboratory/core-components/issues/713)) ([bc36cf7](https://github.com/alfa-laboratory/core-components/commit/bc36cf7db35cbd7c5d36c178a50bbd27d2f11b0c))
+* **typography:** add missing weight styles ([#719](https://github.com/alfa-laboratory/core-components/issues/719)) ([6b855aa](https://github.com/alfa-laboratory/core-components/commit/6b855aa97eff918e0e16f957c4c05bb7f2d8f4fe))
+
+
+### Features
+
+* **bottom-sheet:** new component (PDS-228) ([#645](https://github.com/alfa-laboratory/core-components/issues/645)) ([1f7391d](https://github.com/alfa-laboratory/core-components/commit/1f7391df16a270d8a3a28b8ebaf98d0ed0928bc8)), closes [#642](https://github.com/alfa-laboratory/core-components/issues/642) [#642](https://github.com/alfa-laboratory/core-components/issues/642) [#646](https://github.com/alfa-laboratory/core-components/issues/646) [#646](https://github.com/alfa-laboratory/core-components/issues/646) [#634](https://github.com/alfa-laboratory/core-components/issues/634) [#635](https://github.com/alfa-laboratory/core-components/issues/635) [#634](https://github.com/alfa-laboratory/core-components/issues/634) [#635](https://github.com/alfa-laboratory/core-components/issues/635) [#648](https://github.com/alfa-laboratory/core-components/issues/648) [#647](https://github.com/alfa-laboratory/core-components/issues/647) [#630](https://github.com/alfa-laboratory/core-components/issues/630) [#648](https://github.com/alfa-laboratory/core-components/issues/648) [#630](https://github.com/alfa-laboratory/core-components/issues/630) [#669](https://github.com/alfa-laboratory/core-components/issues/669)
+* **confirmation:** add property for change retry button text ([#720](https://github.com/alfa-laboratory/core-components/issues/720)) ([c0f7688](https://github.com/alfa-laboratory/core-components/commit/c0f76888cffff8ad4169769bc4615429663352a5))
+* **skeleton:** add display var, change default to block ([#718](https://github.com/alfa-laboratory/core-components/issues/718)) ([27aaa60](https://github.com/alfa-laboratory/core-components/commit/27aaa605a958d932a52904556ac2fe1dd59356af))
+
+
+### BREAKING CHANGES
+
+* **skeleton:** inline-block changes to block
+* **confirmation:** buttonRetryText renamed to buttonReturnText
+
+Co-authored-by: Alexander Soldatov
+
# [17.6.0](https://github.com/alfa-laboratory/core-components/compare/v17.5.1...v17.6.0) (2021-06-22)
diff --git a/package.json b/package.json
index 744eb9d2cd..093a3d3fe1 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components",
- "version": "17.6.0",
+ "version": "18.0.0",
"private": true,
"workspaces": [
"packages/*"
From 579c8e18d7cce435b092e03bc73ea45c41e149a2 Mon Sep 17 00:00:00 2001
From: semantic-release-bot
Date: Mon, 28 Jun 2021 16:51:59 +0000
Subject: [PATCH 30/48] chore: publish
- @alfalab/core-components-base-modal@2.1.0
- @alfalab/core-components-bottom-sheet@1.1.0
- @alfalab/core-components-calendar-with-skeleton@2.0.5
- @alfalab/core-components-circular-progress-bar@1.2.11
- @alfalab/core-components-confirmation@7.0.0
- @alfalab/core-components-drawer@2.1.3
- @alfalab/core-components-input-autocomplete@6.1.8
- @alfalab/core-components-intl-phone-input@4.1.8
- @alfalab/core-components-list-header@1.1.9
- @alfalab/core-components-modal@1.5.5
- @alfalab/core-components-picker-button@5.0.5
- @alfalab/core-components-select@8.1.1
- @alfalab/core-components-skeleton@2.0.0
- @alfalab/core-components-space@1.1.1
- @alfalab/core-components-typography@1.5.1
---
packages/base-modal/CHANGELOG.md | 16 ++++++++++++++++
packages/base-modal/package.json | 2 +-
packages/bottom-sheet/CHANGELOG.md | 11 +++++++++++
packages/bottom-sheet/package.json | 6 +++---
packages/calendar-with-skeleton/CHANGELOG.md | 8 ++++++++
packages/calendar-with-skeleton/package.json | 4 ++--
packages/circular-progress-bar/CHANGELOG.md | 8 ++++++++
packages/circular-progress-bar/package.json | 4 ++--
packages/confirmation/CHANGELOG.md | 18 ++++++++++++++++++
packages/confirmation/package.json | 2 +-
packages/drawer/CHANGELOG.md | 8 ++++++++
packages/drawer/package.json | 4 ++--
packages/input-autocomplete/CHANGELOG.md | 8 ++++++++
packages/input-autocomplete/package.json | 4 ++--
packages/intl-phone-input/CHANGELOG.md | 8 ++++++++
packages/intl-phone-input/package.json | 4 ++--
packages/list-header/CHANGELOG.md | 8 ++++++++
packages/list-header/package.json | 4 ++--
packages/modal/CHANGELOG.md | 8 ++++++++
packages/modal/package.json | 4 ++--
packages/picker-button/CHANGELOG.md | 8 ++++++++
packages/picker-button/package.json | 4 ++--
packages/select/CHANGELOG.md | 8 ++++++++
packages/select/package.json | 4 ++--
packages/skeleton/CHANGELOG.md | 16 ++++++++++++++++
packages/skeleton/package.json | 2 +-
packages/space/CHANGELOG.md | 11 +++++++++++
packages/space/package.json | 2 +-
packages/typography/CHANGELOG.md | 11 +++++++++++
packages/typography/package.json | 2 +-
30 files changed, 181 insertions(+), 26 deletions(-)
create mode 100644 packages/bottom-sheet/CHANGELOG.md
diff --git a/packages/base-modal/CHANGELOG.md b/packages/base-modal/CHANGELOG.md
index da47cba9c3..b8678e1f81 100644
--- a/packages/base-modal/CHANGELOG.md
+++ b/packages/base-modal/CHANGELOG.md
@@ -3,6 +3,22 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [2.1.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-base-modal@2.0.2...@alfalab/core-components-base-modal@2.1.0) (2021-06-28)
+
+
+### Bug Fixes
+
+* **base-modal:** fix has scroll bug ([#712](https://github.com/alfa-laboratory/core-components/issues/712)) ([a6749a1](https://github.com/alfa-laboratory/core-components/commit/a6749a149d511b28cc59aaec188d59c380c64243))
+
+
+### Features
+
+* **bottom-sheet:** new component (PDS-228) ([#645](https://github.com/alfa-laboratory/core-components/issues/645)) ([1f7391d](https://github.com/alfa-laboratory/core-components/commit/1f7391df16a270d8a3a28b8ebaf98d0ed0928bc8)), closes [#642](https://github.com/alfa-laboratory/core-components/issues/642) [#642](https://github.com/alfa-laboratory/core-components/issues/642) [#646](https://github.com/alfa-laboratory/core-components/issues/646) [#646](https://github.com/alfa-laboratory/core-components/issues/646) [#634](https://github.com/alfa-laboratory/core-components/issues/634) [#635](https://github.com/alfa-laboratory/core-components/issues/635) [#634](https://github.com/alfa-laboratory/core-components/issues/634) [#635](https://github.com/alfa-laboratory/core-components/issues/635) [#648](https://github.com/alfa-laboratory/core-components/issues/648) [#647](https://github.com/alfa-laboratory/core-components/issues/647) [#630](https://github.com/alfa-laboratory/core-components/issues/630) [#648](https://github.com/alfa-laboratory/core-components/issues/648) [#630](https://github.com/alfa-laboratory/core-components/issues/630) [#669](https://github.com/alfa-laboratory/core-components/issues/669)
+
+
+
+
+
## [2.0.2](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-base-modal@2.0.1...@alfalab/core-components-base-modal@2.0.2) (2021-05-28)
diff --git a/packages/base-modal/package.json b/packages/base-modal/package.json
index 3d42131767..469e7afbef 100644
--- a/packages/base-modal/package.json
+++ b/packages/base-modal/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-base-modal",
- "version": "2.0.2",
+ "version": "2.1.0",
"description": "BaseModal component",
"keywords": [],
"license": "MIT",
diff --git a/packages/bottom-sheet/CHANGELOG.md b/packages/bottom-sheet/CHANGELOG.md
new file mode 100644
index 0000000000..dd5d421b93
--- /dev/null
+++ b/packages/bottom-sheet/CHANGELOG.md
@@ -0,0 +1,11 @@
+# Change Log
+
+All notable changes to this project will be documented in this file.
+See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+
+# 1.1.0 (2021-06-28)
+
+
+### Features
+
+* **bottom-sheet:** new component (PDS-228) ([#645](https://github.com/alfa-laboratory/core-components/issues/645)) ([1f7391d](https://github.com/alfa-laboratory/core-components/commit/1f7391df16a270d8a3a28b8ebaf98d0ed0928bc8)), closes [#642](https://github.com/alfa-laboratory/core-components/issues/642) [#642](https://github.com/alfa-laboratory/core-components/issues/642) [#646](https://github.com/alfa-laboratory/core-components/issues/646) [#646](https://github.com/alfa-laboratory/core-components/issues/646) [#634](https://github.com/alfa-laboratory/core-components/issues/634) [#635](https://github.com/alfa-laboratory/core-components/issues/635) [#634](https://github.com/alfa-laboratory/core-components/issues/634) [#635](https://github.com/alfa-laboratory/core-components/issues/635) [#648](https://github.com/alfa-laboratory/core-components/issues/648) [#647](https://github.com/alfa-laboratory/core-components/issues/647) [#630](https://github.com/alfa-laboratory/core-components/issues/630) [#648](https://github.com/alfa-laboratory/core-components/issues/648) [#630](https://github.com/alfa-laboratory/core-components/issues/630) [#669](https://github.com/alfa-laboratory/core-components/issues/669)
diff --git a/packages/bottom-sheet/package.json b/packages/bottom-sheet/package.json
index 73fa2ccae4..1dc0243528 100644
--- a/packages/bottom-sheet/package.json
+++ b/packages/bottom-sheet/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-bottom-sheet",
- "version": "1.0.0",
+ "version": "1.1.0",
"description": "Bottom sheet mobile component",
"keywords": [],
"license": "MIT",
@@ -21,8 +21,8 @@
},
"dependencies": {
"@alfalab/core-components-backdrop": "^1.1.2",
- "@alfalab/core-components-base-modal": "^2.0.0",
- "@alfalab/core-components-typography": "^1.4.7",
+ "@alfalab/core-components-base-modal": "^2.1.0",
+ "@alfalab/core-components-typography": "^1.5.1",
"classnames": "^2.2.6",
"react-swipeable": "^5.5.0",
"react-transition-group": "^4.3.0"
diff --git a/packages/calendar-with-skeleton/CHANGELOG.md b/packages/calendar-with-skeleton/CHANGELOG.md
index 1f15cef000..ed970b0196 100644
--- a/packages/calendar-with-skeleton/CHANGELOG.md
+++ b/packages/calendar-with-skeleton/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.0.5](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-calendar-with-skeleton@2.0.4...@alfalab/core-components-calendar-with-skeleton@2.0.5) (2021-06-28)
+
+**Note:** Version bump only for package @alfalab/core-components-calendar-with-skeleton
+
+
+
+
+
## [2.0.4](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-calendar-with-skeleton@2.0.3...@alfalab/core-components-calendar-with-skeleton@2.0.4) (2021-06-22)
diff --git a/packages/calendar-with-skeleton/package.json b/packages/calendar-with-skeleton/package.json
index 160df1e75d..fd102adb9b 100644
--- a/packages/calendar-with-skeleton/package.json
+++ b/packages/calendar-with-skeleton/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-calendar-with-skeleton",
- "version": "2.0.4",
+ "version": "2.0.5",
"description": "CalendarWithSkeleton component",
"keywords": [],
"license": "MIT",
@@ -21,7 +21,7 @@
},
"dependencies": {
"@alfalab/core-components-calendar": "^2.0.1",
- "@alfalab/core-components-skeleton": "^1.4.1",
+ "@alfalab/core-components-skeleton": "^2.0.0",
"classnames": "^2.2.6",
"react-transition-group": "^4.3.0"
}
diff --git a/packages/circular-progress-bar/CHANGELOG.md b/packages/circular-progress-bar/CHANGELOG.md
index 9456164539..c1b6cc550d 100644
--- a/packages/circular-progress-bar/CHANGELOG.md
+++ b/packages/circular-progress-bar/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.2.11](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-circular-progress-bar@1.2.10...@alfalab/core-components-circular-progress-bar@1.2.11) (2021-06-28)
+
+**Note:** Version bump only for package @alfalab/core-components-circular-progress-bar
+
+
+
+
+
## [1.2.10](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-circular-progress-bar@1.2.9...@alfalab/core-components-circular-progress-bar@1.2.10) (2021-06-04)
**Note:** Version bump only for package @alfalab/core-components-circular-progress-bar
diff --git a/packages/circular-progress-bar/package.json b/packages/circular-progress-bar/package.json
index ce7677eef9..0f2882576b 100644
--- a/packages/circular-progress-bar/package.json
+++ b/packages/circular-progress-bar/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-circular-progress-bar",
- "version": "1.2.10",
+ "version": "1.2.11",
"description": "",
"keywords": [],
"license": "MIT",
@@ -16,7 +16,7 @@
"access": "public"
},
"dependencies": {
- "@alfalab/core-components-typography": "^1.5.0",
+ "@alfalab/core-components-typography": "^1.5.1",
"classnames": "^2.2.6"
},
"peerDependencies": {
diff --git a/packages/confirmation/CHANGELOG.md b/packages/confirmation/CHANGELOG.md
index 04364bb97a..6b5b15dc87 100644
--- a/packages/confirmation/CHANGELOG.md
+++ b/packages/confirmation/CHANGELOG.md
@@ -3,6 +3,24 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [7.0.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-confirmation@6.1.0...@alfalab/core-components-confirmation@7.0.0) (2021-06-28)
+
+
+### Features
+
+* **confirmation:** add property for change retry button text ([#720](https://github.com/alfa-laboratory/core-components/issues/720)) ([c0f7688](https://github.com/alfa-laboratory/core-components/commit/c0f76888cffff8ad4169769bc4615429663352a5))
+
+
+### BREAKING CHANGES
+
+* **confirmation:** buttonRetryText renamed to buttonReturnText
+
+Co-authored-by: Alexander Soldatov
+
+
+
+
+
# [6.1.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-confirmation@6.0.0...@alfalab/core-components-confirmation@6.1.0) (2021-05-31)
diff --git a/packages/confirmation/package.json b/packages/confirmation/package.json
index 6d37b3493d..dc72f7266e 100644
--- a/packages/confirmation/package.json
+++ b/packages/confirmation/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-confirmation",
- "version": "6.1.0",
+ "version": "7.0.0",
"description": "Sms confirmation component",
"keywords": [],
"license": "MIT",
diff --git a/packages/drawer/CHANGELOG.md b/packages/drawer/CHANGELOG.md
index d171746d48..0a94fa5213 100644
--- a/packages/drawer/CHANGELOG.md
+++ b/packages/drawer/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.1.3](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-drawer@2.1.2...@alfalab/core-components-drawer@2.1.3) (2021-06-28)
+
+**Note:** Version bump only for package @alfalab/core-components-drawer
+
+
+
+
+
## [2.1.2](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-drawer@2.1.1...@alfalab/core-components-drawer@2.1.2) (2021-05-28)
**Note:** Version bump only for package @alfalab/core-components-drawer
diff --git a/packages/drawer/package.json b/packages/drawer/package.json
index 26014296d9..a0b53b697a 100644
--- a/packages/drawer/package.json
+++ b/packages/drawer/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-drawer",
- "version": "2.1.2",
+ "version": "2.1.3",
"description": "Drawer component",
"gitHead": "f054fef20200664c65e2501ef1f916c555cdf05d",
"keywords": [],
@@ -21,7 +21,7 @@
"react-dom": "^16.9.0 || ^17.0.1"
},
"dependencies": {
- "@alfalab/core-components-base-modal": "^2.0.2",
+ "@alfalab/core-components-base-modal": "^2.1.0",
"classnames": "^2.2.6"
}
}
diff --git a/packages/input-autocomplete/CHANGELOG.md b/packages/input-autocomplete/CHANGELOG.md
index 8c6d58fee5..d71e9ef17e 100644
--- a/packages/input-autocomplete/CHANGELOG.md
+++ b/packages/input-autocomplete/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [6.1.8](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-input-autocomplete@6.1.7...@alfalab/core-components-input-autocomplete@6.1.8) (2021-06-28)
+
+**Note:** Version bump only for package @alfalab/core-components-input-autocomplete
+
+
+
+
+
## [6.1.7](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-input-autocomplete@6.1.6...@alfalab/core-components-input-autocomplete@6.1.7) (2021-06-22)
**Note:** Version bump only for package @alfalab/core-components-input-autocomplete
diff --git a/packages/input-autocomplete/package.json b/packages/input-autocomplete/package.json
index a08060f873..8b56a74dbc 100644
--- a/packages/input-autocomplete/package.json
+++ b/packages/input-autocomplete/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-input-autocomplete",
- "version": "6.1.7",
+ "version": "6.1.8",
"description": "",
"keywords": [],
"license": "MIT",
@@ -20,7 +20,7 @@
},
"dependencies": {
"@alfalab/core-components-input": "^6.2.0",
- "@alfalab/core-components-select": "^8.1.0",
+ "@alfalab/core-components-select": "^8.1.1",
"classnames": "^2.2.6"
}
}
diff --git a/packages/intl-phone-input/CHANGELOG.md b/packages/intl-phone-input/CHANGELOG.md
index d3f234dbeb..c0a45f87a6 100644
--- a/packages/intl-phone-input/CHANGELOG.md
+++ b/packages/intl-phone-input/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [4.1.8](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-intl-phone-input@4.1.7...@alfalab/core-components-intl-phone-input@4.1.8) (2021-06-28)
+
+**Note:** Version bump only for package @alfalab/core-components-intl-phone-input
+
+
+
+
+
## [4.1.7](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-intl-phone-input@4.1.6...@alfalab/core-components-intl-phone-input@4.1.7) (2021-06-22)
diff --git a/packages/intl-phone-input/package.json b/packages/intl-phone-input/package.json
index 003517e4a5..eb0d7c9bdb 100644
--- a/packages/intl-phone-input/package.json
+++ b/packages/intl-phone-input/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-intl-phone-input",
- "version": "4.1.7",
+ "version": "4.1.8",
"description": "Phone input for international phones",
"keywords": [],
"license": "MIT",
@@ -20,7 +20,7 @@
},
"dependencies": {
"@alfalab/core-components-input": "^6.2.0",
- "@alfalab/core-components-select": "^8.1.0",
+ "@alfalab/core-components-select": "^8.1.1",
"@alfalab/hooks": "^0.9.0",
"@alfalab/utils": "^1.1.1",
"classnames": "^2.2.6",
diff --git a/packages/list-header/CHANGELOG.md b/packages/list-header/CHANGELOG.md
index b38b89ffc9..d3033b7544 100644
--- a/packages/list-header/CHANGELOG.md
+++ b/packages/list-header/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.1.9](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-list-header@1.1.8...@alfalab/core-components-list-header@1.1.9) (2021-06-28)
+
+**Note:** Version bump only for package @alfalab/core-components-list-header
+
+
+
+
+
## [1.1.8](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-list-header@1.1.7...@alfalab/core-components-list-header@1.1.8) (2021-06-04)
**Note:** Version bump only for package @alfalab/core-components-list-header
diff --git a/packages/list-header/package.json b/packages/list-header/package.json
index 1df068ab3f..f0f22cf818 100644
--- a/packages/list-header/package.json
+++ b/packages/list-header/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-list-header",
- "version": "1.1.8",
+ "version": "1.1.9",
"description": "ListHeader component",
"keywords": [],
"license": "MIT",
@@ -16,7 +16,7 @@
"access": "public"
},
"dependencies": {
- "@alfalab/core-components-typography": "^1.5.0",
+ "@alfalab/core-components-typography": "^1.5.1",
"classnames": "^2.2.6"
},
"peerDependencies": {
diff --git a/packages/modal/CHANGELOG.md b/packages/modal/CHANGELOG.md
index 3a9e308954..782016b891 100644
--- a/packages/modal/CHANGELOG.md
+++ b/packages/modal/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.5.5](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-modal@1.5.4...@alfalab/core-components-modal@1.5.5) (2021-06-28)
+
+**Note:** Version bump only for package @alfalab/core-components-modal
+
+
+
+
+
## [1.5.4](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-modal@1.5.3...@alfalab/core-components-modal@1.5.4) (2021-06-04)
diff --git a/packages/modal/package.json b/packages/modal/package.json
index a0d0d9a9cc..2b6a53432b 100644
--- a/packages/modal/package.json
+++ b/packages/modal/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-modal",
- "version": "1.5.4",
+ "version": "1.5.5",
"description": "Modal component",
"keywords": [],
"license": "MIT",
@@ -15,7 +15,7 @@
"access": "public"
},
"dependencies": {
- "@alfalab/core-components-base-modal": "^2.0.2",
+ "@alfalab/core-components-base-modal": "^2.1.0",
"@alfalab/core-components-button": "^3.0.1",
"@alfalab/core-components-mq": "1.0.0",
"classnames": "^2.2.6",
diff --git a/packages/picker-button/CHANGELOG.md b/packages/picker-button/CHANGELOG.md
index d4268b43d7..b61a6a4692 100644
--- a/packages/picker-button/CHANGELOG.md
+++ b/packages/picker-button/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [5.0.5](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-picker-button@5.0.4...@alfalab/core-components-picker-button@5.0.5) (2021-06-28)
+
+**Note:** Version bump only for package @alfalab/core-components-picker-button
+
+
+
+
+
## [5.0.4](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-picker-button@5.0.3...@alfalab/core-components-picker-button@5.0.4) (2021-06-22)
**Note:** Version bump only for package @alfalab/core-components-picker-button
diff --git a/packages/picker-button/package.json b/packages/picker-button/package.json
index 3b6405b41e..6f00a9a86c 100644
--- a/packages/picker-button/package.json
+++ b/packages/picker-button/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-picker-button",
- "version": "5.0.4",
+ "version": "5.0.5",
"description": "Picker button component",
"keywords": [],
"license": "MIT",
@@ -20,7 +20,7 @@
},
"dependencies": {
"@alfalab/core-components-button": "^3.0.1",
- "@alfalab/core-components-select": "^8.1.0",
+ "@alfalab/core-components-select": "^8.1.1",
"@alfalab/icons-glyph": "^1.70.0",
"classnames": "^2.2.6"
}
diff --git a/packages/select/CHANGELOG.md b/packages/select/CHANGELOG.md
index 28a41da579..9dedee1e43 100644
--- a/packages/select/CHANGELOG.md
+++ b/packages/select/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [8.1.1](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-select@8.1.0...@alfalab/core-components-select@8.1.1) (2021-06-28)
+
+**Note:** Version bump only for package @alfalab/core-components-select
+
+
+
+
+
# [8.1.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-select@8.0.8...@alfalab/core-components-select@8.1.0) (2021-06-22)
diff --git a/packages/select/package.json b/packages/select/package.json
index dd839232ae..295c4c6658 100644
--- a/packages/select/package.json
+++ b/packages/select/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-select",
- "version": "8.1.0",
+ "version": "8.1.1",
"description": "Select component",
"keywords": [],
"license": "MIT",
@@ -23,7 +23,7 @@
"@alfalab/core-components-form-control": "^6.2.0",
"@alfalab/core-components-input": "^6.2.0",
"@alfalab/core-components-popover": "^4.0.0",
- "@alfalab/core-components-skeleton": "^1.3.6",
+ "@alfalab/core-components-skeleton": "^2.0.0",
"@alfalab/hooks": "^1.0.0",
"classnames": "^2.2.6",
"downshift": "5.4.7",
diff --git a/packages/skeleton/CHANGELOG.md b/packages/skeleton/CHANGELOG.md
index 07a21e2384..870b9c80f9 100644
--- a/packages/skeleton/CHANGELOG.md
+++ b/packages/skeleton/CHANGELOG.md
@@ -3,6 +3,22 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [2.0.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-skeleton@1.4.1...@alfalab/core-components-skeleton@2.0.0) (2021-06-28)
+
+
+### Features
+
+* **skeleton:** add display var, change default to block ([#718](https://github.com/alfa-laboratory/core-components/issues/718)) ([27aaa60](https://github.com/alfa-laboratory/core-components/commit/27aaa605a958d932a52904556ac2fe1dd59356af))
+
+
+### BREAKING CHANGES
+
+* **skeleton:** inline-block changes to block
+
+
+
+
+
## [1.4.1](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-skeleton@1.4.0...@alfalab/core-components-skeleton@1.4.1) (2021-06-09)
diff --git a/packages/skeleton/package.json b/packages/skeleton/package.json
index 55876613c7..52570e3774 100644
--- a/packages/skeleton/package.json
+++ b/packages/skeleton/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-skeleton",
- "version": "1.4.1",
+ "version": "2.0.0",
"description": "Skeleton component",
"keywords": [],
"license": "MIT",
diff --git a/packages/space/CHANGELOG.md b/packages/space/CHANGELOG.md
index 2bafdd61fb..0a779ea4f4 100644
--- a/packages/space/CHANGELOG.md
+++ b/packages/space/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.1.1](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-space@1.1.0...@alfalab/core-components-space@1.1.1) (2021-06-28)
+
+
+### Bug Fixes
+
+* **space:** remove last element margin ([#713](https://github.com/alfa-laboratory/core-components/issues/713)) ([bc36cf7](https://github.com/alfa-laboratory/core-components/commit/bc36cf7db35cbd7c5d36c178a50bbd27d2f11b0c))
+
+
+
+
+
# [1.1.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-space@1.0.7...@alfalab/core-components-space@1.1.0) (2021-04-26)
diff --git a/packages/space/package.json b/packages/space/package.json
index 3846edd71c..33e6a5730c 100644
--- a/packages/space/package.json
+++ b/packages/space/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-space",
- "version": "1.1.0",
+ "version": "1.1.1",
"description": "",
"keywords": [],
"license": "MIT",
diff --git a/packages/typography/CHANGELOG.md b/packages/typography/CHANGELOG.md
index ef7adf9492..6af9b71a6a 100644
--- a/packages/typography/CHANGELOG.md
+++ b/packages/typography/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.5.1](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-typography@1.5.0...@alfalab/core-components-typography@1.5.1) (2021-06-28)
+
+
+### Bug Fixes
+
+* **typography:** add missing weight styles ([#719](https://github.com/alfa-laboratory/core-components/issues/719)) ([6b855aa](https://github.com/alfa-laboratory/core-components/commit/6b855aa97eff918e0e16f957c4c05bb7f2d8f4fe))
+
+
+
+
+
# [1.5.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-typography@1.4.7...@alfalab/core-components-typography@1.5.0) (2021-06-04)
diff --git a/packages/typography/package.json b/packages/typography/package.json
index a5b7f9d4cf..ee685fdf56 100644
--- a/packages/typography/package.json
+++ b/packages/typography/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-typography",
- "version": "1.5.0",
+ "version": "1.5.1",
"description": "",
"keywords": [],
"license": "MIT",
From d872e4dd18fd5db472864fbc2676749b812da00f Mon Sep 17 00:00:00 2001
From: Dmitry Savkin
Date: Tue, 29 Jun 2021 09:35:27 +0300
Subject: [PATCH 31/48] feat(password-input): add password input (PDS-233)
(#691)
* feat(password-input): add password input
* feat(password-input): fixes
* test(password-input): add screenshot tests
* feat(password-input): hide reveal icon in ms-edge browser
* feat(password-input): change icon-button view to secondary
---
.storybook/blocks/tabs/component.tsx | 8 +--
.../button/src/docs/component.stories.mdx | 2 +-
packages/password-input/CHANGELOG.md | 0
packages/password-input/package.json | 25 +++++++
...password-input-screenshots-sprite-snap.png | 3 +
.../src/__snapshots__/component.test.tsx.snap | 65 +++++++++++++++++
.../src/component.screenshots.test.tsx | 30 ++++++++
.../password-input/src/component.test.tsx | 71 +++++++++++++++++++
packages/password-input/src/component.tsx | 61 ++++++++++++++++
.../src/docs/component.stories.mdx | 51 +++++++++++++
.../password-input/src/docs/description.mdx | 36 ++++++++++
packages/password-input/src/index.module.css | 7 ++
packages/password-input/src/index.ts | 1 +
packages/password-input/tsconfig.json | 13 ++++
packages/plate/src/docs/component.stories.mdx | 2 +-
packages/toast/src/docs/component.stories.mdx | 2 +-
packages/toast/src/docs/description.mdx | 4 +-
17 files changed, 372 insertions(+), 9 deletions(-)
create mode 100644 packages/password-input/CHANGELOG.md
create mode 100644 packages/password-input/package.json
create mode 100644 packages/password-input/src/__image_snapshots__/password-input-screenshots-sprite-snap.png
create mode 100644 packages/password-input/src/__snapshots__/component.test.tsx.snap
create mode 100644 packages/password-input/src/component.screenshots.test.tsx
create mode 100644 packages/password-input/src/component.test.tsx
create mode 100644 packages/password-input/src/component.tsx
create mode 100644 packages/password-input/src/docs/component.stories.mdx
create mode 100644 packages/password-input/src/docs/description.mdx
create mode 100644 packages/password-input/src/index.module.css
create mode 100644 packages/password-input/src/index.ts
create mode 100644 packages/password-input/tsconfig.json
diff --git a/.storybook/blocks/tabs/component.tsx b/.storybook/blocks/tabs/component.tsx
index 4db1b22eb6..647dbbb82b 100644
--- a/.storybook/blocks/tabs/component.tsx
+++ b/.storybook/blocks/tabs/component.tsx
@@ -15,14 +15,14 @@ const TabTitle = {
type Props = {
description: ReactNode;
- prpos: ReactNode;
+ props: ReactNode;
cssVars?: ReactNode;
defaultSelected?: TabName;
};
export const Tabs: FC = ({
description,
- prpos,
+ props,
cssVars,
defaultSelected = TabName.DESCRIPTION,
}) => {
@@ -41,7 +41,7 @@ export const Tabs: FC = ({
{description}
,
- {prpos}
+ {props}
,
];
@@ -56,7 +56,7 @@ export const Tabs: FC = ({
return result;
};
- const tabs = useMemo(() => renderTabs(), [description, prpos, cssVars]);
+ const tabs = useMemo(() => renderTabs(), [description, props, cssVars]);
return (
diff --git a/packages/button/src/docs/component.stories.mdx b/packages/button/src/docs/component.stories.mdx
index de6f728acf..7cc4f8a8ce 100644
--- a/packages/button/src/docs/component.stories.mdx
+++ b/packages/button/src/docs/component.stories.mdx
@@ -73,6 +73,6 @@ import { Button } from '@alfalab/core-components/button';
}
- prpos={ }
+ props={ }
cssVars={ }
/>
diff --git a/packages/password-input/CHANGELOG.md b/packages/password-input/CHANGELOG.md
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/packages/password-input/package.json b/packages/password-input/package.json
new file mode 100644
index 0000000000..4263601f3c
--- /dev/null
+++ b/packages/password-input/package.json
@@ -0,0 +1,25 @@
+{
+ "name": "@alfalab/core-components-password-input",
+ "version": "1.0.0",
+ "description": "Input password",
+ "keywords": [],
+ "license": "MIT",
+ "main": "dist/index.js",
+ "module": "./dist/esm/index.js",
+ "files": [
+ "dist"
+ ],
+ "publishConfig": {
+ "access": "public"
+ },
+ "peerDependencies": {
+ "react": "^16.9.0 || ^17.0.1",
+ "react-dom": "^16.9.0 || ^17.0.1"
+ },
+ "dependencies": {
+ "@alfalab/core-components-icon-button": "^2.0.2",
+ "@alfalab/core-components-input": "^6.1.3",
+ "@alfalab/icons-glyph": "^1.141.0",
+ "classnames": "^2.2.6"
+ }
+}
diff --git a/packages/password-input/src/__image_snapshots__/password-input-screenshots-sprite-snap.png b/packages/password-input/src/__image_snapshots__/password-input-screenshots-sprite-snap.png
new file mode 100644
index 0000000000..9c132289d6
--- /dev/null
+++ b/packages/password-input/src/__image_snapshots__/password-input-screenshots-sprite-snap.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:88fc15d74f893d05355e94676680c80338b0a284bbb0879105f661e6b8a0d97a
+size 6851
diff --git a/packages/password-input/src/__snapshots__/component.test.tsx.snap b/packages/password-input/src/__snapshots__/component.test.tsx.snap
new file mode 100644
index 0000000000..7f0593aef4
--- /dev/null
+++ b/packages/password-input/src/__snapshots__/component.test.tsx.snap
@@ -0,0 +1,65 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`PasswordInput snapshots tests should match snapshot 1`] = `
+
+
+
+`;
diff --git a/packages/password-input/src/component.screenshots.test.tsx b/packages/password-input/src/component.screenshots.test.tsx
new file mode 100644
index 0000000000..082e68aaef
--- /dev/null
+++ b/packages/password-input/src/component.screenshots.test.tsx
@@ -0,0 +1,30 @@
+import { setupScreenshotTesting, createSpriteStorybookUrl } from '../../screenshot-utils';
+
+const screenshotTesting = setupScreenshotTesting({
+ it,
+ beforeAll,
+ afterAll,
+ expect,
+});
+
+describe(
+ 'PasswordInput | screenshots',
+ screenshotTesting({
+ cases: [
+ [
+ 'sprite',
+ createSpriteStorybookUrl({
+ componentName: 'PasswordInput',
+ knobs: {
+ passwordVisible: [true, false],
+ value: 'my password',
+ },
+ size: { width: 300, height: 70 },
+ }),
+ ],
+ ],
+ screenshotOpts: {
+ clip: { x: 0, y: 0, width: 600, height: 150 },
+ },
+ }),
+);
diff --git a/packages/password-input/src/component.test.tsx b/packages/password-input/src/component.test.tsx
new file mode 100644
index 0000000000..92a93d153d
--- /dev/null
+++ b/packages/password-input/src/component.test.tsx
@@ -0,0 +1,71 @@
+import React, { useState, FC } from 'react';
+import { render, fireEvent } from '@testing-library/react';
+
+import { PasswordInput, PasswordInputProps } from '.';
+
+const ControlledPasswordInput: FC = props => {
+ const [passwordVisible, setPasswordVisible] = useState(false);
+
+ const handlePasswordVisibleChange = (visible: boolean) => {
+ setPasswordVisible(visible);
+ };
+
+ return (
+
+ );
+};
+
+const isPasswordHidden = (input: HTMLInputElement) => input.getAttribute('type') === 'password';
+const isPasswordVisible = (input: HTMLInputElement) => input.getAttribute('type') === 'text';
+
+describe('PasswordInput', () => {
+ const dataTestId = 'test-id';
+
+ describe('snapshots tests', () => {
+ it('should match snapshot', () => {
+ expect(render( ).baseElement).toMatchSnapshot();
+ });
+ });
+
+ describe('interactions tests', () => {
+ it('should switch password visibility (uncontrolled)', () => {
+ const { baseElement, getByTestId } = render( );
+
+ const button = baseElement.querySelector('button') as HTMLButtonElement;
+ const input = getByTestId(dataTestId) as HTMLInputElement;
+
+ expect(isPasswordHidden(input)).toBe(true);
+
+ fireEvent.click(button);
+
+ expect(isPasswordVisible(input)).toBe(true);
+
+ fireEvent.click(button);
+
+ expect(isPasswordHidden(input)).toBe(true);
+ });
+
+ it('should switch password visibility (controlled)', () => {
+ const { baseElement, getByTestId } = render(
+ ,
+ );
+
+ const button = baseElement.querySelector('button') as HTMLButtonElement;
+ const input = getByTestId(dataTestId) as HTMLInputElement;
+
+ expect(isPasswordHidden(input)).toBe(true);
+
+ fireEvent.click(button);
+
+ expect(isPasswordVisible(input)).toBe(true);
+
+ fireEvent.click(button);
+
+ expect(isPasswordHidden(input)).toBe(true);
+ });
+ });
+});
diff --git a/packages/password-input/src/component.tsx b/packages/password-input/src/component.tsx
new file mode 100644
index 0000000000..4ef7b6916f
--- /dev/null
+++ b/packages/password-input/src/component.tsx
@@ -0,0 +1,61 @@
+import React, { forwardRef, useCallback, useState } from 'react';
+import { Input, InputProps } from '@alfalab/core-components-input';
+import { IconButton } from '@alfalab/core-components-icon-button';
+import EyeMIcon from '@alfalab/icons-glyph/EyeMIcon';
+import EyeOffMIcon from '@alfalab/icons-glyph/EyeOffMIcon';
+
+import styles from './index.module.css';
+
+export type PasswordInputProps = InputProps & {
+ /**
+ * Управление видимостью пароля (controlled)
+ */
+ passwordVisible?: boolean;
+
+ /**
+ * Коллбэк при изменении видимости пароля
+ */
+ onPasswordVisibleChange?: (visible: boolean) => void;
+};
+
+export const PasswordInput = forwardRef(
+ ({ onPasswordVisibleChange, passwordVisible, disabled, ...restProps }, ref) => {
+ const uncontrolled = passwordVisible === undefined;
+
+ const [statePasswordVisible, setStatePasswordVisible] = useState(
+ uncontrolled ? false : passwordVisible,
+ );
+
+ const handleButtonClick = useCallback(() => {
+ if (onPasswordVisibleChange) {
+ onPasswordVisibleChange(!passwordVisible);
+ }
+
+ if (uncontrolled) {
+ setStatePasswordVisible(visible => !visible);
+ }
+ }, [passwordVisible, uncontrolled, onPasswordVisibleChange]);
+
+ const isPasswordVisible = uncontrolled ? statePasswordVisible : passwordVisible;
+
+ return (
+
+ }
+ addonsClassName={styles.addons}
+ inputClassName={styles.input}
+ />
+ );
+ },
+);
diff --git a/packages/password-input/src/docs/component.stories.mdx b/packages/password-input/src/docs/component.stories.mdx
new file mode 100644
index 0000000000..d0e878be04
--- /dev/null
+++ b/packages/password-input/src/docs/component.stories.mdx
@@ -0,0 +1,51 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { text, select, boolean } from '@storybook/addon-knobs';
+import { Tabs } from 'storybook/blocks';
+
+import { PasswordInput } from '..';
+import { name, version } from '../../package.json';
+import Description from './description.mdx';
+
+
+
+
+
+
+ }
+ bottomAddons={boolean('bottomAddons', false) && bottom text }
+ readOnly={boolean('readOnly', false)}
+ />
+
+
+
+
+
+
+```tsx
+import { PasswordInput } from '@alfalab/core-components/password-input';
+```
+
+ }
+ props={ }
+/>
diff --git a/packages/password-input/src/docs/description.mdx b/packages/password-input/src/docs/description.mdx
new file mode 100644
index 0000000000..aec7ce02e4
--- /dev/null
+++ b/packages/password-input/src/docs/description.mdx
@@ -0,0 +1,36 @@
+import { Container } from 'storybook/blocks';
+
+import { PasswordInput } from '../';
+
+Компонент ввода пароля.
+
+Uncontrolled-way:
+
+```tsx live
+
+
+
+```
+
+Controlled-way:
+
+```tsx live
+const ControlledPasswordInput = () => {
+ const [passwordVisible, setPasswordVisible] = React.useState(false);
+
+ return (
+ {
+ setPasswordVisible(visible);
+ }}
+ />
+ );
+};
+
+render(
+
+
+ ,
+);
+```
diff --git a/packages/password-input/src/index.module.css b/packages/password-input/src/index.module.css
new file mode 100644
index 0000000000..d6ed39c96c
--- /dev/null
+++ b/packages/password-input/src/index.module.css
@@ -0,0 +1,7 @@
+.addons {
+ padding: 0;
+}
+
+.input::-ms-reveal {
+ display: none;
+}
diff --git a/packages/password-input/src/index.ts b/packages/password-input/src/index.ts
new file mode 100644
index 0000000000..bb824842ce
--- /dev/null
+++ b/packages/password-input/src/index.ts
@@ -0,0 +1 @@
+export * from './component';
diff --git a/packages/password-input/tsconfig.json b/packages/password-input/tsconfig.json
new file mode 100644
index 0000000000..3ce067c831
--- /dev/null
+++ b/packages/password-input/tsconfig.json
@@ -0,0 +1,13 @@
+{
+ "include": ["src", "../../typings"],
+ "extends": "../../tsconfig.json",
+ "compilerOptions": {
+ "outDir": "dist",
+ "rootDirs": ["src"],
+ "baseUrl": ".",
+ "paths": {
+ "@alfalab/core-components-*": ["../*/src"]
+ }
+ },
+ "references": [{ "path": "../input" }, { "path": "../icon-button" }]
+}
diff --git a/packages/plate/src/docs/component.stories.mdx b/packages/plate/src/docs/component.stories.mdx
index f07ed2e994..6a91f55eb5 100644
--- a/packages/plate/src/docs/component.stories.mdx
+++ b/packages/plate/src/docs/component.stories.mdx
@@ -48,7 +48,7 @@ import { Plate } from '@alfalab/core-components-plate';
}
- prpos={ }
+ props={ }
cssVars={ }
/>
diff --git a/packages/toast/src/docs/component.stories.mdx b/packages/toast/src/docs/component.stories.mdx
index cc04ecf809..2376780fd0 100644
--- a/packages/toast/src/docs/component.stories.mdx
+++ b/packages/toast/src/docs/component.stories.mdx
@@ -112,6 +112,6 @@ import { Toast } from '@alfalab/core-components-toast';
}
- prpos={ }
+ props={ }
cssVars={ }
/>
diff --git a/packages/toast/src/docs/description.mdx b/packages/toast/src/docs/description.mdx
index ef777bffbc..8ac6d41fb6 100644
--- a/packages/toast/src/docs/description.mdx
+++ b/packages/toast/src/docs/description.mdx
@@ -108,10 +108,10 @@ import { Plate } from '../../../plate/src';
getPortalContainer={() => containerRef.current}
block={true}
hasCloser={true}
- ToastPlate={React.forwardRef((prpos, ref) => {
+ ToastPlate={React.forwardRef((props, ref) => {
return (
Date: Tue, 29 Jun 2021 09:37:46 +0300
Subject: [PATCH 32/48] docs: fix tabs
---
packages/textarea/src/docs/component.stories.mdx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/textarea/src/docs/component.stories.mdx b/packages/textarea/src/docs/component.stories.mdx
index e64e46e32f..be0525fbe5 100644
--- a/packages/textarea/src/docs/component.stories.mdx
+++ b/packages/textarea/src/docs/component.stories.mdx
@@ -61,6 +61,6 @@ import { Textarea } from '@alfalab/core-components/textarea';
}
- prpos={ }
+ props={ }
cssVars={ }
/>
From 8c02c2aa5c86883bccb13306d324100d91d12241 Mon Sep 17 00:00:00 2001
From: semantic-release-bot
Date: Tue, 29 Jun 2021 07:03:13 +0000
Subject: [PATCH 33/48] chore(release): 18.1.0 [skip ci]
# [18.1.0](https://github.com/alfa-laboratory/core-components/compare/v18.0.0...v18.1.0) (2021-06-29)
### Features
* **password-input:** add password input (PDS-233) ([#691](https://github.com/alfa-laboratory/core-components/issues/691)) ([d872e4d](https://github.com/alfa-laboratory/core-components/commit/d872e4dd18fd5db472864fbc2676749b812da00f))
---
CHANGELOG.md | 7 +++++++
package.json | 2 +-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 70f3c204ae..ef4b5f6039 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+# [18.1.0](https://github.com/alfa-laboratory/core-components/compare/v18.0.0...v18.1.0) (2021-06-29)
+
+
+### Features
+
+* **password-input:** add password input (PDS-233) ([#691](https://github.com/alfa-laboratory/core-components/issues/691)) ([d872e4d](https://github.com/alfa-laboratory/core-components/commit/d872e4dd18fd5db472864fbc2676749b812da00f))
+
# [18.0.0](https://github.com/alfa-laboratory/core-components/compare/v17.6.0...v18.0.0) (2021-06-28)
diff --git a/package.json b/package.json
index 093a3d3fe1..64a220e2b8 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components",
- "version": "18.0.0",
+ "version": "18.1.0",
"private": true,
"workspaces": [
"packages/*"
From 315853603f484ccbee2394d9f249f23ce1e96fe2 Mon Sep 17 00:00:00 2001
From: semantic-release-bot
Date: Tue, 29 Jun 2021 07:03:44 +0000
Subject: [PATCH 34/48] chore: publish
- @alfalab/core-components-password-input@1.1.0
- @alfalab/core-components-toast@2.2.0
---
packages/password-input/CHANGELOG.md | 11 +++++++++++
packages/password-input/package.json | 2 +-
packages/toast/CHANGELOG.md | 11 +++++++++++
packages/toast/package.json | 2 +-
4 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/packages/password-input/CHANGELOG.md b/packages/password-input/CHANGELOG.md
index e69de29bb2..cdbc1bc938 100644
--- a/packages/password-input/CHANGELOG.md
+++ b/packages/password-input/CHANGELOG.md
@@ -0,0 +1,11 @@
+# Change Log
+
+All notable changes to this project will be documented in this file.
+See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+
+# 1.1.0 (2021-06-29)
+
+
+### Features
+
+* **password-input:** add password input (PDS-233) ([#691](https://github.com/alfa-laboratory/core-components/issues/691)) ([d872e4d](https://github.com/alfa-laboratory/core-components/commit/d872e4dd18fd5db472864fbc2676749b812da00f))
diff --git a/packages/password-input/package.json b/packages/password-input/package.json
index 4263601f3c..e6790cf003 100644
--- a/packages/password-input/package.json
+++ b/packages/password-input/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-password-input",
- "version": "1.0.0",
+ "version": "1.1.0",
"description": "Input password",
"keywords": [],
"license": "MIT",
diff --git a/packages/toast/CHANGELOG.md b/packages/toast/CHANGELOG.md
index 65c4626d81..fba127bc74 100644
--- a/packages/toast/CHANGELOG.md
+++ b/packages/toast/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [2.2.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-toast@2.1.0...@alfalab/core-components-toast@2.2.0) (2021-06-29)
+
+
+### Features
+
+* **password-input:** add password input (PDS-233) ([#691](https://github.com/alfa-laboratory/core-components/issues/691)) ([d872e4d](https://github.com/alfa-laboratory/core-components/commit/d872e4dd18fd5db472864fbc2676749b812da00f))
+
+
+
+
+
# [2.1.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-toast@2.0.7...@alfalab/core-components-toast@2.1.0) (2021-06-04)
diff --git a/packages/toast/package.json b/packages/toast/package.json
index dcb1ffe1d6..fe7df1868e 100644
--- a/packages/toast/package.json
+++ b/packages/toast/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-toast",
- "version": "2.1.0",
+ "version": "2.2.0",
"description": "Toast component",
"keywords": [],
"license": "MIT",
From 882841c1c43d5570652ab3fcc199958060b92c57 Mon Sep 17 00:00:00 2001
From: Dmitry Savkin
Date: Wed, 30 Jun 2021 09:20:54 +0300
Subject: [PATCH 35/48] fix(dark-theme-styles-injector): fix rendering passed
styles (#723)
---
packages/dark-theme-styles-injector/src/component.tsx | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/packages/dark-theme-styles-injector/src/component.tsx b/packages/dark-theme-styles-injector/src/component.tsx
index 2f949ea335..209729b6d0 100644
--- a/packages/dark-theme-styles-injector/src/component.tsx
+++ b/packages/dark-theme-styles-injector/src/component.tsx
@@ -35,8 +35,9 @@ export const DarkThemeStylesInjector: FC = ({
{`
${selector} {
${colorsMap[colors]}
- ${styles}
}
+
+ ${styles}
`}
);
From 4369e462116dc1d240f95f811be67639b10dedb6 Mon Sep 17 00:00:00 2001
From: Mikhail
Date: Wed, 30 Jun 2021 09:21:02 +0300
Subject: [PATCH 36/48] feat(calendar-range): pass props to render calendar in
popper (#702)
* feat(calendar-range): pass props to render calendar in popper
* test: update test screenshot
* revert: revert update of test screenshot
* refactor(calendar-range): change interface for calendarPosition prop
* chore(calendar-range): add calendarPosition knob to component story
* chore(calendar-range): chanage knob to demo variant
* feat(calendar-range): fully adds popover variant
* test(calendar-range): adds tests for popover variant
* test(calendar-range): small fixes for popover variant tests
* test(calendar-range): fix typo in test
* refactor(calendar-range): fix import, interface, ts feature
* test(calendar-range): add tests for useCalendarMaxMinDates
Co-authored-by: Alexander Yatsenko
Co-authored-by: Dmitry Savkin
---
packages/calendar-input/src/Component.tsx | 10 +-
.../calendar-range/src/Component.stories.mdx | 7 +
.../calendar-range/src/Component.test.tsx | 56 ++++++-
packages/calendar-range/src/Component.tsx | 146 ++++++++++++------
.../useCalendarMaxMinDates.test.ts.snap | 37 +++++
.../src/useCalendarMaxMinDates.test.ts | 48 ++++++
.../src/useCalendarMaxMinDates.ts | 36 +++++
.../calendar-range/src/useCalendarMonthes.ts | 73 +++++++++
packages/calendar-range/src/utils.ts | 2 +-
9 files changed, 361 insertions(+), 54 deletions(-)
create mode 100644 packages/calendar-range/src/__snapshots__/useCalendarMaxMinDates.test.ts.snap
create mode 100644 packages/calendar-range/src/useCalendarMaxMinDates.test.ts
create mode 100644 packages/calendar-range/src/useCalendarMaxMinDates.ts
create mode 100644 packages/calendar-range/src/useCalendarMonthes.ts
diff --git a/packages/calendar-input/src/Component.tsx b/packages/calendar-input/src/Component.tsx
index 2bfa370da6..4fa128e49a 100644
--- a/packages/calendar-input/src/Component.tsx
+++ b/packages/calendar-input/src/Component.tsx
@@ -18,7 +18,7 @@ import {
CalendarProps,
dateInLimits,
} from '@alfalab/core-components-calendar';
-import { Popover } from '@alfalab/core-components-popover';
+import { Popover, PopoverProps } from '@alfalab/core-components-popover';
import mergeRefs from 'react-merge-refs';
import {
NATIVE_DATE_FORMAT,
@@ -136,6 +136,11 @@ export type CalendarInputProps = Omit<
* Идентификатор для систем автоматизированного тестирования
*/
dataTestId?: string;
+
+ /**
+ * Позиционирование поповера с календарем
+ */
+ popoverPosition?: PopoverProps['position'];
};
export const CalendarInput = forwardRef(
@@ -163,6 +168,7 @@ export const CalendarInput = forwardRef(
onCalendarChange,
readOnly,
Calendar = DefaultCalendar,
+ popoverPosition = 'bottom-start',
...restProps
},
ref,
@@ -388,7 +394,7 @@ export const CalendarInput = forwardRef(
open={open}
anchorElement={inputWrapperRef.current as HTMLElement}
popperClassName={styles.calendarContainer}
- position='bottom-start'
+ position={popoverPosition}
offset={[0, 8]}
withTransition={false}
preventFlip={preventFlip}
diff --git a/packages/calendar-range/src/Component.stories.mdx b/packages/calendar-range/src/Component.stories.mdx
index 3d498a24f9..d5c1b14cfa 100644
--- a/packages/calendar-range/src/Component.stories.mdx
+++ b/packages/calendar-range/src/Component.stories.mdx
@@ -110,7 +110,14 @@ import { CalendarRange } from '@alfalab/core-components-calendar-range';
onBlur: handleToBlur,
onFocus: handleToFocus
}}
+ calendarPosition={select('calendarPosition', ['static', 'popover'], 'static')}
/>
);
})}
+
+### Рендерит календари в поповере
+
+
+
+
diff --git a/packages/calendar-range/src/Component.test.tsx b/packages/calendar-range/src/Component.test.tsx
index c9783709e8..b8a155da5b 100644
--- a/packages/calendar-range/src/Component.test.tsx
+++ b/packages/calendar-range/src/Component.test.tsx
@@ -1,5 +1,5 @@
import React from 'react';
-import { render, fireEvent, act } from '@testing-library/react';
+import { render, waitFor, fireEvent, act } from '@testing-library/react';
import { setMonth, startOfMonth, addMonths, setDate, endOfMonth, startOfDay } from 'date-fns';
import { MONTHS } from '../../calendar/src/utils';
import { formatDate } from '../../calendar-input/src/utils';
@@ -196,6 +196,60 @@ describe('CalendarRange', () => {
expect(container).toHaveTextContent('Июнь');
});
+ describe('isPopover', () => {
+ it('should open empty input calendar with month from filled input', async () => {
+ const { queryAllByRole } = render(
+ ,
+ );
+
+ const [inputFrom, inputTo] = queryAllByRole('textbox') as HTMLInputElement[];
+
+ await waitFor(() => {
+ fireEvent.focus(inputFrom);
+ expect(
+ document.querySelector('.from-calendar .button.month .buttonContent'),
+ ).toHaveTextContent(currentMonthName);
+ });
+
+ await waitFor(() => {
+ fireEvent.focus(inputTo);
+ expect(
+ document.querySelector('.to-calendar .button.month .buttonContent'),
+ ).toHaveTextContent(currentMonthName);
+ });
+ });
+
+ it('should fill "to input" when pick date in "to calendar"', async () => {
+ const { queryAllByRole } = render(
+ ,
+ );
+
+ const [inputFrom, inputTo] = queryAllByRole('textbox') as HTMLInputElement[];
+
+ await waitFor(() => {
+ fireEvent.focus(inputTo);
+
+ expect(document.querySelector('.to-calendar')).toBeInTheDocument();
+ });
+
+ const days = document.querySelectorAll('*[data-date]');
+
+ act(() => {
+ (days[0] as HTMLButtonElement).click();
+ });
+
+ expect(inputTo.value).not.toBe('');
+ expect(inputFrom.value).toBe('');
+ });
+ });
+
describe('Period selection', () => {
it('should select day, fill inputFrom and start selection on first click', () => {
const { container, queryAllByRole } = render( );
diff --git a/packages/calendar-range/src/Component.tsx b/packages/calendar-range/src/Component.tsx
index a8b7336588..aeec75b1f9 100644
--- a/packages/calendar-range/src/Component.tsx
+++ b/packages/calendar-range/src/Component.tsx
@@ -1,8 +1,8 @@
/* eslint-disable multiline-comment-style */
import React, { useCallback, useState, MouseEvent, FC } from 'react';
import cn from 'classnames';
-import { startOfMonth, subMonths, addMonths, endOfMonth } from 'date-fns';
-import { usePeriod, dateInLimits, limitDate } from '@alfalab/core-components-calendar';
+import { startOfMonth, subMonths } from 'date-fns';
+import { usePeriod, dateInLimits } from '@alfalab/core-components-calendar';
import {
CalendarInput,
CalendarInputProps,
@@ -12,6 +12,9 @@ import {
} from '@alfalab/core-components-calendar-input';
import { isDayButton, ValueState, getCorrectValueState, initialValueState } from './utils';
+import { useCalendarMonthes } from './useCalendarMonthes';
+import { useCalendarMaxMinDates } from './useCalendarMaxMinDates';
+
import styles from './index.module.css';
export type CalendarRangeProps = {
@@ -69,6 +72,11 @@ export type CalendarRangeProps = {
* Идентификатор для систем автоматизированного тестирования
*/
dataTestId?: string;
+
+ /**
+ * Определяет, как рендерить календарь — в поповере или снизу инпута
+ */
+ calendarPosition?: 'static' | 'popover';
};
export const CalendarRange: FC = ({
@@ -82,9 +90,11 @@ export const CalendarRange: FC = ({
onDateToChange,
inputFromProps = {},
inputToProps = {},
+ calendarPosition = 'static',
dataTestId,
}) => {
const uncontrolled = valueFrom === undefined && valueTo === undefined;
+ const isPopover = calendarPosition === 'popover';
const period = usePeriod({
initialSelectedFrom: valueFrom ? parseDateString(valueFrom).getTime() : undefined,
@@ -97,16 +107,6 @@ export const CalendarRange: FC = ({
if (!dateInLimits(selectedFrom, minDate, maxDate)) selectedFrom = undefined;
if (!dateInLimits(selectedTo, minDate, maxDate)) selectedTo = undefined;
- const [nextMonthHighlighted, setNextMonthHighlighted] = useState(false);
-
- const initialMonth =
- uncontrolled || !valueFrom
- ? defaultMonth
- : startOfMonth(parseDateString(valueFrom)).getTime();
-
- const [month, setMonth] = useState(initialMonth);
- const monthTo = addMonths(month, 1).getTime();
-
const [stateFrom, setStateFrom] = useState(initialValueState);
const [stateTo, setStateTo] = useState(initialValueState);
@@ -129,6 +129,13 @@ export const CalendarRange: FC = ({
[onDateToChange, uncontrolled],
);
+ const { monthFrom, monthTo, handleMonthFromChange, handleMonthToChange } = useCalendarMonthes({
+ inputValueFrom,
+ inputValueTo,
+ defaultMonth,
+ isPopover,
+ });
+
const handleInputFromChange = useCallback['onInputChange']>(
(_, { value, date }) => {
if (value === '') {
@@ -136,18 +143,20 @@ export const CalendarRange: FC = ({
handleStateFromChange(initialValueState);
}
- if (isCompleteDateInput(value)) {
- if (dateInLimits(date, minDate, maxDate)) {
- setStart(date.getTime());
- setMonth(startOfMonth(date).getTime());
- handleStateFromChange({ date: date.getTime(), value });
- } else {
- setStart(undefined);
- handleStateFromChange({ date: null, value });
- }
+ if (!isCompleteDateInput(value)) {
+ return;
+ }
+
+ if (dateInLimits(date, minDate, maxDate)) {
+ setStart(date.getTime());
+ handleMonthFromChange(startOfMonth(date).getTime());
+ handleStateFromChange({ date: date.getTime(), value });
+ } else {
+ setStart(undefined);
+ handleStateFromChange({ date: null, value });
}
},
- [handleStateFromChange, maxDate, minDate, setStart],
+ [handleMonthFromChange, handleStateFromChange, maxDate, minDate, setStart],
);
const handleInputToChange = useCallback['onInputChange']>(
@@ -157,18 +166,20 @@ export const CalendarRange: FC = ({
handleStateToChange(initialValueState);
}
- if (isCompleteDateInput(value)) {
- if (dateInLimits(date, minDate, maxDate)) {
- setEnd(date.getTime());
- setMonth(subMonths(startOfMonth(date), 1).getTime());
- handleStateToChange({ date: date.getTime(), value });
- } else {
- setEnd(undefined);
- handleStateToChange({ date: null, value });
- }
+ if (!isCompleteDateInput(value)) {
+ return;
+ }
+
+ if (dateInLimits(date, minDate, maxDate)) {
+ setEnd(date.getTime());
+ handleMonthToChange(subMonths(startOfMonth(date), 1).getTime());
+ handleStateToChange({ date: date.getTime(), value });
+ } else {
+ setEnd(undefined);
+ handleStateToChange({ date: null, value });
}
},
- [handleStateToChange, maxDate, minDate, setEnd],
+ [handleMonthToChange, handleStateToChange, maxDate, minDate, setEnd],
);
const handleCalendarChange = useCallback(
@@ -211,13 +222,35 @@ export const CalendarRange: FC = ({
],
);
- const handleMonthFromChange = useCallback((value: number) => {
- setMonth(value);
- }, []);
+ const handleFromCalendarChange = useCallback(
+ (date: number) => {
+ if (!isPopover) {
+ handleCalendarChange(date);
+
+ return;
+ }
+
+ setStart(date);
+ handleStateFromChange({ date, value: formatDate(date) });
+ },
+ [handleCalendarChange, handleStateFromChange, isPopover, setStart],
+ );
+
+ const handleToCalendarChange = useCallback(
+ (date: number) => {
+ if (!isPopover) {
+ handleCalendarChange(date);
- const handleMonthToChange = useCallback((value: number) => {
- setMonth(subMonths(value, 1).getTime());
- }, []);
+ return;
+ }
+
+ handleStateToChange({ date, value: formatDate(date) });
+ setEnd(date);
+ },
+ [handleCalendarChange, handleStateToChange, isPopover, setEnd],
+ );
+
+ const [nextMonthHighlighted, setNextMonthHighlighted] = useState(false);
const handleCalendarToMouseOver = useCallback(
(event: MouseEvent) => {
@@ -231,23 +264,35 @@ export const CalendarRange: FC = ({
[nextMonthHighlighted],
);
+ const selectorView = isPopover ? 'full' : 'month-only';
+ const calendarSelectedTo = selectedTo || (nextMonthHighlighted ? monthTo : undefined);
+ const maxMinDates = useCalendarMaxMinDates({
+ isPopover,
+ monthTo,
+ monthFrom,
+ selectedFrom,
+ selectedTo: calendarSelectedTo,
+ maxDate,
+ minDate,
+ });
+
return (
@@ -257,17 +302,18 @@ export const CalendarRange: FC
= ({
{
+ describe('isPopover', () => {
+ it('no selected to date', () => {
+ const maxMinDates = useCalendarMaxMinDates({
+ isPopover: true,
+ selectedFrom: 1625000400000,
+ ...inputProps,
+ });
+
+ expect(maxMinDates).toMatchSnapshot();
+ });
+ it('no selected dates', () => {
+ const maxMinDates = useCalendarMaxMinDates({
+ isPopover: true,
+ ...inputProps,
+ });
+
+ expect(maxMinDates).toMatchSnapshot();
+ });
+ });
+ it('no min date', () => {
+ const maxMinDates = useCalendarMaxMinDates({
+ isPopover: false,
+ ...inputProps,
+ minDate: undefined,
+ });
+
+ expect(maxMinDates).toMatchSnapshot();
+ });
+ it('no max date', () => {
+ const maxMinDates = useCalendarMaxMinDates({
+ isPopover: false,
+ ...inputProps,
+ maxDate: undefined,
+ });
+
+ expect(maxMinDates).toMatchSnapshot();
+ });
+});
diff --git a/packages/calendar-range/src/useCalendarMaxMinDates.ts b/packages/calendar-range/src/useCalendarMaxMinDates.ts
new file mode 100644
index 0000000000..fada06893b
--- /dev/null
+++ b/packages/calendar-range/src/useCalendarMaxMinDates.ts
@@ -0,0 +1,36 @@
+import { startOfMonth, endOfMonth } from 'date-fns';
+
+import { limitDate } from '@alfalab/core-components-calendar';
+
+type useMaxMinDatesProps = {
+ isPopover: boolean;
+ monthTo: number;
+ monthFrom: number;
+ selectedTo?: number;
+ selectedFrom?: number;
+ maxDate?: number;
+ minDate?: number;
+};
+
+export function useCalendarMaxMinDates({
+ isPopover,
+ monthTo,
+ monthFrom,
+ selectedTo,
+ selectedFrom,
+ maxDate,
+ minDate,
+}: useMaxMinDatesProps) {
+ const popoverFromMaxDate = selectedTo || maxDate;
+ const fromMaxDate = limitDate(endOfMonth(monthFrom), minDate, maxDate).getTime();
+
+ const popoverToMinDate = selectedFrom || minDate;
+ const toMinDate = limitDate(startOfMonth(monthTo), minDate, maxDate).getTime();
+
+ return {
+ fromMinDate: minDate,
+ toMaxDate: maxDate,
+ fromMaxDate: isPopover ? popoverFromMaxDate : fromMaxDate,
+ toMinDate: isPopover ? popoverToMinDate : toMinDate,
+ };
+}
diff --git a/packages/calendar-range/src/useCalendarMonthes.ts b/packages/calendar-range/src/useCalendarMonthes.ts
new file mode 100644
index 0000000000..310d9871b2
--- /dev/null
+++ b/packages/calendar-range/src/useCalendarMonthes.ts
@@ -0,0 +1,73 @@
+import { useState, useCallback } from 'react';
+import { startOfMonth, addMonths, subMonths } from 'date-fns';
+
+import { ValueState } from './utils';
+
+type useMonthProps = {
+ defaultMonth: number;
+ isPopover: boolean;
+ inputValueFrom: ValueState;
+ inputValueTo: ValueState;
+};
+
+export function useCalendarMonthes({
+ inputValueFrom,
+ inputValueTo,
+ defaultMonth,
+ isPopover,
+}: useMonthProps) {
+ const initialMonthFrom =
+ !inputValueFrom.value || !inputValueFrom.date
+ ? defaultMonth
+ : startOfMonth(inputValueFrom.date).getTime();
+
+ const initialMonthTo = isPopover ? initialMonthFrom : addMonths(initialMonthFrom, 1).getTime();
+
+ const [monthFrom, setMonthFrom] = useState(initialMonthFrom);
+ const [monthTo, setMonthTo] = useState(initialMonthTo);
+
+ const handleMonthFromChange = useCallback(
+ (newMonthFrom: number) => {
+ setMonthFrom(newMonthFrom);
+
+ if (!isPopover) {
+ const nextMonth = addMonths(newMonthFrom, 1).getTime();
+
+ setMonthTo(nextMonth);
+
+ return;
+ }
+
+ if (!inputValueTo.date) {
+ setMonthTo(newMonthFrom);
+ }
+ },
+ [isPopover, setMonthFrom, setMonthTo, inputValueTo],
+ );
+
+ const handleMonthToChange = useCallback(
+ (newMonthTo: number) => {
+ setMonthTo(newMonthTo);
+
+ if (!isPopover) {
+ const prevMonth = subMonths(newMonthTo, 1).getTime();
+
+ setMonthFrom(prevMonth);
+
+ return;
+ }
+
+ if (!inputValueFrom.date) {
+ setMonthFrom(newMonthTo);
+ }
+ },
+ [isPopover, setMonthFrom, setMonthTo, inputValueFrom],
+ );
+
+ return {
+ monthFrom,
+ monthTo,
+ handleMonthFromChange,
+ handleMonthToChange,
+ };
+}
diff --git a/packages/calendar-range/src/utils.ts b/packages/calendar-range/src/utils.ts
index e4a5f331ad..6992e19c29 100644
--- a/packages/calendar-range/src/utils.ts
+++ b/packages/calendar-range/src/utils.ts
@@ -17,7 +17,7 @@ export const getCorrectValueState = (
const state: ValueState =
propValue === undefined
? stateValue
- : { value: propValue, date: parseDateString(propValue as string).getTime() };
+ : { value: propValue, date: parseDateString(propValue).getTime() };
if (!dateInLimits(state.date, minDate, maxDate)) {
state.date = null;
From 12304a4470f947972734db8c51bb315fdcea1bd0 Mon Sep 17 00:00:00 2001
From: semantic-release-bot
Date: Wed, 30 Jun 2021 06:44:06 +0000
Subject: [PATCH 37/48] chore(release): 18.2.0 [skip ci]
# [18.2.0](https://github.com/alfa-laboratory/core-components/compare/v18.1.0...v18.2.0) (2021-06-30)
### Bug Fixes
* **dark-theme-styles-injector:** fix rendering passed styles ([#723](https://github.com/alfa-laboratory/core-components/issues/723)) ([882841c](https://github.com/alfa-laboratory/core-components/commit/882841c1c43d5570652ab3fcc199958060b92c57))
### Features
* **calendar-range:** pass props to render calendar in popper ([#702](https://github.com/alfa-laboratory/core-components/issues/702)) ([4369e46](https://github.com/alfa-laboratory/core-components/commit/4369e462116dc1d240f95f811be67639b10dedb6))
---
CHANGELOG.md | 12 ++++++++++++
package.json | 2 +-
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ef4b5f6039..7f1d707c3c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,15 @@
+# [18.2.0](https://github.com/alfa-laboratory/core-components/compare/v18.1.0...v18.2.0) (2021-06-30)
+
+
+### Bug Fixes
+
+* **dark-theme-styles-injector:** fix rendering passed styles ([#723](https://github.com/alfa-laboratory/core-components/issues/723)) ([882841c](https://github.com/alfa-laboratory/core-components/commit/882841c1c43d5570652ab3fcc199958060b92c57))
+
+
+### Features
+
+* **calendar-range:** pass props to render calendar in popper ([#702](https://github.com/alfa-laboratory/core-components/issues/702)) ([4369e46](https://github.com/alfa-laboratory/core-components/commit/4369e462116dc1d240f95f811be67639b10dedb6))
+
# [18.1.0](https://github.com/alfa-laboratory/core-components/compare/v18.0.0...v18.1.0) (2021-06-29)
diff --git a/package.json b/package.json
index 64a220e2b8..0238227e76 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components",
- "version": "18.1.0",
+ "version": "18.2.0",
"private": true,
"workspaces": [
"packages/*"
From f1531782c1b066026658118584bebbdaa8d2d025 Mon Sep 17 00:00:00 2001
From: semantic-release-bot
Date: Wed, 30 Jun 2021 06:44:45 +0000
Subject: [PATCH 38/48] chore: publish
- @alfalab/core-components-calendar-input@3.1.0
- @alfalab/core-components-calendar-range@2.1.0
- @alfalab/core-components-dark-theme-styles-injector@1.5.1
---
packages/calendar-input/CHANGELOG.md | 11 +++++++++++
packages/calendar-input/package.json | 2 +-
packages/calendar-range/CHANGELOG.md | 11 +++++++++++
packages/calendar-range/package.json | 4 ++--
packages/dark-theme-styles-injector/CHANGELOG.md | 11 +++++++++++
packages/dark-theme-styles-injector/package.json | 2 +-
6 files changed, 37 insertions(+), 4 deletions(-)
diff --git a/packages/calendar-input/CHANGELOG.md b/packages/calendar-input/CHANGELOG.md
index 5c0ee7a668..969de87c94 100644
--- a/packages/calendar-input/CHANGELOG.md
+++ b/packages/calendar-input/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [3.1.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-calendar-input@3.0.8...@alfalab/core-components-calendar-input@3.1.0) (2021-06-30)
+
+
+### Features
+
+* **calendar-range:** pass props to render calendar in popper ([#702](https://github.com/alfa-laboratory/core-components/issues/702)) ([4369e46](https://github.com/alfa-laboratory/core-components/commit/4369e462116dc1d240f95f811be67639b10dedb6))
+
+
+
+
+
## [3.0.8](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-calendar-input@3.0.7...@alfalab/core-components-calendar-input@3.0.8) (2021-06-22)
**Note:** Version bump only for package @alfalab/core-components-calendar-input
diff --git a/packages/calendar-input/package.json b/packages/calendar-input/package.json
index c0012cb74e..283a322e06 100644
--- a/packages/calendar-input/package.json
+++ b/packages/calendar-input/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-calendar-input",
- "version": "3.0.8",
+ "version": "3.1.0",
"description": "Calendar input component",
"keywords": [],
"license": "MIT",
diff --git a/packages/calendar-range/CHANGELOG.md b/packages/calendar-range/CHANGELOG.md
index 48f6965560..04605e37c0 100644
--- a/packages/calendar-range/CHANGELOG.md
+++ b/packages/calendar-range/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+# [2.1.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-calendar-range@2.0.3...@alfalab/core-components-calendar-range@2.1.0) (2021-06-30)
+
+
+### Features
+
+* **calendar-range:** pass props to render calendar in popper ([#702](https://github.com/alfa-laboratory/core-components/issues/702)) ([4369e46](https://github.com/alfa-laboratory/core-components/commit/4369e462116dc1d240f95f811be67639b10dedb6))
+
+
+
+
+
## [2.0.3](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-calendar-range@2.0.2...@alfalab/core-components-calendar-range@2.0.3) (2021-06-22)
**Note:** Version bump only for package @alfalab/core-components-calendar-range
diff --git a/packages/calendar-range/package.json b/packages/calendar-range/package.json
index 9535b5b7f8..e1c4fa8df4 100644
--- a/packages/calendar-range/package.json
+++ b/packages/calendar-range/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-calendar-range",
- "version": "2.0.3",
+ "version": "2.1.0",
"description": "Calendar range component",
"keywords": [],
"license": "MIT",
@@ -20,7 +20,7 @@
},
"dependencies": {
"@alfalab/core-components-calendar": "^2.0.1",
- "@alfalab/core-components-calendar-input": "^3.0.8",
+ "@alfalab/core-components-calendar-input": "^3.1.0",
"classnames": "^2.2.6",
"date-fns": "^2.16.1",
"react-merge-refs": "^1.1.0"
diff --git a/packages/dark-theme-styles-injector/CHANGELOG.md b/packages/dark-theme-styles-injector/CHANGELOG.md
index 0493e10cae..d8f4d03e1a 100644
--- a/packages/dark-theme-styles-injector/CHANGELOG.md
+++ b/packages/dark-theme-styles-injector/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.5.1](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-dark-theme-styles-injector@1.5.0...@alfalab/core-components-dark-theme-styles-injector@1.5.1) (2021-06-30)
+
+
+### Bug Fixes
+
+* **dark-theme-styles-injector:** fix rendering passed styles ([#723](https://github.com/alfa-laboratory/core-components/issues/723)) ([882841c](https://github.com/alfa-laboratory/core-components/commit/882841c1c43d5570652ab3fcc199958060b92c57))
+
+
+
+
+
# [1.5.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-dark-theme-styles-injector@1.4.27...@alfalab/core-components-dark-theme-styles-injector@1.5.0) (2021-06-22)
diff --git a/packages/dark-theme-styles-injector/package.json b/packages/dark-theme-styles-injector/package.json
index d13a6f1ab9..fa96db91ce 100644
--- a/packages/dark-theme-styles-injector/package.json
+++ b/packages/dark-theme-styles-injector/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-dark-theme-styles-injector",
- "version": "1.5.0",
+ "version": "1.5.1",
"description": "Inject dark theme styles in page",
"keywords": [],
"license": "MIT",
From 2fef06eea01354f58663a5f4470606123d31f9d4 Mon Sep 17 00:00:00 2001
From: reme3d2y
Date: Fri, 2 Jul 2021 15:50:45 +0300
Subject: [PATCH 39/48] fix(base-modal): resubscribe observer when content node
changed
---
packages/base-modal/src/Component.tsx | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
diff --git a/packages/base-modal/src/Component.tsx b/packages/base-modal/src/Component.tsx
index 59d90aa222..060ed580df 100644
--- a/packages/base-modal/src/Component.tsx
+++ b/packages/base-modal/src/Component.tsx
@@ -232,13 +232,6 @@ export const BaseModal = forwardRef(
}
};
- const contentRef = useCallback((node: HTMLDivElement) => {
- if (node !== null) {
- contentNodeRef.current = node;
- checkToHasScrollBar();
- }
- }, []);
-
const shouldRender = keepMounted || open || !exited;
const resizeObserver = useMemo(() => new ResizeObserver(checkToHasScrollBar), []);
@@ -252,6 +245,17 @@ export const BaseModal = forwardRef(
resizeObserver.disconnect();
}, [resizeObserver]);
+ const contentRef = useCallback(
+ (node: HTMLDivElement) => {
+ if (node !== null) {
+ contentNodeRef.current = node;
+ resizeObserver.observe(node);
+ checkToHasScrollBar();
+ }
+ },
+ [resizeObserver],
+ );
+
const handleScroll = useCallback(() => {
if (!scrollableNodeRef.current || !componentRef.current) return;
From 3cd4f8f2185bde2beeb3e11555190863cb5be840 Mon Sep 17 00:00:00 2001
From: semantic-release-bot
Date: Fri, 2 Jul 2021 13:12:41 +0000
Subject: [PATCH 40/48] chore(release): 18.2.1 [skip ci]
## [18.2.1](https://github.com/alfa-laboratory/core-components/compare/v18.2.0...v18.2.1) (2021-07-02)
### Bug Fixes
* **base-modal:** resubscribe observer when content node changed ([2fef06e](https://github.com/alfa-laboratory/core-components/commit/2fef06eea01354f58663a5f4470606123d31f9d4))
---
CHANGELOG.md | 7 +++++++
package.json | 2 +-
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7f1d707c3c..9c9be1eb1b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+## [18.2.1](https://github.com/alfa-laboratory/core-components/compare/v18.2.0...v18.2.1) (2021-07-02)
+
+
+### Bug Fixes
+
+* **base-modal:** resubscribe observer when content node changed ([2fef06e](https://github.com/alfa-laboratory/core-components/commit/2fef06eea01354f58663a5f4470606123d31f9d4))
+
# [18.2.0](https://github.com/alfa-laboratory/core-components/compare/v18.1.0...v18.2.0) (2021-06-30)
diff --git a/package.json b/package.json
index 0238227e76..0752002d04 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components",
- "version": "18.2.0",
+ "version": "18.2.1",
"private": true,
"workspaces": [
"packages/*"
From 3112f69ce8a9753de0a31708c19f671ac2ff4734 Mon Sep 17 00:00:00 2001
From: semantic-release-bot
Date: Fri, 2 Jul 2021 13:13:10 +0000
Subject: [PATCH 41/48] chore: publish
- @alfalab/core-components-base-modal@2.1.1
- @alfalab/core-components-bottom-sheet@1.1.1
- @alfalab/core-components-drawer@2.1.4
- @alfalab/core-components-modal@1.5.6
---
packages/base-modal/CHANGELOG.md | 11 +++++++++++
packages/base-modal/package.json | 2 +-
packages/bottom-sheet/CHANGELOG.md | 8 ++++++++
packages/bottom-sheet/package.json | 4 ++--
packages/drawer/CHANGELOG.md | 8 ++++++++
packages/drawer/package.json | 4 ++--
packages/modal/CHANGELOG.md | 8 ++++++++
packages/modal/package.json | 4 ++--
8 files changed, 42 insertions(+), 7 deletions(-)
diff --git a/packages/base-modal/CHANGELOG.md b/packages/base-modal/CHANGELOG.md
index b8678e1f81..fd4a3d4764 100644
--- a/packages/base-modal/CHANGELOG.md
+++ b/packages/base-modal/CHANGELOG.md
@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.1.1](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-base-modal@2.1.0...@alfalab/core-components-base-modal@2.1.1) (2021-07-02)
+
+
+### Bug Fixes
+
+* **base-modal:** resubscribe observer when content node changed ([2fef06e](https://github.com/alfa-laboratory/core-components/commit/2fef06eea01354f58663a5f4470606123d31f9d4))
+
+
+
+
+
# [2.1.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-base-modal@2.0.2...@alfalab/core-components-base-modal@2.1.0) (2021-06-28)
diff --git a/packages/base-modal/package.json b/packages/base-modal/package.json
index 469e7afbef..362ff76d60 100644
--- a/packages/base-modal/package.json
+++ b/packages/base-modal/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-base-modal",
- "version": "2.1.0",
+ "version": "2.1.1",
"description": "BaseModal component",
"keywords": [],
"license": "MIT",
diff --git a/packages/bottom-sheet/CHANGELOG.md b/packages/bottom-sheet/CHANGELOG.md
index dd5d421b93..e6d3c111a3 100644
--- a/packages/bottom-sheet/CHANGELOG.md
+++ b/packages/bottom-sheet/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.1.1](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-bottom-sheet@1.1.0...@alfalab/core-components-bottom-sheet@1.1.1) (2021-07-02)
+
+**Note:** Version bump only for package @alfalab/core-components-bottom-sheet
+
+
+
+
+
# 1.1.0 (2021-06-28)
diff --git a/packages/bottom-sheet/package.json b/packages/bottom-sheet/package.json
index 1dc0243528..a423d22026 100644
--- a/packages/bottom-sheet/package.json
+++ b/packages/bottom-sheet/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-bottom-sheet",
- "version": "1.1.0",
+ "version": "1.1.1",
"description": "Bottom sheet mobile component",
"keywords": [],
"license": "MIT",
@@ -21,7 +21,7 @@
},
"dependencies": {
"@alfalab/core-components-backdrop": "^1.1.2",
- "@alfalab/core-components-base-modal": "^2.1.0",
+ "@alfalab/core-components-base-modal": "^2.1.1",
"@alfalab/core-components-typography": "^1.5.1",
"classnames": "^2.2.6",
"react-swipeable": "^5.5.0",
diff --git a/packages/drawer/CHANGELOG.md b/packages/drawer/CHANGELOG.md
index 0a94fa5213..8f77cb70f9 100644
--- a/packages/drawer/CHANGELOG.md
+++ b/packages/drawer/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [2.1.4](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-drawer@2.1.3...@alfalab/core-components-drawer@2.1.4) (2021-07-02)
+
+**Note:** Version bump only for package @alfalab/core-components-drawer
+
+
+
+
+
## [2.1.3](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-drawer@2.1.2...@alfalab/core-components-drawer@2.1.3) (2021-06-28)
**Note:** Version bump only for package @alfalab/core-components-drawer
diff --git a/packages/drawer/package.json b/packages/drawer/package.json
index a0b53b697a..08c00ffc21 100644
--- a/packages/drawer/package.json
+++ b/packages/drawer/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-drawer",
- "version": "2.1.3",
+ "version": "2.1.4",
"description": "Drawer component",
"gitHead": "f054fef20200664c65e2501ef1f916c555cdf05d",
"keywords": [],
@@ -21,7 +21,7 @@
"react-dom": "^16.9.0 || ^17.0.1"
},
"dependencies": {
- "@alfalab/core-components-base-modal": "^2.1.0",
+ "@alfalab/core-components-base-modal": "^2.1.1",
"classnames": "^2.2.6"
}
}
diff --git a/packages/modal/CHANGELOG.md b/packages/modal/CHANGELOG.md
index 782016b891..936e354ebd 100644
--- a/packages/modal/CHANGELOG.md
+++ b/packages/modal/CHANGELOG.md
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.5.6](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-modal@1.5.5...@alfalab/core-components-modal@1.5.6) (2021-07-02)
+
+**Note:** Version bump only for package @alfalab/core-components-modal
+
+
+
+
+
## [1.5.5](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-modal@1.5.4...@alfalab/core-components-modal@1.5.5) (2021-06-28)
**Note:** Version bump only for package @alfalab/core-components-modal
diff --git a/packages/modal/package.json b/packages/modal/package.json
index 2b6a53432b..342361ff8b 100644
--- a/packages/modal/package.json
+++ b/packages/modal/package.json
@@ -1,6 +1,6 @@
{
"name": "@alfalab/core-components-modal",
- "version": "1.5.5",
+ "version": "1.5.6",
"description": "Modal component",
"keywords": [],
"license": "MIT",
@@ -15,7 +15,7 @@
"access": "public"
},
"dependencies": {
- "@alfalab/core-components-base-modal": "^2.1.0",
+ "@alfalab/core-components-base-modal": "^2.1.1",
"@alfalab/core-components-button": "^3.0.1",
"@alfalab/core-components-mq": "1.0.0",
"classnames": "^2.2.6",
From 65b3386ed66caf9d9846cab3e29ea9c4bbeab370 Mon Sep 17 00:00:00 2001
From: reme3d2y
Date: Wed, 9 Jun 2021 09:57:13 +0300
Subject: [PATCH 42/48] chore: upgrade version
---
package.json | 14 +-
yarn.lock | 4217 +++++++++++++++++++++++++++++++-------------------
2 files changed, 2600 insertions(+), 1631 deletions(-)
diff --git a/package.json b/package.json
index 0752002d04..93771cd840 100644
--- a/package.json
+++ b/package.json
@@ -95,13 +95,13 @@
"@semantic-release/github": "^7.1.1",
"@semantic-release/npm": "^7.0.6",
"@semantic-release/release-notes-generator": "^9.0.1",
- "@storybook/addon-actions": "^5.3.8",
- "@storybook/addon-docs": "^5.3.17",
- "@storybook/addon-knobs": "^5.3.8",
- "@storybook/addons": "^5.3.8",
- "@storybook/preset-create-react-app": "^2.1.1",
- "@storybook/preset-typescript": "^1.2.0",
- "@storybook/react": "^5.3.8",
+ "@storybook/addon-actions": "^6.2.9",
+ "@storybook/addon-docs": "^6.2.9",
+ "@storybook/addon-knobs": "^6.2.9",
+ "@storybook/addons": "^6.2.9",
+ "@storybook/preset-create-react-app": "^3.1.7",
+ "@storybook/preset-typescript": "^3.0.0",
+ "@storybook/react": "^6.2.9",
"@testing-library/dom": "^7.22.2",
"@testing-library/jest-dom": "^5.10.1",
"@testing-library/react": "^10.2.1",
diff --git a/yarn.lock b/yarn.lock
index c3cde9fd1d..63ad0253d7 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -171,12 +171,12 @@
resolved "https://registry.yarnpkg.com/@alfalab/utils/-/utils-1.2.0.tgz#604411c6bd266b663c6cc251d593ca4e8bc3a9a4"
integrity sha512-P/nfoDPIdmhk0LrrFP8rEtKsmyTwUs3OHTI/F8iOiJjGWzWFzTzE5fE48ztRRj/rUuWQ/FJHU3zazQ19Q9EepQ==
-"@babel/code-frame@7.5.5":
- version "7.5.5"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d"
- integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==
+"@babel/code-frame@7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a"
+ integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==
dependencies:
- "@babel/highlight" "^7.0.0"
+ "@babel/highlight" "^7.10.4"
"@babel/code-frame@7.8.3":
version "7.8.3"
@@ -192,11 +192,23 @@
dependencies:
"@babel/highlight" "^7.10.4"
+"@babel/code-frame@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658"
+ integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==
+ dependencies:
+ "@babel/highlight" "^7.12.13"
+
"@babel/compat-data@^7.12.5", "@babel/compat-data@^7.12.7", "@babel/compat-data@^7.9.0":
version "7.12.7"
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.7.tgz#9329b4782a7d6bbd7eef57e11addf91ee3ef1e41"
integrity sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw==
+"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.14.4":
+ version "7.14.4"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.4.tgz#45720fe0cecf3fd42019e1d12cc3d27fadc98d58"
+ integrity sha512-i2wXrWQNkH6JplJQGn3Rd2I4Pij8GdHkXwHMxm+zV5YG/Jci+bCNrWZEWC4o+umiDkRrRs4dVzH3X4GP7vyjQQ==
+
"@babel/core@7.12.9":
version "7.12.9"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.9.tgz#fd450c4ec10cdbb980e2928b7aa7a28484593fc8"
@@ -241,7 +253,7 @@
semver "^5.4.1"
source-map "^0.5.0"
-"@babel/core@>=7.2.2", "@babel/core@^7.1.0", "@babel/core@^7.1.6", "@babel/core@^7.12.3", "@babel/core@^7.4.5", "@babel/core@^7.7.5":
+"@babel/core@>=7.2.2", "@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.4.5", "@babel/core@^7.7.5":
version "7.12.10"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.10.tgz#b79a2e1b9f70ed3d84bbfb6d8c4ef825f606bccd"
integrity sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==
@@ -262,6 +274,27 @@
semver "^5.4.1"
source-map "^0.5.0"
+"@babel/core@^7.12.10":
+ version "7.14.3"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.3.tgz#5395e30405f0776067fbd9cf0884f15bfb770a38"
+ integrity sha512-jB5AmTKOCSJIZ72sd78ECEhuPiDMKlQdDI/4QRI6lzYATx5SSogS1oQA2AoPecRCknm30gHi2l+QVvNUu3wZAg==
+ dependencies:
+ "@babel/code-frame" "^7.12.13"
+ "@babel/generator" "^7.14.3"
+ "@babel/helper-compilation-targets" "^7.13.16"
+ "@babel/helper-module-transforms" "^7.14.2"
+ "@babel/helpers" "^7.14.0"
+ "@babel/parser" "^7.14.3"
+ "@babel/template" "^7.12.13"
+ "@babel/traverse" "^7.14.2"
+ "@babel/types" "^7.14.2"
+ convert-source-map "^1.7.0"
+ debug "^4.1.0"
+ gensync "^1.0.0-beta.2"
+ json5 "^2.1.2"
+ semver "^6.3.0"
+ source-map "^0.5.0"
+
"@babel/generator@^7.12.10", "@babel/generator@^7.12.11", "@babel/generator@^7.12.5", "@babel/generator@^7.4.0", "@babel/generator@^7.9.0":
version "7.12.11"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.11.tgz#98a7df7b8c358c9a37ab07a24056853016aba3af"
@@ -271,6 +304,15 @@
jsesc "^2.5.1"
source-map "^0.5.0"
+"@babel/generator@^7.14.2", "@babel/generator@^7.14.3":
+ version "7.14.3"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.3.tgz#0c2652d91f7bddab7cccc6ba8157e4f40dcedb91"
+ integrity sha512-bn0S6flG/j0xtQdz3hsjJ624h3W0r3llttBMfyHX3YrZ/KtLYr15bjA0FXkgW7FpvrDuTuElXeVjiKlYRpnOFA==
+ dependencies:
+ "@babel/types" "^7.14.2"
+ jsesc "^2.5.1"
+ source-map "^0.5.0"
+
"@babel/helper-annotate-as-pure@^7.10.4", "@babel/helper-annotate-as-pure@^7.12.10":
version "7.12.10"
resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz#54ab9b000e60a93644ce17b3f37d313aaf1d115d"
@@ -278,6 +320,13 @@
dependencies:
"@babel/types" "^7.12.10"
+"@babel/helper-annotate-as-pure@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz#0f58e86dfc4bb3b1fcd7db806570e177d439b6ab"
+ integrity sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==
+ dependencies:
+ "@babel/types" "^7.12.13"
+
"@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz#bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3"
@@ -286,6 +335,14 @@
"@babel/helper-explode-assignable-expression" "^7.10.4"
"@babel/types" "^7.10.4"
+"@babel/helper-builder-binary-assignment-operator-visitor@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz#6bc20361c88b0a74d05137a65cac8d3cbf6f61fc"
+ integrity sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==
+ dependencies:
+ "@babel/helper-explode-assignable-expression" "^7.12.13"
+ "@babel/types" "^7.12.13"
+
"@babel/helper-compilation-targets@^7.12.5", "@babel/helper-compilation-targets@^7.8.7":
version "7.12.5"
resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz#cb470c76198db6a24e9dbc8987275631e5d29831"
@@ -296,6 +353,16 @@
browserslist "^4.14.5"
semver "^5.5.0"
+"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.13.16", "@babel/helper-compilation-targets@^7.14.4":
+ version "7.14.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.4.tgz#33ebd0ffc34248051ee2089350a929ab02f2a516"
+ integrity sha512-JgdzOYZ/qGaKTVkn5qEDV/SXAh8KcyUVkCoSWGN8T3bwrgd6m+/dJa2kVGi6RJYJgEYPBdZ84BZp9dUjNWkBaA==
+ dependencies:
+ "@babel/compat-data" "^7.14.4"
+ "@babel/helper-validator-option" "^7.12.17"
+ browserslist "^4.16.6"
+ semver "^6.3.0"
+
"@babel/helper-create-class-features-plugin@^7.12.1", "@babel/helper-create-class-features-plugin@^7.8.3":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz#3c45998f431edd4a9214c5f1d3ad1448a6137f6e"
@@ -307,6 +374,18 @@
"@babel/helper-replace-supers" "^7.12.1"
"@babel/helper-split-export-declaration" "^7.10.4"
+"@babel/helper-create-class-features-plugin@^7.13.0", "@babel/helper-create-class-features-plugin@^7.14.0", "@babel/helper-create-class-features-plugin@^7.14.2", "@babel/helper-create-class-features-plugin@^7.14.3", "@babel/helper-create-class-features-plugin@^7.14.4":
+ version "7.14.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.4.tgz#abf888d836a441abee783c75229279748705dc42"
+ integrity sha512-idr3pthFlDCpV+p/rMgGLGYIVtazeatrSOQk8YzO2pAepIjQhCN3myeihVg58ax2bbbGK9PUE1reFi7axOYIOw==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.12.13"
+ "@babel/helper-function-name" "^7.14.2"
+ "@babel/helper-member-expression-to-functions" "^7.13.12"
+ "@babel/helper-optimise-call-expression" "^7.12.13"
+ "@babel/helper-replace-supers" "^7.14.4"
+ "@babel/helper-split-export-declaration" "^7.12.13"
+
"@babel/helper-create-regexp-features-plugin@^7.12.1":
version "7.12.7"
resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz#2084172e95443fa0a09214ba1bb328f9aea1278f"
@@ -315,6 +394,14 @@
"@babel/helper-annotate-as-pure" "^7.10.4"
regexpu-core "^4.7.1"
+"@babel/helper-create-regexp-features-plugin@^7.12.13":
+ version "7.14.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.3.tgz#149aa6d78c016e318c43e2409a0ae9c136a86688"
+ integrity sha512-JIB2+XJrb7v3zceV2XzDhGIB902CmKGSpSl4q2C6agU9SNLG/2V1RtFRGPG1Ajh9STj3+q6zJMOC+N/pp2P9DA==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.12.13"
+ regexpu-core "^4.7.1"
+
"@babel/helper-define-map@^7.10.4":
version "7.10.5"
resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz#b53c10db78a640800152692b13393147acb9bb30"
@@ -324,6 +411,34 @@
"@babel/types" "^7.10.5"
lodash "^4.17.19"
+"@babel/helper-define-polyfill-provider@^0.1.5":
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.1.5.tgz#3c2f91b7971b9fc11fe779c945c014065dea340e"
+ integrity sha512-nXuzCSwlJ/WKr8qxzW816gwyT6VZgiJG17zR40fou70yfAcqjoNyTLl/DQ+FExw5Hx5KNqshmN8Ldl/r2N7cTg==
+ dependencies:
+ "@babel/helper-compilation-targets" "^7.13.0"
+ "@babel/helper-module-imports" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/traverse" "^7.13.0"
+ debug "^4.1.1"
+ lodash.debounce "^4.0.8"
+ resolve "^1.14.2"
+ semver "^6.1.2"
+
+"@babel/helper-define-polyfill-provider@^0.2.2":
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz#0525edec5094653a282688d34d846e4c75e9c0b6"
+ integrity sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==
+ dependencies:
+ "@babel/helper-compilation-targets" "^7.13.0"
+ "@babel/helper-module-imports" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/traverse" "^7.13.0"
+ debug "^4.1.1"
+ lodash.debounce "^4.0.8"
+ resolve "^1.14.2"
+ semver "^6.1.2"
+
"@babel/helper-explode-assignable-expression@^7.10.4":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz#8006a466695c4ad86a2a5f2fb15b5f2c31ad5633"
@@ -331,6 +446,13 @@
dependencies:
"@babel/types" "^7.12.1"
+"@babel/helper-explode-assignable-expression@^7.12.13":
+ version "7.13.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz#17b5c59ff473d9f956f40ef570cf3a76ca12657f"
+ integrity sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA==
+ dependencies:
+ "@babel/types" "^7.13.0"
+
"@babel/helper-function-name@^7.10.4", "@babel/helper-function-name@^7.12.11":
version "7.12.11"
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz#1fd7738aee5dcf53c3ecff24f1da9c511ec47b42"
@@ -340,6 +462,15 @@
"@babel/template" "^7.12.7"
"@babel/types" "^7.12.11"
+"@babel/helper-function-name@^7.12.13", "@babel/helper-function-name@^7.14.2":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.2.tgz#397688b590760b6ef7725b5f0860c82427ebaac2"
+ integrity sha512-NYZlkZRydxw+YT56IlhIcS8PAhb+FEUiOzuhFTfqDyPmzAhRge6ua0dQYT/Uh0t/EDHq05/i+e5M2d4XvjgarQ==
+ dependencies:
+ "@babel/helper-get-function-arity" "^7.12.13"
+ "@babel/template" "^7.12.13"
+ "@babel/types" "^7.14.2"
+
"@babel/helper-get-function-arity@^7.12.10":
version "7.12.10"
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz#b158817a3165b5faa2047825dfa61970ddcc16cf"
@@ -347,6 +478,13 @@
dependencies:
"@babel/types" "^7.12.10"
+"@babel/helper-get-function-arity@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583"
+ integrity sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==
+ dependencies:
+ "@babel/types" "^7.12.13"
+
"@babel/helper-hoist-variables@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz#d49b001d1d5a68ca5e6604dda01a6297f7c9381e"
@@ -354,6 +492,14 @@
dependencies:
"@babel/types" "^7.10.4"
+"@babel/helper-hoist-variables@^7.13.0":
+ version "7.13.16"
+ resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.16.tgz#1b1651249e94b51f8f0d33439843e33e39775b30"
+ integrity sha512-1eMtTrXtrwscjcAeO4BVK+vvkxaLJSPFz1w1KLawz6HLNi9bPFGBNwwDyVfiu1Tv/vRRFYfoGaKhmAQPGPn5Wg==
+ dependencies:
+ "@babel/traverse" "^7.13.15"
+ "@babel/types" "^7.13.16"
+
"@babel/helper-member-expression-to-functions@^7.12.1", "@babel/helper-member-expression-to-functions@^7.12.7":
version "7.12.7"
resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz#aa77bd0396ec8114e5e30787efa78599d874a855"
@@ -361,6 +507,13 @@
dependencies:
"@babel/types" "^7.12.7"
+"@babel/helper-member-expression-to-functions@^7.13.12":
+ version "7.13.12"
+ resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz#dfe368f26d426a07299d8d6513821768216e6d72"
+ integrity sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==
+ dependencies:
+ "@babel/types" "^7.13.12"
+
"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.1", "@babel/helper-module-imports@^7.12.5", "@babel/helper-module-imports@^7.8.3":
version "7.12.5"
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz#1bfc0229f794988f76ed0a4d4e90860850b54dfb"
@@ -368,6 +521,13 @@
dependencies:
"@babel/types" "^7.12.5"
+"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.13.12":
+ version "7.13.12"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz#c6a369a6f3621cb25da014078684da9196b61977"
+ integrity sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==
+ dependencies:
+ "@babel/types" "^7.13.12"
+
"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.9.0":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz#7954fec71f5b32c48e4b303b437c34453fd7247c"
@@ -383,6 +543,20 @@
"@babel/types" "^7.12.1"
lodash "^4.17.19"
+"@babel/helper-module-transforms@^7.13.0", "@babel/helper-module-transforms@^7.14.0", "@babel/helper-module-transforms@^7.14.2":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.2.tgz#ac1cc30ee47b945e3e0c4db12fa0c5389509dfe5"
+ integrity sha512-OznJUda/soKXv0XhpvzGWDnml4Qnwp16GN+D/kZIdLsWoHj05kyu8Rm5kXmMef+rVJZ0+4pSGLkeixdqNUATDA==
+ dependencies:
+ "@babel/helper-module-imports" "^7.13.12"
+ "@babel/helper-replace-supers" "^7.13.12"
+ "@babel/helper-simple-access" "^7.13.12"
+ "@babel/helper-split-export-declaration" "^7.12.13"
+ "@babel/helper-validator-identifier" "^7.14.0"
+ "@babel/template" "^7.12.13"
+ "@babel/traverse" "^7.14.2"
+ "@babel/types" "^7.14.2"
+
"@babel/helper-optimise-call-expression@^7.10.4", "@babel/helper-optimise-call-expression@^7.12.10":
version "7.12.10"
resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz#94ca4e306ee11a7dd6e9f42823e2ac6b49881e2d"
@@ -390,11 +564,23 @@
dependencies:
"@babel/types" "^7.12.10"
+"@babel/helper-optimise-call-expression@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz#5c02d171b4c8615b1e7163f888c1c81c30a2aaea"
+ integrity sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==
+ dependencies:
+ "@babel/types" "^7.12.13"
+
"@babel/helper-plugin-utils@7.10.4", "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375"
integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==
+"@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0":
+ version "7.13.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz#806526ce125aed03373bc416a828321e3a6a33af"
+ integrity sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ==
+
"@babel/helper-remap-async-to-generator@^7.12.1":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz#8c4dbbf916314f6047dc05e6a2217074238347fd"
@@ -404,6 +590,15 @@
"@babel/helper-wrap-function" "^7.10.4"
"@babel/types" "^7.12.1"
+"@babel/helper-remap-async-to-generator@^7.13.0":
+ version "7.13.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz#376a760d9f7b4b2077a9dd05aa9c3927cadb2209"
+ integrity sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.12.13"
+ "@babel/helper-wrap-function" "^7.13.0"
+ "@babel/types" "^7.13.0"
+
"@babel/helper-replace-supers@^7.12.1":
version "7.12.11"
resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz#ea511658fc66c7908f923106dd88e08d1997d60d"
@@ -414,6 +609,16 @@
"@babel/traverse" "^7.12.10"
"@babel/types" "^7.12.11"
+"@babel/helper-replace-supers@^7.12.13", "@babel/helper-replace-supers@^7.13.12", "@babel/helper-replace-supers@^7.14.4":
+ version "7.14.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.14.4.tgz#b2ab16875deecfff3ddfcd539bc315f72998d836"
+ integrity sha512-zZ7uHCWlxfEAAOVDYQpEf/uyi1dmeC7fX4nCf2iz9drnCwi1zvwXL3HwWWNXUQEJ1k23yVn3VbddiI9iJEXaTQ==
+ dependencies:
+ "@babel/helper-member-expression-to-functions" "^7.13.12"
+ "@babel/helper-optimise-call-expression" "^7.12.13"
+ "@babel/traverse" "^7.14.2"
+ "@babel/types" "^7.14.4"
+
"@babel/helper-simple-access@^7.12.1":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136"
@@ -421,6 +626,13 @@
dependencies:
"@babel/types" "^7.12.1"
+"@babel/helper-simple-access@^7.13.12":
+ version "7.13.12"
+ resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz#dd6c538afb61819d205a012c31792a39c7a5eaf6"
+ integrity sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==
+ dependencies:
+ "@babel/types" "^7.13.12"
+
"@babel/helper-skip-transparent-expression-wrappers@^7.12.1":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz#462dc63a7e435ade8468385c63d2b84cce4b3cbf"
@@ -435,16 +647,33 @@
dependencies:
"@babel/types" "^7.12.11"
+"@babel/helper-split-export-declaration@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05"
+ integrity sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==
+ dependencies:
+ "@babel/types" "^7.12.13"
+
"@babel/helper-validator-identifier@^7.10.4", "@babel/helper-validator-identifier@^7.12.11":
version "7.12.11"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed"
integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==
+"@babel/helper-validator-identifier@^7.14.0":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288"
+ integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A==
+
"@babel/helper-validator-option@^7.12.1", "@babel/helper-validator-option@^7.12.11":
version "7.12.11"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz#d66cb8b7a3e7fe4c6962b32020a131ecf0847f4f"
integrity sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw==
+"@babel/helper-validator-option@^7.12.17":
+ version "7.12.17"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831"
+ integrity sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw==
+
"@babel/helper-wrap-function@^7.10.4":
version "7.12.3"
resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz#3332339fc4d1fbbf1c27d7958c27d34708e990d9"
@@ -455,6 +684,16 @@
"@babel/traverse" "^7.10.4"
"@babel/types" "^7.10.4"
+"@babel/helper-wrap-function@^7.13.0":
+ version "7.13.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz#bdb5c66fda8526ec235ab894ad53a1235c79fcc4"
+ integrity sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==
+ dependencies:
+ "@babel/helper-function-name" "^7.12.13"
+ "@babel/template" "^7.12.13"
+ "@babel/traverse" "^7.13.0"
+ "@babel/types" "^7.13.0"
+
"@babel/helpers@^7.12.5", "@babel/helpers@^7.9.0":
version "7.12.5"
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.5.tgz#1a1ba4a768d9b58310eda516c449913fe647116e"
@@ -464,7 +703,16 @@
"@babel/traverse" "^7.12.5"
"@babel/types" "^7.12.5"
-"@babel/highlight@^7.0.0", "@babel/highlight@^7.10.4", "@babel/highlight@^7.8.3":
+"@babel/helpers@^7.14.0":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.0.tgz#ea9b6be9478a13d6f961dbb5f36bf75e2f3b8f62"
+ integrity sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg==
+ dependencies:
+ "@babel/template" "^7.12.13"
+ "@babel/traverse" "^7.14.0"
+ "@babel/types" "^7.14.0"
+
+"@babel/highlight@^7.10.4", "@babel/highlight@^7.8.3":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143"
integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==
@@ -473,11 +721,34 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
-"@babel/parser@^7.1.0", "@babel/parser@^7.1.6", "@babel/parser@^7.12.0", "@babel/parser@^7.12.10", "@babel/parser@^7.12.11", "@babel/parser@^7.12.7", "@babel/parser@^7.4.2", "@babel/parser@^7.4.3", "@babel/parser@^7.6.0", "@babel/parser@^7.7.0", "@babel/parser@^7.9.0", "@babel/parser@^7.9.6":
+"@babel/highlight@^7.12.13":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.0.tgz#3197e375711ef6bf834e67d0daec88e4f46113cf"
+ integrity sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.14.0"
+ chalk "^2.0.0"
+ js-tokens "^4.0.0"
+
+"@babel/parser@^7.1.0", "@babel/parser@^7.12.10", "@babel/parser@^7.12.11", "@babel/parser@^7.12.7", "@babel/parser@^7.4.3", "@babel/parser@^7.7.0", "@babel/parser@^7.9.0":
version "7.12.11"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.11.tgz#9ce3595bcd74bc5c466905e86c535b8b25011e79"
integrity sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==
+"@babel/parser@^7.12.13", "@babel/parser@^7.14.2", "@babel/parser@^7.14.3":
+ version "7.14.4"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.4.tgz#a5c560d6db6cd8e6ed342368dea8039232cbab18"
+ integrity sha512-ArliyUsWDUqEGfWcmzpGUzNfLxTdTp6WU4IuP6QFSp9gGfWS6boxFCkJSJ/L4+RG8z/FnIU3WxCk6hPL9SSWeA==
+
+"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.13.12":
+ version "7.13.12"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz#a3484d84d0b549f3fc916b99ee4783f26fabad2a"
+ integrity sha512-d0u3zWKcoZf379fOeJdr1a5WPDny4aOFZ6hlfKivgK0LY7ZxNfoaHL2fWwdGtHyVvra38FC+HVYkO+byfSA8AQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1"
+ "@babel/plugin-proposal-optional-chaining" "^7.13.12"
+
"@babel/plugin-proposal-async-generator-functions@^7.12.1", "@babel/plugin-proposal-async-generator-functions@^7.8.3":
version "7.12.12"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.12.tgz#04b8f24fd4532008ab4e79f788468fd5a8476566"
@@ -487,6 +758,15 @@
"@babel/helper-remap-async-to-generator" "^7.12.1"
"@babel/plugin-syntax-async-generators" "^7.8.0"
+"@babel/plugin-proposal-async-generator-functions@^7.14.2":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.2.tgz#3a2085abbf5d5f962d480dbc81347385ed62eb1e"
+ integrity sha512-b1AM4F6fwck4N8ItZ/AtC4FP/cqZqmKRQ4FaTDutwSYyjuhtvsGEMLK4N/ztV/ImP40BjIDyMgBQAeAMsQYVFQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-remap-async-to-generator" "^7.13.0"
+ "@babel/plugin-syntax-async-generators" "^7.8.4"
+
"@babel/plugin-proposal-class-properties@7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.8.3.tgz#5e06654af5cd04b608915aada9b2a6788004464e"
@@ -495,7 +775,7 @@
"@babel/helper-create-class-features-plugin" "^7.8.3"
"@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-proposal-class-properties@^7.1.0", "@babel/plugin-proposal-class-properties@^7.12.1", "@babel/plugin-proposal-class-properties@^7.7.0":
+"@babel/plugin-proposal-class-properties@^7.12.1":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz#a082ff541f2a29a4821065b8add9346c0c16e5de"
integrity sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==
@@ -503,6 +783,23 @@
"@babel/helper-create-class-features-plugin" "^7.12.1"
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-proposal-class-properties@^7.13.0":
+ version "7.13.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz#146376000b94efd001e57a40a88a525afaab9f37"
+ integrity sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.13.0"
+ "@babel/helper-plugin-utils" "^7.13.0"
+
+"@babel/plugin-proposal-class-static-block@^7.14.3":
+ version "7.14.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.3.tgz#5a527e2cae4a4753119c3a3e7f64ecae8ccf1360"
+ integrity sha512-HEjzp5q+lWSjAgJtSluFDrGGosmwTgKwCXdDQZvhKsRlwv3YdkUEqxNrrjesJd+B9E9zvr1PVPVBvhYZ9msjvQ==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.14.3"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/plugin-syntax-class-static-block" "^7.12.13"
+
"@babel/plugin-proposal-decorators@7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.8.3.tgz#2156860ab65c5abf068c3f67042184041066543e"
@@ -512,6 +809,15 @@
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-syntax-decorators" "^7.8.3"
+"@babel/plugin-proposal-decorators@^7.12.12":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.14.2.tgz#e68c3c5e4a6a08834456568256fc3e71b93590cf"
+ integrity sha512-LauAqDd/VjQDtae58QgBcEOE42NNP+jB2OE+XeC3KBI/E+BhhRjtr5viCIrj1hmu1YvrguLipIPRJZmS5yUcFw==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.14.2"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/plugin-syntax-decorators" "^7.12.13"
+
"@babel/plugin-proposal-dynamic-import@^7.12.1", "@babel/plugin-proposal-dynamic-import@^7.8.3":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz#43eb5c2a3487ecd98c5c8ea8b5fdb69a2749b2dc"
@@ -520,6 +826,22 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-dynamic-import" "^7.8.0"
+"@babel/plugin-proposal-dynamic-import@^7.14.2":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.2.tgz#01ebabd7c381cff231fa43e302939a9de5be9d9f"
+ integrity sha512-oxVQZIWFh91vuNEMKltqNsKLFWkOIyJc95k2Gv9lWVyDfPUQGSSlbDEgWuJUU1afGE9WwlzpucMZ3yDRHIItkA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/plugin-syntax-dynamic-import" "^7.8.3"
+
+"@babel/plugin-proposal-export-default-from@^7.12.1":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.12.13.tgz#f110284108a9b2b96f01b15b3be9e54c2610a989"
+ integrity sha512-idIsBT+DGXdOHL82U+8bwX4goHm/z10g8sGGrQroh+HCRcm7mDv/luaGdWJQMTuCX2FsdXS7X0Nyyzp4znAPJA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.12.13"
+ "@babel/plugin-syntax-export-default-from" "^7.12.13"
+
"@babel/plugin-proposal-export-namespace-from@^7.12.1":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz#8b9b8f376b2d88f5dd774e4d24a5cc2e3679b6d4"
@@ -528,6 +850,14 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-export-namespace-from" "^7.8.3"
+"@babel/plugin-proposal-export-namespace-from@^7.14.2":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.2.tgz#62542f94aa9ce8f6dba79eec698af22112253791"
+ integrity sha512-sRxW3z3Zp3pFfLAgVEvzTFutTXax837oOatUIvSG9o5gRj9mKwm3br1Se5f4QalTQs9x4AzlA/HrCWbQIHASUQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
+
"@babel/plugin-proposal-json-strings@^7.12.1", "@babel/plugin-proposal-json-strings@^7.8.3":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz#d45423b517714eedd5621a9dfdc03fa9f4eb241c"
@@ -536,6 +866,14 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-json-strings" "^7.8.0"
+"@babel/plugin-proposal-json-strings@^7.14.2":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.2.tgz#830b4e2426a782e8b2878fbfe2cba85b70cbf98c"
+ integrity sha512-w2DtsfXBBJddJacXMBhElGEYqCZQqN99Se1qeYn8DVLB33owlrlLftIbMzn5nz1OITfDVknXF433tBrLEAOEjA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/plugin-syntax-json-strings" "^7.8.3"
+
"@babel/plugin-proposal-logical-assignment-operators@^7.12.1":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz#f2c490d36e1b3c9659241034a5d2cd50263a2751"
@@ -544,6 +882,14 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
+"@babel/plugin-proposal-logical-assignment-operators@^7.14.2":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.2.tgz#222348c080a1678e0e74ea63fe76f275882d1fd7"
+ integrity sha512-1JAZtUrqYyGsS7IDmFeaem+/LJqujfLZ2weLR9ugB0ufUPjzf8cguyVT1g5im7f7RXxuLq1xUxEzvm68uYRtGg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
+
"@babel/plugin-proposal-nullish-coalescing-operator@7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz#e4572253fdeed65cddeecfdab3f928afeb2fd5d2"
@@ -560,6 +906,14 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0"
+"@babel/plugin-proposal-nullish-coalescing-operator@^7.14.2":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.2.tgz#425b11dc62fc26939a2ab42cbba680bdf5734546"
+ integrity sha512-ebR0zU9OvI2N4qiAC38KIAK75KItpIPTpAtd2r4OZmMFeKbKJpUFLYP2EuDut82+BmYi8sz42B+TfTptJ9iG5Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
+
"@babel/plugin-proposal-numeric-separator@7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz#5d6769409699ec9b3b68684cd8116cedff93bad8"
@@ -576,7 +930,15 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-numeric-separator" "^7.10.4"
-"@babel/plugin-proposal-object-rest-spread@7.12.1", "@babel/plugin-proposal-object-rest-spread@^7.0.0", "@babel/plugin-proposal-object-rest-spread@^7.12.1", "@babel/plugin-proposal-object-rest-spread@^7.6.2", "@babel/plugin-proposal-object-rest-spread@^7.9.0":
+"@babel/plugin-proposal-numeric-separator@^7.14.2":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.2.tgz#82b4cc06571143faf50626104b335dd71baa4f9e"
+ integrity sha512-DcTQY9syxu9BpU3Uo94fjCB3LN9/hgPS8oUL7KrSW3bA2ePrKZZPJcc5y0hoJAM9dft3pGfErtEUvxXQcfLxUg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/plugin-syntax-numeric-separator" "^7.10.4"
+
+"@babel/plugin-proposal-object-rest-spread@7.12.1", "@babel/plugin-proposal-object-rest-spread@^7.12.1", "@babel/plugin-proposal-object-rest-spread@^7.9.0":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz#def9bd03cea0f9b72283dac0ec22d289c7691069"
integrity sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==
@@ -585,6 +947,17 @@
"@babel/plugin-syntax-object-rest-spread" "^7.8.0"
"@babel/plugin-transform-parameters" "^7.12.1"
+"@babel/plugin-proposal-object-rest-spread@^7.14.4":
+ version "7.14.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.4.tgz#0e2b4de419915dc0b409378e829412e2031777c4"
+ integrity sha512-AYosOWBlyyXEagrPRfLJ1enStufsr7D1+ddpj8OLi9k7B6+NdZ0t/9V7Fh+wJ4g2Jol8z2JkgczYqtWrZd4vbA==
+ dependencies:
+ "@babel/compat-data" "^7.14.4"
+ "@babel/helper-compilation-targets" "^7.14.4"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
+ "@babel/plugin-transform-parameters" "^7.14.2"
+
"@babel/plugin-proposal-optional-catch-binding@^7.12.1", "@babel/plugin-proposal-optional-catch-binding@^7.8.3":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz#ccc2421af64d3aae50b558a71cede929a5ab2942"
@@ -593,6 +966,14 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-optional-catch-binding" "^7.8.0"
+"@babel/plugin-proposal-optional-catch-binding@^7.14.2":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.2.tgz#150d4e58e525b16a9a1431bd5326c4eed870d717"
+ integrity sha512-XtkJsmJtBaUbOxZsNk0Fvrv8eiqgneug0A6aqLFZ4TSkar2L5dSXWcnUKHgmjJt49pyB/6ZHvkr3dPgl9MOWRQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
+
"@babel/plugin-proposal-optional-chaining@7.9.0":
version "7.9.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz#31db16b154c39d6b8a645292472b98394c292a58"
@@ -610,6 +991,15 @@
"@babel/helper-skip-transparent-expression-wrappers" "^7.12.1"
"@babel/plugin-syntax-optional-chaining" "^7.8.0"
+"@babel/plugin-proposal-optional-chaining@^7.13.12", "@babel/plugin-proposal-optional-chaining@^7.14.2":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.2.tgz#df8171a8b9c43ebf4c1dabe6311b432d83e1b34e"
+ integrity sha512-qQByMRPwMZJainfig10BoaDldx/+VDtNcrA7qdNaEOAj6VXud+gfrkA8j4CRAU5HjnWREXqIpSpH30qZX1xivA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1"
+ "@babel/plugin-syntax-optional-chaining" "^7.8.3"
+
"@babel/plugin-proposal-private-methods@^7.12.1":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz#86814f6e7a21374c980c10d38b4493e703f4a389"
@@ -618,6 +1008,24 @@
"@babel/helper-create-class-features-plugin" "^7.12.1"
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-proposal-private-methods@^7.13.0":
+ version "7.13.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz#04bd4c6d40f6e6bbfa2f57e2d8094bad900ef787"
+ integrity sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.13.0"
+ "@babel/helper-plugin-utils" "^7.13.0"
+
+"@babel/plugin-proposal-private-property-in-object@^7.14.0":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.0.tgz#b1a1f2030586b9d3489cc26179d2eb5883277636"
+ integrity sha512-59ANdmEwwRUkLjB7CRtwJxxwtjESw+X2IePItA+RGQh+oy5RmpCh/EvVVvh5XQc3yxsm5gtv0+i9oBZhaDNVTg==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.12.13"
+ "@babel/helper-create-class-features-plugin" "^7.14.0"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/plugin-syntax-private-property-in-object" "^7.14.0"
+
"@babel/plugin-proposal-unicode-property-regex@^7.12.1", "@babel/plugin-proposal-unicode-property-regex@^7.4.4", "@babel/plugin-proposal-unicode-property-regex@^7.8.3":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz#2a183958d417765b9eae334f47758e5d6a82e072"
@@ -626,6 +1034,14 @@
"@babel/helper-create-regexp-features-plugin" "^7.12.1"
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-proposal-unicode-property-regex@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz#bebde51339be829c17aaaaced18641deb62b39ba"
+ integrity sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.12.13"
+
"@babel/plugin-syntax-async-generators@^7.8.0", "@babel/plugin-syntax-async-generators@^7.8.4":
version "7.8.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"
@@ -647,6 +1063,27 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-syntax-class-properties@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10"
+ integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.12.13"
+
+"@babel/plugin-syntax-class-static-block@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.12.13.tgz#8e3d674b0613e67975ceac2776c97b60cafc5c9c"
+ integrity sha512-ZmKQ0ZXR0nYpHZIIuj9zE7oIqCx2hw9TKi+lIo73NNrMPAZGHfS92/VRV0ZmPj6H2ffBgyFHXvJ5NYsNeEaP2A==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.12.13"
+
+"@babel/plugin-syntax-decorators@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.13.tgz#fac829bf3c7ef4a1bc916257b403e58c6bdaf648"
+ integrity sha512-Rw6aIXGuqDLr6/LoBBYE57nKOzQpz/aDkKlMqEwH+Vp0MXbG6H/TfRjaY343LKxzAKAMXIHsQ8JzaZKuDZ9MwA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.12.13"
+
"@babel/plugin-syntax-decorators@^7.8.3":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.1.tgz#81a8b535b284476c41be6de06853a8802b98c5dd"
@@ -654,13 +1091,20 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-syntax-dynamic-import@^7.2.0", "@babel/plugin-syntax-dynamic-import@^7.8.0", "@babel/plugin-syntax-dynamic-import@^7.8.3":
+"@babel/plugin-syntax-dynamic-import@^7.8.0", "@babel/plugin-syntax-dynamic-import@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3"
integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
+"@babel/plugin-syntax-export-default-from@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.12.13.tgz#3c807d37efaf0a806f1deb556ccb3b2f562ae9c2"
+ integrity sha512-gVry0zqoums0hA+EniCYK3gABhjYSLX1dVuwYpPw9DrLNA4/GovXySHVg4FGRsZht09ON/5C2NVx3keq+qqVGQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.12.13"
+
"@babel/plugin-syntax-export-namespace-from@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a"
@@ -668,7 +1112,14 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-syntax-flow@^7.12.1", "@babel/plugin-syntax-flow@^7.8.3":
+"@babel/plugin-syntax-flow@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.13.tgz#5df9962503c0a9c918381c929d51d4d6949e7e86"
+ integrity sha512-J/RYxnlSLXZLVR7wTRsozxKT8qbsx1mNKJzXEEjQ0Kjx1ZACcyHgbanNWNCFtc36IzuWhYWPpvJFFoexoOWFmA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.12.13"
+
+"@babel/plugin-syntax-flow@^7.8.3":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.1.tgz#a77670d9abe6d63e8acadf4c31bb1eb5a506bbdd"
integrity sha512-1lBLLmtxrwpm4VKmtVFselI/P3pX+G63fAtUUt6b2Nzgao77KNDwyuRt90Mj2/9pKobtt68FdvjfqohZjg/FCA==
@@ -696,6 +1147,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-syntax-jsx@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz#044fb81ebad6698fe62c478875575bcbb9b70f15"
+ integrity sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.12.13"
+
"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699"
@@ -738,6 +1196,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.0"
+"@babel/plugin-syntax-private-property-in-object@^7.14.0":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.0.tgz#762a4babec61176fec6c88480dec40372b140c0b"
+ integrity sha512-bda3xF8wGl5/5btF794utNOL0Jw+9jE5C1sLZcoK7c4uonE/y3iQiyG+KbkF3WBV/paX58VCpjhxLPkdj5Fe4w==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.13.0"
+
"@babel/plugin-syntax-top-level-await@^7.12.1", "@babel/plugin-syntax-top-level-await@^7.8.3":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz#dd6c0b357ac1bb142d98537450a319625d13d2a0"
@@ -745,6 +1210,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-syntax-top-level-await@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz#c5f0fa6e249f5b739727f923540cf7a806130178"
+ integrity sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.12.13"
+
"@babel/plugin-syntax-typescript@^7.12.1":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.1.tgz#460ba9d77077653803c3dd2e673f76d66b4029e5"
@@ -752,6 +1224,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-syntax-typescript@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz#9dff111ca64154cef0f4dc52cf843d9f12ce4474"
+ integrity sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.12.13"
+
"@babel/plugin-transform-arrow-functions@^7.12.1", "@babel/plugin-transform-arrow-functions@^7.8.3":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz#8083ffc86ac8e777fbe24b5967c4b2521f3cb2b3"
@@ -759,6 +1238,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-transform-arrow-functions@^7.13.0":
+ version "7.13.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz#10a59bebad52d637a027afa692e8d5ceff5e3dae"
+ integrity sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.13.0"
+
"@babel/plugin-transform-async-to-generator@^7.12.1", "@babel/plugin-transform-async-to-generator@^7.8.3":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz#3849a49cc2a22e9743cbd6b52926d30337229af1"
@@ -768,6 +1254,15 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/helper-remap-async-to-generator" "^7.12.1"
+"@babel/plugin-transform-async-to-generator@^7.13.0":
+ version "7.13.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz#8e112bf6771b82bf1e974e5e26806c5c99aa516f"
+ integrity sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==
+ dependencies:
+ "@babel/helper-module-imports" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-remap-async-to-generator" "^7.13.0"
+
"@babel/plugin-transform-block-scoped-functions@^7.12.1", "@babel/plugin-transform-block-scoped-functions@^7.8.3":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz#f2a1a365bde2b7112e0a6ded9067fdd7c07905d9"
@@ -775,6 +1270,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-transform-block-scoped-functions@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz#a9bf1836f2a39b4eb6cf09967739de29ea4bf4c4"
+ integrity sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.12.13"
+
"@babel/plugin-transform-block-scoping@^7.12.11", "@babel/plugin-transform-block-scoping@^7.8.3":
version "7.12.12"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz#d93a567a152c22aea3b1929bb118d1d0a175cdca"
@@ -782,6 +1284,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-transform-block-scoping@^7.12.12", "@babel/plugin-transform-block-scoping@^7.14.4":
+ version "7.14.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.4.tgz#caf140b0b2e2462c509553d140e6d0abefb61ed8"
+ integrity sha512-5KdpkGxsZlTk+fPleDtGKsA+pon28+ptYmMO8GBSa5fHERCJWAzj50uAfCKBqq42HO+Zot6JF1x37CRprwmN4g==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.13.0"
+
"@babel/plugin-transform-classes@^7.12.1", "@babel/plugin-transform-classes@^7.9.0":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz#65e650fcaddd3d88ddce67c0f834a3d436a32db6"
@@ -796,6 +1305,19 @@
"@babel/helper-split-export-declaration" "^7.10.4"
globals "^11.1.0"
+"@babel/plugin-transform-classes@^7.14.4":
+ version "7.14.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.4.tgz#a83c15503fc71a0f99e876fdce7dadbc6575ec3a"
+ integrity sha512-p73t31SIj6y94RDVX57rafVjttNr8MvKEgs5YFatNB/xC68zM3pyosuOEcQmYsYlyQaGY9R7rAULVRcat5FKJQ==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.12.13"
+ "@babel/helper-function-name" "^7.14.2"
+ "@babel/helper-optimise-call-expression" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-replace-supers" "^7.14.4"
+ "@babel/helper-split-export-declaration" "^7.12.13"
+ globals "^11.1.0"
+
"@babel/plugin-transform-computed-properties@^7.12.1", "@babel/plugin-transform-computed-properties@^7.8.3":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz#d68cf6c9b7f838a8a4144badbe97541ea0904852"
@@ -803,6 +1325,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-transform-computed-properties@^7.13.0":
+ version "7.13.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz#845c6e8b9bb55376b1fa0b92ef0bdc8ea06644ed"
+ integrity sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.13.0"
+
"@babel/plugin-transform-destructuring@^7.12.1", "@babel/plugin-transform-destructuring@^7.8.3":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz#b9a570fe0d0a8d460116413cb4f97e8e08b2f847"
@@ -810,6 +1339,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-transform-destructuring@^7.14.4":
+ version "7.14.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.4.tgz#acbec502e9951f30f4441eaca1d2f29efade59ed"
+ integrity sha512-JyywKreTCGTUsL1OKu1A3ms/R1sTP0WxbpXlALeGzF53eB3bxtNkYdMj9SDgK7g6ImPy76J5oYYKoTtQImlhQA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.13.0"
+
"@babel/plugin-transform-dotall-regex@^7.12.1", "@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz#a1d16c14862817b6409c0a678d6f9373ca9cd975"
@@ -818,6 +1354,14 @@
"@babel/helper-create-regexp-features-plugin" "^7.12.1"
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-transform-dotall-regex@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz#3f1601cc29905bfcb67f53910f197aeafebb25ad"
+ integrity sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.12.13"
+
"@babel/plugin-transform-duplicate-keys@^7.12.1", "@babel/plugin-transform-duplicate-keys@^7.8.3":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz#745661baba295ac06e686822797a69fbaa2ca228"
@@ -825,6 +1369,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-transform-duplicate-keys@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz#6f06b87a8b803fd928e54b81c258f0a0033904de"
+ integrity sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.12.13"
+
"@babel/plugin-transform-exponentiation-operator@^7.12.1", "@babel/plugin-transform-exponentiation-operator@^7.8.3":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz#b0f2ed356ba1be1428ecaf128ff8a24f02830ae0"
@@ -833,6 +1384,14 @@
"@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4"
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-transform-exponentiation-operator@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz#4d52390b9a273e651e4aba6aee49ef40e80cd0a1"
+ integrity sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==
+ dependencies:
+ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.12.13"
+
"@babel/plugin-transform-flow-strip-types@7.9.0":
version "7.9.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.9.0.tgz#8a3538aa40434e000b8f44a3c5c9ac7229bd2392"
@@ -841,13 +1400,13 @@
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-syntax-flow" "^7.8.3"
-"@babel/plugin-transform-flow-strip-types@^7.12.1":
- version "7.12.10"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.12.10.tgz#d85e30ecfa68093825773b7b857e5085bbd32c95"
- integrity sha512-0ti12wLTLeUIzu9U7kjqIn4MyOL7+Wibc7avsHhj4o1l5C0ATs8p2IMHrVYjm9t9wzhfEO6S3kxax0Rpdo8LTg==
+"@babel/plugin-transform-flow-strip-types@^7.13.0":
+ version "7.13.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.13.0.tgz#58177a48c209971e8234e99906cb6bd1122addd3"
+ integrity sha512-EXAGFMJgSX8gxWD7PZtW/P6M+z74jpx3wm/+9pn+c2dOawPpBkUX7BrfyPvo6ZpXbgRIEuwgwDb/MGlKvu2pOg==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-syntax-flow" "^7.12.1"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/plugin-syntax-flow" "^7.12.13"
"@babel/plugin-transform-for-of@^7.12.1", "@babel/plugin-transform-for-of@^7.9.0":
version "7.12.1"
@@ -856,6 +1415,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-transform-for-of@^7.13.0":
+ version "7.13.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz#c799f881a8091ac26b54867a845c3e97d2696062"
+ integrity sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.13.0"
+
"@babel/plugin-transform-function-name@^7.12.1", "@babel/plugin-transform-function-name@^7.8.3":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz#2ec76258c70fe08c6d7da154003a480620eba667"
@@ -864,6 +1430,14 @@
"@babel/helper-function-name" "^7.10.4"
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-transform-function-name@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz#bb024452f9aaed861d374c8e7a24252ce3a50051"
+ integrity sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==
+ dependencies:
+ "@babel/helper-function-name" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.12.13"
+
"@babel/plugin-transform-literals@^7.12.1", "@babel/plugin-transform-literals@^7.8.3":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz#d73b803a26b37017ddf9d3bb8f4dc58bfb806f57"
@@ -871,6 +1445,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-transform-literals@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz#2ca45bafe4a820197cf315794a4d26560fe4bdb9"
+ integrity sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.12.13"
+
"@babel/plugin-transform-member-expression-literals@^7.12.1", "@babel/plugin-transform-member-expression-literals@^7.8.3":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz#496038602daf1514a64d43d8e17cbb2755e0c3ad"
@@ -878,6 +1459,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-transform-member-expression-literals@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz#5ffa66cd59b9e191314c9f1f803b938e8c081e40"
+ integrity sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.12.13"
+
"@babel/plugin-transform-modules-amd@^7.12.1", "@babel/plugin-transform-modules-amd@^7.9.0":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz#3154300b026185666eebb0c0ed7f8415fefcf6f9"
@@ -887,6 +1475,15 @@
"@babel/helper-plugin-utils" "^7.10.4"
babel-plugin-dynamic-import-node "^2.3.3"
+"@babel/plugin-transform-modules-amd@^7.14.2":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.2.tgz#6622806fe1a7c07a1388444222ef9535f2ca17b0"
+ integrity sha512-hPC6XBswt8P3G2D1tSV2HzdKvkqOpmbyoy+g73JG0qlF/qx2y3KaMmXb1fLrpmWGLZYA0ojCvaHdzFWjlmV+Pw==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.14.2"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ babel-plugin-dynamic-import-node "^2.3.3"
+
"@babel/plugin-transform-modules-commonjs@^7.12.1", "@babel/plugin-transform-modules-commonjs@^7.9.0":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz#fa403124542636c786cf9b460a0ffbb48a86e648"
@@ -897,6 +1494,16 @@
"@babel/helper-simple-access" "^7.12.1"
babel-plugin-dynamic-import-node "^2.3.3"
+"@babel/plugin-transform-modules-commonjs@^7.14.0":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.0.tgz#52bc199cb581e0992edba0f0f80356467587f161"
+ integrity sha512-EX4QePlsTaRZQmw9BsoPeyh5OCtRGIhwfLquhxGp5e32w+dyL8htOcDwamlitmNFK6xBZYlygjdye9dbd9rUlQ==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.14.0"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-simple-access" "^7.13.12"
+ babel-plugin-dynamic-import-node "^2.3.3"
+
"@babel/plugin-transform-modules-systemjs@^7.12.1", "@babel/plugin-transform-modules-systemjs@^7.9.0":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz#663fea620d593c93f214a464cd399bf6dc683086"
@@ -908,6 +1515,17 @@
"@babel/helper-validator-identifier" "^7.10.4"
babel-plugin-dynamic-import-node "^2.3.3"
+"@babel/plugin-transform-modules-systemjs@^7.13.8":
+ version "7.13.8"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz#6d066ee2bff3c7b3d60bf28dec169ad993831ae3"
+ integrity sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A==
+ dependencies:
+ "@babel/helper-hoist-variables" "^7.13.0"
+ "@babel/helper-module-transforms" "^7.13.0"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-validator-identifier" "^7.12.11"
+ babel-plugin-dynamic-import-node "^2.3.3"
+
"@babel/plugin-transform-modules-umd@^7.12.1", "@babel/plugin-transform-modules-umd@^7.9.0":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz#eb5a218d6b1c68f3d6217b8fa2cc82fec6547902"
@@ -916,6 +1534,14 @@
"@babel/helper-module-transforms" "^7.12.1"
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-transform-modules-umd@^7.14.0":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.0.tgz#2f8179d1bbc9263665ce4a65f305526b2ea8ac34"
+ integrity sha512-nPZdnWtXXeY7I87UZr9VlsWme3Y0cfFFE41Wbxz4bbaexAjNMInXPFUpRRUJ8NoMm0Cw+zxbqjdPmLhcjfazMw==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.14.0"
+ "@babel/helper-plugin-utils" "^7.13.0"
+
"@babel/plugin-transform-named-capturing-groups-regex@^7.12.1", "@babel/plugin-transform-named-capturing-groups-regex@^7.8.3":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz#b407f5c96be0d9f5f88467497fa82b30ac3e8753"
@@ -923,6 +1549,13 @@
dependencies:
"@babel/helper-create-regexp-features-plugin" "^7.12.1"
+"@babel/plugin-transform-named-capturing-groups-regex@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz#2213725a5f5bbbe364b50c3ba5998c9599c5c9d9"
+ integrity sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.12.13"
+
"@babel/plugin-transform-new-target@^7.12.1", "@babel/plugin-transform-new-target@^7.8.3":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz#80073f02ee1bb2d365c3416490e085c95759dec0"
@@ -930,6 +1563,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-transform-new-target@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz#e22d8c3af24b150dd528cbd6e685e799bf1c351c"
+ integrity sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.12.13"
+
"@babel/plugin-transform-object-super@^7.12.1", "@babel/plugin-transform-object-super@^7.8.3":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz#4ea08696b8d2e65841d0c7706482b048bed1066e"
@@ -938,6 +1578,14 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/helper-replace-supers" "^7.12.1"
+"@babel/plugin-transform-object-super@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz#b4416a2d63b8f7be314f3d349bd55a9c1b5171f7"
+ integrity sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.12.13"
+ "@babel/helper-replace-supers" "^7.12.13"
+
"@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.8.7":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz#d2e963b038771650c922eff593799c96d853255d"
@@ -945,6 +1593,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-transform-parameters@^7.14.2":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.2.tgz#e4290f72e0e9e831000d066427c4667098decc31"
+ integrity sha512-NxoVmA3APNCC1JdMXkdYXuQS+EMdqy0vIwyDHeKHiJKRxmp1qGSdb0JLEIoPRhkx6H/8Qi3RJ3uqOCYw8giy9A==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.13.0"
+
"@babel/plugin-transform-property-literals@^7.12.1", "@babel/plugin-transform-property-literals@^7.8.3":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz#41bc81200d730abb4456ab8b3fbd5537b59adecd"
@@ -952,7 +1607,14 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-react-constant-elements@^7.0.0", "@babel/plugin-transform-react-constant-elements@^7.2.0", "@babel/plugin-transform-react-constant-elements@^7.6.3":
+"@babel/plugin-transform-property-literals@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz#4e6a9e37864d8f1b3bc0e2dce7bf8857db8b1a81"
+ integrity sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.12.13"
+
+"@babel/plugin-transform-react-constant-elements@^7.0.0":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.12.1.tgz#4471f0851feec3231cc9aaa0dccde39947c1ac1e"
integrity sha512-KOHd0tIRLoER+J+8f9DblZDa1fLGPwaaN1DI1TVHuQFOpjHV22C3CUB3obeC4fexHY9nx+fH0hQNvLFFfA1mxA==
@@ -973,6 +1635,20 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-transform-react-display-name@^7.12.13":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.14.2.tgz#2e854544d42ab3bb9c21f84e153d62e800fbd593"
+ integrity sha512-zCubvP+jjahpnFJvPaHPiGVfuVUjXHhFvJKQdNnsmSsiU9kR/rCZ41jHc++tERD2zV+p7Hr6is+t5b6iWTCqSw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.13.0"
+
+"@babel/plugin-transform-react-jsx-development@^7.12.17":
+ version "7.12.17"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.17.tgz#f510c0fa7cd7234153539f9a362ced41a5ca1447"
+ integrity sha512-BPjYV86SVuOaudFhsJR1zjgxxOhJDt6JHNoD48DxWEIxUCAMjV1ys6DYw4SDYZh0b1QsS2vfIA9t/ZsQGsDOUQ==
+ dependencies:
+ "@babel/plugin-transform-react-jsx" "^7.12.17"
+
"@babel/plugin-transform-react-jsx-development@^7.12.7", "@babel/plugin-transform-react-jsx-development@^7.9.0":
version "7.12.12"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.12.tgz#bccca33108fe99d95d7f9e82046bfe762e71f4e7"
@@ -994,7 +1670,7 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
-"@babel/plugin-transform-react-jsx@^7.12.10", "@babel/plugin-transform-react-jsx@^7.12.12", "@babel/plugin-transform-react-jsx@^7.3.0", "@babel/plugin-transform-react-jsx@^7.9.1":
+"@babel/plugin-transform-react-jsx@^7.12.10", "@babel/plugin-transform-react-jsx@^7.12.12", "@babel/plugin-transform-react-jsx@^7.9.1":
version "7.12.12"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.12.tgz#b0da51ffe5f34b9a900e9f1f5fb814f9e512d25e"
integrity sha512-JDWGuzGNWscYcq8oJVCtSE61a5+XAOos+V0HrxnDieUus4UMnBEosDnY1VJqU5iZ4pA04QY7l0+JvHL1hZEfsw==
@@ -1005,6 +1681,17 @@
"@babel/plugin-syntax-jsx" "^7.12.1"
"@babel/types" "^7.12.12"
+"@babel/plugin-transform-react-jsx@^7.12.17", "@babel/plugin-transform-react-jsx@^7.13.12":
+ version "7.14.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.3.tgz#0e26597805cf0862da735f264550933c38babb66"
+ integrity sha512-uuxuoUNVhdgYzERiHHFkE4dWoJx+UFVyuAl0aqN8P2/AKFHwqgUC5w2+4/PjpKXJsFgBlYAFXlUmDQ3k3DUkXw==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.12.13"
+ "@babel/helper-module-imports" "^7.13.12"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/plugin-syntax-jsx" "^7.12.13"
+ "@babel/types" "^7.14.2"
+
"@babel/plugin-transform-react-pure-annotations@^7.12.1":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz#05d46f0ab4d1339ac59adf20a1462c91b37a1a42"
@@ -1020,6 +1707,13 @@
dependencies:
regenerator-transform "^0.14.2"
+"@babel/plugin-transform-regenerator@^7.13.15":
+ version "7.13.15"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.13.15.tgz#e5eb28945bf8b6563e7f818945f966a8d2997f39"
+ integrity sha512-Bk9cOLSz8DiurcMETZ8E2YtIVJbFCPGW28DJWUakmyVWtQSm6Wsf0p4B4BfEr/eL2Nkhe/CICiUiMOCi1TPhuQ==
+ dependencies:
+ regenerator-transform "^0.14.2"
+
"@babel/plugin-transform-reserved-words@^7.12.1", "@babel/plugin-transform-reserved-words@^7.8.3":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz#6fdfc8cc7edcc42b36a7c12188c6787c873adcd8"
@@ -1027,6 +1721,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-transform-reserved-words@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz#7d9988d4f06e0fe697ea1d9803188aa18b472695"
+ integrity sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.12.13"
+
"@babel/plugin-transform-runtime@7.9.0":
version "7.9.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.9.0.tgz#45468c0ae74cc13204e1d3b1f4ce6ee83258af0b"
@@ -1053,6 +1754,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-transform-shorthand-properties@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz#db755732b70c539d504c6390d9ce90fe64aff7ad"
+ integrity sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.12.13"
+
"@babel/plugin-transform-spread@^7.12.1", "@babel/plugin-transform-spread@^7.8.3":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz#527f9f311be4ec7fdc2b79bb89f7bf884b3e1e1e"
@@ -1061,6 +1769,21 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/helper-skip-transparent-expression-wrappers" "^7.12.1"
+"@babel/plugin-transform-spread@^7.13.0":
+ version "7.13.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz#84887710e273c1815ace7ae459f6f42a5d31d5fd"
+ integrity sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1"
+
+"@babel/plugin-transform-sticky-regex@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz#760ffd936face73f860ae646fb86ee82f3d06d1f"
+ integrity sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.12.13"
+
"@babel/plugin-transform-sticky-regex@^7.12.7", "@babel/plugin-transform-sticky-regex@^7.8.3":
version "7.12.7"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz#560224613ab23987453948ed21d0b0b193fa7fad"
@@ -1075,6 +1798,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-transform-template-literals@^7.13.0":
+ version "7.13.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz#a36049127977ad94438dee7443598d1cefdf409d"
+ integrity sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.13.0"
+
"@babel/plugin-transform-typeof-symbol@^7.12.10", "@babel/plugin-transform-typeof-symbol@^7.8.4":
version "7.12.10"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz#de01c4c8f96580bd00f183072b0d0ecdcf0dec4b"
@@ -1082,6 +1812,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-transform-typeof-symbol@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz#785dd67a1f2ea579d9c2be722de8c84cb85f5a7f"
+ integrity sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.12.13"
+
"@babel/plugin-transform-typescript@^7.12.1", "@babel/plugin-transform-typescript@^7.9.0":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.1.tgz#d92cc0af504d510e26a754a7dbc2e5c8cd9c7ab4"
@@ -1091,6 +1828,15 @@
"@babel/helper-plugin-utils" "^7.10.4"
"@babel/plugin-syntax-typescript" "^7.12.1"
+"@babel/plugin-transform-typescript@^7.13.0", "@babel/plugin-transform-typescript@^7.3.2":
+ version "7.14.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.14.4.tgz#1c48829fa6d5f2de646060cd08abb6cda4b521a7"
+ integrity sha512-WYdcGNEO7mCCZ2XzRlxwGj3PgeAr50ifkofOUC/+IN/GzKLB+biDPVBUAQN2C/dVZTvEXCp80kfQ1FFZPrwykQ==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.14.4"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/plugin-syntax-typescript" "^7.12.13"
+
"@babel/plugin-transform-unicode-escapes@^7.12.1":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz#5232b9f81ccb07070b7c3c36c67a1b78f1845709"
@@ -1098,6 +1844,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-transform-unicode-escapes@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz#840ced3b816d3b5127dd1d12dcedc5dead1a5e74"
+ integrity sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.12.13"
+
"@babel/plugin-transform-unicode-regex@^7.12.1", "@babel/plugin-transform-unicode-regex@^7.8.3":
version "7.12.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz#cc9661f61390db5c65e3febaccefd5c6ac3faecb"
@@ -1106,6 +1859,14 @@
"@babel/helper-create-regexp-features-plugin" "^7.12.1"
"@babel/helper-plugin-utils" "^7.10.4"
+"@babel/plugin-transform-unicode-regex@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz#b52521685804e155b1202e83fc188d34bb70f5ac"
+ integrity sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.12.13"
+ "@babel/helper-plugin-utils" "^7.12.13"
+
"@babel/preset-env@7.9.0":
version "7.9.0"
resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.9.0.tgz#a5fc42480e950ae8f5d9f8f2bbc03f52722df3a8"
@@ -1172,7 +1933,7 @@
levenary "^1.1.1"
semver "^5.5.0"
-"@babel/preset-env@^7.1.6", "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.4.5":
+"@babel/preset-env@^7.12.1", "@babel/preset-env@^7.4.5":
version "7.12.11"
resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.11.tgz#55d5f7981487365c93dbbc84507b1c7215e857f9"
integrity sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw==
@@ -1244,15 +2005,95 @@
core-js-compat "^3.8.0"
semver "^5.5.0"
-"@babel/preset-flow@^7.0.0":
- version "7.12.1"
- resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.12.1.tgz#1a81d376c5a9549e75352a3888f8c273455ae940"
- integrity sha512-UAoyMdioAhM6H99qPoKvpHMzxmNVXno8GYU/7vZmGaHk6/KqfDYL1W0NxszVbJ2EP271b7e6Ox+Vk2A9QsB3Sw==
+"@babel/preset-env@^7.12.11":
+ version "7.14.4"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.14.4.tgz#73fc3228c59727e5e974319156f304f0d6685a2d"
+ integrity sha512-GwMMsuAnDtULyOtuxHhzzuSRxFeP0aR/LNzrHRzP8y6AgDNgqnrfCCBm/1cRdTU75tRs28Eh76poHLcg9VF0LA==
+ dependencies:
+ "@babel/compat-data" "^7.14.4"
+ "@babel/helper-compilation-targets" "^7.14.4"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-validator-option" "^7.12.17"
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.13.12"
+ "@babel/plugin-proposal-async-generator-functions" "^7.14.2"
+ "@babel/plugin-proposal-class-properties" "^7.13.0"
+ "@babel/plugin-proposal-class-static-block" "^7.14.3"
+ "@babel/plugin-proposal-dynamic-import" "^7.14.2"
+ "@babel/plugin-proposal-export-namespace-from" "^7.14.2"
+ "@babel/plugin-proposal-json-strings" "^7.14.2"
+ "@babel/plugin-proposal-logical-assignment-operators" "^7.14.2"
+ "@babel/plugin-proposal-nullish-coalescing-operator" "^7.14.2"
+ "@babel/plugin-proposal-numeric-separator" "^7.14.2"
+ "@babel/plugin-proposal-object-rest-spread" "^7.14.4"
+ "@babel/plugin-proposal-optional-catch-binding" "^7.14.2"
+ "@babel/plugin-proposal-optional-chaining" "^7.14.2"
+ "@babel/plugin-proposal-private-methods" "^7.13.0"
+ "@babel/plugin-proposal-private-property-in-object" "^7.14.0"
+ "@babel/plugin-proposal-unicode-property-regex" "^7.12.13"
+ "@babel/plugin-syntax-async-generators" "^7.8.4"
+ "@babel/plugin-syntax-class-properties" "^7.12.13"
+ "@babel/plugin-syntax-class-static-block" "^7.12.13"
+ "@babel/plugin-syntax-dynamic-import" "^7.8.3"
+ "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
+ "@babel/plugin-syntax-json-strings" "^7.8.3"
+ "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
+ "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
+ "@babel/plugin-syntax-numeric-separator" "^7.10.4"
+ "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
+ "@babel/plugin-syntax-optional-chaining" "^7.8.3"
+ "@babel/plugin-syntax-private-property-in-object" "^7.14.0"
+ "@babel/plugin-syntax-top-level-await" "^7.12.13"
+ "@babel/plugin-transform-arrow-functions" "^7.13.0"
+ "@babel/plugin-transform-async-to-generator" "^7.13.0"
+ "@babel/plugin-transform-block-scoped-functions" "^7.12.13"
+ "@babel/plugin-transform-block-scoping" "^7.14.4"
+ "@babel/plugin-transform-classes" "^7.14.4"
+ "@babel/plugin-transform-computed-properties" "^7.13.0"
+ "@babel/plugin-transform-destructuring" "^7.14.4"
+ "@babel/plugin-transform-dotall-regex" "^7.12.13"
+ "@babel/plugin-transform-duplicate-keys" "^7.12.13"
+ "@babel/plugin-transform-exponentiation-operator" "^7.12.13"
+ "@babel/plugin-transform-for-of" "^7.13.0"
+ "@babel/plugin-transform-function-name" "^7.12.13"
+ "@babel/plugin-transform-literals" "^7.12.13"
+ "@babel/plugin-transform-member-expression-literals" "^7.12.13"
+ "@babel/plugin-transform-modules-amd" "^7.14.2"
+ "@babel/plugin-transform-modules-commonjs" "^7.14.0"
+ "@babel/plugin-transform-modules-systemjs" "^7.13.8"
+ "@babel/plugin-transform-modules-umd" "^7.14.0"
+ "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.13"
+ "@babel/plugin-transform-new-target" "^7.12.13"
+ "@babel/plugin-transform-object-super" "^7.12.13"
+ "@babel/plugin-transform-parameters" "^7.14.2"
+ "@babel/plugin-transform-property-literals" "^7.12.13"
+ "@babel/plugin-transform-regenerator" "^7.13.15"
+ "@babel/plugin-transform-reserved-words" "^7.12.13"
+ "@babel/plugin-transform-shorthand-properties" "^7.12.13"
+ "@babel/plugin-transform-spread" "^7.13.0"
+ "@babel/plugin-transform-sticky-regex" "^7.12.13"
+ "@babel/plugin-transform-template-literals" "^7.13.0"
+ "@babel/plugin-transform-typeof-symbol" "^7.12.13"
+ "@babel/plugin-transform-unicode-escapes" "^7.12.13"
+ "@babel/plugin-transform-unicode-regex" "^7.12.13"
+ "@babel/preset-modules" "^0.1.4"
+ "@babel/types" "^7.14.4"
+ babel-plugin-polyfill-corejs2 "^0.2.0"
+ babel-plugin-polyfill-corejs3 "^0.2.0"
+ babel-plugin-polyfill-regenerator "^0.2.0"
+ core-js-compat "^3.9.0"
+ semver "^6.3.0"
+
+"@babel/preset-flow@^7.12.1":
+ version "7.13.13"
+ resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.13.13.tgz#a61a1c149b3f77589d795287744393444d5cdd9e"
+ integrity sha512-MDtwtamMifqq3R2mC7l3A3uFalUb3NH5TIBQWjN/epEPlZktcLq4se3J+ivckKrLMGsR7H9LW8+pYuIUN9tsKg==
dependencies:
- "@babel/helper-plugin-utils" "^7.10.4"
- "@babel/plugin-transform-flow-strip-types" "^7.12.1"
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-validator-option" "^7.12.17"
+ "@babel/plugin-transform-flow-strip-types" "^7.13.0"
-"@babel/preset-modules@^0.1.3":
+"@babel/preset-modules@^0.1.3", "@babel/preset-modules@^0.1.4":
version "0.1.4"
resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e"
integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==
@@ -1286,6 +2127,18 @@
"@babel/plugin-transform-react-jsx-development" "^7.12.7"
"@babel/plugin-transform-react-pure-annotations" "^7.12.1"
+"@babel/preset-react@^7.12.10":
+ version "7.13.13"
+ resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.13.13.tgz#fa6895a96c50763fe693f9148568458d5a839761"
+ integrity sha512-gx+tDLIE06sRjKJkVtpZ/t3mzCDOnPG+ggHZG9lffUbX8+wC739x20YQc9V35Do6ZAxaUc/HhVHIiOzz5MvDmA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-validator-option" "^7.12.17"
+ "@babel/plugin-transform-react-display-name" "^7.12.13"
+ "@babel/plugin-transform-react-jsx" "^7.13.12"
+ "@babel/plugin-transform-react-jsx-development" "^7.12.17"
+ "@babel/plugin-transform-react-pure-annotations" "^7.12.1"
+
"@babel/preset-typescript@7.9.0":
version "7.9.0"
resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.9.0.tgz#87705a72b1f0d59df21c179f7c3d2ef4b16ce192"
@@ -1294,7 +2147,16 @@
"@babel/helper-plugin-utils" "^7.8.3"
"@babel/plugin-transform-typescript" "^7.9.0"
-"@babel/preset-typescript@^7.1.0", "@babel/preset-typescript@^7.9.0":
+"@babel/preset-typescript@^7.12.7", "@babel/preset-typescript@^7.3.3", "@babel/preset-typescript@^7.8.3":
+ version "7.13.0"
+ resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.13.0.tgz#ab107e5f050609d806fbb039bec553b33462c60a"
+ integrity sha512-LXJwxrHy0N3f6gIJlYbLta1D9BDtHpQeqwzM0LIfjDlr6UE/D5Mc7W4iDiQzaE+ks0sTjT26ArcHWnJVt0QiHw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.13.0"
+ "@babel/helper-validator-option" "^7.12.17"
+ "@babel/plugin-transform-typescript" "^7.13.0"
+
+"@babel/preset-typescript@^7.9.0":
version "7.12.7"
resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.12.7.tgz#fc7df8199d6aae747896f1e6c61fc872056632a3"
integrity sha512-nOoIqIqBmHBSEgBXWR4Dv/XBehtIFcw9PqZw6rFYuKrzsZmOQm3PR5siLBnKZFEsDb03IegG8nSjU/iXXXYRmw==
@@ -1303,13 +2165,13 @@
"@babel/helper-validator-option" "^7.12.1"
"@babel/plugin-transform-typescript" "^7.12.1"
-"@babel/register@^7.0.0":
- version "7.12.10"
- resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.12.10.tgz#19b87143f17128af4dbe7af54c735663b3999f60"
- integrity sha512-EvX/BvMMJRAA3jZgILWgbsrHwBQvllC5T8B29McyME8DvkdOxk4ujESfrMvME8IHSDvWXrmMXxPvA/lx2gqPLQ==
+"@babel/register@^7.12.1":
+ version "7.13.16"
+ resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.13.16.tgz#ae3ab0b55c8ec28763877383c454f01521d9a53d"
+ integrity sha512-dh2t11ysujTwByQjXNgJ48QZ2zcXKQVdV8s0TbeMI0flmtGWCdTwK9tJiACHXPLmncm5+ktNn/diojA45JE4jg==
dependencies:
+ clone-deep "^4.0.1"
find-cache-dir "^2.0.0"
- lodash "^4.17.19"
make-dir "^2.1.0"
pirates "^4.0.0"
source-map-support "^0.5.16"
@@ -1329,13 +2191,20 @@
dependencies:
regenerator-runtime "^0.13.4"
-"@babel/runtime@^7.0.0", "@babel/runtime@^7.0.0-beta.55", "@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
+"@babel/runtime@^7.0.0", "@babel/runtime@^7.0.0-beta.55", "@babel/runtime@^7.10.2", "@babel/runtime@^7.10.3", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2":
version "7.12.5"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e"
integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==
dependencies:
regenerator-runtime "^0.13.4"
+"@babel/runtime@^7.13.10", "@babel/runtime@^7.14.0":
+ version "7.14.0"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.0.tgz#46794bc20b612c5f75e62dd071e24dfd95f1cbe6"
+ integrity sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==
+ dependencies:
+ regenerator-runtime "^0.13.4"
+
"@babel/template@^7.10.4", "@babel/template@^7.12.7", "@babel/template@^7.3.3", "@babel/template@^7.4.0", "@babel/template@^7.8.6":
version "7.12.7"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.7.tgz#c817233696018e39fbb6c491d2fb684e05ed43bc"
@@ -1345,6 +2214,15 @@
"@babel/parser" "^7.12.7"
"@babel/types" "^7.12.7"
+"@babel/template@^7.12.13":
+ version "7.12.13"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327"
+ integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==
+ dependencies:
+ "@babel/code-frame" "^7.12.13"
+ "@babel/parser" "^7.12.13"
+ "@babel/types" "^7.12.13"
+
"@babel/traverse@^7.1.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.10", "@babel/traverse@^7.12.5", "@babel/traverse@^7.12.9", "@babel/traverse@^7.4.3", "@babel/traverse@^7.7.0", "@babel/traverse@^7.9.0":
version "7.12.12"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.12.tgz#d0cd87892704edd8da002d674bc811ce64743376"
@@ -1360,7 +2238,21 @@
globals "^11.1.0"
lodash "^4.17.19"
-"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.12.0", "@babel/types@^7.12.1", "@babel/types@^7.12.10", "@babel/types@^7.12.11", "@babel/types@^7.12.12", "@babel/types@^7.12.5", "@babel/types@^7.12.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.6.0", "@babel/types@^7.6.1", "@babel/types@^7.7.0", "@babel/types@^7.9.0", "@babel/types@^7.9.6":
+"@babel/traverse@^7.13.0", "@babel/traverse@^7.13.15", "@babel/traverse@^7.14.0", "@babel/traverse@^7.14.2":
+ version "7.14.2"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.2.tgz#9201a8d912723a831c2679c7ebbf2fe1416d765b"
+ integrity sha512-TsdRgvBFHMyHOOzcP9S6QU0QQtjxlRpEYOy3mcCO5RgmC305ki42aSAmfZEMSSYBla2oZ9BMqYlncBaKmD/7iA==
+ dependencies:
+ "@babel/code-frame" "^7.12.13"
+ "@babel/generator" "^7.14.2"
+ "@babel/helper-function-name" "^7.14.2"
+ "@babel/helper-split-export-declaration" "^7.12.13"
+ "@babel/parser" "^7.14.2"
+ "@babel/types" "^7.14.2"
+ debug "^4.1.0"
+ globals "^11.1.0"
+
+"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.12.1", "@babel/types@^7.12.10", "@babel/types@^7.12.11", "@babel/types@^7.12.12", "@babel/types@^7.12.5", "@babel/types@^7.12.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.9.0":
version "7.12.12"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.12.tgz#4608a6ec313abbd87afa55004d373ad04a96c299"
integrity sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==
@@ -1369,6 +2261,14 @@
lodash "^4.17.19"
to-fast-properties "^2.0.0"
+"@babel/types@^7.12.13", "@babel/types@^7.13.0", "@babel/types@^7.13.12", "@babel/types@^7.13.16", "@babel/types@^7.14.0", "@babel/types@^7.14.2", "@babel/types@^7.14.4":
+ version "7.14.4"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.4.tgz#bfd6980108168593b38b3eb48a24aa026b919bc0"
+ integrity sha512-lCj4aIs0xUefJFQnwwQv2Bxg7Omd6bgquZ6LGC+gGMh6/s5qDVfjuCMlDmYQ15SLsWHd9n+X3E75lKIhl5Lkiw==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.14.0"
+ to-fast-properties "^2.0.0"
+
"@base2/pretty-print-object@1.0.0":
version "1.0.0"
resolved "https://registry.yarnpkg.com/@base2/pretty-print-object/-/pretty-print-object-1.0.0.tgz#860ce718b0b73f4009e153541faff2cb6b85d047"
@@ -1569,11 +2469,6 @@
resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-10.1.0.tgz#f0950bba18819512d42f7197e56c518aa491cf18"
integrity sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg==
-"@egoist/vue-to-react@^1.1.0":
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/@egoist/vue-to-react/-/vue-to-react-1.1.0.tgz#83c884b8608e8ee62e76c03e91ce9c26063a91ad"
- integrity sha512-MwfwXHDh6ptZGLEtNLPXp2Wghteav7mzpT2Mcwl3NZWKF814i5hhHnNkVrcQQEuxUroSWQqzxLkMKSb+nhPang==
-
"@emotion/cache@^10.0.27", "@emotion/cache@^10.0.9":
version "10.0.29"
resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-10.0.29.tgz#87e7e64f412c060102d589fe7c6dc042e6f9d1e0"
@@ -1584,7 +2479,7 @@
"@emotion/utils" "0.11.3"
"@emotion/weak-memoize" "0.2.5"
-"@emotion/core@^10.0.20", "@emotion/core@^10.0.9":
+"@emotion/core@^10.0.9", "@emotion/core@^10.1.1":
version "10.1.1"
resolved "https://registry.yarnpkg.com/@emotion/core/-/core-10.1.1.tgz#c956c1365f2f2481960064bcb8c4732e5fb612c3"
integrity sha512-ZMLG6qpXR8x031NXD8HJqugy/AZSkAuMxxqB46pmAR7ze47MhNJ56cdoX243QPZdGctrdfo+s08yZTiwaUcRKA==
@@ -1610,7 +2505,7 @@
resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413"
integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==
-"@emotion/is-prop-valid@0.8.8":
+"@emotion/is-prop-valid@0.8.8", "@emotion/is-prop-valid@^0.8.6":
version "0.8.8"
resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a"
integrity sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==
@@ -1648,7 +2543,7 @@
"@emotion/serialize" "^0.11.15"
"@emotion/utils" "0.11.3"
-"@emotion/styled@^10.0.17":
+"@emotion/styled@^10.0.27":
version "10.0.27"
resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-10.0.27.tgz#12cb67e91f7ad7431e1875b1d83a94b814133eaf"
integrity sha512-iK/8Sh7+NLJzyp9a5+vIQIXTYxfT4yB/OJbjzQanB2RZpvmzBQOHZWhpAMZWYEKRNNbsD6WfBw5sVWkb6WzS/Q==
@@ -1791,11 +2686,6 @@
update-notifier "^2.2.0"
yargs "^8.0.2"
-"@icons/material@^0.2.4":
- version "0.2.4"
- resolved "https://registry.yarnpkg.com/@icons/material/-/material-0.2.4.tgz#e90c9f71768b3736e76d7dd6783fc6c2afa88bc8"
- integrity sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw==
-
"@istanbuljs/load-nyc-config@^1.0.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced"
@@ -2853,7 +3743,7 @@
dependencies:
extend "3.0.2"
-"@mdx-js/loader@^1.5.1":
+"@mdx-js/loader@^1.6.22":
version "1.6.22"
resolved "https://registry.yarnpkg.com/@mdx-js/loader/-/loader-1.6.22.tgz#d9e8fe7f8185ff13c9c8639c048b123e30d322c4"
integrity sha512-9CjGwy595NaxAYp0hF9B/A0lH6C8Rms97e2JS9d3jVUtILn6pT5i5IV965ra3lIWc7Rs1GG1tBdVF7dCowYe6Q==
@@ -2862,7 +3752,7 @@
"@mdx-js/react" "1.6.22"
loader-utils "2.0.0"
-"@mdx-js/mdx@1.6.22", "@mdx-js/mdx@^1.5.1":
+"@mdx-js/mdx@1.6.22", "@mdx-js/mdx@^1.6.22":
version "1.6.22"
resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-1.6.22.tgz#8a723157bf90e78f17dc0f27995398e6c731f1ba"
integrity sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==
@@ -2887,7 +3777,7 @@
unist-builder "2.0.3"
unist-util-visit "2.0.3"
-"@mdx-js/react@1.6.22", "@mdx-js/react@^1.5.1":
+"@mdx-js/react@1.6.22", "@mdx-js/react@^1.6.22":
version "1.6.22"
resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-1.6.22.tgz#ae09b4744fddc74714ee9f9d6f17a66e77c43573"
integrity sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==
@@ -2931,6 +3821,14 @@
"@nodelib/fs.scandir" "2.1.4"
fastq "^1.6.0"
+"@npmcli/move-file@^1.0.1":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674"
+ integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==
+ dependencies:
+ mkdirp "^1.0.4"
+ rimraf "^3.0.2"
+
"@octokit/auth-token@^2.4.0", "@octokit/auth-token@^2.4.4":
version "2.4.4"
resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-2.4.4.tgz#ee31c69b01d0378c12fd3ffe406030f3d94d3b56"
@@ -3092,17 +3990,34 @@
"@octokit/openapi-types" "^2.0.1"
"@types/node" ">= 8"
+"@pmmmwh/react-refresh-webpack-plugin@^0.4.3":
+ version "0.4.3"
+ resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.3.tgz#1eec460596d200c0236bf195b078a5d1df89b766"
+ integrity sha512-br5Qwvh8D2OQqSXpd1g/xqXKnK0r+Jz6qVKBbWmpUcrbGOxUrf39V5oZ1876084CGn18uMdR5uvPqBv9UqtBjQ==
+ dependencies:
+ ansi-html "^0.0.7"
+ error-stack-parser "^2.0.6"
+ html-entities "^1.2.1"
+ native-url "^0.2.6"
+ schema-utils "^2.6.5"
+ source-map "^0.7.3"
+
"@popperjs/core@^2.3.3":
version "2.6.0"
resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.6.0.tgz#f022195afdfc942e088ee2101285a1d31c7d727f"
integrity sha512-cPqjjzuFWNK3BSKLm0abspP0sp/IGOli4p5I5fKFAzdS8fvjdOwDCfZqAaIiXd9lPkOWi3SUUfZof3hEb7J/uw==
+"@popperjs/core@^2.5.4", "@popperjs/core@^2.6.0":
+ version "2.9.2"
+ resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.9.2.tgz#adea7b6953cbb34651766b0548468e743c6a2353"
+ integrity sha512-VZMYa7+fXHdwIq1TDhSXoVmSPEGM/aa+6Aiq3nVVJ9bXr24zScr+NlKFKC3iPljA7ho/GAZr+d2jOf5GIRC30Q==
+
"@reach/observe-rect@^1.1.0":
version "1.2.0"
resolved "https://registry.yarnpkg.com/@reach/observe-rect/-/observe-rect-1.2.0.tgz#d7a6013b8aafcc64c778a0ccb83355a11204d3b2"
integrity sha512-Ba7HmkFgfQxZqqaeIWWkNK0rEhpxVQHIoVyW1YDSkGsGIXzcaW4deC8B0pZrNSSyLTdIk7y+5olKt5+g0GmFIQ==
-"@reach/router@^1.2.1":
+"@reach/router@^1.3.4":
version "1.3.4"
resolved "https://registry.yarnpkg.com/@reach/router/-/router-1.3.4.tgz#d2574b19370a70c80480ed91f3da840136d10f8c"
integrity sha512-+mtn9wjlB9NN2CNnnC/BRYtwdKBfSyyasPYraNAyvaV1occr/5NnB4CVzjEZipNHwYebQwcndGUmpFzxAUoqSA==
@@ -3249,289 +4164,452 @@
dependencies:
"@sinonjs/commons" "^1.7.0"
-"@storybook/addon-actions@^5.3.8":
- version "5.3.21"
- resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-5.3.21.tgz#16eed3eb24996adfcbf70bd476a261324d6de593"
- integrity sha512-6SAF/j8UBZaAbRz/rYUlcCXda+c4LQvvNlbVJc9GHjNNNMJQQVc3/EU+M7PyFz6uDUxudAW1+AFchGk04ACJ2g==
- dependencies:
- "@storybook/addons" "5.3.21"
- "@storybook/api" "5.3.21"
- "@storybook/client-api" "5.3.21"
- "@storybook/components" "5.3.21"
- "@storybook/core-events" "5.3.21"
- "@storybook/theming" "5.3.21"
- core-js "^3.0.1"
- fast-deep-equal "^2.0.1"
- global "^4.3.2"
- polished "^3.3.1"
+"@storybook/addon-actions@^6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-6.2.9.tgz#688413ac77410690755a5da3c277bfa0ff1a10b0"
+ integrity sha512-CkUYSMt+fvuHfWvtDzlhhaeQBCWlUo99xdL88JTsTml05P43bIHZNIRv2QJ8DwhHuxdIPeHKLmz9y/ymOagOnw==
+ dependencies:
+ "@storybook/addons" "6.2.9"
+ "@storybook/api" "6.2.9"
+ "@storybook/client-api" "6.2.9"
+ "@storybook/components" "6.2.9"
+ "@storybook/core-events" "6.2.9"
+ "@storybook/theming" "6.2.9"
+ core-js "^3.8.2"
+ fast-deep-equal "^3.1.3"
+ global "^4.4.0"
+ lodash "^4.17.20"
+ polished "^4.0.5"
prop-types "^15.7.2"
- react "^16.8.3"
- react-inspector "^4.0.0"
- uuid "^3.3.2"
+ react-inspector "^5.1.0"
+ regenerator-runtime "^0.13.7"
+ ts-dedent "^2.0.0"
+ util-deprecate "^1.0.2"
+ uuid-browser "^3.1.0"
-"@storybook/addon-docs@^5.3.17":
- version "5.3.21"
- resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-5.3.21.tgz#6635d9d3c58641679512bd09b36264ca3f26c17e"
- integrity sha512-TC41IsIwQTvEzNUcBLyk9nCIXw340MjiMzk6/j0HE4D38VlPmAiNxYC729niFqvtR4aRTpCuVygESpLtxYlbeg==
+"@storybook/addon-docs@^6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-6.2.9.tgz#61271e54ff4ea490409e4873ed022e62577366c1"
+ integrity sha512-qOtwgiqI3LMqT0eXYNV6ykp7qSu0LQGeXxy3wOBGuDDqAizfgnAjomYEWGFcyKp5ahV7HCRCjxbixAklFPUmyw==
dependencies:
- "@babel/generator" "^7.4.0"
- "@babel/parser" "^7.4.2"
- "@babel/plugin-transform-react-jsx" "^7.3.0"
- "@egoist/vue-to-react" "^1.1.0"
- "@jest/transform" "^24.9.0"
- "@mdx-js/loader" "^1.5.1"
- "@mdx-js/mdx" "^1.5.1"
- "@mdx-js/react" "^1.5.1"
- "@storybook/addons" "5.3.21"
- "@storybook/api" "5.3.21"
- "@storybook/components" "5.3.21"
- "@storybook/core-events" "5.3.21"
+ "@babel/core" "^7.12.10"
+ "@babel/generator" "^7.12.11"
+ "@babel/parser" "^7.12.11"
+ "@babel/plugin-transform-react-jsx" "^7.12.12"
+ "@babel/preset-env" "^7.12.11"
+ "@jest/transform" "^26.6.2"
+ "@mdx-js/loader" "^1.6.22"
+ "@mdx-js/mdx" "^1.6.22"
+ "@mdx-js/react" "^1.6.22"
+ "@storybook/addons" "6.2.9"
+ "@storybook/api" "6.2.9"
+ "@storybook/builder-webpack4" "6.2.9"
+ "@storybook/client-api" "6.2.9"
+ "@storybook/client-logger" "6.2.9"
+ "@storybook/components" "6.2.9"
+ "@storybook/core" "6.2.9"
+ "@storybook/core-events" "6.2.9"
"@storybook/csf" "0.0.1"
- "@storybook/postinstall" "5.3.21"
- "@storybook/source-loader" "5.3.21"
- "@storybook/theming" "5.3.21"
- acorn "^7.1.0"
- acorn-jsx "^5.1.0"
- acorn-walk "^7.0.0"
- core-js "^3.0.1"
+ "@storybook/node-logger" "6.2.9"
+ "@storybook/postinstall" "6.2.9"
+ "@storybook/source-loader" "6.2.9"
+ "@storybook/theming" "6.2.9"
+ acorn "^7.4.1"
+ acorn-jsx "^5.3.1"
+ acorn-walk "^7.2.0"
+ core-js "^3.8.2"
doctrine "^3.0.0"
- escodegen "^1.12.0"
- global "^4.3.2"
+ escodegen "^2.0.0"
+ fast-deep-equal "^3.1.3"
+ global "^4.4.0"
html-tags "^3.1.0"
js-string-escape "^1.0.1"
- lodash "^4.17.15"
+ loader-utils "^2.0.0"
+ lodash "^4.17.20"
+ prettier "~2.2.1"
prop-types "^15.7.2"
- react-element-to-jsx-string "^14.1.0"
- remark-external-links "^5.0.0"
- remark-slug "^5.1.2"
- ts-dedent "^1.1.0"
+ react-element-to-jsx-string "^14.3.2"
+ regenerator-runtime "^0.13.7"
+ remark-external-links "^8.0.0"
+ remark-slug "^6.0.0"
+ ts-dedent "^2.0.0"
util-deprecate "^1.0.2"
- vue-docgen-api "^4.1.0"
- vue-docgen-loader "^1.3.0-beta.0"
-"@storybook/addon-knobs@^5.3.8":
- version "5.3.21"
- resolved "https://registry.yarnpkg.com/@storybook/addon-knobs/-/addon-knobs-5.3.21.tgz#dd721700e5eab2969b3854dc73c855a03fb7aba8"
- integrity sha512-w1g61n2j87i3bzBltNl64u2hH06xQHKitfWWKBfRCiy1plC1hjZQ31GiUrA7uLUrD4NUx3GNO9dw0cDTnIIHRw==
- dependencies:
- "@storybook/addons" "5.3.21"
- "@storybook/api" "5.3.21"
- "@storybook/client-api" "5.3.21"
- "@storybook/components" "5.3.21"
- "@storybook/core-events" "5.3.21"
- "@storybook/theming" "5.3.21"
- "@types/react-color" "^3.0.1"
- copy-to-clipboard "^3.0.8"
- core-js "^3.0.1"
+"@storybook/addon-knobs@^6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/addon-knobs/-/addon-knobs-6.2.9.tgz#879b2e3861c29b30b53f1d624315a2f3a463785a"
+ integrity sha512-ic3xXy9uWPfIGP4x3VuGnrUmg/Jn9rHKIqZMhRcC7mFDRVlgbekvQxaruC6VY9LW6o8jV/miReSZkJf7M8o0aQ==
+ dependencies:
+ "@storybook/addons" "6.2.9"
+ "@storybook/api" "6.2.9"
+ "@storybook/channels" "6.2.9"
+ "@storybook/client-api" "6.2.9"
+ "@storybook/components" "6.2.9"
+ "@storybook/core-events" "6.2.9"
+ "@storybook/theming" "6.2.9"
+ copy-to-clipboard "^3.3.1"
+ core-js "^3.8.2"
escape-html "^1.0.3"
- fast-deep-equal "^2.0.1"
- global "^4.3.2"
- lodash "^4.17.15"
+ fast-deep-equal "^3.1.3"
+ global "^4.4.0"
+ lodash "^4.17.20"
prop-types "^15.7.2"
- qs "^6.6.0"
- react-color "^2.17.0"
+ qs "^6.10.0"
+ react-colorful "^5.0.1"
react-lifecycles-compat "^3.0.4"
- react-select "^3.0.8"
+ react-select "^3.2.0"
+ regenerator-runtime "^0.13.7"
+
+"@storybook/addons@6.2.9", "@storybook/addons@^6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-6.2.9.tgz#b7ba2b9f0e15b852c7d6b57d04fb0a493c57477c"
+ integrity sha512-GnmEKbJwiN1jncN9NSA8CuR1i2XAlasPcl/Zn0jkfV9WitQeczVcJCPw86SGH84AD+tTBCyF2i9UC0KaOV1YBQ==
+ dependencies:
+ "@storybook/api" "6.2.9"
+ "@storybook/channels" "6.2.9"
+ "@storybook/client-logger" "6.2.9"
+ "@storybook/core-events" "6.2.9"
+ "@storybook/router" "6.2.9"
+ "@storybook/theming" "6.2.9"
+ core-js "^3.8.2"
+ global "^4.4.0"
+ regenerator-runtime "^0.13.7"
-"@storybook/addons@5.3.21", "@storybook/addons@^5.3.8":
- version "5.3.21"
- resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-5.3.21.tgz#ee312c738c33e8c34dc11777ef93522c3c36e56a"
- integrity sha512-Ji/21WADTLVbTbiKcZ64BcL0Es+h1Afxx3kNmGJqPSTUYroCwIFCT9mUzCqU6G+YyWaISAmTii5UJkTwMkChwA==
+"@storybook/api@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/api/-/api-6.2.9.tgz#a9b46569192ad5d8da6435c9d63dc4b0c8463b51"
+ integrity sha512-okkA3HAScE9tGnYBrjTOcgzT+L1lRHNoEh3ZfGgh1u/XNEyHGNkj4grvkd6nX7BzRcYQ/l2VkcKCqmOjUnSkVQ==
dependencies:
- "@storybook/api" "5.3.21"
- "@storybook/channels" "5.3.21"
- "@storybook/client-logger" "5.3.21"
- "@storybook/core-events" "5.3.21"
- core-js "^3.0.1"
- global "^4.3.2"
+ "@reach/router" "^1.3.4"
+ "@storybook/channels" "6.2.9"
+ "@storybook/client-logger" "6.2.9"
+ "@storybook/core-events" "6.2.9"
+ "@storybook/csf" "0.0.1"
+ "@storybook/router" "6.2.9"
+ "@storybook/semver" "^7.3.2"
+ "@storybook/theming" "6.2.9"
+ "@types/reach__router" "^1.3.7"
+ core-js "^3.8.2"
+ fast-deep-equal "^3.1.3"
+ global "^4.4.0"
+ lodash "^4.17.20"
+ memoizerific "^1.11.3"
+ qs "^6.10.0"
+ regenerator-runtime "^0.13.7"
+ store2 "^2.12.0"
+ telejson "^5.1.0"
+ ts-dedent "^2.0.0"
util-deprecate "^1.0.2"
-"@storybook/api@5.3.21":
- version "5.3.21"
- resolved "https://registry.yarnpkg.com/@storybook/api/-/api-5.3.21.tgz#8f1772de53b65e1a65d2f0257463d621a8617c58"
- integrity sha512-K1o4an/Rx8daKRDooks6qzN6ZGyqizeacZZbair3F8CsSfTgrr2zCcf9pgKojLQa9koEmMHlcdb2KnS+GwPEgA==
+"@storybook/builder-webpack4@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/builder-webpack4/-/builder-webpack4-6.2.9.tgz#dddff0b1b4590a7ba088ce13e7cc42e482f6455d"
+ integrity sha512-swECic1huVdj+B+iRJIQ8ds59HuPVE4fmhI+j/nhw0CQCsgAEKqDlOQVYEimW6nZX8GO4WxNm6tiiRzxixejbw==
dependencies:
- "@reach/router" "^1.2.1"
- "@storybook/channels" "5.3.21"
- "@storybook/client-logger" "5.3.21"
- "@storybook/core-events" "5.3.21"
- "@storybook/csf" "0.0.1"
- "@storybook/router" "5.3.21"
- "@storybook/theming" "5.3.21"
- "@types/reach__router" "^1.2.3"
- core-js "^3.0.1"
- fast-deep-equal "^2.0.1"
- global "^4.3.2"
- lodash "^4.17.15"
- memoizerific "^1.11.3"
- prop-types "^15.6.2"
- react "^16.8.3"
- semver "^6.0.0"
- shallow-equal "^1.1.0"
- store2 "^2.7.1"
- telejson "^3.2.0"
+ "@babel/core" "^7.12.10"
+ "@babel/plugin-proposal-class-properties" "^7.12.1"
+ "@babel/plugin-proposal-decorators" "^7.12.12"
+ "@babel/plugin-proposal-export-default-from" "^7.12.1"
+ "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1"
+ "@babel/plugin-proposal-object-rest-spread" "^7.12.1"
+ "@babel/plugin-proposal-optional-chaining" "^7.12.7"
+ "@babel/plugin-proposal-private-methods" "^7.12.1"
+ "@babel/plugin-syntax-dynamic-import" "^7.8.3"
+ "@babel/plugin-transform-arrow-functions" "^7.12.1"
+ "@babel/plugin-transform-block-scoping" "^7.12.12"
+ "@babel/plugin-transform-classes" "^7.12.1"
+ "@babel/plugin-transform-destructuring" "^7.12.1"
+ "@babel/plugin-transform-for-of" "^7.12.1"
+ "@babel/plugin-transform-parameters" "^7.12.1"
+ "@babel/plugin-transform-shorthand-properties" "^7.12.1"
+ "@babel/plugin-transform-spread" "^7.12.1"
+ "@babel/plugin-transform-template-literals" "^7.12.1"
+ "@babel/preset-env" "^7.12.11"
+ "@babel/preset-react" "^7.12.10"
+ "@babel/preset-typescript" "^7.12.7"
+ "@storybook/addons" "6.2.9"
+ "@storybook/api" "6.2.9"
+ "@storybook/channel-postmessage" "6.2.9"
+ "@storybook/channels" "6.2.9"
+ "@storybook/client-api" "6.2.9"
+ "@storybook/client-logger" "6.2.9"
+ "@storybook/components" "6.2.9"
+ "@storybook/core-common" "6.2.9"
+ "@storybook/core-events" "6.2.9"
+ "@storybook/node-logger" "6.2.9"
+ "@storybook/router" "6.2.9"
+ "@storybook/semver" "^7.3.2"
+ "@storybook/theming" "6.2.9"
+ "@storybook/ui" "6.2.9"
+ "@types/node" "^14.0.10"
+ "@types/webpack" "^4.41.26"
+ autoprefixer "^9.8.6"
+ babel-loader "^8.2.2"
+ babel-plugin-macros "^2.8.0"
+ babel-plugin-polyfill-corejs3 "^0.1.0"
+ case-sensitive-paths-webpack-plugin "^2.3.0"
+ core-js "^3.8.2"
+ css-loader "^3.6.0"
+ dotenv-webpack "^1.8.0"
+ file-loader "^6.2.0"
+ find-up "^5.0.0"
+ fork-ts-checker-webpack-plugin "^4.1.6"
+ fs-extra "^9.0.1"
+ glob "^7.1.6"
+ glob-promise "^3.4.0"
+ global "^4.4.0"
+ html-webpack-plugin "^4.0.0"
+ pnp-webpack-plugin "1.6.4"
+ postcss "^7.0.35"
+ postcss-flexbugs-fixes "^4.2.1"
+ postcss-loader "^4.2.0"
+ raw-loader "^4.0.2"
+ react-dev-utils "^11.0.3"
+ stable "^0.1.8"
+ style-loader "^1.3.0"
+ terser-webpack-plugin "^3.1.0"
+ ts-dedent "^2.0.0"
+ url-loader "^4.1.1"
util-deprecate "^1.0.2"
+ webpack "4"
+ webpack-dev-middleware "^3.7.3"
+ webpack-filter-warnings-plugin "^1.2.1"
+ webpack-hot-middleware "^2.25.0"
+ webpack-virtual-modules "^0.2.2"
-"@storybook/channel-postmessage@5.3.21":
- version "5.3.21"
- resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-5.3.21.tgz#9c08bf1c108ff973dbca18e582680d25178db1d4"
- integrity sha512-CfoP7aEbZtJ35R9zeujMRdIwprETUi+Ve+y84DhXYQ2uJ0rR3vO4zHLZnxMMyJ5VnYOfuO042uch07+EKBz40Q==
+"@storybook/channel-postmessage@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-6.2.9.tgz#ad85573e0a5d6f0cde3504f168d87a73cb0b6269"
+ integrity sha512-OqV+gLeeCHR0KExsIz0B7gD17Cjd9D+I75qnBsLWM9inWO5kc/WZ5svw8Bvjlcm6snWpvxUaT8L+svuqcPSmww==
dependencies:
- "@storybook/channels" "5.3.21"
- "@storybook/client-logger" "5.3.21"
- core-js "^3.0.1"
- global "^4.3.2"
- telejson "^3.2.0"
+ "@storybook/channels" "6.2.9"
+ "@storybook/client-logger" "6.2.9"
+ "@storybook/core-events" "6.2.9"
+ core-js "^3.8.2"
+ global "^4.4.0"
+ qs "^6.10.0"
+ telejson "^5.1.0"
-"@storybook/channels@5.3.21":
- version "5.3.21"
- resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-5.3.21.tgz#53ba622b171d68b3b102983a62aa05149a49497b"
- integrity sha512-OXoFs9XtBVg/cCk6lYMrxkzaNlJRf54ABdorp7YAAj7S9tRL1JxOZHxmjNQwEoiRvssmem2rAWtEAxfuEANsAA==
+"@storybook/channels@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-6.2.9.tgz#a9fd7f25102cbec15fb56f76abf891b7b214e9de"
+ integrity sha512-6dC8Fb2ipNyOQXnUZMDeEUaJGH5DMLzyHlGLhVyDtrO5WR6bO8mQdkzf4+5dSKXgCBNX0BSkssXth4pDjn18rg==
dependencies:
- core-js "^3.0.1"
+ core-js "^3.8.2"
+ ts-dedent "^2.0.0"
+ util-deprecate "^1.0.2"
-"@storybook/client-api@5.3.21":
- version "5.3.21"
- resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-5.3.21.tgz#5b218a28f24219c32ab4b92a6af2a3e452fb8089"
- integrity sha512-vS4DfA2Avvl7JNQymO4e3RUNoTWIGVfZJ70Irnd6PTAZNojbCXTYuigDavrmyf83F3g5rQpwmSAPjuoi/X/FRA==
- dependencies:
- "@storybook/addons" "5.3.21"
- "@storybook/channel-postmessage" "5.3.21"
- "@storybook/channels" "5.3.21"
- "@storybook/client-logger" "5.3.21"
- "@storybook/core-events" "5.3.21"
+"@storybook/client-api@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-6.2.9.tgz#f0bb44e9b2692adfbf30d7ff751c6dd44bcfe1ce"
+ integrity sha512-aLvEUVkbvv6Qo/2mF4rFCecdqi2CGOUDdsV1a6EFIVS/9gXFdpirsOwKHo9qNjacGdWPlBYGCUcbrw+DvNaSFA==
+ dependencies:
+ "@storybook/addons" "6.2.9"
+ "@storybook/channel-postmessage" "6.2.9"
+ "@storybook/channels" "6.2.9"
+ "@storybook/client-logger" "6.2.9"
+ "@storybook/core-events" "6.2.9"
"@storybook/csf" "0.0.1"
- "@types/webpack-env" "^1.15.0"
- core-js "^3.0.1"
- eventemitter3 "^4.0.0"
- global "^4.3.2"
- is-plain-object "^3.0.0"
- lodash "^4.17.15"
+ "@types/qs" "^6.9.5"
+ "@types/webpack-env" "^1.16.0"
+ core-js "^3.8.2"
+ global "^4.4.0"
+ lodash "^4.17.20"
memoizerific "^1.11.3"
- qs "^6.6.0"
+ qs "^6.10.0"
+ regenerator-runtime "^0.13.7"
stable "^0.1.8"
- ts-dedent "^1.1.0"
+ store2 "^2.12.0"
+ ts-dedent "^2.0.0"
+ util-deprecate "^1.0.2"
+
+"@storybook/client-logger@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-6.2.9.tgz#77c1ea39684ad2a2cf6836051b381fc5b354e132"
+ integrity sha512-IfOQZuvpjh66qBInQCJOb9S0dTGpzZ/Cxlcvokp+PYt95KztaWN3mPm+HaDQCeRsrWNe0Bpm1zuickcJ6dBOXg==
+ dependencies:
+ core-js "^3.8.2"
+ global "^4.4.0"
+
+"@storybook/components@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/components/-/components-6.2.9.tgz#7189f9715b05720fe083ae8ad014849f14e98e73"
+ integrity sha512-hnV1MI2aB2g1sJ7NJphpxi7TwrMZQ/tpCJeHnkjmzyC6ez1MXqcBXGrEEdSXzRfAxjQTOEpu6H1mnns0xMP0Ag==
+ dependencies:
+ "@popperjs/core" "^2.6.0"
+ "@storybook/client-logger" "6.2.9"
+ "@storybook/csf" "0.0.1"
+ "@storybook/theming" "6.2.9"
+ "@types/color-convert" "^2.0.0"
+ "@types/overlayscrollbars" "^1.12.0"
+ "@types/react-syntax-highlighter" "11.0.5"
+ color-convert "^2.0.1"
+ core-js "^3.8.2"
+ fast-deep-equal "^3.1.3"
+ global "^4.4.0"
+ lodash "^4.17.20"
+ markdown-to-jsx "^7.1.0"
+ memoizerific "^1.11.3"
+ overlayscrollbars "^1.13.1"
+ polished "^4.0.5"
+ prop-types "^15.7.2"
+ react-colorful "^5.0.1"
+ react-popper-tooltip "^3.1.1"
+ react-syntax-highlighter "^13.5.3"
+ react-textarea-autosize "^8.3.0"
+ regenerator-runtime "^0.13.7"
+ ts-dedent "^2.0.0"
+ util-deprecate "^1.0.2"
+
+"@storybook/core-client@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/core-client/-/core-client-6.2.9.tgz#3f611947e64dee0a297e512ff974087bc52c1877"
+ integrity sha512-jW841J5lCe1Ub5ZMtzYPgCy/OUddFxxVYeHLZyuNxlH5RoiQQxbDpuFlzuZMYGuIzD6eZw+ANE4w5vW/y5oBfA==
+ dependencies:
+ "@storybook/addons" "6.2.9"
+ "@storybook/channel-postmessage" "6.2.9"
+ "@storybook/client-api" "6.2.9"
+ "@storybook/client-logger" "6.2.9"
+ "@storybook/core-events" "6.2.9"
+ "@storybook/csf" "0.0.1"
+ "@storybook/ui" "6.2.9"
+ ansi-to-html "^0.6.11"
+ core-js "^3.8.2"
+ global "^4.4.0"
+ lodash "^4.17.20"
+ qs "^6.10.0"
+ regenerator-runtime "^0.13.7"
+ ts-dedent "^2.0.0"
+ unfetch "^4.2.0"
+ util-deprecate "^1.0.2"
+
+"@storybook/core-common@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/core-common/-/core-common-6.2.9.tgz#54f8e005733d39c4cb90eec7c17f9ca4dcbeec5f"
+ integrity sha512-ve0Qb4EMit8jGibfZBprmaU2i4LtpB4vSMIzD9nB1YeBmw2cGhHubtmayZ0TwcV3fPQhtYH9wwRWuWyzzHyQyw==
+ dependencies:
+ "@babel/core" "^7.12.10"
+ "@babel/plugin-proposal-class-properties" "^7.12.1"
+ "@babel/plugin-proposal-decorators" "^7.12.12"
+ "@babel/plugin-proposal-export-default-from" "^7.12.1"
+ "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1"
+ "@babel/plugin-proposal-object-rest-spread" "^7.12.1"
+ "@babel/plugin-proposal-optional-chaining" "^7.12.7"
+ "@babel/plugin-proposal-private-methods" "^7.12.1"
+ "@babel/plugin-syntax-dynamic-import" "^7.8.3"
+ "@babel/plugin-transform-arrow-functions" "^7.12.1"
+ "@babel/plugin-transform-block-scoping" "^7.12.12"
+ "@babel/plugin-transform-classes" "^7.12.1"
+ "@babel/plugin-transform-destructuring" "^7.12.1"
+ "@babel/plugin-transform-for-of" "^7.12.1"
+ "@babel/plugin-transform-parameters" "^7.12.1"
+ "@babel/plugin-transform-shorthand-properties" "^7.12.1"
+ "@babel/plugin-transform-spread" "^7.12.1"
+ "@babel/preset-env" "^7.12.11"
+ "@babel/preset-react" "^7.12.10"
+ "@babel/preset-typescript" "^7.12.7"
+ "@babel/register" "^7.12.1"
+ "@storybook/node-logger" "6.2.9"
+ "@storybook/semver" "^7.3.2"
+ "@types/glob-base" "^0.3.0"
+ "@types/micromatch" "^4.0.1"
+ "@types/node" "^14.0.10"
+ "@types/pretty-hrtime" "^1.0.0"
+ babel-loader "^8.2.2"
+ babel-plugin-macros "^3.0.1"
+ babel-plugin-polyfill-corejs3 "^0.1.0"
+ chalk "^4.1.0"
+ core-js "^3.8.2"
+ express "^4.17.1"
+ file-system-cache "^1.0.5"
+ find-up "^5.0.0"
+ fork-ts-checker-webpack-plugin "^6.0.4"
+ glob "^7.1.6"
+ glob-base "^0.3.0"
+ interpret "^2.2.0"
+ json5 "^2.1.3"
+ lazy-universal-dotenv "^3.0.1"
+ micromatch "^4.0.2"
+ pkg-dir "^5.0.0"
+ pretty-hrtime "^1.0.3"
+ resolve-from "^5.0.0"
+ ts-dedent "^2.0.0"
util-deprecate "^1.0.2"
+ webpack "4"
-"@storybook/client-logger@5.3.21":
- version "5.3.21"
- resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-5.3.21.tgz#912c83b0d358e70acad1ad4abe199de4c38b109f"
- integrity sha512-OzQkwpZ5SK9cXD9Mv6lxPGPot+hSZvnkEW12kpt1AHfJz4ET26YTDOI3oetPsjfRJo6qYLeQX8+wF7rklfXbzA==
- dependencies:
- core-js "^3.0.1"
-
-"@storybook/components@5.3.21":
- version "5.3.21"
- resolved "https://registry.yarnpkg.com/@storybook/components/-/components-5.3.21.tgz#17ee371a2455c6e807c3d3135a9266e63ad7651a"
- integrity sha512-42QQk6qZl6wrtajP8yNCfmNS2t8Iod5QY+4V/l6iNnnT9O+j6cWOlnO+ZyvjNv0Xm0zIOt+VyVjdkKh8FUjQmA==
- dependencies:
- "@storybook/client-logger" "5.3.21"
- "@storybook/theming" "5.3.21"
- "@types/react-syntax-highlighter" "11.0.4"
- "@types/react-textarea-autosize" "^4.3.3"
- core-js "^3.0.1"
- global "^4.3.2"
- lodash "^4.17.15"
- markdown-to-jsx "^6.11.4"
- memoizerific "^1.11.3"
- polished "^3.3.1"
- popper.js "^1.14.7"
- prop-types "^15.7.2"
- react "^16.8.3"
- react-dom "^16.8.3"
- react-focus-lock "^2.1.0"
- react-helmet-async "^1.0.2"
- react-popper-tooltip "^2.8.3"
- react-syntax-highlighter "^11.0.2"
- react-textarea-autosize "^7.1.0"
- simplebar-react "^1.0.0-alpha.6"
- ts-dedent "^1.1.0"
-
-"@storybook/core-events@5.3.21":
- version "5.3.21"
- resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-5.3.21.tgz#41d81c3f107302a032545fc86ff344230c04b9e9"
- integrity sha512-/Zsm1sKAh6pzQv8jQUmuhM7nuM01ZljIRKy8p2HjPNlMjDB5yaRkBfyeAUXUg+qXNI6aHVWa4jGdPEdwwY4oLA==
+"@storybook/core-events@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-6.2.9.tgz#4f12947cd15d1eb3c4109923657c012feef521cd"
+ integrity sha512-xQmbX/oYQK1QsAGN8hriXX5SUKOoTUe3L4dVaVHxJqy7MReRWJpprJmCpbAPJzWS6WCbDFfCM5kVEexHLOzJlQ==
dependencies:
- core-js "^3.0.1"
+ core-js "^3.8.2"
-"@storybook/core@5.3.21":
- version "5.3.21"
- resolved "https://registry.yarnpkg.com/@storybook/core/-/core-5.3.21.tgz#da963166ea24601f318266a3aa6bbc06fc8fb175"
- integrity sha512-plD47WIsn/JoyRJDOpmH7N7mEMo/jiA8ZlOitLW55zYvzUn8UrVpRFpMYo91OJxiCT6JFoaEh3XtNdhbgUwnPA==
+"@storybook/core-server@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/core-server/-/core-server-6.2.9.tgz#da8b7f043ff59ee6cd2e8631ba8d0f954fdc265a"
+ integrity sha512-DzihO73pj1Ro0Y4tq9hjw2mLMUYeSRPrx7CndCOBxcTHCKQ8Kd7Dee3wJ49t5/19V7TW1+4lYR59GAy73FeOAQ==
dependencies:
- "@babel/plugin-proposal-class-properties" "^7.7.0"
- "@babel/plugin-proposal-object-rest-spread" "^7.6.2"
- "@babel/plugin-syntax-dynamic-import" "^7.2.0"
- "@babel/plugin-transform-react-constant-elements" "^7.2.0"
- "@babel/preset-env" "^7.4.5"
- "@storybook/addons" "5.3.21"
- "@storybook/channel-postmessage" "5.3.21"
- "@storybook/client-api" "5.3.21"
- "@storybook/client-logger" "5.3.21"
- "@storybook/core-events" "5.3.21"
- "@storybook/csf" "0.0.1"
- "@storybook/node-logger" "5.3.21"
- "@storybook/router" "5.3.21"
- "@storybook/theming" "5.3.21"
- "@storybook/ui" "5.3.21"
+ "@babel/core" "^7.12.10"
+ "@babel/plugin-transform-template-literals" "^7.12.1"
+ "@babel/preset-react" "^7.12.10"
+ "@storybook/addons" "6.2.9"
+ "@storybook/builder-webpack4" "6.2.9"
+ "@storybook/core-client" "6.2.9"
+ "@storybook/core-common" "6.2.9"
+ "@storybook/node-logger" "6.2.9"
+ "@storybook/semver" "^7.3.2"
+ "@storybook/theming" "6.2.9"
+ "@storybook/ui" "6.2.9"
+ "@types/node" "^14.0.10"
+ "@types/node-fetch" "^2.5.7"
+ "@types/pretty-hrtime" "^1.0.0"
+ "@types/webpack" "^4.41.26"
airbnb-js-shims "^2.2.1"
- ansi-to-html "^0.6.11"
- autoprefixer "^9.7.2"
- babel-plugin-add-react-displayname "^0.0.5"
- babel-plugin-emotion "^10.0.20"
- babel-plugin-macros "^2.7.0"
- babel-preset-minify "^0.5.0 || 0.6.0-alpha.5"
- boxen "^4.1.0"
- case-sensitive-paths-webpack-plugin "^2.2.0"
- chalk "^3.0.0"
- cli-table3 "0.5.1"
- commander "^4.0.1"
- core-js "^3.0.1"
- corejs-upgrade-webpack-plugin "^2.2.0"
- css-loader "^3.0.0"
+ babel-loader "^8.2.2"
+ better-opn "^2.1.1"
+ boxen "^4.2.0"
+ case-sensitive-paths-webpack-plugin "^2.3.0"
+ chalk "^4.1.0"
+ cli-table3 "0.6.0"
+ commander "^6.2.1"
+ core-js "^3.8.2"
+ cpy "^8.1.1"
+ css-loader "^3.6.0"
detect-port "^1.3.0"
- dotenv-webpack "^1.7.0"
- ejs "^2.7.4"
- express "^4.17.0"
- file-loader "^4.2.0"
+ dotenv-webpack "^1.8.0"
+ express "^4.17.1"
+ file-loader "^6.2.0"
file-system-cache "^1.0.5"
- find-cache-dir "^3.0.0"
- find-up "^4.1.0"
- fs-extra "^8.0.1"
- glob-base "^0.3.0"
- global "^4.3.2"
- html-webpack-plugin "^4.0.0-beta.2"
- inquirer "^7.0.0"
- interpret "^2.0.0"
+ find-up "^5.0.0"
+ fs-extra "^9.0.1"
+ global "^4.4.0"
+ html-webpack-plugin "^4.0.0"
ip "^1.1.5"
- json5 "^2.1.1"
- lazy-universal-dotenv "^3.0.1"
- micromatch "^4.0.2"
- node-fetch "^2.6.0"
- open "^7.0.0"
- pnp-webpack-plugin "1.5.0"
- postcss-flexbugs-fixes "^4.1.0"
- postcss-loader "^3.0.0"
+ node-fetch "^2.6.1"
+ pnp-webpack-plugin "1.6.4"
pretty-hrtime "^1.0.3"
- qs "^6.6.0"
- raw-loader "^3.1.0"
- react-dev-utils "^9.0.0"
- regenerator-runtime "^0.13.3"
- resolve "^1.11.0"
+ prompts "^2.4.0"
+ read-pkg-up "^7.0.1"
+ regenerator-runtime "^0.13.7"
resolve-from "^5.0.0"
- semver "^6.0.0"
serve-favicon "^2.5.0"
- shelljs "^0.8.3"
- style-loader "^1.0.0"
- terser-webpack-plugin "^2.1.2"
- ts-dedent "^1.1.0"
- unfetch "^4.1.0"
- url-loader "^2.0.1"
+ style-loader "^1.3.0"
+ telejson "^5.1.0"
+ terser-webpack-plugin "^3.1.0"
+ ts-dedent "^2.0.0"
+ url-loader "^4.1.1"
util-deprecate "^1.0.2"
- webpack "^4.33.0"
- webpack-dev-middleware "^3.7.0"
- webpack-hot-middleware "^2.25.0"
- webpack-virtual-modules "^0.2.0"
+ webpack "4"
+ webpack-dev-middleware "^3.7.3"
+ webpack-virtual-modules "^0.2.2"
+
+"@storybook/core@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/core/-/core-6.2.9.tgz#e32e72b3bdb44384f5f0ff93ad1a483acd033b4b"
+ integrity sha512-pzbyjWvj0t8m0kR2pC9GQne4sZn7Y/zfcbm6/31CL+yhzOQjfJEj3n4ZFUlxikXqQJPg1aWfypfyaeaLL0QyuA==
+ dependencies:
+ "@storybook/core-client" "6.2.9"
+ "@storybook/core-server" "6.2.9"
"@storybook/csf@0.0.1":
version "0.0.1"
@@ -3540,18 +4618,18 @@
dependencies:
lodash "^4.17.15"
-"@storybook/node-logger@*":
- version "6.1.11"
- resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-6.1.11.tgz#8e0d058b4804f2fea03c9d7d331b8e2d02f3b7ff"
- integrity sha512-MASonXDWpSMU9HF9mqbGOR1Ps/DTJ8AVmYD50+OnB9kXl4M42Dliobeq7JwKFMnZ42RelUCCSXdWW80hGrUKKA==
+"@storybook/node-logger@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-6.2.9.tgz#c67d8d7684514b8d00207502e8a9adda0ee750e5"
+ integrity sha512-ryRBChWZf1A5hOVONErJZosS25IdMweoMVFAUAcj91iC0ynoSA6YL2jmoE71jQchxEXEgkDeRkX9lR/GlqFGZQ==
dependencies:
"@types/npmlog" "^4.1.2"
- chalk "^4.0.0"
- core-js "^3.0.1"
+ chalk "^4.1.0"
+ core-js "^3.8.2"
npmlog "^4.1.2"
pretty-hrtime "^1.0.3"
-"@storybook/node-logger@5.3.21":
+"@storybook/node-logger@^5.3.17":
version "5.3.21"
resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-5.3.21.tgz#f11d45042bd57dc69e9037d8f374d9fd0aad8071"
integrity sha512-8xibncy873JXePCK5MC0qem1MKtWI1Lc4hv6rwURSwYpZtkO7yElay3XAFGUSfz8qFJkoDBmMTxBR3fp4Dln7g==
@@ -3563,144 +4641,158 @@
pretty-hrtime "^1.0.3"
regenerator-runtime "^0.13.3"
-"@storybook/postinstall@5.3.21":
- version "5.3.21"
- resolved "https://registry.yarnpkg.com/@storybook/postinstall/-/postinstall-5.3.21.tgz#fa6246d93e4c1519bf85b9f31174f4d16c98f36b"
- integrity sha512-pF+k27DQOWfhlrz9g8t3kAn2dCo7bFRCLMftIDGfJAyMJsXQ+Nl+RAJpM+g7AXV0G9Q0z+H93EEsxV+9ZHF7xA==
+"@storybook/postinstall@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/postinstall/-/postinstall-6.2.9.tgz#3573ca86a27e9628defdd3a2c64721ee9db359ce"
+ integrity sha512-HjAjXZV+WItonC7lVrfrUsQuRFZNz1g1lE0GgsEK2LdC5rAcD/JwJxjiWREwY+RGxKL9rpWgqyxVQajpIJRjhA==
dependencies:
- core-js "^3.0.1"
+ core-js "^3.8.2"
-"@storybook/preset-create-react-app@^2.1.1":
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/@storybook/preset-create-react-app/-/preset-create-react-app-2.1.2.tgz#7fd563768c5a4441ce8550e117cc435722e772fe"
- integrity sha512-bynFJDAVDzyfu+NEPXYMNUBRxm6ib4FgPBWComW+f+ULVWDjv8Mmq5qKMI/vPhixXAvffYRt9HB49V0f8kFxiw==
+"@storybook/preset-create-react-app@^3.1.7":
+ version "3.1.7"
+ resolved "https://registry.yarnpkg.com/@storybook/preset-create-react-app/-/preset-create-react-app-3.1.7.tgz#e48df77768bdcc4863e3918c11965c45e4110ac8"
+ integrity sha512-SR+HGSWCrhHA5sszuIHJYdh2tWNi/zu858WB5RM74OBW4ogo8Bv4/7td4p53eWbdm0zBDbnKcrBmwRrAYqwL9Q==
dependencies:
- "@storybook/node-logger" "*"
- "@types/babel__core" "^7.1.6"
- "@types/webpack" "^4.41.7"
+ "@pmmmwh/react-refresh-webpack-plugin" "^0.4.3"
+ "@types/babel__core" "^7.1.7"
+ "@types/webpack" "^4.41.13"
+ babel-plugin-react-docgen "^4.1.0"
pnp-webpack-plugin "^1.6.4"
- semver "^7.1.3"
-
-"@storybook/preset-typescript@^1.2.0":
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/@storybook/preset-typescript/-/preset-typescript-1.2.2.tgz#79bad0623a0917182236e721a1b2517eb9b97886"
- integrity sha512-CwAg6motnLJKkPZ0mrLS9/fI9uJHtAN4BqAgarfnXf3vh9UzUOyPRbo1hMT5zcMLPa0mo3tHPWGK6mt6lqc7lQ==
+ react-docgen-typescript-plugin "^0.6.2"
+ semver "^7.3.2"
-"@storybook/react@^5.3.8":
- version "5.3.21"
- resolved "https://registry.yarnpkg.com/@storybook/react/-/react-5.3.21.tgz#f7f364d3d3adc70746a12cf8b6614952f41d4bd0"
- integrity sha512-A50F8dDZxyLGa/dE3q0Zxt7T5r9UbomoSclqw7oJTO9GI76QOu7GfsoWrEL2gTEDAmqXreLVQqGuTLQhBz0rlA==
+"@storybook/preset-typescript@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@storybook/preset-typescript/-/preset-typescript-3.0.0.tgz#e157baf6f2c4982c3da3328f5e1a640b3d7db9e4"
+ integrity sha512-tEbFWg5h/8SPfSCNXPxyqY418704K14q5H/xb9t0ARMXK3kZPTkKqKvdTvYg3UEKBBYbc+GA57UWaL+9b+DbDg==
dependencies:
- "@babel/plugin-transform-react-constant-elements" "^7.6.3"
- "@babel/preset-flow" "^7.0.0"
- "@babel/preset-react" "^7.0.0"
- "@storybook/addons" "5.3.21"
- "@storybook/core" "5.3.21"
- "@storybook/node-logger" "5.3.21"
- "@svgr/webpack" "^4.0.3"
- "@types/webpack-env" "^1.15.0"
+ "@babel/preset-typescript" "^7.8.3"
+ "@storybook/node-logger" "^5.3.17"
+ "@types/babel__core" "^7.1.6"
+ babel-preset-typescript-vue "^1.0.3"
+ fork-ts-checker-webpack-plugin "^4.1.0"
+
+"@storybook/react@^6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/react/-/react-6.2.9.tgz#84f42b3d9a5c8de814f71ae186886076ba377d2c"
+ integrity sha512-glvw+o/Vek2oapYIXCYDK6gm3cuSnx0XdOpiJVcXk3KLb8JfLbdzGYYp6dcWUbyOBqGcGFRpXIgMmkcwgn+fvQ==
+ dependencies:
+ "@babel/preset-flow" "^7.12.1"
+ "@babel/preset-react" "^7.12.10"
+ "@pmmmwh/react-refresh-webpack-plugin" "^0.4.3"
+ "@storybook/addons" "6.2.9"
+ "@storybook/core" "6.2.9"
+ "@storybook/core-common" "6.2.9"
+ "@storybook/node-logger" "6.2.9"
+ "@storybook/semver" "^7.3.2"
+ "@types/webpack-env" "^1.16.0"
babel-plugin-add-react-displayname "^0.0.5"
babel-plugin-named-asset-import "^0.3.1"
- babel-plugin-react-docgen "^4.0.0"
- core-js "^3.0.1"
- global "^4.3.2"
- lodash "^4.17.15"
- mini-css-extract-plugin "^0.7.0"
+ babel-plugin-react-docgen "^4.2.1"
+ core-js "^3.8.2"
+ global "^4.4.0"
+ lodash "^4.17.20"
prop-types "^15.7.2"
- react-dev-utils "^9.0.0"
- regenerator-runtime "^0.13.3"
- semver "^6.0.0"
- ts-dedent "^1.1.0"
- webpack "^4.33.0"
-
-"@storybook/router@5.3.21":
- version "5.3.21"
- resolved "https://registry.yarnpkg.com/@storybook/router/-/router-5.3.21.tgz#32b08e5daa90a6ffa024bb670b874525a712a901"
- integrity sha512-c29m5UikK5Q1lyd6FltOGFhIcpd6PIb855YS3OUNe3F6ZA1tfJ+aNKrCBc65d1c+fvCGG76dYYYv0RvwEmKXXg==
- dependencies:
- "@reach/router" "^1.2.1"
- "@storybook/csf" "0.0.1"
- "@types/reach__router" "^1.2.3"
- core-js "^3.0.1"
- global "^4.3.2"
- lodash "^4.17.15"
+ react-dev-utils "^11.0.3"
+ react-docgen-typescript-plugin "^0.6.2"
+ react-refresh "^0.8.3"
+ read-pkg-up "^7.0.1"
+ regenerator-runtime "^0.13.7"
+ ts-dedent "^2.0.0"
+ webpack "4"
+
+"@storybook/router@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/router/-/router-6.2.9.tgz#547543031dd8330870bb6b473dcf7e51982e841c"
+ integrity sha512-7Bn1OFoItCl8whXRT8N1qp1Lky7kzXJ3aslWp5E8HcM8rxh4OYXfbaeiyJEJxBTGC5zxgY+tAEXHFjsAviFROg==
+ dependencies:
+ "@reach/router" "^1.3.4"
+ "@storybook/client-logger" "6.2.9"
+ "@types/reach__router" "^1.3.7"
+ core-js "^3.8.2"
+ fast-deep-equal "^3.1.3"
+ global "^4.4.0"
+ lodash "^4.17.20"
memoizerific "^1.11.3"
- qs "^6.6.0"
- util-deprecate "^1.0.2"
+ qs "^6.10.0"
+ ts-dedent "^2.0.0"
-"@storybook/source-loader@5.3.21":
- version "5.3.21"
- resolved "https://registry.yarnpkg.com/@storybook/source-loader/-/source-loader-5.3.21.tgz#d5f8758fc6b2d9f0ca45e2ffbffa513d5151fd9e"
- integrity sha512-kzaxvmWhRdkgp7a/XhsHxOB1D3XOkA8kmFahMAJD506hts8he+G2QSaj3BosOFCxa2OYAxbcIBs3JFyaXQGJ0A==
+"@storybook/semver@^7.3.2":
+ version "7.3.2"
+ resolved "https://registry.yarnpkg.com/@storybook/semver/-/semver-7.3.2.tgz#f3b9c44a1c9a0b933c04e66d0048fcf2fa10dac0"
+ integrity sha512-SWeszlsiPsMI0Ps0jVNtH64cI5c0UF3f7KgjVKJoNP30crQ6wUSddY2hsdeczZXEKVJGEn50Q60flcGsQGIcrg==
dependencies:
- "@storybook/addons" "5.3.21"
- "@storybook/client-logger" "5.3.21"
- "@storybook/csf" "0.0.1"
- core-js "^3.0.1"
- estraverse "^4.2.0"
- global "^4.3.2"
- loader-utils "^1.2.3"
- prettier "^1.16.4"
- prop-types "^15.7.2"
- regenerator-runtime "^0.13.3"
+ core-js "^3.6.5"
+ find-up "^4.1.0"
-"@storybook/theming@5.3.21":
- version "5.3.21"
- resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-5.3.21.tgz#ae2dc101aa57c3be4df1724ae729e11bad118e0b"
- integrity sha512-FZbxjizqdO9lV5LUixPio/7+6UdPiswCzTJn8Hcot9uwwgfnrViRdN7xyjmSYRqv9nHP3OlYbtdeCAgZ4aPq8g==
+"@storybook/source-loader@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/source-loader/-/source-loader-6.2.9.tgz#ac6b314e48044acad5318d237275b24e684edb9f"
+ integrity sha512-cx499g7BG2oeXvRFx45r0W0p2gKEy/e88WsUFnqqfMKZBJ8K0R/lx5DI0l1hq+TzSrE6uGe0/uPlaLkJNIro7g==
dependencies:
- "@emotion/core" "^10.0.20"
- "@emotion/styled" "^10.0.17"
- "@storybook/client-logger" "5.3.21"
- core-js "^3.0.1"
+ "@storybook/addons" "6.2.9"
+ "@storybook/client-logger" "6.2.9"
+ "@storybook/csf" "0.0.1"
+ core-js "^3.8.2"
+ estraverse "^5.2.0"
+ global "^4.4.0"
+ loader-utils "^2.0.0"
+ lodash "^4.17.20"
+ prettier "~2.2.1"
+ regenerator-runtime "^0.13.7"
+
+"@storybook/theming@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-6.2.9.tgz#16bf40180861f222c7ed1d80abd5d1e3cb315660"
+ integrity sha512-183oJW7AD7Fhqg5NT4ct3GJntwteAb9jZnQ6yhf9JSdY+fk8OhxRbPf7ov0au2gYACcGrWDd9K5pYQsvWlP5gA==
+ dependencies:
+ "@emotion/core" "^10.1.1"
+ "@emotion/is-prop-valid" "^0.8.6"
+ "@emotion/styled" "^10.0.27"
+ "@storybook/client-logger" "6.2.9"
+ core-js "^3.8.2"
deep-object-diff "^1.1.0"
- emotion-theming "^10.0.19"
- global "^4.3.2"
+ emotion-theming "^10.0.27"
+ global "^4.4.0"
memoizerific "^1.11.3"
- polished "^3.3.1"
- prop-types "^15.7.2"
+ polished "^4.0.5"
resolve-from "^5.0.0"
- ts-dedent "^1.1.0"
-
-"@storybook/ui@5.3.21":
- version "5.3.21"
- resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-5.3.21.tgz#b42568e03353b47aaab1b6449311f38858585f81"
- integrity sha512-OUf8JYY9LN+XfzLSZE6KtboITGDL6C8Z0W9QOXM5LJwFLv4PkANK/f9qsB5vVHFm7vhoO96butFzs6SjTKhxkw==
- dependencies:
- "@emotion/core" "^10.0.20"
- "@storybook/addons" "5.3.21"
- "@storybook/api" "5.3.21"
- "@storybook/channels" "5.3.21"
- "@storybook/client-logger" "5.3.21"
- "@storybook/components" "5.3.21"
- "@storybook/core-events" "5.3.21"
- "@storybook/router" "5.3.21"
- "@storybook/theming" "5.3.21"
- copy-to-clipboard "^3.0.8"
- core-js "^3.0.1"
- core-js-pure "^3.0.1"
- emotion-theming "^10.0.19"
- fast-deep-equal "^2.0.1"
- fuse.js "^3.4.6"
- global "^4.3.2"
- lodash "^4.17.15"
+ ts-dedent "^2.0.0"
+
+"@storybook/ui@6.2.9":
+ version "6.2.9"
+ resolved "https://registry.yarnpkg.com/@storybook/ui/-/ui-6.2.9.tgz#25cdf7ae2ef38ab337570c2377fda1da999792e7"
+ integrity sha512-jq2xmw3reIqik/6ibUSbNKGR+Xvr9wkAEwexiOl+5WQ5BeYJpw4dmDmsFQf+SQuWaSEUUPolbzkakRQM778Kdg==
+ dependencies:
+ "@emotion/core" "^10.1.1"
+ "@storybook/addons" "6.2.9"
+ "@storybook/api" "6.2.9"
+ "@storybook/channels" "6.2.9"
+ "@storybook/client-logger" "6.2.9"
+ "@storybook/components" "6.2.9"
+ "@storybook/core-events" "6.2.9"
+ "@storybook/router" "6.2.9"
+ "@storybook/semver" "^7.3.2"
+ "@storybook/theming" "6.2.9"
+ "@types/markdown-to-jsx" "^6.11.3"
+ copy-to-clipboard "^3.3.1"
+ core-js "^3.8.2"
+ core-js-pure "^3.8.2"
+ downshift "^6.0.15"
+ emotion-theming "^10.0.27"
+ fuse.js "^3.6.1"
+ global "^4.4.0"
+ lodash "^4.17.20"
markdown-to-jsx "^6.11.4"
memoizerific "^1.11.3"
- polished "^3.3.1"
- prop-types "^15.7.2"
- qs "^6.6.0"
- react "^16.8.3"
- react-dom "^16.8.3"
- react-draggable "^4.0.3"
- react-helmet-async "^1.0.2"
- react-hotkeys "2.0.0"
- react-sizeme "^2.6.7"
- regenerator-runtime "^0.13.2"
+ polished "^4.0.5"
+ qs "^6.10.0"
+ react-draggable "^4.4.3"
+ react-helmet-async "^1.0.7"
+ react-sizeme "^3.0.1"
+ regenerator-runtime "^0.13.7"
resolve-from "^5.0.0"
- semver "^6.0.0"
- store2 "^2.7.1"
- telejson "^3.2.0"
- util-deprecate "^1.0.2"
+ store2 "^2.12.0"
"@svgr/babel-plugin-add-jsx-attribute@^4.2.0":
version "4.2.0"
@@ -3791,7 +4883,7 @@
merge-deep "^3.0.2"
svgo "^1.2.2"
-"@svgr/webpack@4.3.3", "@svgr/webpack@^4.0.3":
+"@svgr/webpack@4.3.3":
version "4.3.3"
resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-4.3.3.tgz#13cc2423bf3dff2d494f16b17eb7eacb86895017"
integrity sha512-bjnWolZ6KVsHhgyCoYRFmbd26p8XVbulCzSG53BDQqAr+JOAderYK7CuYrB3bDjHJuF6LJ7Wrr42+goLRV9qIg==
@@ -3896,11 +4988,28 @@
dependencies:
"@babel/types" "^7.3.0"
+"@types/braces@*":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@types/braces/-/braces-3.0.0.tgz#7da1c0d44ff1c7eb660a36ec078ea61ba7eb42cb"
+ integrity sha512-TbH79tcyi9FHwbyboOKeRachRq63mSuWYXOflsNO9ZyE5ClQ/JaozNKl+aWUq87qPNsXasXxi2AbgfwIJ+8GQw==
+
"@types/classnames@^2.2.9":
version "2.2.11"
resolved "https://registry.yarnpkg.com/@types/classnames/-/classnames-2.2.11.tgz#2521cc86f69d15c5b90664e4829d84566052c1cf"
integrity sha512-2koNhpWm3DgWRp5tpkiJ8JGc1xTn2q0l+jUNUE7oMKXUf5NpI9AIdC4kbjGNFBdHtcxBD18LAksoudAVhFKCjw==
+"@types/color-convert@^2.0.0":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@types/color-convert/-/color-convert-2.0.0.tgz#8f5ee6b9e863dcbee5703f5a517ffb13d3ea4e22"
+ integrity sha512-m7GG7IKKGuJUXvkZ1qqG3ChccdIM/qBBo913z+Xft0nKCX4hAU/IxKwZBU4cpRZ7GS5kV4vOblUkILtSShCPXQ==
+ dependencies:
+ "@types/color-name" "*"
+
+"@types/color-name@*":
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
+ integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
+
"@types/element-closest@^3.0.0":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@types/element-closest/-/element-closest-3.0.0.tgz#8a5d3a19b0c3fa6668ffbdfc7c70e656fa204237"
@@ -3923,7 +5032,12 @@
dependencies:
"@types/node" "*"
-"@types/glob@^7.1.1":
+"@types/glob-base@^0.3.0":
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/@types/glob-base/-/glob-base-0.3.0.tgz#a581d688347e10e50dd7c17d6f2880a10354319d"
+ integrity sha1-pYHWiDR+EOUN18F9byiAoQNUMZ0=
+
+"@types/glob@*", "@types/glob@^7.1.1":
version "7.1.3"
resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183"
integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==
@@ -3945,11 +5059,6 @@
dependencies:
"@types/unist" "*"
-"@types/history@*":
- version "4.7.8"
- resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.8.tgz#49348387983075705fe8f4e02fb67f7daaec4934"
- integrity sha512-S78QIYirQcUoo6UJZx9CSP0O2ix9IaeAXwQi26Rhr/+mg7qqPy8TzaxHSUut7eGjL8WmLccT7/MXf304WjqHcA==
-
"@types/html-minifier-terser@^5.0.0":
version "5.1.1"
resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#3c9ee980f1a10d6021ae6632ca3e79ca2ec4fb50"
@@ -4009,6 +5118,11 @@
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.6.tgz#f4c7ec43e81b319a9815115031709f26987891f0"
integrity sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==
+"@types/json-schema@^7.0.4":
+ version "7.0.7"
+ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad"
+ integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==
+
"@types/json5@^0.0.29":
version "0.0.29"
resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
@@ -4033,6 +5147,13 @@
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.166.tgz#07e7f2699a149219dbc3c35574f126ec8737688f"
integrity sha512-A3YT/c1oTlyvvW/GQqG86EyqWNrT/tisOIh2mW3YCgcx71TNjiTZA3zYZWA5BCmtsOTXjhliy4c4yEkErw6njA==
+"@types/markdown-to-jsx@^6.11.3":
+ version "6.11.3"
+ resolved "https://registry.yarnpkg.com/@types/markdown-to-jsx/-/markdown-to-jsx-6.11.3.tgz#cdd1619308fecbc8be7e6a26f3751260249b020e"
+ integrity sha512-30nFYpceM/ZEvhGiqWjm5quLUxNeld0HCzJEXMZZDpq53FPkS85mTwkWtCXzCqq8s5JYLgM5W392a02xn8Bdaw==
+ dependencies:
+ "@types/react" "*"
+
"@types/mdast@^3.0.0":
version "3.0.3"
resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.3.tgz#2d7d671b1cd1ea3deb306ea75036c2a0407d2deb"
@@ -4040,6 +5161,13 @@
dependencies:
"@types/unist" "*"
+"@types/micromatch@^4.0.1":
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/@types/micromatch/-/micromatch-4.0.1.tgz#9381449dd659fc3823fd2a4190ceacc985083bc7"
+ integrity sha512-my6fLBvpY70KattTNzYOK6KU1oR1+UCz9ug/JbcF5UrEmeCt9P7DV2t7L8+t18mMPINqGQCE4O8PLOPbI84gxw==
+ dependencies:
+ "@types/braces" "*"
+
"@types/minimatch@*":
version "3.0.3"
resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d"
@@ -4050,6 +5178,14 @@
resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.1.tgz#283f669ff76d7b8260df8ab7a4262cc83d988256"
integrity sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg==
+"@types/node-fetch@^2.5.7":
+ version "2.5.10"
+ resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.5.10.tgz#9b4d4a0425562f9fcea70b12cb3fcdd946ca8132"
+ integrity sha512-IpkX0AasN44hgEad0gEF/V6EgR5n69VEqPEgnmoM8GsIGro3PowbWs4tR6IhxUTyPLpOn+fiGG6nrQhcmoCuIQ==
+ dependencies:
+ "@types/node" "*"
+ form-data "^3.0.0"
+
"@types/node@*", "@types/node@>= 8":
version "14.14.16"
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.16.tgz#3cc351f8d48101deadfed4c9e4f116048d437b4b"
@@ -4060,6 +5196,11 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.38.tgz#66a7c068305dbd64cf167d0f6b6b6be71dd453e1"
integrity sha512-oxo8j9doh7ab9NwDA9bCeFfjHRF/uzk+fTljCy8lMjZ3YzZGAXNDKhTE3Byso/oy32UTUQIXB3HCVHu3d2T3xg==
+"@types/node@^14.0.10":
+ version "14.17.3"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.17.3.tgz#6d327abaa4be34a74e421ed6409a0ae2f47f4c3d"
+ integrity sha512-e6ZowgGJmTuXa3GyaPbTGxX17tnThl2aSSizrFthQ7m9uLGZBXiGhgE55cjRZTF5kjZvYn9EOPOMljdjwbflxw==
+
"@types/normalize-package-data@^2.4.0":
version "2.4.0"
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e"
@@ -4075,6 +5216,11 @@
resolved "https://registry.yarnpkg.com/@types/object-path/-/object-path-0.11.0.tgz#0b744309b2573dc8bf867ef589b6288be998e602"
integrity sha512-/tuN8jDbOXcPk+VzEVZzzAgw1Byz7s/itb2YI10qkSyy6nykJH02DuhfrflxVdAdE7AZ91h5X6Cn0dmVdFw2TQ==
+"@types/overlayscrollbars@^1.12.0":
+ version "1.12.0"
+ resolved "https://registry.yarnpkg.com/@types/overlayscrollbars/-/overlayscrollbars-1.12.0.tgz#98456caceca8ad73bd5bb572632a585074e70764"
+ integrity sha512-h/pScHNKi4mb+TrJGDon8Yb06ujFG0mSg12wIO0sWMUF3dQIe2ExRRdNRviaNt9IjxIiOfnRr7FsQAdHwK4sMg==
+
"@types/parse-json@^4.0.0":
version "4.0.0"
resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
@@ -4097,6 +5243,11 @@
resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.1.6.tgz#f4b1efa784e8db479cdb8b14403e2144b1e9ff03"
integrity sha512-6gOkRe7OIioWAXfnO/2lFiv+SJichKVSys1mSsgyrYHSEjk8Ctv4tSR/Odvnu+HWlH2C8j53dahU03XmQdd5fA==
+"@types/pretty-hrtime@^1.0.0":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@types/pretty-hrtime/-/pretty-hrtime-1.0.0.tgz#c5a2d644a135e988b2932f99737e67b3c62528d0"
+ integrity sha512-xl+5r2rcrxdLViAYkkiLMYsoUs3qEyrAnHFyEzYysgRxdVp3WbhysxIvJIxZp9FvZ2CYezh0TaHZorivH+voOQ==
+
"@types/prop-types@*":
version "15.7.3"
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7"
@@ -4107,21 +5258,17 @@
resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24"
integrity sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==
-"@types/reach__router@^1.2.3":
- version "1.3.6"
- resolved "https://registry.yarnpkg.com/@types/reach__router/-/reach__router-1.3.6.tgz#413417ce74caab331c70ce6a03a4c825188e4709"
- integrity sha512-RHYataCUPQnt+GHoASyRLq6wmZ0n8jWlBW8Lxcwd30NN6vQfbmTeoSDfkgxO0S1lEzArp8OFDsq5KIs7FygjtA==
- dependencies:
- "@types/history" "*"
- "@types/react" "*"
+"@types/qs@^6.9.5":
+ version "6.9.6"
+ resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.6.tgz#df9c3c8b31a247ec315e6996566be3171df4b3b1"
+ integrity sha512-0/HnwIfW4ki2D8L8c9GVcG5I72s9jP5GSLVF0VIXDW00kmIpA6O33G7a8n59Tmh7Nz0WUC3rSb7PTY/sdW2JzA==
-"@types/react-color@^3.0.1":
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/@types/react-color/-/react-color-3.0.4.tgz#c63daf012ad067ac0127bdd86725f079d02082bd"
- integrity sha512-EswbYJDF1kkrx93/YU+BbBtb46CCtDMvTiGmcOa/c5PETnwTiSWoseJ1oSWeRl/4rUXkhME9bVURvvPg0W5YQw==
+"@types/reach__router@^1.3.7":
+ version "1.3.8"
+ resolved "https://registry.yarnpkg.com/@types/reach__router/-/reach__router-1.3.8.tgz#7b8607abf13704f918a9543257bcb7ec63028bfa"
+ integrity sha512-cjjT0FPdwuvhLWpCDt2WCh4sdBqNzJe3XhxXmRQGsY3IvT58M8sE4E7A0QaFYuJs3ar+McSJTiJxdYKWAXbBhw==
dependencies:
"@types/react" "*"
- "@types/reactcss" "*"
"@types/react-dom@^16.9.5":
version "16.9.10"
@@ -4130,17 +5277,10 @@
dependencies:
"@types/react" "^16"
-"@types/react-syntax-highlighter@11.0.4":
- version "11.0.4"
- resolved "https://registry.yarnpkg.com/@types/react-syntax-highlighter/-/react-syntax-highlighter-11.0.4.tgz#d86d17697db62f98046874f62fdb3e53a0bbc4cd"
- integrity sha512-9GfTo3a0PHwQeTVoqs0g5bS28KkSY48pp5659wA+Dp4MqceDEa8EHBqrllJvvtyusszyJhViUEap0FDvlk/9Zg==
- dependencies:
- "@types/react" "*"
-
-"@types/react-textarea-autosize@^4.3.3":
- version "4.3.5"
- resolved "https://registry.yarnpkg.com/@types/react-textarea-autosize/-/react-textarea-autosize-4.3.5.tgz#6c4d2753fa1864c98c0b2b517f67bb1f6e4c46de"
- integrity sha512-PiDL83kPMTolyZAWW3lyzO6ktooTb9tFTntVy7CA83/qFLWKLJ5bLeRboy6J6j3b1e8h2Eec6gBTEOOJRjV14A==
+"@types/react-syntax-highlighter@11.0.5":
+ version "11.0.5"
+ resolved "https://registry.yarnpkg.com/@types/react-syntax-highlighter/-/react-syntax-highlighter-11.0.5.tgz#0d546261b4021e1f9d85b50401c0a42acb106087"
+ integrity sha512-VIOi9i2Oj5XsmWWoB72p3KlZoEbdRAcechJa8Ztebw7bDl2YmR+odxIqhtJGp1q2EozHs02US+gzxJ9nuf56qg==
dependencies:
"@types/react" "*"
@@ -4167,13 +5307,6 @@
"@types/prop-types" "*"
csstype "^3.0.2"
-"@types/reactcss@*":
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/@types/reactcss/-/reactcss-1.2.3.tgz#af28ae11bbb277978b99d04d1eedfd068ca71834"
- integrity sha512-d2gQQ0IL6hXLnoRfVYZukQNWHuVsE75DzFTLPUuyyEhJS8G2VvlE+qfQQ91SJjaMqlURRCNIsX7Jcsw6cEuJlA==
- dependencies:
- "@types/react" "*"
-
"@types/retry@^0.12.0":
version "0.12.0"
resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d"
@@ -4204,6 +5337,11 @@
resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.6.tgz#a9ca4b70a18b270ccb2bc0aaafefd1d486b7ea74"
integrity sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA==
+"@types/tapable@^1":
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.7.tgz#545158342f949e8fd3bfd813224971ecddc3fac4"
+ integrity sha512-0VBprVqfgFD7Ehb2vd8Lh9TG3jP98gvr8rgehQqzztZNI7o8zS8Ad4jyZneKELphpuE212D8J70LnSNQSyO6bQ==
+
"@types/testing-library__jest-dom@^5.9.1":
version "5.9.5"
resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.9.5.tgz#5bf25c91ad2d7b38f264b12275e5c92a66d849b0"
@@ -4244,7 +5382,7 @@
"@types/unist" "*"
"@types/vfile-message" "*"
-"@types/webpack-env@^1.15.0":
+"@types/webpack-env@^1.16.0":
version "1.16.0"
resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.16.0.tgz#8c0a9435dfa7b3b1be76562f3070efb3f92637b4"
integrity sha512-Fx+NpfOO0CpeYX2g9bkvX8O5qh9wrU1sOF4g8sft4Mu7z+qfe387YlyY8w8daDyDsKY5vUxM0yxkAYnbkRbZEw==
@@ -4258,7 +5396,19 @@
"@types/source-list-map" "*"
source-map "^0.7.3"
-"@types/webpack@^4.41.7", "@types/webpack@^4.41.8":
+"@types/webpack@^4.41.13", "@types/webpack@^4.41.26":
+ version "4.41.29"
+ resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.29.tgz#2e66c1de8223c440366469415c50a47d97625773"
+ integrity sha512-6pLaORaVNZxiB3FSHbyBiWM7QdazAWda1zvAq4SbZObZqHSDbWLi62iFdblVea6SK9eyBIVp5yHhKt/yNQdR7Q==
+ dependencies:
+ "@types/node" "*"
+ "@types/tapable" "^1"
+ "@types/uglify-js" "*"
+ "@types/webpack-sources" "*"
+ anymatch "^3.0.0"
+ source-map "^0.6.0"
+
+"@types/webpack@^4.41.8":
version "4.41.25"
resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.25.tgz#4d3b5aecc4e44117b376280fbfd2dc36697968c4"
integrity sha512-cr6kZ+4m9lp86ytQc1jPOJXgINQyz3kLLunZ57jznW+WIAL0JqZbGubQk4GlD42MuQL5JGOABrxdpqqWeovlVQ==
@@ -4339,60 +5489,6 @@
semver "^7.3.2"
tsutils "^3.17.1"
-"@vue/compiler-core@3.0.4":
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.0.4.tgz#0122aca6eada4cb28b39ed930af917444755e330"
- integrity sha512-snpMICsbWTZqBFnPB03qr4DtiSxVYfDF3DvbDSkN9Z9NTM8Chl8E/lYhKBSsvauq91DAWAh8PU3lr9vrLyQsug==
- dependencies:
- "@babel/parser" "^7.12.0"
- "@babel/types" "^7.12.0"
- "@vue/shared" "3.0.4"
- estree-walker "^2.0.1"
- source-map "^0.6.1"
-
-"@vue/compiler-dom@3.0.4", "@vue/compiler-dom@^3.0.0-rc.6":
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.0.4.tgz#834fd4b15c5698cf9f4505c2bfbccca058a843eb"
- integrity sha512-FOxbHBIkkGjYQeTz1DlXQjS1Ms8EPXQWsdTdTPeohoS0KzCz6RiOjiAG+jLtMi6Nr5GX2h0TlCvcnI8mcsicFQ==
- dependencies:
- "@vue/compiler-core" "3.0.4"
- "@vue/shared" "3.0.4"
-
-"@vue/compiler-sfc@^3.0.0-rc.6":
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.0.4.tgz#2119fe1e68d2c268aafa20461c82c139a9adf8e0"
- integrity sha512-brDn6HTuK6R3oBCjtMPPsIpyJEZFinlnxjtBXww/goFJOJBAU9CrsdegwyZItNnixCFUIg4CLv4Nj1Eg/eKlfg==
- dependencies:
- "@babel/parser" "^7.12.0"
- "@babel/types" "^7.12.0"
- "@vue/compiler-core" "3.0.4"
- "@vue/compiler-dom" "3.0.4"
- "@vue/compiler-ssr" "3.0.4"
- "@vue/shared" "3.0.4"
- consolidate "^0.16.0"
- estree-walker "^2.0.1"
- hash-sum "^2.0.0"
- lru-cache "^5.1.1"
- magic-string "^0.25.7"
- merge-source-map "^1.1.0"
- postcss "^7.0.32"
- postcss-modules "^3.2.2"
- postcss-selector-parser "^6.0.4"
- source-map "^0.6.1"
-
-"@vue/compiler-ssr@3.0.4":
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.0.4.tgz#ccbd1f55734d51d1402fad825ac102002a7a07c7"
- integrity sha512-4aYWQEL4+LS4+D44K9Z7xMOWMEjBsz4Li9nMcj2rxRQ35ewK6uFPodvs6ORP60iBDSkwUFZoldFlNemQlu1BFw==
- dependencies:
- "@vue/compiler-dom" "3.0.4"
- "@vue/shared" "3.0.4"
-
-"@vue/shared@3.0.4":
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.0.4.tgz#6dc50f593bdfdeaa6183d1dbc15e2d45e7c6b8b3"
- integrity sha512-Swfbz31AaMX48CpFl+YmIrqOH9MgJMTrltG9e26A4ZxYx9LjGuMV+41WnxFzS3Bc9nbrc6sDPM37G6nIT8NJSg==
-
"@webassemblyjs/ast@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359"
@@ -4808,7 +5904,7 @@ acorn-globals@^6.0.0:
acorn "^7.1.1"
acorn-walk "^7.1.1"
-acorn-jsx@^5.1.0, acorn-jsx@^5.2.0:
+acorn-jsx@^5.2.0, acorn-jsx@^5.3.1:
version "5.3.1"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b"
integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==
@@ -4818,7 +5914,7 @@ acorn-walk@^6.0.1:
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c"
integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==
-acorn-walk@^7.0.0, acorn-walk@^7.1.1:
+acorn-walk@^7.1.1, acorn-walk@^7.2.0:
version "7.2.0"
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
@@ -4833,7 +5929,7 @@ acorn@^6.0.1, acorn@^6.0.4, acorn@^6.2.1, acorn@^6.4.1:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6"
integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==
-acorn@^7.1.0, acorn@^7.1.1:
+acorn@^7.1.1, acorn@^7.4.1:
version "7.4.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
@@ -4925,7 +6021,7 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2:
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
-ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5:
+ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5:
version "6.12.6"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
@@ -4981,7 +6077,7 @@ ansi-escapes@^4.2.1, ansi-escapes@^4.3.0, ansi-escapes@^4.3.1:
dependencies:
type-fest "^0.11.0"
-ansi-html@0.0.7:
+ansi-html@0.0.7, ansi-html@^0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e"
integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4=
@@ -5055,6 +6151,14 @@ anymatch@^2.0.0:
micromatch "^3.1.4"
normalize-path "^2.1.1"
+anymatch@^3.0.0:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
+ integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
+ dependencies:
+ normalize-path "^3.0.0"
+ picomatch "^2.0.4"
+
anymatch@^3.0.3, anymatch@~3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142"
@@ -5242,6 +6346,11 @@ arrify@^1.0.1:
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=
+arrify@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa"
+ integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==
+
arui-cssvars@1.1.7:
version "1.1.7"
resolved "https://registry.yarnpkg.com/arui-cssvars/-/arui-cssvars-1.1.7.tgz#c132b407af688e100b537e4e9cf068729510df78"
@@ -5273,7 +6382,7 @@ arui-presets-ts@^5.0.0:
ts-loader "3.5.0"
typescript "3.5.1"
-asap@^2.0.0, asap@~2.0.3, asap@~2.0.6:
+asap@^2.0.0, asap@~2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=
@@ -5295,11 +6404,6 @@ asn1@~0.2.3:
dependencies:
safer-buffer "~2.1.0"
-assert-never@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/assert-never/-/assert-never-1.2.1.tgz#11f0e363bf146205fb08193b5c7b90f4d1cf44fe"
- integrity sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==
-
assert-plus@1.0.0, assert-plus@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
@@ -5323,11 +6427,6 @@ ast-types-flow@0.0.7, ast-types-flow@^0.0.7:
resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad"
integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0=
-ast-types@0.13.3:
- version "0.13.3"
- resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.3.tgz#50da3f28d17bdbc7969a3a2d83a0e4a72ae755a7"
- integrity sha512-XTZ7xGML849LkQP86sWdQzfhwbt3YwIO6MqbX9mUNYY98VKaaVZP7YNNm70IpwecbkkxmfC5IYAzOQ/2p29zRA==
-
ast-types@^0.14.2:
version "0.14.2"
resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.14.2.tgz#600b882df8583e3cd4f2df5fa20fa83759d4bdfd"
@@ -5382,7 +6481,7 @@ atob@^2.1.2:
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
-autoprefixer@^9.6.1, autoprefixer@^9.7.1, autoprefixer@^9.7.2:
+autoprefixer@^9.6.1, autoprefixer@^9.7.1, autoprefixer@^9.8.6:
version "9.8.6"
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f"
integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==
@@ -5431,7 +6530,7 @@ babel-code-frame@^6.22.0:
esutils "^2.0.2"
js-tokens "^3.0.2"
-babel-core@7.0.0-bridge.0, babel-core@^7.0.0-bridge.0:
+babel-core@7.0.0-bridge.0:
version "7.0.0-bridge.0"
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece"
integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==
@@ -5455,41 +6554,6 @@ babel-extract-comments@^1.0.0:
dependencies:
babylon "^6.18.0"
-babel-helper-evaluate-path@^0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/babel-helper-evaluate-path/-/babel-helper-evaluate-path-0.5.0.tgz#a62fa9c4e64ff7ea5cea9353174ef023a900a67c"
- integrity sha512-mUh0UhS607bGh5wUMAQfOpt2JX2ThXMtppHRdRU1kL7ZLRWIXxoV2UIV1r2cAeeNeU1M5SB5/RSUgUxrK8yOkA==
-
-babel-helper-flip-expressions@^0.4.3:
- version "0.4.3"
- resolved "https://registry.yarnpkg.com/babel-helper-flip-expressions/-/babel-helper-flip-expressions-0.4.3.tgz#3696736a128ac18bc25254b5f40a22ceb3c1d3fd"
- integrity sha1-NpZzahKKwYvCUlS19AoizrPB0/0=
-
-babel-helper-is-nodes-equiv@^0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/babel-helper-is-nodes-equiv/-/babel-helper-is-nodes-equiv-0.0.1.tgz#34e9b300b1479ddd98ec77ea0bbe9342dfe39684"
- integrity sha1-NOmzALFHnd2Y7HfqC76TQt/jloQ=
-
-babel-helper-is-void-0@^0.4.3:
- version "0.4.3"
- resolved "https://registry.yarnpkg.com/babel-helper-is-void-0/-/babel-helper-is-void-0-0.4.3.tgz#7d9c01b4561e7b95dbda0f6eee48f5b60e67313e"
- integrity sha1-fZwBtFYee5Xb2g9u7kj1tg5nMT4=
-
-babel-helper-mark-eval-scopes@^0.4.3:
- version "0.4.3"
- resolved "https://registry.yarnpkg.com/babel-helper-mark-eval-scopes/-/babel-helper-mark-eval-scopes-0.4.3.tgz#d244a3bef9844872603ffb46e22ce8acdf551562"
- integrity sha1-0kSjvvmESHJgP/tG4izorN9VFWI=
-
-babel-helper-remove-or-void@^0.4.3:
- version "0.4.3"
- resolved "https://registry.yarnpkg.com/babel-helper-remove-or-void/-/babel-helper-remove-or-void-0.4.3.tgz#a4f03b40077a0ffe88e45d07010dee241ff5ae60"
- integrity sha1-pPA7QAd6D/6I5F0HAQ3uJB/1rmA=
-
-babel-helper-to-multiple-sequence-expressions@^0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/babel-helper-to-multiple-sequence-expressions/-/babel-helper-to-multiple-sequence-expressions-0.5.0.tgz#a3f924e3561882d42fcf48907aa98f7979a4588d"
- integrity sha512-m2CvfDW4+1qfDdsrtf4dwOslQC3yhbgyBFptncp4wvtdrDHqueW7slsYv4gArie056phvQFhT2nRcGS4bnm6mA==
-
babel-jest@^24.9.0:
version "24.9.0"
resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54"
@@ -5537,7 +6601,7 @@ babel-loader@8.1.0:
pify "^4.0.1"
schema-utils "^2.6.5"
-babel-loader@^8.0.6:
+babel-loader@^8.0.6, babel-loader@^8.2.2:
version "8.2.2"
resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.2.tgz#9363ce84c10c9a40e6c753748e1441b60c8a0b81"
integrity sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==
@@ -5567,7 +6631,7 @@ babel-plugin-dynamic-import-node@^2.3.3:
dependencies:
object.assign "^4.1.0"
-babel-plugin-emotion@^10.0.20, babel-plugin-emotion@^10.0.27:
+babel-plugin-emotion@^10.0.27:
version "10.0.33"
resolved "https://registry.yarnpkg.com/babel-plugin-emotion/-/babel-plugin-emotion-10.0.33.tgz#ce1155dcd1783bbb9286051efee53f4e2be63e03"
integrity sha512-bxZbTTGz0AJQDHm8k6Rf3RQJ8tX2scsfsRyKVgAbiUPUNIRtlK+7JxP+TAd1kRLABFxe0CFm2VdK4ePkoA9FxQ==
@@ -5628,7 +6692,7 @@ babel-plugin-jest-hoist@^26.6.2:
"@types/babel__core" "^7.0.0"
"@types/babel__traverse" "^7.0.6"
-babel-plugin-macros@2.8.0, babel-plugin-macros@^2.0.0, babel-plugin-macros@^2.7.0:
+babel-plugin-macros@2.8.0, babel-plugin-macros@^2.0.0, babel-plugin-macros@^2.8.0:
version "2.8.0"
resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138"
integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==
@@ -5637,88 +6701,53 @@ babel-plugin-macros@2.8.0, babel-plugin-macros@^2.0.0, babel-plugin-macros@^2.7.
cosmiconfig "^6.0.0"
resolve "^1.12.0"
-babel-plugin-minify-builtins@^0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-minify-builtins/-/babel-plugin-minify-builtins-0.5.0.tgz#31eb82ed1a0d0efdc31312f93b6e4741ce82c36b"
- integrity sha512-wpqbN7Ov5hsNwGdzuzvFcjgRlzbIeVv1gMIlICbPj0xkexnfoIDe7q+AZHMkQmAE/F9R5jkrB6TLfTegImlXag==
-
-babel-plugin-minify-constant-folding@^0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-minify-constant-folding/-/babel-plugin-minify-constant-folding-0.5.0.tgz#f84bc8dbf6a561e5e350ff95ae216b0ad5515b6e"
- integrity sha512-Vj97CTn/lE9hR1D+jKUeHfNy+m1baNiJ1wJvoGyOBUx7F7kJqDZxr9nCHjO/Ad+irbR3HzR6jABpSSA29QsrXQ==
- dependencies:
- babel-helper-evaluate-path "^0.5.0"
-
-babel-plugin-minify-dead-code-elimination@^0.5.1:
- version "0.5.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-minify-dead-code-elimination/-/babel-plugin-minify-dead-code-elimination-0.5.1.tgz#1a0c68e44be30de4976ca69ffc535e08be13683f"
- integrity sha512-x8OJOZIrRmQBcSqxBcLbMIK8uPmTvNWPXH2bh5MDCW1latEqYiRMuUkPImKcfpo59pTUB2FT7HfcgtG8ZlR5Qg==
+babel-plugin-macros@^3.0.1:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1"
+ integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==
dependencies:
- babel-helper-evaluate-path "^0.5.0"
- babel-helper-mark-eval-scopes "^0.4.3"
- babel-helper-remove-or-void "^0.4.3"
- lodash "^4.17.11"
+ "@babel/runtime" "^7.12.5"
+ cosmiconfig "^7.0.0"
+ resolve "^1.19.0"
-babel-plugin-minify-flip-comparisons@^0.4.3:
- version "0.4.3"
- resolved "https://registry.yarnpkg.com/babel-plugin-minify-flip-comparisons/-/babel-plugin-minify-flip-comparisons-0.4.3.tgz#00ca870cb8f13b45c038b3c1ebc0f227293c965a"
- integrity sha1-AMqHDLjxO0XAOLPB68DyJyk8llo=
- dependencies:
- babel-helper-is-void-0 "^0.4.3"
+babel-plugin-named-asset-import@^0.3.1, babel-plugin-named-asset-import@^0.3.6:
+ version "0.3.7"
+ resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.7.tgz#156cd55d3f1228a5765774340937afc8398067dd"
+ integrity sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw==
-babel-plugin-minify-guarded-expressions@^0.4.4:
- version "0.4.4"
- resolved "https://registry.yarnpkg.com/babel-plugin-minify-guarded-expressions/-/babel-plugin-minify-guarded-expressions-0.4.4.tgz#818960f64cc08aee9d6c75bec6da974c4d621135"
- integrity sha512-RMv0tM72YuPPfLT9QLr3ix9nwUIq+sHT6z8Iu3sLbqldzC1Dls8DPCywzUIzkTx9Zh1hWX4q/m9BPoPed9GOfA==
+babel-plugin-polyfill-corejs2@^0.2.0:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz#e9124785e6fd94f94b618a7954e5693053bf5327"
+ integrity sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==
dependencies:
- babel-helper-evaluate-path "^0.5.0"
- babel-helper-flip-expressions "^0.4.3"
-
-babel-plugin-minify-infinity@^0.4.3:
- version "0.4.3"
- resolved "https://registry.yarnpkg.com/babel-plugin-minify-infinity/-/babel-plugin-minify-infinity-0.4.3.tgz#dfb876a1b08a06576384ef3f92e653ba607b39ca"
- integrity sha1-37h2obCKBldjhO8/kuZTumB7Oco=
+ "@babel/compat-data" "^7.13.11"
+ "@babel/helper-define-polyfill-provider" "^0.2.2"
+ semver "^6.1.1"
-babel-plugin-minify-mangle-names@^0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-minify-mangle-names/-/babel-plugin-minify-mangle-names-0.5.0.tgz#bcddb507c91d2c99e138bd6b17a19c3c271e3fd3"
- integrity sha512-3jdNv6hCAw6fsX1p2wBGPfWuK69sfOjfd3zjUXkbq8McbohWy23tpXfy5RnToYWggvqzuMOwlId1PhyHOfgnGw==
+babel-plugin-polyfill-corejs3@^0.1.0:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.7.tgz#80449d9d6f2274912e05d9e182b54816904befd0"
+ integrity sha512-u+gbS9bbPhZWEeyy1oR/YaaSpod/KDT07arZHb80aTpl8H5ZBq+uN1nN9/xtX7jQyfLdPfoqI4Rue/MQSWJquw==
dependencies:
- babel-helper-mark-eval-scopes "^0.4.3"
-
-babel-plugin-minify-numeric-literals@^0.4.3:
- version "0.4.3"
- resolved "https://registry.yarnpkg.com/babel-plugin-minify-numeric-literals/-/babel-plugin-minify-numeric-literals-0.4.3.tgz#8e4fd561c79f7801286ff60e8c5fd9deee93c0bc"
- integrity sha1-jk/VYcefeAEob/YOjF/Z3u6TwLw=
+ "@babel/helper-define-polyfill-provider" "^0.1.5"
+ core-js-compat "^3.8.1"
-babel-plugin-minify-replace@^0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-minify-replace/-/babel-plugin-minify-replace-0.5.0.tgz#d3e2c9946c9096c070efc96761ce288ec5c3f71c"
- integrity sha512-aXZiaqWDNUbyNNNpWs/8NyST+oU7QTpK7J9zFEFSA0eOmtUNMU3fczlTTTlnCxHmq/jYNFEmkkSG3DDBtW3Y4Q==
-
-babel-plugin-minify-simplify@^0.5.1:
- version "0.5.1"
- resolved "https://registry.yarnpkg.com/babel-plugin-minify-simplify/-/babel-plugin-minify-simplify-0.5.1.tgz#f21613c8b95af3450a2ca71502fdbd91793c8d6a"
- integrity sha512-OSYDSnoCxP2cYDMk9gxNAed6uJDiDz65zgL6h8d3tm8qXIagWGMLWhqysT6DY3Vs7Fgq7YUDcjOomhVUb+xX6A==
+babel-plugin-polyfill-corejs3@^0.2.0:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.2.tgz#7424a1682ee44baec817327710b1b094e5f8f7f5"
+ integrity sha512-l1Cf8PKk12eEk5QP/NQ6TH8A1pee6wWDJ96WjxrMXFLHLOBFzYM4moG80HFgduVhTqAFez4alnZKEhP/bYHg0A==
dependencies:
- babel-helper-evaluate-path "^0.5.0"
- babel-helper-flip-expressions "^0.4.3"
- babel-helper-is-nodes-equiv "^0.0.1"
- babel-helper-to-multiple-sequence-expressions "^0.5.0"
+ "@babel/helper-define-polyfill-provider" "^0.2.2"
+ core-js-compat "^3.9.1"
-babel-plugin-minify-type-constructors@^0.4.3:
- version "0.4.3"
- resolved "https://registry.yarnpkg.com/babel-plugin-minify-type-constructors/-/babel-plugin-minify-type-constructors-0.4.3.tgz#1bc6f15b87f7ab1085d42b330b717657a2156500"
- integrity sha1-G8bxW4f3qxCF1CszC3F2V6IVZQA=
+babel-plugin-polyfill-regenerator@^0.2.0:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz#b310c8d642acada348c1fa3b3e6ce0e851bee077"
+ integrity sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==
dependencies:
- babel-helper-is-void-0 "^0.4.3"
-
-babel-plugin-named-asset-import@^0.3.1, babel-plugin-named-asset-import@^0.3.6:
- version "0.3.7"
- resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.7.tgz#156cd55d3f1228a5765774340937afc8398067dd"
- integrity sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw==
+ "@babel/helper-define-polyfill-provider" "^0.2.2"
-babel-plugin-react-docgen@^4.0.0:
+babel-plugin-react-docgen@^4.1.0, babel-plugin-react-docgen@^4.2.1:
version "4.2.1"
resolved "https://registry.yarnpkg.com/babel-plugin-react-docgen/-/babel-plugin-react-docgen-4.2.1.tgz#7cc8e2f94e8dc057a06e953162f0810e4e72257b"
integrity sha512-UQ0NmGHj/HAqi5Bew8WvNfCk8wSsmdgNd8ZdMjBCICtyCJCq9LiqgqvjCYe570/Wg7AQArSq1VQ60Dd/CHN7mQ==
@@ -5737,26 +6766,6 @@ babel-plugin-syntax-object-rest-spread@^6.8.0:
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5"
integrity sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=
-babel-plugin-transform-inline-consecutive-adds@^0.4.3:
- version "0.4.3"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-inline-consecutive-adds/-/babel-plugin-transform-inline-consecutive-adds-0.4.3.tgz#323d47a3ea63a83a7ac3c811ae8e6941faf2b0d1"
- integrity sha1-Mj1Ho+pjqDp6w8gRro5pQfrysNE=
-
-babel-plugin-transform-member-expression-literals@^6.9.4:
- version "6.9.4"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-member-expression-literals/-/babel-plugin-transform-member-expression-literals-6.9.4.tgz#37039c9a0c3313a39495faac2ff3a6b5b9d038bf"
- integrity sha1-NwOcmgwzE6OUlfqsL/OmtbnQOL8=
-
-babel-plugin-transform-merge-sibling-variables@^6.9.4:
- version "6.9.4"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-merge-sibling-variables/-/babel-plugin-transform-merge-sibling-variables-6.9.4.tgz#85b422fc3377b449c9d1cde44087203532401dae"
- integrity sha1-hbQi/DN3tEnJ0c3kQIcgNTJAHa4=
-
-babel-plugin-transform-minify-booleans@^6.9.4:
- version "6.9.4"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-minify-booleans/-/babel-plugin-transform-minify-booleans-6.9.4.tgz#acbb3e56a3555dd23928e4b582d285162dd2b198"
- integrity sha1-rLs+VqNVXdI5KOS1gtKFFi3SsZg=
-
babel-plugin-transform-object-rest-spread@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06"
@@ -5765,49 +6774,10 @@ babel-plugin-transform-object-rest-spread@^6.26.0:
babel-plugin-syntax-object-rest-spread "^6.8.0"
babel-runtime "^6.26.0"
-babel-plugin-transform-property-literals@^6.9.4:
- version "6.9.4"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-property-literals/-/babel-plugin-transform-property-literals-6.9.4.tgz#98c1d21e255736573f93ece54459f6ce24985d39"
- integrity sha1-mMHSHiVXNlc/k+zlRFn2ziSYXTk=
- dependencies:
- esutils "^2.0.2"
-
-babel-plugin-transform-react-remove-prop-types@0.4.24:
- version "0.4.24"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a"
- integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==
-
-babel-plugin-transform-regexp-constructors@^0.4.3:
- version "0.4.3"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-regexp-constructors/-/babel-plugin-transform-regexp-constructors-0.4.3.tgz#58b7775b63afcf33328fae9a5f88fbd4fb0b4965"
- integrity sha1-WLd3W2OvzzMyj66aX4j71PsLSWU=
-
-babel-plugin-transform-remove-console@^6.9.4:
- version "6.9.4"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz#b980360c067384e24b357a588d807d3c83527780"
- integrity sha1-uYA2DAZzhOJLNXpYjYB9PINSd4A=
-
-babel-plugin-transform-remove-debugger@^6.9.4:
- version "6.9.4"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-debugger/-/babel-plugin-transform-remove-debugger-6.9.4.tgz#42b727631c97978e1eb2d199a7aec84a18339ef2"
- integrity sha1-QrcnYxyXl44estGZp67IShgznvI=
-
-babel-plugin-transform-remove-undefined@^0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-undefined/-/babel-plugin-transform-remove-undefined-0.5.0.tgz#80208b31225766c630c97fa2d288952056ea22dd"
- integrity sha512-+M7fJYFaEE/M9CXa0/IRkDbiV3wRELzA1kKQFCJ4ifhrzLKn/9VCCgj9OFmYWwBd8IB48YdgPkHYtbYq+4vtHQ==
- dependencies:
- babel-helper-evaluate-path "^0.5.0"
-
-babel-plugin-transform-simplify-comparison-operators@^6.9.4:
- version "6.9.4"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-simplify-comparison-operators/-/babel-plugin-transform-simplify-comparison-operators-6.9.4.tgz#f62afe096cab0e1f68a2d753fdf283888471ceb9"
- integrity sha1-9ir+CWyrDh9ootdT/fKDiIRxzrk=
-
-babel-plugin-transform-undefined-to-void@^6.9.4:
- version "6.9.4"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-undefined-to-void/-/babel-plugin-transform-undefined-to-void-6.9.4.tgz#be241ca81404030678b748717322b89d0c8fe280"
- integrity sha1-viQcqBQEAwZ4t0hxcyK4nQyP4oA=
+babel-plugin-transform-react-remove-prop-types@0.4.24:
+ version "0.4.24"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a"
+ integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==
babel-polyfill@6.26.0:
version "6.26.0"
@@ -5852,35 +6822,6 @@ babel-preset-jest@^26.6.2:
babel-plugin-jest-hoist "^26.6.2"
babel-preset-current-node-syntax "^1.0.0"
-"babel-preset-minify@^0.5.0 || 0.6.0-alpha.5":
- version "0.5.1"
- resolved "https://registry.yarnpkg.com/babel-preset-minify/-/babel-preset-minify-0.5.1.tgz#25f5d0bce36ec818be80338d0e594106e21eaa9f"
- integrity sha512-1IajDumYOAPYImkHbrKeiN5AKKP9iOmRoO2IPbIuVp0j2iuCcj0n7P260z38siKMZZ+85d3mJZdtW8IgOv+Tzg==
- dependencies:
- babel-plugin-minify-builtins "^0.5.0"
- babel-plugin-minify-constant-folding "^0.5.0"
- babel-plugin-minify-dead-code-elimination "^0.5.1"
- babel-plugin-minify-flip-comparisons "^0.4.3"
- babel-plugin-minify-guarded-expressions "^0.4.4"
- babel-plugin-minify-infinity "^0.4.3"
- babel-plugin-minify-mangle-names "^0.5.0"
- babel-plugin-minify-numeric-literals "^0.4.3"
- babel-plugin-minify-replace "^0.5.0"
- babel-plugin-minify-simplify "^0.5.1"
- babel-plugin-minify-type-constructors "^0.4.3"
- babel-plugin-transform-inline-consecutive-adds "^0.4.3"
- babel-plugin-transform-member-expression-literals "^6.9.4"
- babel-plugin-transform-merge-sibling-variables "^6.9.4"
- babel-plugin-transform-minify-booleans "^6.9.4"
- babel-plugin-transform-property-literals "^6.9.4"
- babel-plugin-transform-regexp-constructors "^0.4.3"
- babel-plugin-transform-remove-console "^6.9.4"
- babel-plugin-transform-remove-debugger "^6.9.4"
- babel-plugin-transform-remove-undefined "^0.5.0"
- babel-plugin-transform-simplify-comparison-operators "^6.9.4"
- babel-plugin-transform-undefined-to-void "^6.9.4"
- lodash "^4.17.11"
-
babel-preset-react-app@^9.1.2:
version "9.1.2"
resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-9.1.2.tgz#54775d976588a8a6d1a99201a702befecaf48030"
@@ -5902,6 +6843,16 @@ babel-preset-react-app@^9.1.2:
babel-plugin-macros "2.8.0"
babel-plugin-transform-react-remove-prop-types "0.4.24"
+babel-preset-typescript-vue@^1.0.3:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/babel-preset-typescript-vue/-/babel-preset-typescript-vue-1.1.1.tgz#6a617dcb0ee26f911735d5f2bbe530286b2c7c02"
+ integrity sha512-wXeR7Y4xCsRUEdm4t4qlpv4wnxolS6jU0c7P2E6zJRWeG1sR0e6NL7DRN0tNuUwkUt0PU8bqVo4vzoA2VEuxnw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-transform-typescript" "^7.3.2"
+ "@babel/preset-typescript" "^7.3.3"
+ vue-template-compiler "^2.6.11"
+
babel-runtime@^6.23.0, babel-runtime@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
@@ -5910,13 +6861,6 @@ babel-runtime@^6.23.0, babel-runtime@^6.26.0:
core-js "^2.4.0"
regenerator-runtime "^0.11.0"
-babel-walk@3.0.0-canary-5:
- version "3.0.0-canary-5"
- resolved "https://registry.yarnpkg.com/babel-walk/-/babel-walk-3.0.0-canary-5.tgz#f66ecd7298357aee44955f235a6ef54219104b11"
- integrity sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==
- dependencies:
- "@babel/types" "^7.9.6"
-
babylon@^6.18.0:
version "6.18.0"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
@@ -5977,6 +6921,13 @@ before-after-hook@^2.0.0, before-after-hook@^2.1.0:
resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.1.0.tgz#b6c03487f44e24200dd30ca5e6a1979c5d2fb635"
integrity sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==
+better-opn@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/better-opn/-/better-opn-2.1.1.tgz#94a55b4695dc79288f31d7d0e5f658320759f7c6"
+ integrity sha512-kIPXZS5qwyKiX/HcRvDYfmBQUa8XP17I0mYZZ0y4UhpYOSvtsLHDYqmomS+Mj20aDvD3knEiQ0ecQy2nhio3yA==
+ dependencies:
+ open "^7.0.3"
+
big.js@^5.2.2:
version "5.2.2"
resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
@@ -6011,7 +6962,7 @@ bindings@^1.5.0:
dependencies:
file-uri-to-path "1.0.0"
-bluebird@^3.3.5, bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5, bluebird@^3.7.2:
+bluebird@^3.3.5, bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5:
version "3.7.2"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
@@ -6077,7 +7028,7 @@ boxen@^1.2.1:
term-size "^1.2.0"
widest-line "^2.0.0"
-boxen@^4.1.0:
+boxen@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/boxen/-/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64"
integrity sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==
@@ -6210,6 +7161,16 @@ browserslist@4.10.0:
node-releases "^1.1.52"
pkg-up "^3.1.0"
+browserslist@4.14.2:
+ version "4.14.2"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.2.tgz#1b3cec458a1ba87588cc5e9be62f19b6d48813ce"
+ integrity sha512-HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw==
+ dependencies:
+ caniuse-lite "^1.0.30001125"
+ electron-to-chromium "^1.3.564"
+ escalade "^3.0.2"
+ node-releases "^1.1.61"
+
browserslist@4.14.6:
version "4.14.6"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.6.tgz#97702a9c212e0c6b6afefad913d3a1538e348457"
@@ -6220,15 +7181,6 @@ browserslist@4.14.6:
escalade "^3.1.1"
node-releases "^1.1.65"
-browserslist@4.7.0:
- version "4.7.0"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.0.tgz#9ee89225ffc07db03409f2fee524dc8227458a17"
- integrity sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA==
- dependencies:
- caniuse-lite "^1.0.30000989"
- electron-to-chromium "^1.3.247"
- node-releases "^1.1.29"
-
browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.14.6, browserslist@^4.15.0, browserslist@^4.6.2, browserslist@^4.6.4, browserslist@^4.9.1:
version "4.16.0"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.0.tgz#410277627500be3cb28a1bfe037586fbedf9488b"
@@ -6240,6 +7192,17 @@ browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4
escalade "^3.1.1"
node-releases "^1.1.67"
+browserslist@^4.16.6:
+ version "4.16.6"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2"
+ integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==
+ dependencies:
+ caniuse-lite "^1.0.30001219"
+ colorette "^1.2.2"
+ electron-to-chromium "^1.3.723"
+ escalade "^3.1.1"
+ node-releases "^1.1.71"
+
bs-logger@0.x:
version "0.2.6"
resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8"
@@ -6375,6 +7338,29 @@ cacache@^13.0.1:
ssri "^7.0.0"
unique-filename "^1.1.1"
+cacache@^15.0.5:
+ version "15.2.0"
+ resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.2.0.tgz#73af75f77c58e72d8c630a7a2858cb18ef523389"
+ integrity sha512-uKoJSHmnrqXgthDFx/IU6ED/5xd+NNGe+Bb+kLZy7Ku4P+BaiWEUflAKPZ7eAzsYGcsAGASJZsybXp+quEcHTw==
+ dependencies:
+ "@npmcli/move-file" "^1.0.1"
+ chownr "^2.0.0"
+ fs-minipass "^2.0.0"
+ glob "^7.1.4"
+ infer-owner "^1.0.4"
+ lru-cache "^6.0.0"
+ minipass "^3.1.1"
+ minipass-collect "^1.0.2"
+ minipass-flush "^1.0.5"
+ minipass-pipeline "^1.2.2"
+ mkdirp "^1.0.3"
+ p-map "^4.0.0"
+ promise-inflight "^1.0.1"
+ rimraf "^3.0.2"
+ ssri "^8.0.1"
+ tar "^6.0.2"
+ unique-filename "^1.1.1"
+
cache-base@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
@@ -6403,6 +7389,14 @@ call-bind@^1.0.0:
function-bind "^1.1.1"
get-intrinsic "^1.0.0"
+call-bind@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
+ integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
+ dependencies:
+ function-bind "^1.1.1"
+ get-intrinsic "^1.0.2"
+
call-limit@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/call-limit/-/call-limit-1.1.1.tgz#ef15f2670db3f1992557e2d965abc459e6e358d4"
@@ -6496,11 +7490,6 @@ camelcase@^6.0.0:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809"
integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
-can-use-dom@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/can-use-dom/-/can-use-dom-0.1.0.tgz#22cc4a34a0abc43950f42c6411024a3f6366b45a"
- integrity sha1-IsxKNKCrxDlQ9CxkEQJKP2NmtFo=
-
caniuse-api@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0"
@@ -6511,11 +7500,16 @@ caniuse-api@^3.0.0:
lodash.memoize "^4.1.2"
lodash.uniq "^4.5.0"
-caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30000989, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001154, caniuse-lite@^1.0.30001156, caniuse-lite@^1.0.30001165:
+caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001154, caniuse-lite@^1.0.30001156, caniuse-lite@^1.0.30001165:
version "1.0.30001171"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001171.tgz#3291e11e02699ad0a29e69b8d407666fc843eba7"
integrity sha512-5Alrh8TTYPG9IH4UkRqEBZoEToWRLvPbSQokvzSz0lii8/FOWKG4keO1HoYfPWs8IF/NH/dyNPg1cmJGvV3Zlg==
+caniuse-lite@^1.0.30001125, caniuse-lite@^1.0.30001219:
+ version "1.0.30001235"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001235.tgz#ad5ca75bc5a1f7b12df79ad806d715a43a5ac4ed"
+ integrity sha512-zWEwIVqnzPkSAXOUlQnPW2oKoYb2aLQ4Q5ejdjBcnH63rfypaW34CxaeBn1VMya2XaEU3P/R2qHpWyj+l0BT1A==
+
capture-exit@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4"
@@ -6536,11 +7530,16 @@ cardinal@^2.1.1:
ansicolors "~0.3.2"
redeyed "~2.1.0"
-case-sensitive-paths-webpack-plugin@2.3.0, case-sensitive-paths-webpack-plugin@^2.2.0:
+case-sensitive-paths-webpack-plugin@2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz#23ac613cc9a856e4f88ff8bb73bbb5e989825cf7"
integrity sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ==
+case-sensitive-paths-webpack-plugin@^2.3.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4"
+ integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==
+
caseless@~0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
@@ -6615,13 +7614,6 @@ character-entities@^1.0.0:
resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b"
integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==
-character-parser@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/character-parser/-/character-parser-2.2.0.tgz#c7ce28f36d4bcd9744e5ffc2c5fcde1c73261fc0"
- integrity sha1-x84o821LzZdE5f/CxfzeHHMmH8A=
- dependencies:
- is-regex "^1.0.3"
-
character-reference-invalid@^1.0.0:
version "1.1.4"
resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560"
@@ -6632,7 +7624,7 @@ chardet@^0.7.0:
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
-chokidar@^2.0.4, chokidar@^2.1.8:
+chokidar@^2.1.8:
version "2.1.8"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==
@@ -6666,11 +7658,31 @@ chokidar@^3.3.0, chokidar@^3.4.1:
optionalDependencies:
fsevents "~2.1.2"
+chokidar@^3.4.2:
+ version "3.5.1"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a"
+ integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==
+ dependencies:
+ anymatch "~3.1.1"
+ braces "~3.0.2"
+ glob-parent "~5.1.0"
+ is-binary-path "~2.1.0"
+ is-glob "~4.0.1"
+ normalize-path "~3.0.0"
+ readdirp "~3.5.0"
+ optionalDependencies:
+ fsevents "~2.3.1"
+
chownr@^1.1.1, chownr@^1.1.2, chownr@^1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
+chownr@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece"
+ integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==
+
chrome-trace-event@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4"
@@ -6767,7 +7779,17 @@ cli-cursor@^3.1.0:
dependencies:
restore-cursor "^3.1.0"
-cli-table3@0.5.1, cli-table3@^0.5.0, cli-table3@^0.5.1:
+cli-table3@0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.0.tgz#b7b1bc65ca8e7b5cef9124e13dc2b21e2ce4faee"
+ integrity sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==
+ dependencies:
+ object-assign "^4.1.0"
+ string-width "^4.2.0"
+ optionalDependencies:
+ colors "^1.1.2"
+
+cli-table3@^0.5.0, cli-table3@^0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202"
integrity sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==
@@ -6880,11 +7902,6 @@ clone@^1.0.2:
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4=
-clone@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f"
- integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=
-
cmd-shim@^3.0.0, cmd-shim@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-3.0.3.tgz#2c35238d3df37d98ecdd7d5f6b8dc6b21cadc7cb"
@@ -6975,6 +7992,11 @@ colorette@^1.1.0, colorette@^1.2.1:
resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b"
integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==
+colorette@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
+ integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==
+
colors@^1.1.2, colors@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78"
@@ -6988,7 +8010,7 @@ columnify@^1.5.4, columnify@~1.5.4:
strip-ansi "^3.0.0"
wcwidth "^1.0.0"
-combined-stream@^1.0.6, combined-stream@~1.0.6:
+combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6:
version "1.0.8"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
@@ -7015,7 +8037,7 @@ commander@^2.11.0, commander@^2.19.0, commander@^2.20.0:
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
-commander@^4.0.1, commander@^4.1.1:
+commander@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
@@ -7025,7 +8047,7 @@ commander@^5.0.0:
resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae"
integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==
-commander@^6.1.0, commander@^6.2.0:
+commander@^6.1.0, commander@^6.2.0, commander@^6.2.1:
version "6.2.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c"
integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==
@@ -7128,6 +8150,11 @@ compute-scroll-into-view@^1.0.13, compute-scroll-into-view@^1.0.14:
resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.16.tgz#5b7bf4f7127ea2c19b750353d7ce6776a90ee088"
integrity sha512-a85LHKY81oQnikatZYA90pufpZ6sQx++BoCxOEMsjpZx+ZnaKGQnCyCehTRr/1p9GBIAHTjcU9k71kSYWloLiQ==
+compute-scroll-into-view@^1.0.17:
+ version "1.0.17"
+ resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.17.tgz#6a88f18acd9d42e9cf4baa6bec7e0522607ab7ab"
+ integrity sha512-j4dx+Fb0URmzbwwMUrhqWM2BEWHdFGx+qZ9qqASHRPqvTYdqvWnHg0H1hIbcyLnvgnoNAVMlwkepyqM3DaIFUg==
+
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
@@ -7200,21 +8227,6 @@ console-control-strings@^1.0.0, console-control-strings@^1.1.0, console-control-
resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
-consolidate@^0.16.0:
- version "0.16.0"
- resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.16.0.tgz#a11864768930f2f19431660a65906668f5fbdc16"
- integrity sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==
- dependencies:
- bluebird "^3.7.2"
-
-constantinople@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/constantinople/-/constantinople-4.0.1.tgz#0def113fa0e4dc8de83331a5cf79c8b325213151"
- integrity sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==
- dependencies:
- "@babel/parser" "^7.6.0"
- "@babel/types" "^7.6.1"
-
constants-browserify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
@@ -7669,7 +8681,7 @@ copy-descriptor@^0.1.0:
resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
-copy-to-clipboard@^3.0.8:
+copy-to-clipboard@^3.3.1:
version "3.3.1"
resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz#115aa1a9998ffab6196f93076ad6da3b913662ae"
integrity sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw==
@@ -7697,11 +8709,24 @@ core-js-compat@^3.6.2, core-js-compat@^3.8.0:
browserslist "^4.15.0"
semver "7.0.0"
-core-js-pure@^3.0.0, core-js-pure@^3.0.1:
+core-js-compat@^3.8.1, core-js-compat@^3.9.0, core-js-compat@^3.9.1:
+ version "3.14.0"
+ resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.14.0.tgz#b574dabf29184681d5b16357bd33d104df3d29a5"
+ integrity sha512-R4NS2eupxtiJU+VwgkF9WTpnSfZW4pogwKHd8bclWU2sp93Pr5S1uYJI84cMOubJRou7bcfL0vmwtLslWN5p3A==
+ dependencies:
+ browserslist "^4.16.6"
+ semver "7.0.0"
+
+core-js-pure@^3.0.0:
version "3.8.1"
resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.8.1.tgz#23f84048f366fdfcf52d3fd1c68fec349177d119"
integrity sha512-Se+LaxqXlVXGvmexKGPvnUIYC1jwXu1H6Pkyb3uBM5d8/NELMYCHs/4/roD7721NxrTLyv7e5nXd5/QLBO+10g==
+core-js-pure@^3.8.2:
+ version "3.14.0"
+ resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.14.0.tgz#72bcfacba74a65ffce04bf94ae91d966e80ee553"
+ integrity sha512-YVh+LN2FgNU0odThzm61BsdkwrbrchumFq3oztnE9vTKC4KS2fvnPmcx8t6jnqAyOTCTF4ZSiuK8Qhh7SNcL4g==
+
core-js@^2.4.0, core-js@^2.4.1, core-js@^2.5.0:
version "2.6.12"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec"
@@ -7712,19 +8737,16 @@ core-js@^3.0.1, core-js@^3.0.4, core-js@^3.1.3, core-js@^3.5.0:
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.8.1.tgz#f51523668ac8a294d1285c3b9db44025fda66d47"
integrity sha512-9Id2xHY1W7m8hCl8NkhQn5CufmF/WuR30BTRewvCXc1aZd3kMECwNZ69ndLbekKfakw9Rf2Xyc+QR6E7Gg+obg==
+core-js@^3.6.5, core-js@^3.8.2:
+ version "3.14.0"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.14.0.tgz#62322b98c71cc2018b027971a69419e2425c2a6c"
+ integrity sha512-3s+ed8er9ahK+zJpp9ZtuVcDoFzHNiZsPbNAAE4KXgrRHbjSqqNN6xGSXq6bq7TZIbKj4NLrLb6bJ5i+vSVjHA==
+
core-util-is@1.0.2, core-util-is@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
-corejs-upgrade-webpack-plugin@^2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/corejs-upgrade-webpack-plugin/-/corejs-upgrade-webpack-plugin-2.2.0.tgz#503293bf1fdcb104918eb40d0294e4776ad6923a"
- integrity sha512-J0QMp9GNoiw91Kj/dkIQFZeiCXgXoja/Wlht1SPybxerBWh4NCmb0pOgCv61lrlQZETwvVVfAFAA3IqoEO9aqQ==
- dependencies:
- resolve-from "^5.0.0"
- webpack "^4.38.0"
-
corser@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/corser/-/corser-2.0.1.tgz#8eda252ecaab5840dcd975ceb90d9370c819ff87"
@@ -7762,6 +8784,31 @@ cosmiconfig@^7.0.0:
path-type "^4.0.0"
yaml "^1.10.0"
+cp-file@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/cp-file/-/cp-file-7.0.0.tgz#b9454cfd07fe3b974ab9ea0e5f29655791a9b8cd"
+ integrity sha512-0Cbj7gyvFVApzpK/uhCtQ/9kE9UnYpxMzaq5nQQC/Dh4iaj5fxp7iEFIullrYwzj8nf0qnsI1Qsx34hAeAebvw==
+ dependencies:
+ graceful-fs "^4.1.2"
+ make-dir "^3.0.0"
+ nested-error-stacks "^2.0.0"
+ p-event "^4.1.0"
+
+cpy@^8.1.1:
+ version "8.1.2"
+ resolved "https://registry.yarnpkg.com/cpy/-/cpy-8.1.2.tgz#e339ea54797ad23f8e3919a5cffd37bfc3f25935"
+ integrity sha512-dmC4mUesv0OYH2kNFEidtf/skUwv4zePmGeepjyyJ0qTo5+8KhA1o99oIAwVVLzQMAeDJml74d6wPPKb6EZUTg==
+ dependencies:
+ arrify "^2.0.1"
+ cp-file "^7.0.0"
+ globby "^9.2.0"
+ has-glob "^1.0.0"
+ junk "^3.1.0"
+ nested-error-stacks "^2.1.0"
+ p-all "^2.1.0"
+ p-filter "^2.1.0"
+ p-map "^3.0.0"
+
create-ecdh@^4.0.0:
version "4.0.4"
resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e"
@@ -7800,7 +8847,7 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7:
safe-buffer "^5.0.1"
sha.js "^2.4.8"
-create-react-context@0.3.0, create-react-context@^0.3.0:
+create-react-context@0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.3.0.tgz#546dede9dc422def0d3fc2fe03afe0bc0f4f7d8c"
integrity sha512-dNldIoSuNSvlTJ7slIKC/ZFGKexBMBrrcc+TTe1NdmROnaASuLPvqpwj9v4XS4uXZ8+YPu0sNmShX2rXI5LNsw==
@@ -7808,17 +8855,6 @@ create-react-context@0.3.0, create-react-context@^0.3.0:
gud "^1.0.0"
warning "^4.0.3"
-cross-spawn@6.0.5, cross-spawn@^6.0.0, cross-spawn@^6.0.5:
- version "6.0.5"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
- integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
- dependencies:
- nice-try "^1.0.4"
- path-key "^2.0.1"
- semver "^5.5.0"
- shebang-command "^1.2.0"
- which "^1.2.9"
-
cross-spawn@7.0.1:
version "7.0.1"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14"
@@ -7828,6 +8864,15 @@ cross-spawn@7.0.1:
shebang-command "^2.0.0"
which "^2.0.1"
+cross-spawn@7.0.3, cross-spawn@^7.0.0, cross-spawn@^7.0.3:
+ version "7.0.3"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
+ integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
+ dependencies:
+ path-key "^3.1.0"
+ shebang-command "^2.0.0"
+ which "^2.0.1"
+
cross-spawn@^5.0.1:
version "5.1.0"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
@@ -7837,14 +8882,16 @@ cross-spawn@^5.0.1:
shebang-command "^1.2.0"
which "^1.2.9"
-cross-spawn@^7.0.0, cross-spawn@^7.0.3:
- version "7.0.3"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
- integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
+cross-spawn@^6.0.0, cross-spawn@^6.0.5:
+ version "6.0.5"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
+ integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
dependencies:
- path-key "^3.1.0"
- shebang-command "^2.0.0"
- which "^2.0.1"
+ nice-try "^1.0.4"
+ path-key "^2.0.1"
+ semver "^5.5.0"
+ shebang-command "^1.2.0"
+ which "^1.2.9"
crypto-browserify@^3.11.0:
version "3.12.0"
@@ -7919,7 +8966,7 @@ css-loader@3.4.2:
postcss-value-parser "^4.0.2"
schema-utils "^2.6.0"
-css-loader@^3.0.0:
+css-loader@^3.6.0:
version "3.6.0"
resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.6.0.tgz#2e4b2c7e6e2d27f8c8f28f61bffcd2e6c91ef645"
integrity sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==
@@ -8282,6 +9329,11 @@ dateformat@^3.0.0:
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae"
integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==
+de-indent@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d"
+ integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=
+
debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
@@ -8350,7 +9402,7 @@ dedent@0.7.0, dedent@^0.7.0:
resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=
-deep-equal@^1.0.1, deep-equal@^1.1.1:
+deep-equal@^1.0.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a"
integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==
@@ -8645,11 +9697,6 @@ doctrine@^3.0.0:
dependencies:
esutils "^2.0.2"
-doctypes@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/doctypes/-/doctypes-1.1.0.tgz#ea80b106a87538774e8a3a4a5afe293de489e0a9"
- integrity sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=
-
dom-accessibility-api@^0.5.4:
version "0.5.4"
resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.4.tgz#b06d059cdd4a4ad9a79275f9d414a5c126241166"
@@ -8784,7 +9831,7 @@ dotenv-expand@5.1.0, dotenv-expand@^5.1.0:
resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0"
integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==
-dotenv-webpack@^1.7.0:
+dotenv-webpack@^1.8.0:
version "1.8.0"
resolved "https://registry.yarnpkg.com/dotenv-webpack/-/dotenv-webpack-1.8.0.tgz#7ca79cef2497dd4079d43e81e0796bc9d0f68a5e"
integrity sha512-o8pq6NLBehtrqA8Jv8jFQNtG9nhRtVqmoD4yWbgUyoU3+9WBlPe+c2EAiaJok9RB28QvrWvdWLZGeTT5aATDMg==
@@ -8824,6 +9871,16 @@ downshift@5.4.7:
prop-types "^15.7.2"
react-is "^16.13.1"
+downshift@^6.0.15:
+ version "6.1.3"
+ resolved "https://registry.yarnpkg.com/downshift/-/downshift-6.1.3.tgz#e794b7805d24810968f21e81ad6bdd9f3fdc40da"
+ integrity sha512-RA1MuaNcTbt0j+sVLhSs8R2oZbBXYAtdQP/V+uHhT3DoDteZzJPjlC+LQVm9T07Wpvo84QXaZtUCePLDTDwGXg==
+ dependencies:
+ "@babel/runtime" "^7.13.10"
+ compute-scroll-into-view "^1.0.17"
+ prop-types "^15.7.2"
+ react-is "^17.0.2"
+
duplexer2@~0.1.0:
version "0.1.4"
resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1"
@@ -8879,25 +9936,25 @@ ee-first@1.1.1:
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
-ejs@^2.7.4:
- version "2.7.4"
- resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba"
- integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==
-
-electron-to-chromium@^1.3.247, electron-to-chromium@^1.3.378, electron-to-chromium@^1.3.585, electron-to-chromium@^1.3.621:
+electron-to-chromium@^1.3.378, electron-to-chromium@^1.3.585, electron-to-chromium@^1.3.621:
version "1.3.633"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.633.tgz#16dd5aec9de03894e8d14a1db4cda8a369b9b7fe"
integrity sha512-bsVCsONiVX1abkWdH7KtpuDAhsQ3N3bjPYhROSAXE78roJKet0Y5wznA14JE9pzbwSZmSMAW6KiKYf1RvbTJkA==
+electron-to-chromium@^1.3.564, electron-to-chromium@^1.3.723:
+ version "1.3.750"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.750.tgz#7e5ef6f478316b0bd656af5942fe502610e97eaf"
+ integrity sha512-Eqy9eHNepZxJXT+Pc5++zvEi5nQ6AGikwFYDCYwXUFBr+ynJ6pDG7MzZmwGYCIuXShLJM0n4bq+aoKDmvSGJ8A==
+
element-closest@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/element-closest/-/element-closest-3.0.2.tgz#3814a69a84f30e48e63eaf57341f4dbf4227d2aa"
integrity sha512-JxKQiJKX0Zr5Q2/bCaTx8P+UbfyMET1OQd61qu5xQFeWr1km3fGaxelSJtnfT27XQ5Uoztn2yIyeamAc/VX13g==
-element-resize-detector@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/element-resize-detector/-/element-resize-detector-1.2.1.tgz#b0305194447a4863155e58f13323a0aef30851d1"
- integrity sha512-BdFsPepnQr9fznNPF9nF4vQ457U/ZJXQDSNF1zBe7yaga8v9AdZf3/NElYxFdUh7SitSGt040QygiTo6dtatIw==
+element-resize-detector@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/element-resize-detector/-/element-resize-detector-1.2.2.tgz#bf7c3ff915957e4e62e86241ed2f9c86b078892b"
+ integrity sha512-+LOXRkCJc4I5WhEJxIDjhmE3raF8jtOMBDqSCgZTMz2TX3oXAX5pE2+MDeopJlGdXzP7KzPbBJaUGfNaP9HG4A==
dependencies:
batch-processor "1.0.0"
@@ -8949,7 +10006,7 @@ emojis-list@^3.0.0:
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
-emotion-theming@^10.0.19:
+emotion-theming@^10.0.27:
version "10.0.27"
resolved "https://registry.yarnpkg.com/emotion-theming/-/emotion-theming-10.0.27.tgz#1887baaec15199862c89b1b984b79806f2b9ab10"
integrity sha512-MlF1yu/gYh8u+sLUqA0YuA9JX0P4Hb69WlKc/9OLo+WCXuX6sy/KoIa+qJimgmr2dWqnypYKYPX37esjDBbhdw==
@@ -8977,6 +10034,15 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0:
dependencies:
once "^1.4.0"
+endent@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/endent/-/endent-2.0.1.tgz#fb18383a3f37ae3213a5d9f6c4a880d1061eb4c5"
+ integrity sha512-mADztvcC+vCk4XEZaCz6xIPO2NHQuprv5CAEjuVAu6aZwqAj7nVNlMyl1goPFYqCCpS2OJV9jwpumJLkotZrNw==
+ dependencies:
+ dedent "^0.7.0"
+ fast-json-parse "^1.0.3"
+ objectorarray "^1.0.4"
+
enhanced-resolve@^3.0.0:
version "3.4.1"
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e"
@@ -8987,7 +10053,7 @@ enhanced-resolve@^3.0.0:
object-assign "^4.0.1"
tapable "^0.2.7"
-enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0, enhanced-resolve@^4.3.0:
+enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz#3b806f3bfafc1ec7de69551ef93cca46c1704126"
integrity sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==
@@ -8996,6 +10062,15 @@ enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0, enhanced-resolve@^4.3.0:
memory-fs "^0.5.0"
tapable "^1.0.0"
+enhanced-resolve@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec"
+ integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==
+ dependencies:
+ graceful-fs "^4.1.2"
+ memory-fs "^0.5.0"
+ tapable "^1.0.0"
+
enquirer@^2.3.6:
version "2.3.6"
resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
@@ -9050,6 +10125,13 @@ error-ex@^1.2.0, error-ex@^1.3.1:
dependencies:
is-arrayish "^0.2.1"
+error-stack-parser@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.6.tgz#5a99a707bd7a4c58a797902d48d82803ede6aad8"
+ integrity sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==
+ dependencies:
+ stackframe "^1.1.1"
+
es-abstract@^1.17.0-next.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2:
version "1.17.7"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.7.tgz#a4de61b2f66989fc7421676c1cb9787573ace54c"
@@ -9161,7 +10243,7 @@ es6-symbol@^3.1.1, es6-symbol@~3.1.3:
d "^1.0.1"
ext "^1.1.2"
-escalade@^3.1.1:
+escalade@^3.0.2, escalade@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
@@ -9171,17 +10253,17 @@ escape-html@^1.0.3, escape-html@~1.0.3:
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
-escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
- integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
-
escape-string-regexp@2.0.0, escape-string-regexp@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
-escodegen@^1.11.0, escodegen@^1.12.0, escodegen@^1.14.1, escodegen@^1.9.1:
+escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+ integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
+
+escodegen@^1.11.0, escodegen@^1.14.1, escodegen@^1.9.1:
version "1.14.3"
resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503"
integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==
@@ -9193,6 +10275,18 @@ escodegen@^1.11.0, escodegen@^1.12.0, escodegen@^1.14.1, escodegen@^1.9.1:
optionalDependencies:
source-map "~0.6.1"
+escodegen@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd"
+ integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==
+ dependencies:
+ esprima "^4.0.1"
+ estraverse "^5.2.0"
+ esutils "^2.0.2"
+ optionator "^0.8.1"
+ optionalDependencies:
+ source-map "~0.6.1"
+
eslint-config-airbnb-base@^14.1.0, eslint-config-airbnb-base@^14.2.1:
version "14.2.1"
resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz#8a2eb38455dc5a312550193b319cdaeef042cd1e"
@@ -9711,7 +10805,7 @@ expect@^26.6.2:
jest-message-util "^26.6.2"
jest-regex-util "^26.0.0"
-express@^4.17.0, express@^4.17.1:
+express@^4.17.1:
version "4.17.1"
resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134"
integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==
@@ -9818,12 +10912,7 @@ extsprintf@^1.2.0:
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
-fast-deep-equal@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
- integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
-
-fast-deep-equal@^3.1.1:
+fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
@@ -9857,6 +10946,11 @@ fast-glob@^3.0.0, fast-glob@^3.0.3, fast-glob@^3.1.1:
micromatch "^4.0.2"
picomatch "^2.2.1"
+fast-json-parse@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/fast-json-parse/-/fast-json-parse-1.0.3.tgz#43e5c61ee4efa9265633046b770fb682a7577c4d"
+ integrity sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==
+
fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
@@ -9879,7 +10973,7 @@ fastq@^1.6.0:
dependencies:
reusify "^1.0.4"
-fault@^1.0.2:
+fault@^1.0.0:
version "1.0.4"
resolved "https://registry.yarnpkg.com/fault/-/fault-1.0.4.tgz#eafcfc0a6d214fc94601e170df29954a4f842f13"
integrity sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==
@@ -9940,7 +11034,7 @@ file-entry-cache@^5.0.1:
dependencies:
flat-cache "^2.0.1"
-file-loader@4.3.0, file-loader@^4.2.0:
+file-loader@4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-4.3.0.tgz#780f040f729b3d18019f20605f723e844b8a58af"
integrity sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA==
@@ -9948,6 +11042,14 @@ file-loader@4.3.0, file-loader@^4.2.0:
loader-utils "^1.2.3"
schema-utils "^2.5.0"
+file-loader@^6.2.0:
+ version "6.2.0"
+ resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d"
+ integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==
+ dependencies:
+ loader-utils "^2.0.0"
+ schema-utils "^3.0.0"
+
file-system-cache@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/file-system-cache/-/file-system-cache-1.0.5.tgz#84259b36a2bbb8d3d6eb1021d3132ffe64cfff4f"
@@ -9962,16 +11064,16 @@ file-uri-to-path@1.0.0:
resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
-filesize@3.6.1:
- version "3.6.1"
- resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317"
- integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==
-
filesize@6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/filesize/-/filesize-6.0.1.tgz#f850b509909c7c86f7e450ea19006c31c2ed3d2f"
integrity sha512-u4AYWPgbI5GBhs6id1KdImZWn5yfyFrrQ8OWZdN7ZMfA8Bf4HcO0BGo9bmUIEV8yrp8I1xVfJ/dn90GtFNNJcg==
+filesize@6.1.0:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/filesize/-/filesize-6.1.0.tgz#e81bdaa780e2451d714d71c0d7a4f3238d37ad00"
+ integrity sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==
+
fill-range@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
@@ -10029,7 +11131,7 @@ find-cache-dir@^2.0.0, find-cache-dir@^2.1.0:
make-dir "^2.0.0"
pkg-dir "^3.0.0"
-find-cache-dir@^3.0.0, find-cache-dir@^3.3.1:
+find-cache-dir@^3.3.1:
version "3.3.1"
resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880"
integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==
@@ -10063,13 +11165,6 @@ find-root@1.1.0, find-root@^1.1.0:
resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4"
integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==
-find-up@3.0.0, find-up@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
- integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
- dependencies:
- locate-path "^3.0.0"
-
find-up@4.1.0, find-up@^4.0.0, find-up@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
@@ -10093,6 +11188,21 @@ find-up@^2.0.0, find-up@^2.1.0:
dependencies:
locate-path "^2.0.0"
+find-up@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
+ integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
+ dependencies:
+ locate-path "^3.0.0"
+
+find-up@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
+ integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
+ dependencies:
+ locate-path "^6.0.0"
+ path-exists "^4.0.0"
+
find-versions@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-3.2.0.tgz#10297f98030a786829681690545ef659ed1d254e"
@@ -10136,11 +11246,6 @@ flatten@^1.0.2:
resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b"
integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==
-flow-parser@0.*:
- version "0.141.0"
- resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.141.0.tgz#b9e176e54dd204b2375e35df10caf6607c3d09a1"
- integrity sha512-WKdBiR9sDfkgEyPGhIgldUrVM08D57CgHLgd0FOXbhcVYXNfw+eHSApQ8SdcdQQoqrOvhlcVRB8lsn9bD5GQOw==
-
flush-write-stream@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"
@@ -10183,20 +11288,6 @@ forever-agent@~0.6.1:
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
-fork-ts-checker-webpack-plugin@1.5.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-1.5.0.tgz#ce1d77190b44d81a761b10b6284a373795e41f0c"
- integrity sha512-zEhg7Hz+KhZlBhILYpXy+Beu96gwvkROWJiTXOCyOOMMrdBIRPvsBpBqgTI4jfJGrJXcqGwJR8zsBGDmzY0jsA==
- dependencies:
- babel-code-frame "^6.22.0"
- chalk "^2.4.1"
- chokidar "^2.0.4"
- micromatch "^3.1.10"
- minimatch "^3.0.4"
- semver "^5.6.0"
- tapable "^1.0.0"
- worker-rpc "^0.1.0"
-
fork-ts-checker-webpack-plugin@3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-3.1.1.tgz#a1642c0d3e65f50c2cc1742e9c0a80f441f86b19"
@@ -10211,7 +11302,7 @@ fork-ts-checker-webpack-plugin@3.1.1:
tapable "^1.0.0"
worker-rpc "^0.1.0"
-fork-ts-checker-webpack-plugin@^4.0.2:
+fork-ts-checker-webpack-plugin@4.1.6, fork-ts-checker-webpack-plugin@^4.0.2, fork-ts-checker-webpack-plugin@^4.1.0, fork-ts-checker-webpack-plugin@^4.1.6:
version "4.1.6"
resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz#5055c703febcf37fa06405d400c122b905167fc5"
integrity sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==
@@ -10224,6 +11315,34 @@ fork-ts-checker-webpack-plugin@^4.0.2:
tapable "^1.0.0"
worker-rpc "^0.1.0"
+fork-ts-checker-webpack-plugin@^6.0.4:
+ version "6.2.10"
+ resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.10.tgz#800ab1fa523c76011a3413bc4e7815e45b63e826"
+ integrity sha512-HveFCHWSH2WlYU1tU3PkrupvW8lNFMTfH3Jk0TfC2mtktE9ibHGcifhCsCFvj+kqlDfNIlwmNLiNqR9jnSA7OQ==
+ dependencies:
+ "@babel/code-frame" "^7.8.3"
+ "@types/json-schema" "^7.0.5"
+ chalk "^4.1.0"
+ chokidar "^3.4.2"
+ cosmiconfig "^6.0.0"
+ deepmerge "^4.2.2"
+ fs-extra "^9.0.0"
+ glob "^7.1.6"
+ memfs "^3.1.2"
+ minimatch "^3.0.4"
+ schema-utils "2.7.0"
+ semver "^7.3.2"
+ tapable "^1.0.0"
+
+form-data@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f"
+ integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.8"
+ mime-types "^2.1.12"
+
form-data@~2.3.2:
version "2.3.3"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
@@ -10278,7 +11397,7 @@ fs-access@^1.0.1:
dependencies:
null-check "^1.0.0"
-fs-extra@8.1.0, fs-extra@^8.0.1, fs-extra@^8.1.0:
+fs-extra@8.1.0, fs-extra@^8.1.0:
version "8.1.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==
@@ -10326,6 +11445,16 @@ fs-extra@^9.0.0:
jsonfile "^6.0.1"
universalify "^1.0.0"
+fs-extra@^9.0.1:
+ version "9.1.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
+ integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
+ dependencies:
+ at-least-node "^1.0.0"
+ graceful-fs "^4.2.0"
+ jsonfile "^6.0.1"
+ universalify "^2.0.0"
+
fs-minipass@^1.2.5:
version "1.2.7"
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7"
@@ -10340,6 +11469,11 @@ fs-minipass@^2.0.0:
dependencies:
minipass "^3.0.0"
+fs-monkey@1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3"
+ integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==
+
fs-vacuum@^1.2.10, fs-vacuum@~1.2.10:
version "1.2.10"
resolved "https://registry.yarnpkg.com/fs-vacuum/-/fs-vacuum-1.2.10.tgz#b7629bec07a4031a2548fdf99f5ecf1cc8b31e36"
@@ -10387,6 +11521,11 @@ fsevents@~2.1.2:
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e"
integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==
+fsevents@~2.3.1:
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
+ integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
+
function-bind@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
@@ -10412,7 +11551,7 @@ functions-have-names@^1.2.1:
resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.2.tgz#98d93991c39da9361f8e50b337c4f6e41f120e21"
integrity sha512-bLgc3asbWdwPbx2mNk2S49kmJCuQeu0nfmaOgbs8WIyzzkw3r4htszdIi9Q9EMezDPTYuJx2wvjZ/EwgAthpnA==
-fuse.js@^3.4.6:
+fuse.js@^3.6.1:
version "3.6.1"
resolved "https://registry.yarnpkg.com/fuse.js/-/fuse.js-3.6.1.tgz#7de85fdd6e1b3377c23ce010892656385fd9b10c"
integrity sha512-hT9yh/tiinkmirKrlv4KWOjztdoZo1mx9Qh4KvWqC7isoXwdUY3PNWUxceF4/qO9R6riA2C29jdTOeQOIROjgw==
@@ -10443,7 +11582,7 @@ genfun@^5.0.0:
resolved "https://registry.yarnpkg.com/genfun/-/genfun-5.0.0.tgz#9dd9710a06900a5c4a5bf57aca5da4e52fe76537"
integrity sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==
-gensync@^1.0.0-beta.1:
+gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2:
version "1.0.0-beta.2"
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
@@ -10720,6 +11859,13 @@ glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0:
dependencies:
is-glob "^4.0.1"
+glob-promise@^3.4.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/glob-promise/-/glob-promise-3.4.0.tgz#b6b8f084504216f702dc2ce8c9bc9ac8866fdb20"
+ integrity sha512-q08RJ6O+eJn+dVanerAndJwIcumgbDdYiUT7zFQl3Wm1xD6fBKtah7H8ZJChj4wP+8C+QfeVy8xautR7rdmKEw==
+ dependencies:
+ "@types/glob" "*"
+
glob-to-regexp@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab"
@@ -10792,7 +11938,7 @@ global-prefix@^3.0.0:
kind-of "^6.0.2"
which "^1.3.1"
-global@^4.3.2, global@^4.4.0:
+global@^4.4.0:
version "4.4.0"
resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406"
integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==
@@ -10824,13 +11970,25 @@ globby@10.0.1:
resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.1.tgz#4782c34cb75dd683351335c5829cc3420e606b22"
integrity sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==
dependencies:
- "@types/glob" "^7.1.1"
+ "@types/glob" "^7.1.1"
+ array-union "^2.1.0"
+ dir-glob "^3.0.1"
+ fast-glob "^3.0.3"
+ glob "^7.1.3"
+ ignore "^5.1.1"
+ merge2 "^1.2.3"
+ slash "^3.0.0"
+
+globby@11.0.1, globby@^11.0.0, globby@^11.0.1:
+ version "11.0.1"
+ resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357"
+ integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==
+ dependencies:
array-union "^2.1.0"
dir-glob "^3.0.1"
- fast-glob "^3.0.3"
- glob "^7.1.3"
- ignore "^5.1.1"
- merge2 "^1.2.3"
+ fast-glob "^3.1.1"
+ ignore "^5.1.4"
+ merge2 "^1.3.0"
slash "^3.0.0"
globby@8.0.2, globby@^8.0.1:
@@ -10846,18 +12004,6 @@ globby@8.0.2, globby@^8.0.1:
pify "^3.0.0"
slash "^1.0.0"
-globby@^11.0.0, globby@^11.0.1:
- version "11.0.1"
- resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357"
- integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==
- dependencies:
- array-union "^2.1.0"
- dir-glob "^3.0.1"
- fast-glob "^3.1.1"
- ignore "^5.1.4"
- merge2 "^1.3.0"
- slash "^3.0.0"
-
globby@^6.1.0:
version "6.1.0"
resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c"
@@ -11029,6 +12175,13 @@ has-flag@^4.0.0:
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+has-glob@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/has-glob/-/has-glob-1.0.0.tgz#9aaa9eedbffb1ba3990a7b0010fb678ee0081207"
+ integrity sha1-mqqe7b/7G6OZCnsAEPtnjuAIEgc=
+ dependencies:
+ is-glob "^3.0.0"
+
has-symbol-support-x@^1.4.1:
version "1.4.2"
resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455"
@@ -11039,6 +12192,11 @@ has-symbols@^1.0.1:
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8"
integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==
+has-symbols@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423"
+ integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==
+
has-to-string-tag-x@^1.2.0:
version "1.4.1"
resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d"
@@ -11098,16 +12256,6 @@ hash-base@^3.0.0:
readable-stream "^3.6.0"
safe-buffer "^5.2.0"
-hash-sum@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04"
- integrity sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=
-
-hash-sum@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a"
- integrity sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==
-
hash.js@^1.0.0, hash.js@^1.0.3:
version "1.1.7"
resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
@@ -11173,16 +12321,6 @@ hast-util-to-parse5@^6.0.0:
xtend "^4.0.0"
zwitch "^1.0.0"
-hastscript@^5.0.0:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-5.1.2.tgz#bde2c2e56d04c62dd24e8c5df288d050a355fb8a"
- integrity sha512-WlztFuK+Lrvi3EggsqOkQ52rKbxkXL3RwB6t5lwoa8QLMemoWfBuL43eDrwOamJyR7uKQKdmKYaBH1NZBiIRrQ==
- dependencies:
- comma-separated-tokens "^1.0.0"
- hast-util-parse-selector "^2.0.0"
- property-information "^5.0.0"
- space-separated-tokens "^1.0.0"
-
hastscript@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-6.0.0.tgz#e8768d7eac56c3fdeac8a92830d58e811e5bf640"
@@ -11194,7 +12332,7 @@ hastscript@^6.0.0:
property-information "^5.0.0"
space-separated-tokens "^1.0.0"
-he@^1.1.1, he@^1.2.0:
+he@^1.1.0, he@^1.1.1, he@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
@@ -11204,16 +12342,16 @@ hex-color-regex@^1.1.0:
resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"
integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==
+highlight.js@^10.1.1, highlight.js@~10.7.0:
+ version "10.7.3"
+ resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531"
+ integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==
+
highlight.js@^10.1.2:
version "10.5.0"
resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.5.0.tgz#3f09fede6a865757378f2d9ebdcbc15ba268f98f"
integrity sha512-xTmvd9HiIHR6L53TMC7TKolEj65zG1XU+Onr8oi86mYa+nLcIbxTTWkpW7CsEwv/vK7u1zb8alZIMLDqqN6KTw==
-highlight.js@~9.13.0:
- version "9.13.1"
- resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.13.1.tgz#054586d53a6863311168488a0f58d6c505ce641e"
- integrity sha512-Sc28JNQNDzaH6PORtRLMvif9RSn1mYuOoX3omVjnb0+HbpPygU2ALBI0R/wsiqCb4/fcp07Gdo8g+fhtFrQl6A==
-
hmac-drbg@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
@@ -11293,7 +12431,7 @@ html-encoding-sniffer@^2.0.1:
dependencies:
whatwg-encoding "^1.0.5"
-html-entities@^1.2.0, html-entities@^1.3.1:
+html-entities@^1.2.0, html-entities@^1.2.1, html-entities@^1.3.1:
version "1.4.0"
resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc"
integrity sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==
@@ -11338,17 +12476,17 @@ html-webpack-plugin@4.0.0-beta.11:
tapable "^1.1.3"
util.promisify "1.0.0"
-html-webpack-plugin@^4.0.0-beta.2:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.5.0.tgz#625097650886b97ea5dae331c320e3238f6c121c"
- integrity sha512-MouoXEYSjTzCrjIxWwg8gxL5fE2X2WZJLmBYXlaJhQUH5K/b5OrqmV7T4dB7iu0xkmJ6JlUuV6fFVtnqbPopZw==
+html-webpack-plugin@^4.0.0:
+ version "4.5.2"
+ resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz#76fc83fa1a0f12dd5f7da0404a54e2699666bc12"
+ integrity sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A==
dependencies:
"@types/html-minifier-terser" "^5.0.0"
"@types/tapable" "^1.0.5"
"@types/webpack" "^4.41.8"
html-minifier-terser "^5.0.1"
loader-utils "^1.2.3"
- lodash "^4.17.15"
+ lodash "^4.17.20"
pretty-error "^2.1.1"
tapable "^1.1.3"
util.promisify "1.0.0"
@@ -11602,6 +12740,11 @@ immer@1.10.0:
resolved "https://registry.yarnpkg.com/immer/-/immer-1.10.0.tgz#bad67605ba9c810275d91e1c2a47d4582e98286d"
integrity sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg==
+immer@8.0.1:
+ version "8.0.1"
+ resolved "https://registry.yarnpkg.com/immer/-/immer-8.0.1.tgz#9c73db683e2b3975c424fb0572af5889877ae656"
+ integrity sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA==
+
import-cwd@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9"
@@ -11751,25 +12894,6 @@ inline-style-parser@0.1.1:
resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1"
integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==
-inquirer@6.5.0:
- version "6.5.0"
- resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.0.tgz#2303317efc9a4ea7ec2e2df6f86569b734accf42"
- integrity sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA==
- dependencies:
- ansi-escapes "^3.2.0"
- chalk "^2.4.2"
- cli-cursor "^2.1.0"
- cli-width "^2.0.0"
- external-editor "^3.0.3"
- figures "^2.0.0"
- lodash "^4.17.12"
- mute-stream "0.0.7"
- run-async "^2.2.0"
- rxjs "^6.4.0"
- string-width "^2.1.0"
- strip-ansi "^5.1.0"
- through "^2.3.6"
-
inquirer@6.5.2, inquirer@^6.2.0:
version "6.5.2"
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca"
@@ -11849,7 +12973,7 @@ interpret@^1.0.0:
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e"
integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==
-interpret@^2.0.0:
+interpret@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9"
integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==
@@ -12017,6 +13141,13 @@ is-core-module@^2.1.0:
dependencies:
has "^1.0.3"
+is-core-module@^2.2.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1"
+ integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==
+ dependencies:
+ has "^1.0.3"
+
is-data-descriptor@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
@@ -12069,7 +13200,7 @@ is-docker@^2.0.0:
resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156"
integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==
-is-dom@^1.0.9:
+is-dom@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-dom/-/is-dom-1.1.0.tgz#af1fced292742443bb59ca3f76ab5e80907b4e8a"
integrity sha512-u82f6mvhYxRPKpw8V1N0W8ce1xXwOrQtgGcxl6UCL5zBmZu3is/18K0rR7uFCnMDuAsS/3W54mGL4vsaFUQlEQ==
@@ -12077,14 +13208,6 @@ is-dom@^1.0.9:
is-object "^1.0.1"
is-window "^1.0.2"
-is-expression@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/is-expression/-/is-expression-4.0.0.tgz#c33155962abf21d0afd2552514d67d2ec16fd2ab"
- integrity sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==
- dependencies:
- acorn "^7.1.1"
- object-assign "^4.1.1"
-
is-extendable@^0.1.0, is-extendable@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
@@ -12129,7 +13252,7 @@ is-fullwidth-code-point@^3.0.0:
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
-is-function@^1.0.1:
+is-function@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08"
integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==
@@ -12146,7 +13269,7 @@ is-glob@^2.0.0:
dependencies:
is-extglob "^1.0.0"
-is-glob@^3.1.0:
+is-glob@^3.0.0, is-glob@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=
@@ -12278,23 +13401,26 @@ is-potential-custom-element-name@^1.0.0:
resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397"
integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c=
-is-promise@^2.0.0:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1"
- integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==
-
is-redirect@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24"
integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=
-is-regex@^1.0.3, is-regex@^1.0.4, is-regex@^1.1.1:
+is-regex@^1.0.4, is-regex@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.1.tgz#c6f98aacc546f6cec5468a07b7b153ab564a57b9"
integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==
dependencies:
has-symbols "^1.0.1"
+is-regex@^1.1.2:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.3.tgz#d029f9aff6448b93ebbe3f33dac71511fdcbef9f"
+ integrity sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ==
+ dependencies:
+ call-bind "^1.0.2"
+ has-symbols "^1.0.2"
+
is-regexp@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
@@ -13371,7 +14497,7 @@ jest-worker@^25.4.0:
merge-stream "^2.0.0"
supports-color "^7.0.0"
-jest-worker@^26.6.2:
+jest-worker@^26.2.1, jest-worker@^26.6.2:
version "26.6.2"
resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed"
integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==
@@ -13412,11 +14538,6 @@ js-string-escape@^1.0.1:
resolved "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz#e2625badbc0d67c7533e9edc1068c587ae4137ef"
integrity sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=
-js-stringify@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/js-stringify/-/js-stringify-1.0.2.tgz#1736fddfd9724f28a3682adc6230ae7e4e9679db"
- integrity sha1-Fzb939lyTyijaCrcYjCufk6Weds=
-
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
@@ -13440,30 +14561,6 @@ jsbn@~0.1.0:
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
-jscodeshift@^0.7.0:
- version "0.7.1"
- resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.7.1.tgz#0236ad475d6f0770ca998a0160925d62b57d2507"
- integrity sha512-YMkZSyoc8zg5woZL23cmWlnFLPH/mHilonGA7Qbzs7H6M4v4PH0Qsn4jeDyw+CHhVoAnm9UxQyB0Yw1OT+mktA==
- dependencies:
- "@babel/core" "^7.1.6"
- "@babel/parser" "^7.1.6"
- "@babel/plugin-proposal-class-properties" "^7.1.0"
- "@babel/plugin-proposal-object-rest-spread" "^7.0.0"
- "@babel/preset-env" "^7.1.6"
- "@babel/preset-flow" "^7.0.0"
- "@babel/preset-typescript" "^7.1.0"
- "@babel/register" "^7.0.0"
- babel-core "^7.0.0-bridge.0"
- colors "^1.1.2"
- flow-parser "0.*"
- graceful-fs "^4.1.11"
- micromatch "^3.1.10"
- neo-async "^2.5.0"
- node-dir "^0.1.17"
- recast "^0.18.1"
- temp "^0.8.1"
- write-file-atomic "^2.3.0"
-
jsdom@^11.5.1:
version "11.12.0"
resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8"
@@ -13612,7 +14709,7 @@ json3@^3.3.2:
resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81"
integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==
-json5@2.x, json5@^2.1.1, json5@^2.1.2:
+json5@2.x, json5@^2.1.2:
version "2.1.3"
resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43"
integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==
@@ -13626,6 +14723,13 @@ json5@^1.0.1:
dependencies:
minimist "^1.2.0"
+json5@^2.1.3:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3"
+ integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==
+ dependencies:
+ minimist "^1.2.5"
+
json@^10.0.0:
version "10.0.0"
resolved "https://registry.yarnpkg.com/json/-/json-10.0.0.tgz#c49a939d4abc7067cc225419d5dd17ab7bf2f66c"
@@ -13674,14 +14778,6 @@ jsprim@^1.2.2:
json-schema "0.2.3"
verror "1.10.0"
-jstransformer@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/jstransformer/-/jstransformer-1.0.0.tgz#ed8bf0921e2f3f1ed4d5c1a44f68709ed24722c3"
- integrity sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=
- dependencies:
- is-promise "^2.0.0"
- promise "^7.0.1"
-
jsx-ast-utils@^2.2.1, jsx-ast-utils@^2.2.3:
version "2.4.1"
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.4.1.tgz#1114a4c1209481db06c690c2b4f488cc665f657e"
@@ -13698,6 +14794,11 @@ jsx-ast-utils@^2.2.1, jsx-ast-utils@^2.2.3:
array-includes "^3.1.2"
object.assign "^4.1.2"
+junk@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/junk/-/junk-3.1.0.tgz#31499098d902b7e98c5d9b9c80f43457a88abfa1"
+ integrity sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==
+
killable@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892"
@@ -13746,6 +14847,11 @@ kleur@^3.0.3:
resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e"
integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==
+klona@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.4.tgz#7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0"
+ integrity sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==
+
known-css-properties@^0.17.0:
version "0.17.0"
resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.17.0.tgz#1c535f530ee8e9e3e27bb6a718285780e1d07326"
@@ -14144,6 +15250,13 @@ locate-path@^5.0.0:
dependencies:
p-locate "^4.1.0"
+locate-path@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
+ integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
+ dependencies:
+ p-locate "^5.0.0"
+
lock-verify@^2.0.2, lock-verify@^2.1.0:
version "2.2.1"
resolved "https://registry.yarnpkg.com/lock-verify/-/lock-verify-2.2.1.tgz#81107948c51ed16f97b96ff8b60675affb243fc1"
@@ -14160,11 +15273,6 @@ lockfile@^1.0.4:
dependencies:
signal-exit "^3.0.2"
-lodash-es@^4.17.15:
- version "4.17.20"
- resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.20.tgz#29f6332eefc60e849f869c264bc71126ad61e8f7"
- integrity sha512-JD1COMZsq8maT6mnuz1UMV0jvYD0E0aUsSOdrr1/nAG3dhqQXwRRgeW0cSqH1U43INKcqxaiVIQNOUDld7gRDA==
-
lodash._baseuniq@~4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz#0ebb44e456814af7905c6212fa2c9b2d51b841e8"
@@ -14278,11 +15386,6 @@ lodash.templatesettings@^4.0.0:
dependencies:
lodash._reinterpolate "^3.0.0"
-lodash.throttle@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4"
- integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=
-
lodash.toarray@^4.4.0:
version "4.4.0"
resolved "https://registry.yarnpkg.com/lodash.toarray/-/lodash.toarray-4.4.0.tgz#24c4bfcd6b2fba38bfd0594db1179d8e9b656561"
@@ -14313,11 +15416,16 @@ lodash@4.17.15:
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
-"lodash@>=3.5 <5", lodash@^4.0.1, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1:
+"lodash@>=3.5 <5", lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1:
version "4.17.20"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
+lodash@^4.17.21:
+ version "4.17.21"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
+ integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+
log-symbols@^2.1.0, log-symbols@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a"
@@ -14406,15 +15514,15 @@ lowercase-keys@^1.0.0:
resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f"
integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==
-lowlight@~1.11.0:
- version "1.11.0"
- resolved "https://registry.yarnpkg.com/lowlight/-/lowlight-1.11.0.tgz#1304d83005126d4e8b1dc0f07981e9b689ec2efc"
- integrity sha512-xrGGN6XLL7MbTMdPD6NfWPwY43SNkjf/d0mecSx/CW36fUZTjRHEq0/Cdug3TWKtRXLWi7iMl1eP0olYxj/a4A==
+lowlight@^1.14.0:
+ version "1.20.0"
+ resolved "https://registry.yarnpkg.com/lowlight/-/lowlight-1.20.0.tgz#ddb197d33462ad0d93bf19d17b6c301aa3941888"
+ integrity sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==
dependencies:
- fault "^1.0.2"
- highlight.js "~9.13.0"
+ fault "^1.0.0"
+ highlight.js "~10.7.0"
-lru-cache@^4.0.1, lru-cache@^4.1.5:
+lru-cache@^4.0.1:
version "4.1.5"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
@@ -14559,6 +15667,11 @@ markdown-to-jsx@^6.11.4:
prop-types "^15.6.2"
unquote "^1.1.0"
+markdown-to-jsx@^7.1.0:
+ version "7.1.3"
+ resolved "https://registry.yarnpkg.com/markdown-to-jsx/-/markdown-to-jsx-7.1.3.tgz#f00bae66c0abe7dd2d274123f84cb6bd2a2c7c6a"
+ integrity sha512-jtQ6VyT7rMT5tPV0g2EJakEnXLiPksnvlYtwQsVVZ611JsWGN8bQ1tVSDX4s6JllfEH6wmsYxNjTUAMrPmNA8w==
+
marked-terminal@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/marked-terminal/-/marked-terminal-4.1.0.tgz#01087372d3636dc7cb286475a1d6147187f500e0"
@@ -14576,11 +15689,6 @@ marked@^1.0.0:
resolved "https://registry.yarnpkg.com/marked/-/marked-1.2.7.tgz#6e14b595581d2319cdcf033a24caaf41455a01fb"
integrity sha512-No11hFYcXr/zkBvL6qFmAp1z6BKY3zqLMHny/JN/ey+al7qwCM2+CMBL9BOgqMxZU36fz4cCWfn2poWIf7QRXA==
-material-colors@^1.2.1:
- version "1.2.6"
- resolved "https://registry.yarnpkg.com/material-colors/-/material-colors-1.2.6.tgz#6d1958871126992ceecc72f4bcc4d8f010865f46"
- integrity sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==
-
mathml-tag-names@^2.1.1:
version "2.1.3"
resolved "https://registry.yarnpkg.com/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz#4ddadd67308e780cf16a47685878ee27b736a0a3"
@@ -14609,13 +15717,6 @@ mdast-util-compact@^1.0.0:
dependencies:
unist-util-visit "^1.1.0"
-mdast-util-definitions@^1.2.3:
- version "1.2.5"
- resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-1.2.5.tgz#3fe622a4171c774ebd06f11e9f8af7ec53ea5c74"
- integrity sha512-CJXEdoLfiISCDc2JB6QLb79pYfI6+GcIH+W2ox9nMc7od0Pz+bovcHsiq29xAQY6ayqe/9CsK2VzkSJdg1pFYA==
- dependencies:
- unist-util-visit "^1.0.0"
-
mdast-util-definitions@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz#c5c1a84db799173b4dcf7643cda999e440c24db2"
@@ -14674,6 +15775,13 @@ mem@^1.1.0:
dependencies:
mimic-fn "^1.0.0"
+memfs@^3.1.2:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.2.2.tgz#5de461389d596e3f23d48bb7c2afb6161f4df40e"
+ integrity sha512-RE0CwmIM3CEvpcdK3rZ19BC4E6hv9kADkMN5rPduRak58cNArWLi/9jFLsa4rhsjfVxMP3v0jO7FHXq7SvFY5Q==
+ dependencies:
+ fs-monkey "1.0.3"
+
memoize-one@^5.0.0:
version "5.1.1"
resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.1.1.tgz#047b6e3199b508eaec03504de71229b8eb1d75c0"
@@ -14796,13 +15904,6 @@ merge-descriptors@1.0.1:
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
-merge-source-map@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646"
- integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==
- dependencies:
- source-map "^0.6.1"
-
merge-stream@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
@@ -14937,16 +16038,6 @@ mini-css-extract-plugin@^0.11.0:
schema-utils "^1.0.0"
webpack-sources "^1.1.0"
-mini-css-extract-plugin@^0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.7.0.tgz#5ba8290fbb4179a43dd27cca444ba150bee743a0"
- integrity sha512-RQIw6+7utTYn8DBGsf/LpRgZCJMpZt+kuawJ/fju0KiOL6nAaTBNmCJwS7HtwSCXfS47gCkmtBFS7HdsquhdxQ==
- dependencies:
- loader-utils "^1.1.0"
- normalize-url "1.9.1"
- schema-utils "^1.0.0"
- webpack-sources "^1.1.0"
-
minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
@@ -15029,6 +16120,14 @@ minizlib@^1.2.1:
dependencies:
minipass "^2.9.0"
+minizlib@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931"
+ integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==
+ dependencies:
+ minipass "^3.0.0"
+ yallist "^4.0.0"
+
mississippi@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022"
@@ -15068,7 +16167,7 @@ mkdirp-promise@^5.0.1:
dependencies:
mkdirp "*"
-mkdirp@*, mkdirp@1.x, mkdirp@^1.0.4:
+mkdirp@*, mkdirp@1.x, mkdirp@^1.0.3, mkdirp@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
@@ -15181,6 +16280,13 @@ nanomatch@^1.2.9:
snapdragon "^0.8.1"
to-regex "^3.0.1"
+native-url@^0.2.6:
+ version "0.2.6"
+ resolved "https://registry.yarnpkg.com/native-url/-/native-url-0.2.6.tgz#ca1258f5ace169c716ff44eccbddb674e10399ae"
+ integrity sha512-k4bDC87WtgrdD362gZz6zoiXQrl40kYlBmpfmSjwRO1VU0V5ccwJTlxuE72F6m3V0vc1xOf6n3UCP9QyerRqmA==
+ dependencies:
+ querystring "^0.2.0"
+
natural-compare@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
@@ -15201,6 +16307,11 @@ nerf-dart@^1.0.0:
resolved "https://registry.yarnpkg.com/nerf-dart/-/nerf-dart-1.0.0.tgz#e6dab7febf5ad816ea81cf5c629c5a0ebde72c1a"
integrity sha1-5tq3/r9a2Bbqgc9cYpxaDr3nLBo=
+nested-error-stacks@^2.0.0, nested-error-stacks@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz#0fbdcf3e13fe4994781280524f8b96b0cdff9c61"
+ integrity sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==
+
next-tick@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
@@ -15219,7 +16330,7 @@ no-case@^3.0.4:
lower-case "^2.0.2"
tslib "^2.0.3"
-node-dir@^0.1.10, node-dir@^0.1.17:
+node-dir@^0.1.10:
version "0.1.17"
resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5"
integrity sha1-X1Zl2TNRM1yqvvjxxVRRbPXx5OU=
@@ -15242,7 +16353,7 @@ node-fetch-npm@^2.0.2:
json-parse-better-errors "^1.0.0"
safe-buffer "^5.1.1"
-node-fetch@^2.5.0, node-fetch@^2.6.0, node-fetch@^2.6.1:
+node-fetch@^2.5.0, node-fetch@^2.6.1:
version "2.6.1"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
@@ -15331,11 +16442,16 @@ node-notifier@^8.0.0:
uuid "^8.3.0"
which "^2.0.2"
-node-releases@^1.1.29, node-releases@^1.1.52, node-releases@^1.1.65, node-releases@^1.1.67:
+node-releases@^1.1.52, node-releases@^1.1.65, node-releases@^1.1.67:
version "1.1.67"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.67.tgz#28ebfcccd0baa6aad8e8d4d8fe4cbc49ae239c12"
integrity sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==
+node-releases@^1.1.61, node-releases@^1.1.71:
+ version "1.1.73"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.73.tgz#dd4e81ddd5277ff846b80b52bb40c49edf7a7b20"
+ integrity sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg==
+
noms@0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/noms/-/noms-0.0.0.tgz#da8ebd9f3af9d6760919b27d9cdc8092a7332859"
@@ -15802,6 +16918,11 @@ object.values@^1.1.0, object.values@^1.1.1:
es-abstract "^1.18.0-next.1"
has "^1.0.3"
+objectorarray@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/objectorarray/-/objectorarray-1.0.4.tgz#d69b2f0ff7dc2701903d308bb85882f4ddb49483"
+ integrity sha512-91k8bjcldstRz1bG6zJo8lWD7c6QXcB4nTDUqiEvIL1xAsLoZlOOZZG+nd6YPz+V7zY1580J4Xxh1vZtyv4i/w==
+
obuf@^1.0.0, obuf@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e"
@@ -15845,14 +16966,7 @@ onetime@^5.1.0, onetime@^5.1.2:
dependencies:
mimic-fn "^2.1.0"
-open@^6.3.0:
- version "6.4.0"
- resolved "https://registry.yarnpkg.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9"
- integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==
- dependencies:
- is-wsl "^1.1.0"
-
-open@^7.0.0, open@^7.0.2:
+open@^7.0.2:
version "7.3.0"
resolved "https://registry.yarnpkg.com/open/-/open-7.3.0.tgz#45461fdee46444f3645b6e14eb3ca94b82e1be69"
integrity sha512-mgLwQIx2F/ye9SmbrUkurZCnkoXyXyu9EbHtJZrICjVAJfyMArdHp3KkixGdZx1ZHFPNIwl0DDM1dFFqXbTLZw==
@@ -15860,6 +16974,14 @@ open@^7.0.0, open@^7.0.2:
is-docker "^2.0.0"
is-wsl "^2.1.1"
+open@^7.0.3:
+ version "7.4.2"
+ resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321"
+ integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==
+ dependencies:
+ is-docker "^2.0.0"
+ is-wsl "^2.1.1"
+
opencollective-postinstall@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259"
@@ -15952,6 +17074,18 @@ osenv@^0.1.4, osenv@^0.1.5:
os-homedir "^1.0.0"
os-tmpdir "^1.0.0"
+overlayscrollbars@^1.13.1:
+ version "1.13.1"
+ resolved "https://registry.yarnpkg.com/overlayscrollbars/-/overlayscrollbars-1.13.1.tgz#0b840a88737f43a946b9d87875a2f9e421d0338a"
+ integrity sha512-gIQfzgGgu1wy80EB4/6DaJGHMEGmizq27xHIESrzXq0Y/J0Ay1P3DWk6tuVmEPIZH15zaBlxeEJOqdJKmowHCQ==
+
+p-all@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/p-all/-/p-all-2.1.0.tgz#91419be56b7dee8fe4c5db875d55e0da084244a0"
+ integrity sha512-HbZxz5FONzz/z2gJfk6bFca0BCiSRF8jU3yCsWOen/vR6lZjfPOu/e7L3uFzTW1i0H8TlC3vqQstEJPQL4/uLA==
+ dependencies:
+ p-map "^2.0.0"
+
p-cancelable@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa"
@@ -15969,7 +17103,14 @@ p-each-series@^2.1.0:
resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a"
integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==
-p-filter@^2.0.0:
+p-event@^4.1.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/p-event/-/p-event-4.2.0.tgz#af4b049c8acd91ae81083ebd1e6f5cae2044c1b5"
+ integrity sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==
+ dependencies:
+ p-timeout "^3.1.0"
+
+p-filter@^2.0.0, p-filter@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/p-filter/-/p-filter-2.1.0.tgz#1b1472562ae7a0f742f0f3d3d3718ea66ff9c09c"
integrity sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==
@@ -16000,6 +17141,13 @@ p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.3.0:
dependencies:
p-try "^2.0.0"
+p-limit@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
+ integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
+ dependencies:
+ yocto-queue "^0.1.0"
+
p-locate@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
@@ -16021,6 +17169,13 @@ p-locate@^4.1.0:
dependencies:
p-limit "^2.2.0"
+p-locate@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
+ integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
+ dependencies:
+ p-limit "^3.0.2"
+
p-map-series@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-map-series/-/p-map-series-1.0.0.tgz#bf98fe575705658a9e1351befb85ae4c1f07bdca"
@@ -16099,7 +17254,7 @@ p-timeout@^1.1.1:
dependencies:
p-finally "^1.0.0"
-p-timeout@^3.2.0:
+p-timeout@^3.1.0, p-timeout@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe"
integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==
@@ -16209,7 +17364,7 @@ parse-asn1@^5.0.0, parse-asn1@^5.1.5:
pbkdf2 "^3.0.3"
safe-buffer "^5.1.1"
-parse-entities@^1.0.2, parse-entities@^1.1.0, parse-entities@^1.1.2:
+parse-entities@^1.0.2, parse-entities@^1.1.0:
version "1.2.2"
resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.2.tgz#c31bf0f653b6661354f8973559cb86dd1d5edf50"
integrity sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==
@@ -16517,12 +17672,12 @@ pkg-dir@^4.1.0, pkg-dir@^4.2.0:
dependencies:
find-up "^4.0.0"
-pkg-up@2.0.0, pkg-up@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f"
- integrity sha1-yBmscoBZpGHKscOImivjxJoATX8=
+pkg-dir@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760"
+ integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==
dependencies:
- find-up "^2.1.0"
+ find-up "^5.0.0"
pkg-up@3.1.0, pkg-up@^3.1.0:
version "3.1.0"
@@ -16531,6 +17686,13 @@ pkg-up@3.1.0, pkg-up@^3.1.0:
dependencies:
find-up "^3.0.0"
+pkg-up@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f"
+ integrity sha1-yBmscoBZpGHKscOImivjxJoATX8=
+ dependencies:
+ find-up "^2.1.0"
+
playwright-cli@^0.171.0:
version "0.171.0"
resolved "https://registry.yarnpkg.com/playwright-cli/-/playwright-cli-0.171.0.tgz#f4e044ff0f340eff3b7767da4cb1037b3a00b216"
@@ -16604,13 +17766,6 @@ pngjs@^5.0.0:
resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb"
integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==
-pnp-webpack-plugin@1.5.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.5.0.tgz#62a1cd3068f46d564bb33c56eb250e4d586676eb"
- integrity sha512-jd9olUr9D7do+RN8Wspzhpxhgp1n6Vd0NtQ4SFkmIACZoEL1nkyAdW9Ygrinjec0vgDcWjscFQQ1gDW8rsfKTg==
- dependencies:
- ts-pnp "^1.1.2"
-
pnp-webpack-plugin@1.6.4, pnp-webpack-plugin@^1.6.4:
version "1.6.4"
resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149"
@@ -16618,17 +17773,12 @@ pnp-webpack-plugin@1.6.4, pnp-webpack-plugin@^1.6.4:
dependencies:
ts-pnp "^1.1.6"
-polished@^3.3.1:
- version "3.6.7"
- resolved "https://registry.yarnpkg.com/polished/-/polished-3.6.7.tgz#44cbd0047f3187d83db0c479ef0c7d5583af5fb6"
- integrity sha512-b4OViUOihwV0icb9PHmWbR+vPqaSzSAEbgLskvb7ANPATVXGiYv/TQFHQo65S53WU9i5EQ1I03YDOJW7K0bmYg==
+polished@^4.0.5:
+ version "4.1.3"
+ resolved "https://registry.yarnpkg.com/polished/-/polished-4.1.3.tgz#7a3abf2972364e7d97770b827eec9a9e64002cfc"
+ integrity sha512-ocPAcVBUOryJEKe0z2KLd1l9EBa1r5mSwlKpExmrLzsnIzJo4axsoU9O2BjOTkDGDT4mZ0WFE5XKTlR3nLnZOA==
dependencies:
- "@babel/runtime" "^7.9.2"
-
-popper.js@^1.14.4, popper.js@^1.14.7:
- version "1.16.1"
- resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1.tgz#2a223cb3dc7b6213d740e40372be40de43e65b1b"
- integrity sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==
+ "@babel/runtime" "^7.14.0"
portfinder@^1.0.25, portfinder@^1.0.26:
version "1.0.28"
@@ -16845,7 +17995,7 @@ postcss-flexbugs-fixes@4.1.0:
dependencies:
postcss "^7.0.0"
-postcss-flexbugs-fixes@^4.1.0:
+postcss-flexbugs-fixes@^4.2.1:
version "4.2.1"
resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.1.tgz#9218a65249f30897deab1033aced8578562a6690"
integrity sha512-9SiofaZ9CWpQWxOwRh1b/r85KD5y7GgvsNt1056k6OYLvWUun0czCvogfJgylC22uJTwW1KzY3Gz65NZRlvoiQ==
@@ -16960,7 +18110,7 @@ postcss-load-config@^2.0.0, postcss-load-config@^2.1.0:
cosmiconfig "^5.0.0"
import-cwd "^2.0.0"
-postcss-loader@3.0.0, postcss-loader@^3.0.0:
+postcss-loader@3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d"
integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==
@@ -16970,6 +18120,17 @@ postcss-loader@3.0.0, postcss-loader@^3.0.0:
postcss-load-config "^2.0.0"
schema-utils "^1.0.0"
+postcss-loader@^4.2.0:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-4.3.0.tgz#2c4de9657cd4f07af5ab42bd60a673004da1b8cc"
+ integrity sha512-M/dSoIiNDOo8Rk0mUqoj4kpGq91gcxCfb9PoyZVdZ76/AuhxylHDYZblNE8o+EQ9AMSASeMFEKxZf5aU6wlx1Q==
+ dependencies:
+ cosmiconfig "^7.0.0"
+ klona "^2.0.4"
+ loader-utils "^2.0.0"
+ schema-utils "^3.0.0"
+ semver "^7.3.4"
+
postcss-logical@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-3.0.0.tgz#2495d0f8b82e9f262725f75f9401b34e7b45d5b5"
@@ -17145,21 +18306,6 @@ postcss-modules@^2.0.0:
postcss "^7.0.1"
string-hash "^1.1.1"
-postcss-modules@^3.2.2:
- version "3.2.2"
- resolved "https://registry.yarnpkg.com/postcss-modules/-/postcss-modules-3.2.2.tgz#ee390de0f9f18e761e1778dfb9be26685c02c51f"
- integrity sha512-JQ8IAqHELxC0N6tyCg2UF40pACY5oiL6UpiqqcIFRWqgDYO8B0jnxzoQ0EOpPrWXvcpu6BSbQU/3vSiq7w8Nhw==
- dependencies:
- generic-names "^2.0.1"
- icss-replace-symbols "^1.1.0"
- lodash.camelcase "^4.3.0"
- postcss "^7.0.32"
- postcss-modules-extract-imports "^2.0.0"
- postcss-modules-local-by-default "^3.0.2"
- postcss-modules-scope "^2.2.0"
- postcss-modules-values "^3.0.0"
- string-hash "^1.1.1"
-
postcss-nesting@^7.0.0:
version "7.0.1"
resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052"
@@ -17446,7 +18592,7 @@ postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4:
indexes-of "^1.0.1"
uniq "^1.0.1"
-postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4:
+postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2:
version "6.0.4"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3"
integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==
@@ -17575,7 +18721,7 @@ postcss@^6.0.1, postcss@^6.0.9:
source-map "^0.6.1"
supports-color "^5.4.0"
-postcss@^7, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.18, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.23, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6, postcss@^7.0.7:
+postcss@^7, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.18, postcss@^7.0.2, postcss@^7.0.21, postcss@^7.0.23, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.5, postcss@^7.0.6, postcss@^7.0.7:
version "7.0.35"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24"
integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==
@@ -17601,11 +18747,16 @@ prettier-linter-helpers@^1.0.0:
dependencies:
fast-diff "^1.1.2"
-prettier@^1.16.4, prettier@^1.19.1:
+prettier@^1.19.1:
version "1.19.1"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb"
integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==
+prettier@~2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5"
+ integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==
+
pretty-bytes@^5.1.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.5.0.tgz#0cecda50a74a941589498011cf23275aa82b339e"
@@ -17649,25 +18800,13 @@ prism-react-renderer@^1.0.1:
resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-1.2.1.tgz#392460acf63540960e5e3caa699d851264e99b89"
integrity sha512-w23ch4f75V1Tnz8DajsYKvY5lF7H1+WvzvLUcF0paFxkTHSp42RS0H5CttdN2Q8RR3DRGZ9v5xD/h3n8C8kGmg==
-prismjs@^1.8.4:
- version "1.22.0"
- resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.22.0.tgz#73c3400afc58a823dd7eed023f8e1ce9fd8977fa"
- integrity sha512-lLJ/Wt9yy0AiSYBf212kK3mM5L8ycwlyTlSxHBAneXLR0nzFMlZ5y7riFPF3E33zXOF2IH95xdY5jIyZbM9z/w==
- optionalDependencies:
- clipboard "^2.0.0"
-
-prismjs@~1.17.0:
- version "1.17.1"
- resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.17.1.tgz#e669fcbd4cdd873c35102881c33b14d0d68519be"
- integrity sha512-PrEDJAFdUGbOP6xK/UsfkC5ghJsPJviKgnQOoxaDbBjwc8op68Quupwt1DeAFoG8GImPhiKXAvvsH7wDSLsu1Q==
+prismjs@^1.21.0, prismjs@~1.23.0:
+ version "1.23.0"
+ resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.23.0.tgz#d3b3967f7d72440690497652a9d40ff046067f33"
+ integrity sha512-c29LVsqOaLbBHuIbsTxaKENh1N2EQBOHaWv7gkHN4dgRbxSREqDnDbtFJYdpPauS4YCplMSNCABQ6Eeor69bAA==
optionalDependencies:
clipboard "^2.0.0"
-private@^0.1.8:
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
- integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==
-
process-nextick-args@~2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
@@ -17721,13 +18860,6 @@ promise.series@^0.2.0:
resolved "https://registry.yarnpkg.com/promise.series/-/promise.series-0.2.0.tgz#2cc7ebe959fc3a6619c04ab4dbdc9e452d864bbd"
integrity sha1-LMfr6Vn8OmYZwEq029yeRS2GS70=
-promise@^7.0.1:
- version "7.3.1"
- resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf"
- integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==
- dependencies:
- asap "~2.0.3"
-
promise@^8.0.3:
version "8.1.0"
resolved "https://registry.yarnpkg.com/promise/-/promise-8.1.0.tgz#697c25c3dfe7435dd79fcd58c38a135888eaf05e"
@@ -17735,7 +18867,7 @@ promise@^8.0.3:
dependencies:
asap "~2.0.6"
-prompts@^2.0.1:
+prompts@2.4.0, prompts@^2.0.1:
version "2.4.0"
resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7"
integrity sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==
@@ -17743,6 +18875,14 @@ prompts@^2.0.1:
kleur "^3.0.3"
sisteransi "^1.0.5"
+prompts@^2.4.0:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.1.tgz#befd3b1195ba052f9fd2fde8a486c4e82ee77f61"
+ integrity sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==
+ dependencies:
+ kleur "^3.0.3"
+ sisteransi "^1.0.5"
+
promzard@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee"
@@ -17750,7 +18890,7 @@ promzard@^0.3.0:
dependencies:
read "1"
-prop-types@^15.5.10, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2:
+prop-types@^15.0.0, prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2:
version "15.7.2"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==
@@ -17815,125 +18955,22 @@ pseudomap@^1.0.2:
resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM=
-psl@^1.1.28:
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
- integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
-
-public-encrypt@^4.0.0:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0"
- integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==
- dependencies:
- bn.js "^4.1.0"
- browserify-rsa "^4.0.0"
- create-hash "^1.1.0"
- parse-asn1 "^5.0.0"
- randombytes "^2.0.1"
- safe-buffer "^5.1.2"
-
-pug-attrs@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pug-attrs/-/pug-attrs-3.0.0.tgz#b10451e0348165e31fad1cc23ebddd9dc7347c41"
- integrity sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==
- dependencies:
- constantinople "^4.0.1"
- js-stringify "^1.0.2"
- pug-runtime "^3.0.0"
-
-pug-code-gen@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/pug-code-gen/-/pug-code-gen-3.0.1.tgz#ff3b337b100c494ea63ef766091d27f7d73acb7e"
- integrity sha512-xJIGvmXTQlkJllq6hqxxjRWcay2F9CU69TuAuiVZgHK0afOhG5txrQOcZyaPHBvSWCU/QQOqEp5XCH94rRZpBQ==
- dependencies:
- constantinople "^4.0.1"
- doctypes "^1.1.0"
- js-stringify "^1.0.2"
- pug-attrs "^3.0.0"
- pug-error "^2.0.0"
- pug-runtime "^3.0.0"
- void-elements "^3.1.0"
- with "^7.0.0"
-
-pug-error@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/pug-error/-/pug-error-2.0.0.tgz#5c62173cb09c34de2a2ce04f17b8adfec74d8ca5"
- integrity sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==
-
-pug-filters@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/pug-filters/-/pug-filters-4.0.0.tgz#d3e49af5ba8472e9b7a66d980e707ce9d2cc9b5e"
- integrity sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==
- dependencies:
- constantinople "^4.0.1"
- jstransformer "1.0.0"
- pug-error "^2.0.0"
- pug-walk "^2.0.0"
- resolve "^1.15.1"
-
-pug-lexer@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/pug-lexer/-/pug-lexer-5.0.0.tgz#0b779e7d8cbf0f103803675be96351942fd9a727"
- integrity sha512-52xMk8nNpuyQ/M2wjZBN5gXQLIylaGkAoTk5Y1pBhVqaopaoj8Z0iVzpbFZAqitL4RHNVDZRnJDsqEYe99Ti0A==
- dependencies:
- character-parser "^2.2.0"
- is-expression "^4.0.0"
- pug-error "^2.0.0"
-
-pug-linker@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/pug-linker/-/pug-linker-4.0.0.tgz#12cbc0594fc5a3e06b9fc59e6f93c146962a7708"
- integrity sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==
- dependencies:
- pug-error "^2.0.0"
- pug-walk "^2.0.0"
-
-pug-load@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pug-load/-/pug-load-3.0.0.tgz#9fd9cda52202b08adb11d25681fb9f34bd41b662"
- integrity sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==
- dependencies:
- object-assign "^4.1.1"
- pug-walk "^2.0.0"
-
-pug-parser@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/pug-parser/-/pug-parser-6.0.0.tgz#a8fdc035863a95b2c1dc5ebf4ecf80b4e76a1260"
- integrity sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==
- dependencies:
- pug-error "^2.0.0"
- token-stream "1.0.0"
-
-pug-runtime@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pug-runtime/-/pug-runtime-3.0.0.tgz#d523025fdc0a1efe70929d1fd3a2d24121ffffb6"
- integrity sha512-GoEPcmQNnaTsePEdVA05bDpY+Op5VLHKayg08AQiqJBWU/yIaywEYv7TetC5dEQS3fzBBoyb2InDcZEg3mPTIA==
-
-pug-strip-comments@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz#f94b07fd6b495523330f490a7f554b4ff876303e"
- integrity sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==
- dependencies:
- pug-error "^2.0.0"
-
-pug-walk@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/pug-walk/-/pug-walk-2.0.0.tgz#417aabc29232bb4499b5b5069a2b2d2a24d5f5fe"
- integrity sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==
+psl@^1.1.28:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
+ integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
-pug@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pug/-/pug-3.0.0.tgz#101eecd7a236cd9906e420e17799d4d57f2b7d93"
- integrity sha512-inmsJyFBSHZaiGLaguoFgJGViX0If6AcfcElimvwj9perqjDpUpw79UIEDZbWFmoGVidh08aoE+e8tVkjVJPCw==
- dependencies:
- pug-code-gen "^3.0.0"
- pug-filters "^4.0.0"
- pug-lexer "^5.0.0"
- pug-linker "^4.0.0"
- pug-load "^3.0.0"
- pug-parser "^6.0.0"
- pug-runtime "^3.0.0"
- pug-strip-comments "^2.0.0"
+public-encrypt@^4.0.0:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0"
+ integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==
+ dependencies:
+ bn.js "^4.1.0"
+ browserify-rsa "^4.0.0"
+ create-hash "^1.1.0"
+ parse-asn1 "^5.0.0"
+ randombytes "^2.0.1"
+ safe-buffer "^5.1.2"
pump@^2.0.0:
version "2.0.1"
@@ -18000,16 +19037,18 @@ qs@6.7.0:
resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
+qs@^6.10.0:
+ version "6.10.1"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.1.tgz#4931482fa8d647a5aab799c5271d2133b981fb6a"
+ integrity sha512-M528Hph6wsSVOBiYUnGf+K/7w0hNshs/duGsNXPUCLH5XAqjEtiPGwNONLV0tBH8NoGb0mvD5JubnUTrujKDTg==
+ dependencies:
+ side-channel "^1.0.4"
+
qs@^6.4.0:
version "6.9.6"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.6.tgz#26ed3c8243a431b2924aca84cc90471f35d5a0ee"
integrity sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==
-qs@^6.6.0:
- version "6.9.4"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.4.tgz#9090b290d1f91728d3c22e54843ca44aea5ab687"
- integrity sha512-A1kFqHekCTM7cz0udomYUoYNWjBebHm/5wzU/XqrBRBNWectVH0QIiN+NEcZ0Dte5hvzHwbr8+XQmguPhJ6WdQ==
-
qs@~6.5.2:
version "6.5.2"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
@@ -18109,15 +19148,7 @@ raw-body@2.4.0:
iconv-lite "0.4.24"
unpipe "1.0.0"
-raw-loader@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-3.1.0.tgz#5e9d399a5a222cc0de18f42c3bc5e49677532b3f"
- integrity sha512-lzUVMuJ06HF4rYveaz9Tv0WRlUMxJ0Y1hgSkkgg+50iEdaI0TthyEDe08KIHb0XsF6rn8WYTqPCaGTZg3sX+qA==
- dependencies:
- loader-utils "^1.1.0"
- schema-utils "^2.0.1"
-
-raw-loader@^4.0.1:
+raw-loader@^4.0.1, raw-loader@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-4.0.2.tgz#1aac6b7d1ad1501e66efdac1522c73e59a584eb6"
integrity sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==
@@ -18154,18 +19185,10 @@ react-clientside-effect@^1.2.2:
dependencies:
"@babel/runtime" "^7.0.0"
-react-color@^2.17.0:
- version "2.19.3"
- resolved "https://registry.yarnpkg.com/react-color/-/react-color-2.19.3.tgz#ec6c6b4568312a3c6a18420ab0472e146aa5683d"
- integrity sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA==
- dependencies:
- "@icons/material" "^0.2.4"
- lodash "^4.17.15"
- lodash-es "^4.17.15"
- material-colors "^1.2.1"
- prop-types "^15.5.10"
- reactcss "^1.2.0"
- tinycolor2 "^1.4.1"
+react-colorful@^5.0.1:
+ version "5.2.2"
+ resolved "https://registry.yarnpkg.com/react-colorful/-/react-colorful-5.2.2.tgz#0a69d0648db47e51359d343854d83d250a742243"
+ integrity sha512-Xdb1Rl6lZ5SMdNBH59eE0lGqR1g2LVD8IgPlw0WeMDrOC65lYI8fgMEwj/0dDpVRVMh5qp73ciISDst/t2O2iQ==
react-dev-utils@^10.2.1:
version "10.2.1"
@@ -18197,35 +19220,34 @@ react-dev-utils@^10.2.1:
strip-ansi "6.0.0"
text-table "0.2.0"
-react-dev-utils@^9.0.0:
- version "9.1.0"
- resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-9.1.0.tgz#3ad2bb8848a32319d760d0a84c56c14bdaae5e81"
- integrity sha512-X2KYF/lIGyGwP/F/oXgGDF24nxDA2KC4b7AFto+eqzc/t838gpSGiaU8trTqHXOohuLxxc5qi1eDzsl9ucPDpg==
+react-dev-utils@^11.0.3:
+ version "11.0.4"
+ resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-11.0.4.tgz#a7ccb60257a1ca2e0efe7a83e38e6700d17aa37a"
+ integrity sha512-dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A==
dependencies:
- "@babel/code-frame" "7.5.5"
+ "@babel/code-frame" "7.10.4"
address "1.1.2"
- browserslist "4.7.0"
+ browserslist "4.14.2"
chalk "2.4.2"
- cross-spawn "6.0.5"
+ cross-spawn "7.0.3"
detect-port-alt "1.1.6"
- escape-string-regexp "1.0.5"
- filesize "3.6.1"
- find-up "3.0.0"
- fork-ts-checker-webpack-plugin "1.5.0"
+ escape-string-regexp "2.0.0"
+ filesize "6.1.0"
+ find-up "4.1.0"
+ fork-ts-checker-webpack-plugin "4.1.6"
global-modules "2.0.0"
- globby "8.0.2"
+ globby "11.0.1"
gzip-size "5.1.1"
- immer "1.10.0"
- inquirer "6.5.0"
+ immer "8.0.1"
is-root "2.1.0"
- loader-utils "1.2.3"
- open "^6.3.0"
- pkg-up "2.0.0"
- react-error-overlay "^6.0.3"
+ loader-utils "2.0.0"
+ open "^7.0.2"
+ pkg-up "3.1.0"
+ prompts "2.4.0"
+ react-error-overlay "^6.0.9"
recursive-readdir "2.2.2"
shell-quote "1.7.2"
- sockjs-client "1.4.0"
- strip-ansi "5.2.0"
+ strip-ansi "6.0.0"
text-table "0.2.0"
react-docgen-typescript-loader@^3.6.0:
@@ -18237,11 +19259,27 @@ react-docgen-typescript-loader@^3.6.0:
loader-utils "^1.2.3"
react-docgen-typescript "^1.15.0"
+react-docgen-typescript-plugin@^0.6.2:
+ version "0.6.3"
+ resolved "https://registry.yarnpkg.com/react-docgen-typescript-plugin/-/react-docgen-typescript-plugin-0.6.3.tgz#664b22601df083597ecb1e60bd21beca60125fdf"
+ integrity sha512-av1S/fmWBNFGgNa4qtkidFjjOz23eEi6EdCtwSWo9WNhGzUMyMygbD/DosMWoeFlZpk9R3MXPkRE7PDH6j5GMQ==
+ dependencies:
+ debug "^4.1.1"
+ endent "^2.0.1"
+ micromatch "^4.0.2"
+ react-docgen-typescript "^1.20.5"
+ tslib "^2.0.0"
+
react-docgen-typescript@^1.15.0:
version "1.20.5"
resolved "https://registry.yarnpkg.com/react-docgen-typescript/-/react-docgen-typescript-1.20.5.tgz#fb8d78a707243498436c2952bd3f6f488a68d4f3"
integrity sha512-AbLGMtn76bn7SYBJSSaKJrZ0lgNRRR3qL60PucM5M4v/AXyC8221cKBXW5Pyt9TfDRfe+LDnPNlg7TibxX0ovA==
+react-docgen-typescript@^1.20.5:
+ version "1.22.0"
+ resolved "https://registry.yarnpkg.com/react-docgen-typescript/-/react-docgen-typescript-1.22.0.tgz#00232c8e8e47f4437cac133b879b3e9437284bee"
+ integrity sha512-MPLbF8vzRwAG3GcjdL+OHQlhgtWsLTXs+7uJiHfEeT3Ur7IsZaNYqRTLQ9sj2nB6M6jylcPCeCmH7qbszJmecg==
+
react-docgen@^5.0.0:
version "5.3.1"
resolved "https://registry.yarnpkg.com/react-docgen/-/react-docgen-5.3.1.tgz#940b519646a6c285c2950b96512aed59e8f90934"
@@ -18256,16 +19294,6 @@ react-docgen@^5.0.0:
node-dir "^0.1.10"
strip-indent "^3.0.0"
-react-dom@^16.8.3:
- version "16.14.0"
- resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.14.0.tgz#7ad838ec29a777fb3c75c3a190f661cf92ab8b89"
- integrity sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==
- dependencies:
- loose-envify "^1.1.0"
- object-assign "^4.1.1"
- prop-types "^15.6.2"
- scheduler "^0.19.1"
-
react-dom@^17.0.1:
version "17.0.1"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.1.tgz#1de2560474ec9f0e334285662ede52dbc5426fc6"
@@ -18275,7 +19303,7 @@ react-dom@^17.0.1:
object-assign "^4.1.1"
scheduler "^0.20.1"
-react-draggable@^4.0.3:
+react-draggable@^4.4.3:
version "4.4.3"
resolved "https://registry.yarnpkg.com/react-draggable/-/react-draggable-4.4.3.tgz#0727f2cae5813e36b0e4962bf11b2f9ef2b406f3"
integrity sha512-jV4TE59MBuWm7gb6Ns3Q1mxX8Azffb7oTtDtBgFkxRvhDp38YAARmRplrj0+XGkhOJB5XziArX+4HUUABtyZ0w==
@@ -18283,7 +19311,7 @@ react-draggable@^4.0.3:
classnames "^2.2.5"
prop-types "^15.6.0"
-react-element-to-jsx-string@^14.1.0:
+react-element-to-jsx-string@^14.3.2:
version "14.3.2"
resolved "https://registry.yarnpkg.com/react-element-to-jsx-string/-/react-element-to-jsx-string-14.3.2.tgz#c0000ed54d1f8b4371731b669613f2d4e0f63d5c"
integrity sha512-WZbvG72cjLXAxV7VOuSzuHEaI3RHj10DZu8EcKQpkKcAj7+qAkG5XUeSdX5FXrA0vPrlx0QsnAzZEBJwzV0e+w==
@@ -18291,17 +19319,22 @@ react-element-to-jsx-string@^14.1.0:
"@base2/pretty-print-object" "1.0.0"
is-plain-object "3.0.1"
-react-error-overlay@^6.0.3, react-error-overlay@^6.0.7:
+react-error-overlay@^6.0.7:
version "6.0.8"
resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.8.tgz#474ed11d04fc6bda3af643447d85e9127ed6b5de"
integrity sha512-HvPuUQnLp5H7TouGq3kzBeioJmXms1wHy9EGjz2OURWBp4qZO6AfGEcnxts1D/CbwPLRAgTMPCEgYhA3sEM4vw==
+react-error-overlay@^6.0.9:
+ version "6.0.9"
+ resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.9.tgz#3c743010c9359608c375ecd6bc76f35d93995b0a"
+ integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==
+
react-fast-compare@^3.0.1, react-fast-compare@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-3.2.0.tgz#641a9da81b6a6320f270e89724fb45a0b39e43bb"
integrity sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==
-react-focus-lock@^2.1.0, react-focus-lock@^2.5.0:
+react-focus-lock@^2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/react-focus-lock/-/react-focus-lock-2.5.0.tgz#12e3a3940e897c26e2c2a0408cd25ea3c99b3709"
integrity sha512-XLxj6uTXgz0US8TmqNU2jMfnXwZG0mH2r/afQqvPEaX6nyEll5LHVcEXk2XDUQ34RVeLPkO/xK5x6c/qiuSq/A==
@@ -18320,39 +19353,32 @@ react-github-btn@^1.2.0:
dependencies:
github-buttons "^2.8.0"
-react-helmet-async@^1.0.2:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/react-helmet-async/-/react-helmet-async-1.0.7.tgz#b988fbc3abdc4b704982bb74b9cb4a08fcf062c1"
- integrity sha512-By90p5uxAriGukbyejq2poK41DwTxpNWOpOjN8mIyX/BKrCd3+sXZ5pHUZXjHyjR5OYS7PGsOD9dbM61YxfFmA==
+react-helmet-async@^1.0.7:
+ version "1.0.9"
+ resolved "https://registry.yarnpkg.com/react-helmet-async/-/react-helmet-async-1.0.9.tgz#5b9ed2059de6b4aab47f769532f9fbcbce16c5ca"
+ integrity sha512-N+iUlo9WR3/u9qGMmP4jiYfaD6pe9IvDTapZLFJz2D3xlTlCM1Bzy4Ab3g72Nbajo/0ZyW+W9hdz8Hbe4l97pQ==
dependencies:
- "@babel/runtime" "^7.11.2"
+ "@babel/runtime" "^7.12.5"
invariant "^2.2.4"
prop-types "^15.7.2"
react-fast-compare "^3.2.0"
shallowequal "^1.1.0"
-react-hotkeys@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/react-hotkeys/-/react-hotkeys-2.0.0.tgz#a7719c7340cbba888b0e9184f806a9ec0ac2c53f"
- integrity sha512-3n3OU8vLX/pfcJrR3xJ1zlww6KS1kEJt0Whxc4FiGV+MJrQ1mYSYI3qS/11d2MJDFm8IhOXMTFQirfu6AVOF6Q==
- dependencies:
- prop-types "^15.6.1"
-
-react-input-autosize@^2.2.2:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-2.2.2.tgz#fcaa7020568ec206bc04be36f4eb68e647c4d8c2"
- integrity sha512-jQJgYCA3S0j+cuOwzuCd1OjmBmnZLdqQdiLKRYrsMMzbjUrVDS5RvJUDwJqA7sKuksDuzFtm6hZGKFu7Mjk5aw==
+react-input-autosize@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-3.0.0.tgz#6b5898c790d4478d69420b55441fcc31d5c50a85"
+ integrity sha512-nL9uS7jEs/zu8sqwFE5MAPx6pPkNAriACQ2rGLlqmKr2sPGtN7TXTyDdQt4lbNXVx7Uzadb40x8qotIuru6Rhg==
dependencies:
prop-types "^15.5.8"
-react-inspector@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-4.0.1.tgz#0f888f78ff7daccbc7be5d452b20c96dc6d5fbb8"
- integrity sha512-xSiM6CE79JBqSj8Fzd9dWBHv57tLTH7OM57GP3VrE5crzVF3D5Khce9w1Xcw75OAbvrA0Mi2vBneR1OajKmXFg==
+react-inspector@^5.1.0:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-5.1.1.tgz#58476c78fde05d5055646ed8ec02030af42953c8"
+ integrity sha512-GURDaYzoLbW8pMGXwYPDBIv6nqei4kK7LPRZ9q9HCZF54wqXz/dnylBp/kfE9XmekBhHvLDdcYeyIwSrvtOiWg==
dependencies:
- "@babel/runtime" "^7.6.3"
- is-dom "^1.0.9"
- prop-types "^15.6.1"
+ "@babel/runtime" "^7.0.0"
+ is-dom "^1.0.0"
+ prop-types "^15.0.0"
react-is@^16.13.1, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4:
version "16.13.1"
@@ -18364,6 +19390,11 @@ react-is@^17.0.1:
resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339"
integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA==
+react-is@^17.0.2:
+ version "17.0.2"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
+ integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
+
react-lifecycles-compat@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
@@ -18392,26 +19423,14 @@ react-node-resolver@^2.0.1:
resolved "https://registry.yarnpkg.com/react-node-resolver/-/react-node-resolver-2.0.1.tgz#1f0cc83938bf590a1cf42006b23f6b8f68e7b886"
integrity sha512-+PPy/FtAAo5wsLQYMlHkxJ3AMUGL33gpEIx/HBzS8OrcIfacRhGaNVWUJ8bhEbc64en+/bbCNTVZR+pkhqXEbA==
-react-popper-tooltip@^2.8.3:
- version "2.11.1"
- resolved "https://registry.yarnpkg.com/react-popper-tooltip/-/react-popper-tooltip-2.11.1.tgz#3c4bdfd8bc10d1c2b9a162e859bab8958f5b2644"
- integrity sha512-04A2f24GhyyMicKvg/koIOQ5BzlrRbKiAgP6L+Pdj1MVX3yJ1NeZ8+EidndQsbejFT55oW1b++wg2Z8KlAyhfQ==
- dependencies:
- "@babel/runtime" "^7.9.2"
- react-popper "^1.3.7"
-
-react-popper@^1.3.7:
- version "1.3.7"
- resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-1.3.7.tgz#f6a3471362ef1f0d10a4963673789de1baca2324"
- integrity sha512-nmqYTx7QVjCm3WUZLeuOomna138R1luC4EqkW3hxJUrAe+3eNz3oFCLYdnPwILfn0mX1Ew2c3wctrjlUMYYUww==
+react-popper-tooltip@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/react-popper-tooltip/-/react-popper-tooltip-3.1.1.tgz#329569eb7b287008f04fcbddb6370452ad3f9eac"
+ integrity sha512-EnERAnnKRptQBJyaee5GJScWNUKQPDD2ywvzZyUjst/wj5U64C8/CnSYLNEmP2hG0IJ3ZhtDxE8oDN+KOyavXQ==
dependencies:
- "@babel/runtime" "^7.1.2"
- create-react-context "^0.3.0"
- deep-equal "^1.1.1"
- popper.js "^1.14.4"
- prop-types "^15.6.1"
- typed-styles "^0.0.7"
- warning "^4.0.2"
+ "@babel/runtime" "^7.12.5"
+ "@popperjs/core" "^2.5.4"
+ react-popper "^2.2.4"
react-popper@^2.2.2:
version "2.2.4"
@@ -18421,6 +19440,19 @@ react-popper@^2.2.2:
react-fast-compare "^3.0.1"
warning "^4.0.2"
+react-popper@^2.2.4:
+ version "2.2.5"
+ resolved "https://registry.yarnpkg.com/react-popper/-/react-popper-2.2.5.tgz#1214ef3cec86330a171671a4fbcbeeb65ee58e96"
+ integrity sha512-kxGkS80eQGtLl18+uig1UIf9MKixFSyPxglsgLBxlYnyDf65BiY9B3nZSc6C9XUNDgStROB0fMQlTEz1KxGddw==
+ dependencies:
+ react-fast-compare "^3.0.1"
+ warning "^4.0.2"
+
+react-refresh@^0.8.3:
+ version "0.8.3"
+ resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f"
+ integrity sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==
+
react-scripts@^3.3.1:
version "3.4.4"
resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.4.4.tgz#eef024ed5c566374005e3f509877350ba99d08a7"
@@ -18481,10 +19513,10 @@ react-scripts@^3.3.1:
optionalDependencies:
fsevents "2.1.2"
-react-select@^3.0.8:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/react-select/-/react-select-3.1.1.tgz#156a5b4a6c22b1e3d62a919cb1fd827adb4060bc"
- integrity sha512-HjC6jT2BhUxbIbxMZWqVcDibrEpdUJCfGicN0MMV+BQyKtCaPTgFekKWiOizSCy4jdsLMGjLqcFGJMhVGWB0Dg==
+react-select@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/react-select/-/react-select-3.2.0.tgz#de9284700196f5f9b5277c5d850a9ce85f5c72fe"
+ integrity sha512-B/q3TnCZXEKItO0fFN/I0tWOX3WJvi/X2wtdffmwSQVRwg5BpValScTO1vdic9AxlUgmeSzib2hAZAwIUQUZGQ==
dependencies:
"@babel/runtime" "^7.4.4"
"@emotion/cache" "^10.0.9"
@@ -18492,7 +19524,7 @@ react-select@^3.0.8:
"@emotion/css" "^10.0.9"
memoize-one "^5.0.0"
prop-types "^15.6.0"
- react-input-autosize "^2.2.2"
+ react-input-autosize "^3.0.0"
react-transition-group "^4.3.0"
react-simple-code-editor@^0.10.0:
@@ -18500,15 +19532,15 @@ react-simple-code-editor@^0.10.0:
resolved "https://registry.yarnpkg.com/react-simple-code-editor/-/react-simple-code-editor-0.10.0.tgz#73e7ac550a928069715482aeb33ccba36efe2373"
integrity sha512-bL5W5mAxSW6+cLwqqVWY47Silqgy2DKDTR4hDBrLrUqC5BXc29YVx17l2IZk5v36VcDEq1Bszu2oHm1qBwKqBA==
-react-sizeme@^2.6.7:
- version "2.6.12"
- resolved "https://registry.yarnpkg.com/react-sizeme/-/react-sizeme-2.6.12.tgz#ed207be5476f4a85bf364e92042520499455453e"
- integrity sha512-tL4sCgfmvapYRZ1FO2VmBmjPVzzqgHA7kI8lSJ6JS6L78jXFNRdOZFpXyK6P1NBZvKPPCZxReNgzZNUajAerZw==
+react-sizeme@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/react-sizeme/-/react-sizeme-3.0.1.tgz#4d12f4244e0e6a0fb97253e7af0314dc7c83a5a0"
+ integrity sha512-9Hf1NLgSbny1bha77l9HwvwwxQUJxFUqi44Ih+y3evA+PezBpGdCGlnvye6avss2cIgs9PgdYgMnfuzJWn/RUw==
dependencies:
- element-resize-detector "^1.2.1"
+ element-resize-detector "^1.2.2"
invariant "^2.2.4"
shallowequal "^1.1.0"
- throttle-debounce "^2.1.0"
+ throttle-debounce "^3.0.1"
react-swipeable@^5.5.0:
version "5.5.1"
@@ -18517,24 +19549,16 @@ react-swipeable@^5.5.0:
dependencies:
prop-types "^15.6.2"
-react-syntax-highlighter@^11.0.2:
- version "11.0.2"
- resolved "https://registry.yarnpkg.com/react-syntax-highlighter/-/react-syntax-highlighter-11.0.2.tgz#4e3f376e752b20d2f54e4c55652fd663149e4029"
- integrity sha512-kqmpM2OH5OodInbEADKARwccwSQWBfZi0970l5Jhp4h39q9Q65C4frNcnd6uHE5pR00W8pOWj9HDRntj2G4Rww==
+react-syntax-highlighter@^13.5.3:
+ version "13.5.3"
+ resolved "https://registry.yarnpkg.com/react-syntax-highlighter/-/react-syntax-highlighter-13.5.3.tgz#9712850f883a3e19eb858cf93fad7bb357eea9c6"
+ integrity sha512-crPaF+QGPeHNIblxxCdf2Lg936NAHKhNhuMzRL3F9ct6aYXL3NcZtCL0Rms9+qVo6Y1EQLdXGypBNSbPL/r+qg==
dependencies:
"@babel/runtime" "^7.3.1"
- highlight.js "~9.13.0"
- lowlight "~1.11.0"
- prismjs "^1.8.4"
- refractor "^2.4.1"
-
-react-textarea-autosize@^7.1.0:
- version "7.1.2"
- resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-7.1.2.tgz#70fdb333ef86bcca72717e25e623e90c336e2cda"
- integrity sha512-uH3ORCsCa3C6LHxExExhF4jHoXYCQwE5oECmrRsunlspaDAbS4mGKNlWZqjLfInWtFQcf0o1n1jC/NGXFdUBCg==
- dependencies:
- "@babel/runtime" "^7.1.2"
- prop-types "^15.6.0"
+ highlight.js "^10.1.1"
+ lowlight "^1.14.0"
+ prismjs "^1.21.0"
+ refractor "^3.1.0"
react-textarea-autosize@^8.2.0:
version "8.3.0"
@@ -18545,6 +19569,15 @@ react-textarea-autosize@^8.2.0:
use-composed-ref "^1.0.0"
use-latest "^1.0.0"
+react-textarea-autosize@^8.3.0:
+ version "8.3.3"
+ resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-8.3.3.tgz#f70913945369da453fd554c168f6baacd1fa04d8"
+ integrity sha512-2XlHXK2TDxS6vbQaoPbMOfQ8GK7+irc2fVK6QFIcC8GOnH3zI/v481n+j1L0WaPVvKxwesnY93fEfH++sus2rQ==
+ dependencies:
+ "@babel/runtime" "^7.10.2"
+ use-composed-ref "^1.0.0"
+ use-latest "^1.0.0"
+
react-transition-group@^4.3.0:
version "4.4.1"
resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.1.tgz#63868f9325a38ea5ee9535d828327f85773345c9"
@@ -18563,15 +19596,6 @@ react-virtual@^2.2.0:
"@reach/observe-rect" "^1.1.0"
ts-toolbelt "^6.4.2"
-react@^16.8.3:
- version "16.14.0"
- resolved "https://registry.yarnpkg.com/react/-/react-16.14.0.tgz#94d776ddd0aaa37da3eda8fc5b6b18a4c9a3114d"
- integrity sha512-0X2CImDkJGApiAlcf0ODKIneSwBPhqJawOa5wCtKbu7ZECrmS26NvtSILynQ66cgkT/RJ4LidJOc3bUESwmU8g==
- dependencies:
- loose-envify "^1.1.0"
- object-assign "^4.1.1"
- prop-types "^15.6.2"
-
react@^17.0.1:
version "17.0.1"
resolved "https://registry.yarnpkg.com/react/-/react-17.0.1.tgz#6e0600416bd57574e3f86d92edba3d9008726127"
@@ -18580,13 +19604,6 @@ react@^17.0.1:
loose-envify "^1.1.0"
object-assign "^4.1.1"
-reactcss@^1.2.0:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/reactcss/-/reactcss-1.2.3.tgz#c00013875e557b1cf0dfd9a368a1c3dab3b548dd"
- integrity sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==
- dependencies:
- lodash "^4.0.1"
-
read-cache@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774"
@@ -18794,26 +19811,6 @@ realpath-native@^1.1.0:
dependencies:
util.promisify "^1.0.0"
-recast@0.19.1:
- version "0.19.1"
- resolved "https://registry.yarnpkg.com/recast/-/recast-0.19.1.tgz#555f3612a5a10c9f44b9a923875c51ff775de6c8"
- integrity sha512-8FCjrBxjeEU2O6I+2hyHyBFH1siJbMBLwIRvVr1T3FD2cL754sOaJDsJ/8h3xYltasbJ8jqWRIhMuDGBSiSbjw==
- dependencies:
- ast-types "0.13.3"
- esprima "~4.0.0"
- private "^0.1.8"
- source-map "~0.6.1"
-
-recast@^0.18.1:
- version "0.18.10"
- resolved "https://registry.yarnpkg.com/recast/-/recast-0.18.10.tgz#605ebbe621511eb89b6356a7e224bff66ed91478"
- integrity sha512-XNvYvkfdAN9QewbrxeTOjgINkdY/odTgTS56ZNEWL9Ml0weT4T3sFtvnTuF+Gxyu46ANcRm1ntrF6F5LAJPAaQ==
- dependencies:
- ast-types "0.13.3"
- esprima "~4.0.0"
- private "^0.1.8"
- source-map "~0.6.1"
-
rechoir@^0.6.2:
version "0.6.2"
resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
@@ -18859,14 +19856,14 @@ redeyed@~2.1.0:
dependencies:
esprima "~4.0.0"
-refractor@^2.4.1:
- version "2.10.1"
- resolved "https://registry.yarnpkg.com/refractor/-/refractor-2.10.1.tgz#166c32f114ed16fd96190ad21d5193d3afc7d34e"
- integrity sha512-Xh9o7hQiQlDbxo5/XkOX6H+x/q8rmlmZKr97Ie1Q8ZM32IRRd3B/UxuA/yXDW79DBSXGWxm2yRTbcTVmAciJRw==
+refractor@^3.1.0:
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/refractor/-/refractor-3.3.1.tgz#ebbc04b427ea81dc25ad333f7f67a0b5f4f0be3a"
+ integrity sha512-vaN6R56kLMuBszHSWlwTpcZ8KTMG6aUCok4GrxYDT20UIOXxOc5o6oDc8tNTzSlH3m2sI+Eu9Jo2kVdDcUTWYw==
dependencies:
- hastscript "^5.0.0"
- parse-entities "^1.1.2"
- prismjs "~1.17.0"
+ hastscript "^6.0.0"
+ parse-entities "^2.0.0"
+ prismjs "~1.23.0"
regenerate-unicode-properties@^8.2.0:
version "8.2.0"
@@ -18890,7 +19887,7 @@ regenerator-runtime@^0.11.0:
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
-regenerator-runtime@^0.13.2, regenerator-runtime@^0.13.3, regenerator-runtime@^0.13.4:
+regenerator-runtime@^0.13.3, regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.7:
version "0.13.7"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55"
integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==
@@ -18984,16 +19981,16 @@ relateurl@^0.2.7:
resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=
-remark-external-links@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/remark-external-links/-/remark-external-links-5.0.0.tgz#e7fc0e0cc4c92d33fb195b08ed1dc691fdb1689a"
- integrity sha512-lYnZGNN10N3YGMvO95Zup4hZ+VHI82JgcrGJfuxOLQExoho/iNhlrPVSkmdapYQl928pkOn4YOgJf/0pdZkteA==
+remark-external-links@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/remark-external-links/-/remark-external-links-8.0.0.tgz#308de69482958b5d1cd3692bc9b725ce0240f345"
+ integrity sha512-5vPSX0kHoSsqtdftSHhIYofVINC8qmp0nctkeU9YoJwV3YfiBRiI6cbFRJ0oI/1F9xS+bopXG0m2KS8VFscuKA==
dependencies:
extend "^3.0.0"
is-absolute-url "^3.0.0"
- mdast-util-definitions "^1.2.3"
- space-separated-tokens "^1.1.2"
- unist-util-visit "^1.4.0"
+ mdast-util-definitions "^4.0.0"
+ space-separated-tokens "^1.0.0"
+ unist-util-visit "^2.0.0"
remark-footnotes@2.0.0:
version "2.0.0"
@@ -19057,14 +20054,14 @@ remark-parse@^6.0.0:
vfile-location "^2.0.0"
xtend "^4.0.1"
-remark-slug@^5.1.2:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/remark-slug/-/remark-slug-5.1.2.tgz#715ecdef8df1226786204b1887d31ab16aa24609"
- integrity sha512-DWX+Kd9iKycqyD+/B+gEFO3jjnt7Yg1O05lygYSNTe5i5PIxxxPjp5qPBDxPIzp5wreF7+1ROCwRgjEcqmzr3A==
+remark-slug@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/remark-slug/-/remark-slug-6.0.0.tgz#2b54a14a7b50407a5e462ac2f376022cce263e2c"
+ integrity sha512-ln67v5BrGKHpETnm6z6adlJPhESFJwfuZZ3jrmi+lKTzeZxh2tzFzUfDD4Pm2hRGOarHLuGToO86MNMZ/hA67Q==
dependencies:
github-slugger "^1.0.0"
mdast-util-to-string "^1.0.0"
- unist-util-visit "^1.0.0"
+ unist-util-visit "^2.0.0"
remark-squeeze-paragraphs@4.0.0:
version "4.0.0"
@@ -19211,11 +20208,6 @@ requires-port@^1.0.0:
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=
-resize-observer-polyfill@^1.5.1:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464"
- integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==
-
resize-observer@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/resize-observer/-/resize-observer-1.0.0.tgz#4f8380b73b411af4ed7d916fe85a2d59900e71ef"
@@ -19305,7 +20297,7 @@ resolve@1.15.0:
dependencies:
path-parse "^1.0.6"
-resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.15.1, resolve@^1.16.1, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.3.2, resolve@^1.8.1:
+resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.15.1, resolve@^1.16.1, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.3.2, resolve@^1.8.1:
version "1.19.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c"
integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==
@@ -19313,6 +20305,14 @@ resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.12.
is-core-module "^2.1.0"
path-parse "^1.0.6"
+resolve@^1.14.2, resolve@^1.19.0:
+ version "1.20.0"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
+ integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
+ dependencies:
+ is-core-module "^2.2.0"
+ path-parse "^1.0.6"
+
restore-cursor@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
@@ -19372,7 +20372,7 @@ rgba-regex@^1.0.0:
resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3"
integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=
-rimraf@2.6.3, rimraf@~2.6.2:
+rimraf@2.6.3:
version "2.6.3"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
@@ -19547,14 +20547,6 @@ saxes@^5.0.0:
dependencies:
xmlchars "^2.2.0"
-scheduler@^0.19.1:
- version "0.19.1"
- resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196"
- integrity sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==
- dependencies:
- loose-envify "^1.1.0"
- object-assign "^4.1.1"
-
scheduler@^0.20.1:
version "0.20.1"
resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.1.tgz#da0b907e24026b01181ecbc75efdc7f27b5a000c"
@@ -19563,6 +20555,15 @@ scheduler@^0.20.1:
loose-envify "^1.1.0"
object-assign "^4.1.1"
+schema-utils@2.7.0:
+ version "2.7.0"
+ resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7"
+ integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==
+ dependencies:
+ "@types/json-schema" "^7.0.4"
+ ajv "^6.12.2"
+ ajv-keywords "^3.4.1"
+
schema-utils@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770"
@@ -19572,7 +20573,7 @@ schema-utils@^1.0.0:
ajv-errors "^1.0.0"
ajv-keywords "^3.1.0"
-schema-utils@^2.0.1, schema-utils@^2.5.0, schema-utils@^2.6.0, schema-utils@^2.6.1, schema-utils@^2.6.5, schema-utils@^2.6.6, schema-utils@^2.7.0, schema-utils@^2.7.1:
+schema-utils@^2.5.0, schema-utils@^2.6.0, schema-utils@^2.6.1, schema-utils@^2.6.5, schema-utils@^2.6.6, schema-utils@^2.7.0, schema-utils@^2.7.1:
version "2.7.1"
resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7"
integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==
@@ -19703,7 +20704,7 @@ semver-regex@^3.1.2:
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
-semver@6.3.0, semver@^6.0.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0:
+semver@6.3.0, semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0:
version "6.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
@@ -19713,13 +20714,20 @@ semver@7.0.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
-semver@7.x, semver@^7.1.1, semver@^7.1.2, semver@^7.1.3, semver@^7.3.2:
+semver@7.x, semver@^7.1.1, semver@^7.1.2, semver@^7.3.2:
version "7.3.4"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97"
integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==
dependencies:
lru-cache "^6.0.0"
+semver@^7.3.4:
+ version "7.3.5"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
+ integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
+ dependencies:
+ lru-cache "^6.0.0"
+
send@0.17.1:
version "0.17.1"
resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"
@@ -19842,11 +20850,6 @@ shallow-clone@^3.0.0:
dependencies:
kind-of "^6.0.2"
-shallow-equal@^1.1.0:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-1.2.1.tgz#4c16abfa56043aa20d050324efa68940b0da79da"
- integrity sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==
-
shallowequal@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8"
@@ -19895,7 +20898,7 @@ shellwords@^0.1.1:
resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b"
integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==
-side-channel@^1.0.2, side-channel@^1.0.3:
+side-channel@^1.0.2, side-channel@^1.0.3, side-channel@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==
@@ -19925,26 +20928,6 @@ simple-swizzle@^0.2.2:
dependencies:
is-arrayish "^0.3.1"
-simplebar-react@^1.0.0-alpha.6:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/simplebar-react/-/simplebar-react-1.2.3.tgz#bd81fa9827628470e9470d06caef6ece15e1c882"
- integrity sha512-1EOWJzFC7eqHUp1igD1/tb8GBv5aPQA5ZMvpeDnVkpNJ3jAuvmrL2kir3HuijlxhG7njvw9ssxjjBa89E5DrJg==
- dependencies:
- prop-types "^15.6.1"
- simplebar "^4.2.3"
-
-simplebar@^4.2.3:
- version "4.2.3"
- resolved "https://registry.yarnpkg.com/simplebar/-/simplebar-4.2.3.tgz#dac40aced299c17928329eab3d5e6e795fafc10c"
- integrity sha512-9no0pK7/1y+8/oTF3sy/+kx0PjQ3uk4cYwld5F1CJGk2gx+prRyUq8GRfvcVLq5niYWSozZdX73a2wIr1o9l/g==
- dependencies:
- can-use-dom "^0.1.0"
- core-js "^3.0.1"
- lodash.debounce "^4.0.8"
- lodash.memoize "^4.1.2"
- lodash.throttle "^4.1.1"
- resize-observer-polyfill "^1.5.1"
-
sisteransi@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed"
@@ -20153,7 +21136,7 @@ sourcemap-codec@^1.4.4:
resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
-space-separated-tokens@^1.0.0, space-separated-tokens@^1.1.2:
+space-separated-tokens@^1.0.0:
version "1.1.5"
resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899"
integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==
@@ -20297,6 +21280,13 @@ ssri@^7.0.0:
figgy-pudding "^3.5.1"
minipass "^3.1.1"
+ssri@^8.0.1:
+ version "8.0.1"
+ resolved "https://registry.yarnpkg.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af"
+ integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==
+ dependencies:
+ minipass "^3.1.1"
+
stable@^0.1.8:
version "0.1.8"
resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf"
@@ -20316,6 +21306,11 @@ stack-utils@^2.0.2:
dependencies:
escape-string-regexp "^2.0.0"
+stackframe@^1.1.1:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.2.0.tgz#52429492d63c62eb989804c11552e3d22e779303"
+ integrity sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==
+
standard-version@^8.0.0:
version "8.0.2"
resolved "https://registry.yarnpkg.com/standard-version/-/standard-version-8.0.2.tgz#02ed7131f83046bd04358dc54f97d42c4b2fd828"
@@ -20360,7 +21355,7 @@ stealthy-require@^1.1.1:
resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=
-store2@^2.7.1:
+store2@^2.12.0:
version "2.12.0"
resolved "https://registry.yarnpkg.com/store2/-/store2-2.12.0.tgz#e1f1b7e1a59b6083b2596a8d067f6ee88fd4d3cf"
integrity sha512-7t+/wpKLanLzSnQPX8WAcuLCCeuSHoWdQuh9SB3xD0kNOM38DNf+0Oa+wmvxmYueRzkmh6IcdKFtvTa+ecgPDw==
@@ -20582,13 +21577,6 @@ stringify-package@^1.0.0, stringify-package@^1.0.1:
resolved "https://registry.yarnpkg.com/stringify-package/-/stringify-package-1.0.1.tgz#e5aa3643e7f74d0f28628b72f3dad5cecfc3ba85"
integrity sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==
-strip-ansi@5.2.0, strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
- integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
- dependencies:
- ansi-regex "^4.1.0"
-
strip-ansi@6.0.0, strip-ansi@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
@@ -20610,6 +21598,13 @@ strip-ansi@^4.0.0:
dependencies:
ansi-regex "^3.0.0"
+strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
+ integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
+ dependencies:
+ ansi-regex "^4.1.0"
+
strip-bom@4.0.0, strip-bom@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878"
@@ -20701,7 +21696,7 @@ style-loader@0.23.1:
loader-utils "^1.1.0"
schema-utils "^1.0.0"
-style-loader@^1.0.0:
+style-loader@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.3.0.tgz#828b4a3b3b7e7aa5847ce7bae9e874512114249e"
integrity sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==
@@ -20933,18 +21928,30 @@ tar@^4.4.10, tar@^4.4.12, tar@^4.4.13, tar@^4.4.8:
safe-buffer "^5.1.2"
yallist "^3.0.3"
-telejson@^3.2.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/telejson/-/telejson-3.3.0.tgz#6d814f3c0d254d5c4770085aad063e266b56ad03"
- integrity sha512-er08AylQ+LEbDLp1GRezORZu5wKOHaBczF6oYJtgC3Idv10qZ8A3p6ffT+J5BzDKkV9MqBvu8HAKiIIOp6KJ2w==
+tar@^6.0.2:
+ version "6.1.0"
+ resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.0.tgz#d1724e9bcc04b977b18d5c573b333a2207229a83"
+ integrity sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==
+ dependencies:
+ chownr "^2.0.0"
+ fs-minipass "^2.0.0"
+ minipass "^3.0.0"
+ minizlib "^2.1.1"
+ mkdirp "^1.0.3"
+ yallist "^4.0.0"
+
+telejson@^5.1.0:
+ version "5.3.3"
+ resolved "https://registry.yarnpkg.com/telejson/-/telejson-5.3.3.tgz#fa8ca84543e336576d8734123876a9f02bf41d2e"
+ integrity sha512-PjqkJZpzEggA9TBpVtJi1LVptP7tYtXB6rEubwlHap76AMjzvOdKX41CxyaW7ahhzDU1aftXnMCx5kAPDZTQBA==
dependencies:
"@types/is-function" "^1.0.0"
global "^4.4.0"
- is-function "^1.0.1"
- is-regex "^1.0.4"
+ is-function "^1.0.2"
+ is-regex "^1.1.2"
is-symbol "^1.0.3"
isobject "^4.0.0"
- lodash "^4.17.15"
+ lodash "^4.17.21"
memoizerific "^1.11.3"
temp-dir@^1.0.0:
@@ -20969,13 +21976,6 @@ temp-write@^3.4.0:
temp-dir "^1.0.0"
uuid "^3.0.1"
-temp@^0.8.1:
- version "0.8.4"
- resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.4.tgz#8c97a33a4770072e0a05f919396c7665a7dd59f2"
- integrity sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==
- dependencies:
- rimraf "~2.6.2"
-
tempfile@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-1.1.1.tgz#5bcc4eaecc4ab2c707d8bc11d99ccc9a2cb287f2"
@@ -21015,7 +22015,7 @@ terminal-link@^2.0.0:
ansi-escapes "^4.2.1"
supports-hyperlinks "^2.0.0"
-terser-webpack-plugin@2.3.8, terser-webpack-plugin@^2.1.2:
+terser-webpack-plugin@2.3.8:
version "2.3.8"
resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-2.3.8.tgz#894764a19b0743f2f704e7c2a848c5283a696724"
integrity sha512-/fKw3R+hWyHfYx7Bv6oPqmk4HGQcrWLtV3X6ggvPuwPNHSnzvVV51z6OaaCOus4YLjutYGOz3pEpbhe6Up2s1w==
@@ -21045,7 +22045,22 @@ terser-webpack-plugin@^1.4.3:
webpack-sources "^1.4.0"
worker-farm "^1.7.0"
-terser@^4.1.2, terser@^4.6.12, terser@^4.6.3:
+terser-webpack-plugin@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-3.1.0.tgz#91e6d39571460ed240c0cf69d295bcf30ebf98cb"
+ integrity sha512-cjdZte66fYkZ65rQ2oJfrdCAkkhJA7YLYk5eGOcGCSGlq0ieZupRdjedSQXYknMPo2IveQL+tPdrxUkERENCFA==
+ dependencies:
+ cacache "^15.0.5"
+ find-cache-dir "^3.3.1"
+ jest-worker "^26.2.1"
+ p-limit "^3.0.2"
+ schema-utils "^2.6.6"
+ serialize-javascript "^4.0.0"
+ source-map "^0.6.1"
+ terser "^4.8.0"
+ webpack-sources "^1.4.3"
+
+terser@^4.1.2, terser@^4.6.12, terser@^4.6.3, terser@^4.8.0:
version "4.8.0"
resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17"
integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==
@@ -21112,10 +22127,10 @@ throat@^5.0.0:
resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b"
integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==
-throttle-debounce@^2.1.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-2.3.0.tgz#fd31865e66502071e411817e241465b3e9c372e2"
- integrity sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ==
+throttle-debounce@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-3.0.1.tgz#32f94d84dfa894f786c9a1f290e7a645b6a19abb"
+ integrity sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==
through2@^2.0.0, through2@^2.0.1, through2@^2.0.2, through2@~2.0.0:
version "2.0.5"
@@ -21177,11 +22192,6 @@ tiny-relative-date@^1.3.0:
resolved "https://registry.yarnpkg.com/tiny-relative-date/-/tiny-relative-date-1.3.0.tgz#fa08aad501ed730f31cc043181d995c39a935e07"
integrity sha512-MOQHpzllWxDCHHaDno30hhLfbouoYlOI8YlMNtvKe1zXbjEVhbcEovQxvZrPvtiYW630GQDoMMarCnjfyfHA+A==
-tinycolor2@^1.4.1:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.2.tgz#3f6a4d1071ad07676d7fa472e1fac40a719d8803"
- integrity sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==
-
tmp@^0.0.33:
version "0.0.33"
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
@@ -21246,11 +22256,6 @@ toidentifier@1.0.0:
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
-token-stream@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/token-stream/-/token-stream-1.0.0.tgz#cc200eab2613f4166d27ff9afc7ca56d49df6eb4"
- integrity sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ=
-
tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@^2.5.0, tough-cookie@~2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
@@ -21322,10 +22327,10 @@ trough@^1.0.0:
resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406"
integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==
-ts-dedent@^1.1.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/ts-dedent/-/ts-dedent-1.2.0.tgz#6aa2229d837159bb6d635b6b233002423b91e0b0"
- integrity sha512-6zSJp23uQI+Txyz5LlXMXAHpUhY4Hi0oluXny0OgIR7g/Cromq4vDBnhtbBdyIV34g0pgwxUvnvg+jLJe4c1NA==
+ts-dedent@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/ts-dedent/-/ts-dedent-2.1.1.tgz#6dd56870bb5493895171334fa5d7e929107e5bbc"
+ integrity sha512-riHuwnzAUCfdIeTBNUq7+Yj+ANnrMXo/7+Z74dIdudS7ys2k8aSGMzpJRMFDF7CLwUTbtvi1ZZff/Wl+XxmqIA==
ts-essentials@^2.0.3:
version "2.0.12"
@@ -21371,17 +22376,12 @@ ts-loader@^6.2.1:
micromatch "^4.0.0"
semver "^6.0.0"
-ts-map@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/ts-map/-/ts-map-1.0.3.tgz#1c4d218dec813d2103b7e04e4bcf348e1471c1ff"
- integrity sha512-vDWbsl26LIcPGmDpoVzjEP6+hvHZkBkLW7JpvwbCv/5IYPJlsbzCVXY3wsCeAxAUeTclNOUZxnLdGh3VBD/J6w==
-
ts-pnp@1.1.6:
version "1.1.6"
resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.6.tgz#389a24396d425a0d3162e96d2b4638900fdc289a"
integrity sha512-CrG5GqAAzMT7144Cl+UIFP7mz/iIhiy+xQ6GGcnjTezhALT02uPMRw7tgDSESgB5MsfKt55+GPWw4ir1kVtMIQ==
-ts-pnp@^1.1.2, ts-pnp@^1.1.6:
+ts-pnp@^1.1.6:
version "1.2.0"
resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92"
integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==
@@ -21500,11 +22500,6 @@ type@^2.0.0:
resolved "https://registry.yarnpkg.com/type/-/type-2.1.0.tgz#9bdc22c648cf8cf86dd23d32336a41cfb6475e3f"
integrity sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==
-typed-styles@^0.0.7:
- version "0.0.7"
- resolved "https://registry.yarnpkg.com/typed-styles/-/typed-styles-0.0.7.tgz#93392a008794c4595119ff62dde6809dbc40a3d9"
- integrity sha512-pzP0PWoZUhsECYjABgCGQlRGL1n7tOHsgwYv3oIiEpJwGhFTuty/YNeduxQYzXXa3Ge5BdT6sHYIQYpl4uJ+5Q==
-
typedarray-to-buffer@^3.1.5:
version "3.1.5"
resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
@@ -21559,7 +22554,7 @@ unescape@^1.0.1:
dependencies:
extend-shallow "^2.0.1"
-unfetch@^4.1.0:
+unfetch@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be"
integrity sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==
@@ -21765,7 +22760,7 @@ unist-util-visit@2.0.3, unist-util-visit@^2.0.0:
unist-util-is "^4.0.0"
unist-util-visit-parents "^3.0.0"
-unist-util-visit@^1.0.0, unist-util-visit@^1.1.0, unist-util-visit@^1.4.0:
+unist-util-visit@^1.1.0:
version "1.4.1"
resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.1.tgz#4724aaa8486e6ee6e26d7ff3c8685960d560b1e3"
integrity sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==
@@ -21870,7 +22865,7 @@ url-join@^4.0.0:
resolved "https://registry.yarnpkg.com/url-join/-/url-join-4.0.1.tgz#b642e21a2646808ffa178c4c5fda39844e12cde7"
integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==
-url-loader@2.3.0, url-loader@^2.0.1:
+url-loader@2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-2.3.0.tgz#e0e2ef658f003efb8ca41b0f3ffbf76bab88658b"
integrity sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog==
@@ -22012,6 +23007,11 @@ utils-merge@1.0.1:
resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
+uuid-browser@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/uuid-browser/-/uuid-browser-3.1.0.tgz#0f05a40aef74f9e5951e20efbf44b11871e56410"
+ integrity sha1-DwWkCu90+eWVHiDvv0SxGHHlZBA=
+
uuid@^2.0.1:
version "2.0.3"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a"
@@ -22130,44 +23130,13 @@ vm-browserify@^1.0.1:
resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==
-void-elements@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09"
- integrity sha1-YU9/v42AHwu18GYfWy9XhXUOTwk=
-
-vue-docgen-api@^4.1.0:
- version "4.34.2"
- resolved "https://registry.yarnpkg.com/vue-docgen-api/-/vue-docgen-api-4.34.2.tgz#282efc6f29fa56a74fdaf567b70c463ba91af8c3"
- integrity sha512-iS6TrpyPC9zPgz0D+vB9ceDWRXNfBKbQAFzc9rdmz1iOqW0QoLpTg/9Bjqn4HQiRHR6mFMK2TZ1yqs0+T8yDMQ==
- dependencies:
- "@babel/parser" "^7.6.0"
- "@babel/types" "^7.6.0"
- "@vue/compiler-dom" "^3.0.0-rc.6"
- "@vue/compiler-sfc" "^3.0.0-rc.6"
- ast-types "0.13.3"
- hash-sum "^1.0.2"
- lru-cache "^4.1.5"
- pug "^3.0.0"
- recast "0.19.1"
- ts-map "^1.0.3"
- vue-inbrowser-compiler-utils "^4.33.6"
-
-vue-docgen-loader@^1.3.0-beta.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/vue-docgen-loader/-/vue-docgen-loader-1.5.0.tgz#bf8797ea9dde87a8d734b56176f105477d9bf266"
- integrity sha512-LKZ8mxeIQ44uSUMTplnwOXbC4bO4E2vyZDTbn7/1QlVwJPEIjk3ahL0DA1m27IEw6YTlHOwtWS0PrHmDkFgyAg==
- dependencies:
- clone "^2.1.2"
- jscodeshift "^0.7.0"
- loader-utils "^1.2.3"
- querystring "^0.2.0"
-
-vue-inbrowser-compiler-utils@^4.33.6:
- version "4.33.6"
- resolved "https://registry.yarnpkg.com/vue-inbrowser-compiler-utils/-/vue-inbrowser-compiler-utils-4.33.6.tgz#022353b3a4dc202e05271277cef1ef4d091ca6f2"
- integrity sha512-g9ErL/xuTtRAdT6+VmzR4Lqxlw4hpH7ObEBGk8VGQgNqdcs9Pza8AMzlns160IGzQw4sI8gvvbYEPeZ54Z5OfA==
+vue-template-compiler@^2.6.11:
+ version "2.6.14"
+ resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz#a2f0e7d985670d42c9c9ee0d044fed7690f4f763"
+ integrity sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==
dependencies:
- camelcase "^5.3.1"
+ de-indent "^1.0.2"
+ he "^1.1.0"
w3c-hr-time@^1.0.1, w3c-hr-time@^1.0.2:
version "1.0.2"
@@ -22258,7 +23227,7 @@ webidl-conversions@^6.1.0:
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514"
integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==
-webpack-dev-middleware@^3.7.0, webpack-dev-middleware@^3.7.2:
+webpack-dev-middleware@^3.7.2, webpack-dev-middleware@^3.7.3:
version "3.7.3"
resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz#0639372b143262e2b84ab95d3b91a7597061c2c5"
integrity sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==
@@ -22308,6 +23277,11 @@ webpack-dev-server@3.11.0:
ws "^6.2.1"
yargs "^13.3.2"
+webpack-filter-warnings-plugin@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/webpack-filter-warnings-plugin/-/webpack-filter-warnings-plugin-1.2.1.tgz#dc61521cf4f9b4a336fbc89108a75ae1da951cdb"
+ integrity sha512-Ez6ytc9IseDMLPo0qCuNNYzgtUl8NovOqjIq4uAU8LTD4uoa1w1KpZyyzFtLTEMZpkkOkLfL9eN+KGYdk1Qtwg==
+
webpack-hot-middleware@^2.25.0:
version "2.25.0"
resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.25.0.tgz#4528a0a63ec37f8f8ef565cf9e534d57d09fe706"
@@ -22354,69 +23328,69 @@ webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-
source-list-map "^2.0.0"
source-map "~0.6.1"
-webpack-virtual-modules@^0.2.0:
+webpack-virtual-modules@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.2.2.tgz#20863dc3cb6bb2104729fff951fbe14b18bd0299"
integrity sha512-kDUmfm3BZrei0y+1NTHJInejzxfhtU8eDj2M7OKb2IWrPFAeO1SOH2KuQ68MSZu9IGEHcxbkKKR1v18FrUSOmA==
dependencies:
debug "^3.0.0"
-webpack@4.42.0:
- version "4.42.0"
- resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.42.0.tgz#b901635dd6179391d90740a63c93f76f39883eb8"
- integrity sha512-EzJRHvwQyBiYrYqhyjW9AqM90dE4+s1/XtCfn7uWg6cS72zH+2VPFAlsnW0+W0cDi0XRjNKUMoJtpSi50+Ph6w==
+webpack@4:
+ version "4.46.0"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542"
+ integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==
dependencies:
- "@webassemblyjs/ast" "1.8.5"
- "@webassemblyjs/helper-module-context" "1.8.5"
- "@webassemblyjs/wasm-edit" "1.8.5"
- "@webassemblyjs/wasm-parser" "1.8.5"
- acorn "^6.2.1"
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/helper-module-context" "1.9.0"
+ "@webassemblyjs/wasm-edit" "1.9.0"
+ "@webassemblyjs/wasm-parser" "1.9.0"
+ acorn "^6.4.1"
ajv "^6.10.2"
ajv-keywords "^3.4.1"
chrome-trace-event "^1.0.2"
- enhanced-resolve "^4.1.0"
+ enhanced-resolve "^4.5.0"
eslint-scope "^4.0.3"
json-parse-better-errors "^1.0.2"
loader-runner "^2.4.0"
loader-utils "^1.2.3"
memory-fs "^0.4.1"
micromatch "^3.1.10"
- mkdirp "^0.5.1"
+ mkdirp "^0.5.3"
neo-async "^2.6.1"
node-libs-browser "^2.2.1"
schema-utils "^1.0.0"
tapable "^1.1.3"
terser-webpack-plugin "^1.4.3"
- watchpack "^1.6.0"
+ watchpack "^1.7.4"
webpack-sources "^1.4.1"
-webpack@^4.33.0, webpack@^4.38.0:
- version "4.44.2"
- resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.44.2.tgz#6bfe2b0af055c8b2d1e90ed2cd9363f841266b72"
- integrity sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==
+webpack@4.42.0:
+ version "4.42.0"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.42.0.tgz#b901635dd6179391d90740a63c93f76f39883eb8"
+ integrity sha512-EzJRHvwQyBiYrYqhyjW9AqM90dE4+s1/XtCfn7uWg6cS72zH+2VPFAlsnW0+W0cDi0XRjNKUMoJtpSi50+Ph6w==
dependencies:
- "@webassemblyjs/ast" "1.9.0"
- "@webassemblyjs/helper-module-context" "1.9.0"
- "@webassemblyjs/wasm-edit" "1.9.0"
- "@webassemblyjs/wasm-parser" "1.9.0"
- acorn "^6.4.1"
+ "@webassemblyjs/ast" "1.8.5"
+ "@webassemblyjs/helper-module-context" "1.8.5"
+ "@webassemblyjs/wasm-edit" "1.8.5"
+ "@webassemblyjs/wasm-parser" "1.8.5"
+ acorn "^6.2.1"
ajv "^6.10.2"
ajv-keywords "^3.4.1"
chrome-trace-event "^1.0.2"
- enhanced-resolve "^4.3.0"
+ enhanced-resolve "^4.1.0"
eslint-scope "^4.0.3"
json-parse-better-errors "^1.0.2"
loader-runner "^2.4.0"
loader-utils "^1.2.3"
memory-fs "^0.4.1"
micromatch "^3.1.10"
- mkdirp "^0.5.3"
+ mkdirp "^0.5.1"
neo-async "^2.6.1"
node-libs-browser "^2.2.1"
schema-utils "^1.0.0"
tapable "^1.1.3"
terser-webpack-plugin "^1.4.3"
- watchpack "^1.7.4"
+ watchpack "^1.6.0"
webpack-sources "^1.4.1"
websocket-driver@0.6.5:
@@ -22536,16 +23510,6 @@ windows-release@^3.1.0:
dependencies:
execa "^1.0.0"
-with@^7.0.0:
- version "7.0.2"
- resolved "https://registry.yarnpkg.com/with/-/with-7.0.2.tgz#ccee3ad542d25538a7a7a80aad212b9828495bac"
- integrity sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==
- dependencies:
- "@babel/parser" "^7.9.6"
- "@babel/types" "^7.9.6"
- assert-never "^1.2.1"
- babel-walk "3.0.0-canary-5"
-
word-wrap@^1.0.3, word-wrap@~1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
@@ -23044,6 +24008,11 @@ yauzl@^2.10.0:
buffer-crc32 "~0.2.3"
fd-slicer "~1.1.0"
+yocto-queue@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
+ integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
+
zwitch@^1.0.0:
version "1.0.5"
resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-1.0.5.tgz#d11d7381ffed16b742f6af7b3f223d5cd9fe9920"
From 15397f7e5f8a1a79655cf931dc67364f32f50737 Mon Sep 17 00:00:00 2001
From: reme3d2y
Date: Thu, 10 Jun 2021 13:22:48 +0300
Subject: [PATCH 43/48] chrome: make this works
---
.storybook/main.js | 122 ++++++++++-
.storybook/server.js | 0
.storybook/webpack.config.js | 195 ------------------
docs/1.getting-started.stories.mdx | 2 +-
docs/10.breakpoints.stories.mdx | 2 +-
docs/11.screenshots.stories.mdx | 2 +-
docs/2.theming.stories.mdx | 2 +-
docs/3.development-faq.stories.mdx | 2 +-
docs/4.statuses.stories.mdx | 2 +-
docs/5.colors.stories.mdx | 2 +-
docs/6.typography.stories.mdx | 2 +-
docs/7.gaps.stories.mdx | 2 +-
docs/8.icons.stories.mdx | 2 +-
docs/9.0.accessibility.stories.mdx | 2 +-
docs/9.1.images.stories.mdx | 2 +-
docs/9.2.video-audio.stories.mdx | 6 +-
docs/9.3.forms.stories.mdx | 2 +-
docs/9.4.tables.stories.mdx | 2 +-
docs/9.5.menu.stories.mdx | 2 +-
docs/9.6.keyboard.stories.mdx | 2 +-
docs/9.7.testing.stories.mdx | 2 +-
packages/alert/src/Component.stories.mdx | 2 +-
.../amount-input/src/Component.stories.mdx | 2 +-
packages/amount/src/component.stories.mdx | 2 +-
packages/attach/src/Component.stories.mdx | 2 +-
packages/backdrop/src/Component.stories.mdx | 2 +-
packages/badge/src/Component.stories.mdx | 2 +-
packages/bank-card/src/Component.stories.mdx | 5 +-
.../button/src/docs/component.stories.mdx | 2 +-
.../calendar-input/src/Component.stories.mdx | 2 +-
.../calendar-range/src/Component.stories.mdx | 2 +-
.../src/Component.stories.mdx | 2 +-
packages/calendar/src/Component.stories.mdx | 2 +-
packages/card-image/src/Component.stories.mdx | 5 +-
packages/cdn-icon/src/Component.stories.mdx | 5 +-
.../checkbox-group/src/Component.stories.mdx | 5 +-
packages/checkbox/src/Component.stories.mdx | 2 +-
.../src/Component.stories.mdx | 5 +-
packages/collapse/src/Component.stories.mdx | 5 +-
.../confirmation/src/component.stories.mdx | 2 +-
packages/divider/src/Component.stories.mdx | 5 +-
packages/drawer/src/Component.stories.mdx | 2 +-
packages/dropzone/src/Component.stories.mdx | 2 +-
.../src/Component.stories.mdx | 5 +-
.../form-control/src/Component.stories.mdx | 2 +-
packages/grid/src/Component.stories.mdx | 2 +-
.../icon-button/src/Component.stories.mdx | 2 +-
.../src/Component.stories.mdx | 2 +-
packages/input/src/Component.stories.mdx | 2 +-
.../src/component.stories.mdx | 2 +-
.../src/Component.stories.mdx | 2 +-
packages/link/src/Component.stories.mdx | 2 +-
.../list-header/src/Component.stories.mdx | 2 +-
packages/list-header/src/index.module.css | 2 +-
packages/list/src/Component.stories.mdx | 2 +-
packages/list/src/index.module.css | 2 +-
packages/loader/src/Component.stories.mdx | 5 +-
.../masked-input/src/Component.stories.mdx | 2 +-
packages/mq/src/Component.stories.mdx | 2 +-
.../src/component.stories.mdx | 5 +-
.../notification/src/Component.stories.mdx | 2 +-
.../phone-input/src/Component.stories.mdx | 5 +-
.../picker-button/src/Component.stories.mdx | 3 +-
packages/plate/src/docs/component.stories.mdx | 2 +-
packages/popover/src/Component.stories.mdx | 5 +-
packages/portal/src/Component.stories.mdx | 5 +-
.../progress-bar/src/Component.stories.mdx | 5 +-
packages/pure-input/src/Component.stories.mdx | 2 +-
.../radio-group/src/Component.stories.mdx | 5 +-
packages/radio/src/Component.stories.mdx | 2 +-
.../src/component.stories.mdx | 2 +-
packages/select/src/Component.stories.mdx | 2 +-
packages/skeleton/src/Component.stories.mdx | 2 +-
.../slider-input/src/Component.stories.mdx | 2 +-
packages/slider/src/Component.stories.mdx | 2 +-
packages/space/src/Component.stories.mdx | 6 +-
packages/spinner/src/Component.stories.mdx | 3 +-
packages/stack/src/component.stories.mdx | 5 +-
packages/status/src/Component.stories.mdx | 2 +-
packages/switch/src/Component.stories.mdx | 2 +-
packages/tabs/src/Component.stories.mdx | 2 +-
packages/tag/src/Component.stories.mdx | 2 +-
packages/textarea/src/Component.stories.mdx | 59 ++++++
.../toast-plate/src/component.stories.mdx | 2 +-
packages/toast/src/docs/component.stories.mdx | 175 +++++++++-------
packages/tooltip/src/Component.stories.mdx | 5 +-
packages/typography/src/component.stories.mdx | 2 +-
.../example-share-story/index.stories.mdx | 2 +-
packages/vars/src/vars.stories.mdx | 2 +-
.../with-suffix/src/Component.stories.mdx | 2 +-
90 files changed, 421 insertions(+), 361 deletions(-)
delete mode 100644 .storybook/server.js
delete mode 100644 .storybook/webpack.config.js
create mode 100644 packages/textarea/src/Component.stories.mdx
diff --git a/.storybook/main.js b/.storybook/main.js
index 99b5cd2e5a..2af9f099a3 100644
--- a/.storybook/main.js
+++ b/.storybook/main.js
@@ -1,9 +1,125 @@
+const path = require('path');
+const componentsResolver = require('./utils/componentsResolver');
+const MiniCssExtractPlugin = require('mini-css-extract-plugin');
+const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin');
+
+const cssModuleRegex = /\.module\.css$/;
+const cssRegex = /\.css$/;
+
+const addPackagesDir = config => {
+ config.module.rules.forEach(rule => {
+ if (rule.oneOf) {
+ rule.oneOf.forEach(nestedRule => {
+ if (nestedRule.loader && nestedRule.loader.includes('babel-loader')) {
+ nestedRule.include.push(`${process.cwd()}/packages`);
+ }
+ });
+ }
+ });
+};
+
module.exports = {
+ stories: ['../packages/**/*.stories.@(ts|md)x'],
addons: [
- '@storybook/addon-actions',
'@storybook/addon-knobs',
+ '@storybook/addon-essentials',
'@storybook/preset-create-react-app',
- '@storybook/addon-docs',
- './.storybook/addons/theme-switcher/register.js',
],
+ webpackFinal: async config => {
+ addPackagesDir(config);
+
+ config.resolve = {
+ plugins: [componentsResolver],
+ alias: {
+ storybook: path.resolve(__dirname),
+ },
+ extensions: ['.js', '.jsx', '.ts', '.tsx'],
+ };
+
+ config.performance.hints = false;
+
+ const group = config.module.rules.find(rule => rule.oneOf !== undefined);
+
+ const cssRuleIndex = group.oneOf.findIndex(
+ rule => rule.test.toString() === cssRegex.toString(),
+ );
+
+ const cssModuleRuleIndex = group.oneOf.findIndex(
+ rule => rule.test.toString() === cssModuleRegex.toString(),
+ );
+
+ group.oneOf[cssRuleIndex] = {
+ test: /\.css$/,
+ exclude: cssModuleRegex,
+ use: [
+ {
+ loader: MiniCssExtractPlugin.loader,
+ options: {
+ hmr: true,
+ },
+ },
+ {
+ loader: 'css-loader',
+ options: {
+ importLoaders: 1,
+ sourceMap: true,
+ },
+ },
+ 'postcss-loader',
+ ],
+ };
+ group.oneOf[cssModuleRuleIndex] = {
+ test: cssModuleRegex,
+ use: [
+ {
+ loader: MiniCssExtractPlugin.loader,
+ options: {
+ hmr: true,
+ },
+ },
+ {
+ loader: 'css-loader',
+ options: {
+ modules: {
+ localIdentName: '[local]_[hash:base64:5]',
+ },
+ importLoaders: 1,
+ sourceMap: true,
+ },
+ },
+ 'postcss-loader',
+ ],
+ };
+
+ config.module.rules.push({
+ test: /\.tsx?$/,
+ use: [
+ {
+ loader: require.resolve('react-docgen-typescript-loader'),
+ options: {
+ tsconfigPath: path.resolve(__dirname, '../tsconfig.json'),
+ },
+ },
+ ],
+ });
+
+ config.plugins.push(
+ new MiniCssExtractPlugin(),
+ new OptimizeCSSAssetsPlugin({
+ cssProcessorOptions: {
+ map: {
+ inline: false,
+ annotation: true,
+ },
+ },
+ cssProcessorPluginOptions: {
+ preset: () => ({
+ plugins: [require('postcss-discard-duplicates')],
+ }),
+ },
+ }),
+ );
+
+ return config;
+ },
};
diff --git a/.storybook/server.js b/.storybook/server.js
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/.storybook/webpack.config.js b/.storybook/webpack.config.js
deleted file mode 100644
index a6c0e83a57..0000000000
--- a/.storybook/webpack.config.js
+++ /dev/null
@@ -1,195 +0,0 @@
-const path = require('path');
-const componentsResolver = require('./utils/componentsResolver');
-const createCompiler = require('@storybook/addon-docs/mdx-compiler-plugin');
-
-const MiniCssExtractPlugin = require('mini-css-extract-plugin');
-const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin');
-
-/**
- * Добавляет генерацию интерфейсов в зависимости от флага RDTL.
- * @param mode
- * @param withRDTL
- * @returns {{include: [string], test: RegExp, use: [{loader: string, options: {presets: [[string, {modules: boolean}], string, [string, {isTSX: boolean, allExtensions: boolean}]], babelrc: boolean, plugins: [string, string, string], cacheDirectory: boolean}}], exclude: RegExp[]}}
- */
-const getBabelRules = ({ mode, withRDTL }) => {
- const rule = {
- test: /\.(ts|tsx)$/,
- use: [
- {
- loader: 'babel-loader',
- options: {
- cacheDirectory: mode === 'development',
- presets: [
- '@babel/preset-react',
- [
- '@babel/preset-typescript',
- {
- isTSX: true,
- allExtensions: true,
- },
- ],
- '@babel/preset-env',
- ],
- },
- },
- ],
- include: [path.resolve('./')],
- };
-
- if (withRDTL) {
- rule.use.push({
- loader: require.resolve('react-docgen-typescript-loader'),
- options: {
- tsconfigPath: path.resolve(__dirname, '../tsconfig.storybook.json'),
- propFilter: (props, component) => {
- if (props.parent) {
- // Показываем только пользовательские пропсы и пропсы, помеченные как (native prop). (Иначе будет простыня из HTMLAttributes)
- return (
- !props.parent.fileName.includes('node_modules') ||
- props.description.includes('(native prop)')
- );
- } else {
- return true;
- }
- },
- },
- });
- }
-
- return rule;
-};
-
-module.exports = ({ config }) => ({
- ...config,
- watchOptions: {
- ...config.watchOptions,
- ignored: /__image_snapshots__/,
- },
- resolve: {
- plugins: [componentsResolver],
- alias: {
- storybook: path.resolve(__dirname),
- },
- extensions: ['.js', '.jsx', '.ts', '.tsx'],
- },
-
- plugins: [
- ...config.plugins,
- new MiniCssExtractPlugin(),
- new OptimizeCSSAssetsPlugin({
- cssProcessor: require('cssnano'),
- cssProcessorOptions: {
- map: {
- inline: false,
- annotation: true,
- },
- },
- }),
- ],
-
- module: {
- rules: [
- {
- test: [/\.bmp$/, /\.gif$/, /\.jpe?g$/, /\.png$/, /\.svg$/],
- loader: 'url-loader',
- options: {
- limit: 10000,
- name: '[name].[hash:8].[ext]',
- },
- },
- {
- test: /\.md$/,
- use: ['raw-loader'],
- },
- {
- test: /\.(stories|story)\.mdx$/,
- use: [
- {
- loader: 'babel-loader',
- // may or may not need this line depending on your app's setup
- options: {
- plugins: ['@babel/plugin-transform-react-jsx'],
- presets: ['@babel/preset-env'],
- },
- },
- {
- loader: '@mdx-js/loader',
- options: {
- compilers: [createCompiler({})],
- },
- },
- ],
- },
- {
- test: /\.mdx$/,
- exclude: /\.(stories|story)\.mdx$/,
- use: ['babel-loader', '@mdx-js/loader'],
- },
- {
- test: /\.(stories|story)\.[tj]sx?$/,
- loader: require.resolve('@storybook/source-loader'),
- exclude: [/node_modules/],
- enforce: 'pre',
- },
- getBabelRules({
- mode: config.mode,
- withRDTL: process.env.RDTL !== 'off',
- }),
- {
- test: /\.js$/,
- use: [
- {
- loader: 'babel-loader',
- options: {
- presets: ['@babel/preset-env'],
- },
- },
- ],
- exclude: [/node_modules\/core-js/],
- },
- {
- test: /\.css$/,
- exclude: [/global/, /node_modules/],
- use: [
- {
- loader: MiniCssExtractPlugin.loader,
- options: {
- hmr: true,
- },
- },
- {
- loader: 'css-loader',
- options: {
- modules: {
- localIdentName: '[local]_[hash:base64:5]',
- },
- importLoaders: 1,
- sourceMap: true,
- },
- },
- {
- loader: 'postcss-loader',
- },
- ],
- },
- {
- test: /\.css$/,
- include: /node_modules/,
- use: [
- {
- loader: MiniCssExtractPlugin.loader,
- options: {
- hmr: true,
- },
- },
- {
- loader: 'css-loader',
- options: {
- sourceMap: true,
- },
- },
- ],
- },
- ],
- },
-});
diff --git a/docs/1.getting-started.stories.mdx b/docs/1.getting-started.stories.mdx
index 7104e504fd..cef71549d9 100644
--- a/docs/1.getting-started.stories.mdx
+++ b/docs/1.getting-started.stories.mdx
@@ -3,7 +3,7 @@ import GitHubButton from 'react-github-btn'
import readme from '../README.md';
import { version } from '../package.json';
-
+
diff --git a/docs/10.breakpoints.stories.mdx b/docs/10.breakpoints.stories.mdx
index 91a56e525f..2af4e4ec1f 100644
--- a/docs/10.breakpoints.stories.mdx
+++ b/docs/10.breakpoints.stories.mdx
@@ -1,4 +1,4 @@
-
+
## Брейкпоинты
diff --git a/docs/11.screenshots.stories.mdx b/docs/11.screenshots.stories.mdx
index 786b65cf5f..b1de420317 100644
--- a/docs/11.screenshots.stories.mdx
+++ b/docs/11.screenshots.stories.mdx
@@ -1,4 +1,4 @@
-
+
# Скриншотное тестирование
diff --git a/docs/2.theming.stories.mdx b/docs/2.theming.stories.mdx
index 8cd637f3f0..c3fc703ea5 100644
--- a/docs/2.theming.stories.mdx
+++ b/docs/2.theming.stories.mdx
@@ -8,7 +8,7 @@ import { Checkbox } from '@alfalab/core-components-checkbox';
import styles from './2.theming.stories.css';
-
+
## Темизация
diff --git a/docs/3.development-faq.stories.mdx b/docs/3.development-faq.stories.mdx
index e1b420cb8c..82dc5c6d47 100644
--- a/docs/3.development-faq.stories.mdx
+++ b/docs/3.development-faq.stories.mdx
@@ -1,6 +1,6 @@
import { Description } from '@storybook/addon-docs/blocks';
-
+
## Разработка
diff --git a/docs/4.statuses.stories.mdx b/docs/4.statuses.stories.mdx
index 323d8dec2e..4c0d449915 100644
--- a/docs/4.statuses.stories.mdx
+++ b/docs/4.statuses.stories.mdx
@@ -1,6 +1,6 @@
import { Description } from '@storybook/addon-docs/blocks';
-
+
## Статусы
diff --git a/docs/5.colors.stories.mdx b/docs/5.colors.stories.mdx
index 03a5d21019..ca8d92a21d 100644
--- a/docs/5.colors.stories.mdx
+++ b/docs/5.colors.stories.mdx
@@ -1,6 +1,6 @@
import { Description } from '@storybook/addon-docs/blocks';
-
+
## Цвета
diff --git a/docs/6.typography.stories.mdx b/docs/6.typography.stories.mdx
index 0076b5e13b..394fc74c50 100644
--- a/docs/6.typography.stories.mdx
+++ b/docs/6.typography.stories.mdx
@@ -1,6 +1,6 @@
import { Description } from '@storybook/addon-docs/blocks';
-
+
## Типографика
diff --git a/docs/7.gaps.stories.mdx b/docs/7.gaps.stories.mdx
index 48fb6a6aff..ff4b84851f 100644
--- a/docs/7.gaps.stories.mdx
+++ b/docs/7.gaps.stories.mdx
@@ -1,6 +1,6 @@
import { Description } from '@storybook/addon-docs/blocks';
-
+
## Система отступов
diff --git a/docs/8.icons.stories.mdx b/docs/8.icons.stories.mdx
index 1655326707..fa0b4bccb3 100644
--- a/docs/8.icons.stories.mdx
+++ b/docs/8.icons.stories.mdx
@@ -4,7 +4,7 @@ import { Plate } from '../packages/plate/src';
import { Badge } from '../packages/badge/src';
import { AlertCircleMIcon } from '@alfalab/icons-glyph';
-
+
## Иконки
diff --git a/docs/9.0.accessibility.stories.mdx b/docs/9.0.accessibility.stories.mdx
index fe897aeb4f..4b6177d6b0 100644
--- a/docs/9.0.accessibility.stories.mdx
+++ b/docs/9.0.accessibility.stories.mdx
@@ -1,6 +1,6 @@
import { Description } from '@storybook/addon-docs/blocks';
-
+
## Доступность
diff --git a/docs/9.1.images.stories.mdx b/docs/9.1.images.stories.mdx
index 75f244dc8a..98c160dccd 100644
--- a/docs/9.1.images.stories.mdx
+++ b/docs/9.1.images.stories.mdx
@@ -1,6 +1,6 @@
import { Description } from '@storybook/addon-docs/blocks';
-
+
## Изображения
diff --git a/docs/9.2.video-audio.stories.mdx b/docs/9.2.video-audio.stories.mdx
index 913a17eafb..e481bef84d 100644
--- a/docs/9.2.video-audio.stories.mdx
+++ b/docs/9.2.video-audio.stories.mdx
@@ -1,6 +1,6 @@
import { Description } from '@storybook/addon-docs/blocks';
-
+
## Аудио и видео
@@ -14,7 +14,7 @@ import { Description } from '@storybook/addon-docs/blocks';
### Пример: Реклама карты World of Warships
-
+
Видео-реклама банковской карты World of Warships от Альфа-Банк.
@@ -22,7 +22,7 @@ import { Description } from '@storybook/addon-docs/blocks';
```tsx
Реклама карты World of Warships
-
+
Видео-реклама банковской карты World of Warships от Альфа-Банк.
```
diff --git a/docs/9.3.forms.stories.mdx b/docs/9.3.forms.stories.mdx
index 60731c33f4..54502f4128 100644
--- a/docs/9.3.forms.stories.mdx
+++ b/docs/9.3.forms.stories.mdx
@@ -1,6 +1,6 @@
import { Description } from '@storybook/addon-docs/blocks';
-
+
## Формы
diff --git a/docs/9.4.tables.stories.mdx b/docs/9.4.tables.stories.mdx
index 4464a40edc..14b138386e 100644
--- a/docs/9.4.tables.stories.mdx
+++ b/docs/9.4.tables.stories.mdx
@@ -1,6 +1,6 @@
import { Description } from '@storybook/addon-docs/blocks';
-
+
## Таблицы
diff --git a/docs/9.5.menu.stories.mdx b/docs/9.5.menu.stories.mdx
index ddc293bdc1..f25193b66b 100644
--- a/docs/9.5.menu.stories.mdx
+++ b/docs/9.5.menu.stories.mdx
@@ -1,6 +1,6 @@
import { Description } from '@storybook/addon-docs/blocks';
-
+
## Навигация
diff --git a/docs/9.6.keyboard.stories.mdx b/docs/9.6.keyboard.stories.mdx
index fa2acdfb9e..51157a5285 100644
--- a/docs/9.6.keyboard.stories.mdx
+++ b/docs/9.6.keyboard.stories.mdx
@@ -1,6 +1,6 @@
import { Description } from '@storybook/addon-docs/blocks';
-
+
## Управление с клавиатуры
diff --git a/docs/9.7.testing.stories.mdx b/docs/9.7.testing.stories.mdx
index 8b46cf0d89..581c253c05 100644
--- a/docs/9.7.testing.stories.mdx
+++ b/docs/9.7.testing.stories.mdx
@@ -1,6 +1,6 @@
import { Description } from '@storybook/addon-docs/blocks';
-
+
## Тестирование
diff --git a/packages/alert/src/Component.stories.mdx b/packages/alert/src/Component.stories.mdx
index 7014a82ef2..50d3f85fe9 100644
--- a/packages/alert/src/Component.stories.mdx
+++ b/packages/alert/src/Component.stories.mdx
@@ -9,7 +9,7 @@ import { Button } from '../../button/src';
import { name, version } from '../package.json';
diff --git a/packages/amount-input/src/Component.stories.mdx b/packages/amount-input/src/Component.stories.mdx
index d71bbf501e..a886113bf4 100644
--- a/packages/amount-input/src/Component.stories.mdx
+++ b/packages/amount-input/src/Component.stories.mdx
@@ -10,7 +10,7 @@ import { name, version } from '../package.json';
diff --git a/packages/amount/src/component.stories.mdx b/packages/amount/src/component.stories.mdx
index 9c5ad605be..b00009d254 100644
--- a/packages/amount/src/component.stories.mdx
+++ b/packages/amount/src/component.stories.mdx
@@ -10,7 +10,7 @@ import { name, version } from '../package.json';
diff --git a/packages/attach/src/Component.stories.mdx b/packages/attach/src/Component.stories.mdx
index 7bfd61e039..e5cc3352fa 100644
--- a/packages/attach/src/Component.stories.mdx
+++ b/packages/attach/src/Component.stories.mdx
@@ -7,7 +7,7 @@ import { name, version } from '../package.json';
diff --git a/packages/backdrop/src/Component.stories.mdx b/packages/backdrop/src/Component.stories.mdx
index 54788b6d91..bd5ccd4fe7 100644
--- a/packages/backdrop/src/Component.stories.mdx
+++ b/packages/backdrop/src/Component.stories.mdx
@@ -7,7 +7,7 @@ import { Backdrop } from './Component';
import { version } from '../package.json';
diff --git a/packages/badge/src/Component.stories.mdx b/packages/badge/src/Component.stories.mdx
index ab41d29b94..2ae2dbdef9 100644
--- a/packages/badge/src/Component.stories.mdx
+++ b/packages/badge/src/Component.stories.mdx
@@ -15,7 +15,7 @@ import { name, version } from '../package.json';
diff --git a/packages/bank-card/src/Component.stories.mdx b/packages/bank-card/src/Component.stories.mdx
index 92a47a61c2..393c6b952f 100644
--- a/packages/bank-card/src/Component.stories.mdx
+++ b/packages/bank-card/src/Component.stories.mdx
@@ -6,7 +6,10 @@ import { BankCard } from './Component';
import { name, version } from '../package.json';
-
+
diff --git a/packages/button/src/docs/component.stories.mdx b/packages/button/src/docs/component.stories.mdx
index 7cc4f8a8ce..7c65ed4424 100644
--- a/packages/button/src/docs/component.stories.mdx
+++ b/packages/button/src/docs/component.stories.mdx
@@ -15,7 +15,7 @@ export const SIZES = ['xs', 's', 'm', 'l', 'xl'];
diff --git a/packages/calendar-input/src/Component.stories.mdx b/packages/calendar-input/src/Component.stories.mdx
index 8ef6ab2611..9a7dddcc95 100644
--- a/packages/calendar-input/src/Component.stories.mdx
+++ b/packages/calendar-input/src/Component.stories.mdx
@@ -16,7 +16,7 @@ import styles from './stories.module.css';
diff --git a/packages/calendar-range/src/Component.stories.mdx b/packages/calendar-range/src/Component.stories.mdx
index d5c1b14cfa..9d16afd567 100644
--- a/packages/calendar-range/src/Component.stories.mdx
+++ b/packages/calendar-range/src/Component.stories.mdx
@@ -12,7 +12,7 @@ import { name, version } from '../package.json';
import { parseDateString } from '../../calendar-input/src/utils';
diff --git a/packages/calendar-with-skeleton/src/Component.stories.mdx b/packages/calendar-with-skeleton/src/Component.stories.mdx
index cd6c6e5787..1cb15944b3 100644
--- a/packages/calendar-with-skeleton/src/Component.stories.mdx
+++ b/packages/calendar-with-skeleton/src/Component.stories.mdx
@@ -12,7 +12,7 @@ import { Button } from '../../button/src';
diff --git a/packages/calendar/src/Component.stories.mdx b/packages/calendar/src/Component.stories.mdx
index 428b3b6b9e..17b864cab0 100644
--- a/packages/calendar/src/Component.stories.mdx
+++ b/packages/calendar/src/Component.stories.mdx
@@ -13,7 +13,7 @@ import { name, version } from '../package.json';
diff --git a/packages/card-image/src/Component.stories.mdx b/packages/card-image/src/Component.stories.mdx
index 402d946b50..8d744892d3 100644
--- a/packages/card-image/src/Component.stories.mdx
+++ b/packages/card-image/src/Component.stories.mdx
@@ -6,7 +6,10 @@ import { CardImage } from './Component';
import { name, version } from '../package.json';
-
+
diff --git a/packages/cdn-icon/src/Component.stories.mdx b/packages/cdn-icon/src/Component.stories.mdx
index a7bb1496da..deb5a6f3c2 100644
--- a/packages/cdn-icon/src/Component.stories.mdx
+++ b/packages/cdn-icon/src/Component.stories.mdx
@@ -5,7 +5,10 @@ import { CDNIcon } from './Component';
import { version } from '../package.json';
-
+
diff --git a/packages/checkbox-group/src/Component.stories.mdx b/packages/checkbox-group/src/Component.stories.mdx
index 9b7001290b..d06d32e021 100644
--- a/packages/checkbox-group/src/Component.stories.mdx
+++ b/packages/checkbox-group/src/Component.stories.mdx
@@ -8,7 +8,10 @@ import { Checkbox } from '../../checkbox/src';
import { Tag } from '../../tag/src';
-
+
diff --git a/packages/checkbox/src/Component.stories.mdx b/packages/checkbox/src/Component.stories.mdx
index b8bf9a80c4..d91c8fc7b7 100644
--- a/packages/checkbox/src/Component.stories.mdx
+++ b/packages/checkbox/src/Component.stories.mdx
@@ -7,7 +7,7 @@ import { name, version } from '../package.json';
diff --git a/packages/circular-progress-bar/src/Component.stories.mdx b/packages/circular-progress-bar/src/Component.stories.mdx
index 8b79a8c245..55a79d1839 100644
--- a/packages/circular-progress-bar/src/Component.stories.mdx
+++ b/packages/circular-progress-bar/src/Component.stories.mdx
@@ -6,7 +6,10 @@ import { name, version } from '../package.json';
import { CircularProgressBar } from './Component';
-
+
diff --git a/packages/collapse/src/Component.stories.mdx b/packages/collapse/src/Component.stories.mdx
index d46380c57f..4fe15efdac 100644
--- a/packages/collapse/src/Component.stories.mdx
+++ b/packages/collapse/src/Component.stories.mdx
@@ -5,7 +5,10 @@ import { Collapse } from './Component';
import { Button } from '../../button/src';
import { name, version } from '../package.json';
-
+
diff --git a/packages/confirmation/src/component.stories.mdx b/packages/confirmation/src/component.stories.mdx
index 7fc69700d0..9be58d6b95 100644
--- a/packages/confirmation/src/component.stories.mdx
+++ b/packages/confirmation/src/component.stories.mdx
@@ -9,7 +9,7 @@ import { Select } from '../../select/src/Component';
diff --git a/packages/divider/src/Component.stories.mdx b/packages/divider/src/Component.stories.mdx
index 15d082b8eb..bc11a7455e 100644
--- a/packages/divider/src/Component.stories.mdx
+++ b/packages/divider/src/Component.stories.mdx
@@ -5,7 +5,10 @@ import { Divider } from './Component';
import { name, version } from '../package.json';
-
+
diff --git a/packages/drawer/src/Component.stories.mdx b/packages/drawer/src/Component.stories.mdx
index 5a18477b7e..089652436f 100644
--- a/packages/drawer/src/Component.stories.mdx
+++ b/packages/drawer/src/Component.stories.mdx
@@ -12,7 +12,7 @@ import { name, version } from '../package.json';
diff --git a/packages/dropzone/src/Component.stories.mdx b/packages/dropzone/src/Component.stories.mdx
index 2ec0fd9c6e..91e4e6a1d3 100644
--- a/packages/dropzone/src/Component.stories.mdx
+++ b/packages/dropzone/src/Component.stories.mdx
@@ -7,7 +7,7 @@ import { Dropzone } from './Component';
import { name, version } from '../package.json';
diff --git a/packages/file-upload-item/src/Component.stories.mdx b/packages/file-upload-item/src/Component.stories.mdx
index dd1dbf9b4b..051abe782b 100644
--- a/packages/file-upload-item/src/Component.stories.mdx
+++ b/packages/file-upload-item/src/Component.stories.mdx
@@ -6,7 +6,10 @@ import { FileUploadItem } from './Component';
import { version } from '../package.json';
-
+
diff --git a/packages/form-control/src/Component.stories.mdx b/packages/form-control/src/Component.stories.mdx
index 94689e588a..e6db2311b7 100644
--- a/packages/form-control/src/Component.stories.mdx
+++ b/packages/form-control/src/Component.stories.mdx
@@ -8,7 +8,7 @@ import { name, version } from '../package.json';
diff --git a/packages/grid/src/Component.stories.mdx b/packages/grid/src/Component.stories.mdx
index d647756bf9..8338cd94aa 100644
--- a/packages/grid/src/Component.stories.mdx
+++ b/packages/grid/src/Component.stories.mdx
@@ -6,7 +6,7 @@ import { name, version } from '../package.json';
diff --git a/packages/icon-button/src/Component.stories.mdx b/packages/icon-button/src/Component.stories.mdx
index 25c3b55ab5..767bbf51e7 100644
--- a/packages/icon-button/src/Component.stories.mdx
+++ b/packages/icon-button/src/Component.stories.mdx
@@ -12,7 +12,7 @@ import { name, version } from '../package.json';
diff --git a/packages/input-autocomplete/src/Component.stories.mdx b/packages/input-autocomplete/src/Component.stories.mdx
index 23f5878b40..4416c8db44 100644
--- a/packages/input-autocomplete/src/Component.stories.mdx
+++ b/packages/input-autocomplete/src/Component.stories.mdx
@@ -35,7 +35,7 @@ export const matchOption = (option, inputValue) =>
diff --git a/packages/input/src/Component.stories.mdx b/packages/input/src/Component.stories.mdx
index a34dd73446..379f176688 100644
--- a/packages/input/src/Component.stories.mdx
+++ b/packages/input/src/Component.stories.mdx
@@ -8,7 +8,7 @@ import { name, version } from '../package.json';
diff --git a/packages/intl-phone-input/src/component.stories.mdx b/packages/intl-phone-input/src/component.stories.mdx
index 1f67a9503c..aa00eee9b2 100644
--- a/packages/intl-phone-input/src/component.stories.mdx
+++ b/packages/intl-phone-input/src/component.stories.mdx
@@ -33,7 +33,7 @@ export const matchOption = (option, inputValue) =>
option.key.toLowerCase().includes((inputValue || '').toLowerCase());
diff --git a/packages/keyboard-focusable/src/Component.stories.mdx b/packages/keyboard-focusable/src/Component.stories.mdx
index f07a1f3ede..b2c0cff92e 100644
--- a/packages/keyboard-focusable/src/Component.stories.mdx
+++ b/packages/keyboard-focusable/src/Component.stories.mdx
@@ -14,7 +14,7 @@ export const focusOutlineStyles = {
};
-
+
diff --git a/packages/link/src/Component.stories.mdx b/packages/link/src/Component.stories.mdx
index ebdea2f033..569b782d18 100644
--- a/packages/link/src/Component.stories.mdx
+++ b/packages/link/src/Component.stories.mdx
@@ -12,7 +12,7 @@ export const VIEWS = ['primary', 'secondary', 'default'];
diff --git a/packages/list-header/src/Component.stories.mdx b/packages/list-header/src/Component.stories.mdx
index 1a41df4cc3..16c3f49def 100644
--- a/packages/list-header/src/Component.stories.mdx
+++ b/packages/list-header/src/Component.stories.mdx
@@ -8,7 +8,7 @@ import { version } from '../package.json';
export const TAG = ['ul', 'ol'];
diff --git a/packages/list-header/src/index.module.css b/packages/list-header/src/index.module.css
index 1845fb8c7b..7c843045cc 100644
--- a/packages/list-header/src/index.module.css
+++ b/packages/list-header/src/index.module.css
@@ -1,4 +1,4 @@
-@import '../../vars/src';
+@import '../../themes/src/default.css';
:root {
--list-header-description-opacity: 0.6;
diff --git a/packages/list/src/Component.stories.mdx b/packages/list/src/Component.stories.mdx
index 256870bd72..0bd21f400a 100644
--- a/packages/list/src/Component.stories.mdx
+++ b/packages/list/src/Component.stories.mdx
@@ -10,7 +10,7 @@ import { version } from '../package.json';
export const TAG = ['ul', 'ol'];
diff --git a/packages/list/src/index.module.css b/packages/list/src/index.module.css
index 6062335f55..80030df88e 100644
--- a/packages/list/src/index.module.css
+++ b/packages/list/src/index.module.css
@@ -1,4 +1,4 @@
-@import '../../vars/src';
+@import '../../themes/src/default.css';
:root {
--list-marker-color: var(--color-light-text-primary);
diff --git a/packages/loader/src/Component.stories.mdx b/packages/loader/src/Component.stories.mdx
index 11832c179d..c43db4dfb6 100644
--- a/packages/loader/src/Component.stories.mdx
+++ b/packages/loader/src/Component.stories.mdx
@@ -4,7 +4,10 @@ import { ComponentHeader } from 'storybook/blocks/component-header';
import { Loader } from './Component';
import { name, version } from '../package.json';
-
+
diff --git a/packages/masked-input/src/Component.stories.mdx b/packages/masked-input/src/Component.stories.mdx
index 8742c5ecdd..db378abb43 100644
--- a/packages/masked-input/src/Component.stories.mdx
+++ b/packages/masked-input/src/Component.stories.mdx
@@ -17,7 +17,7 @@ export const placeholders = {
diff --git a/packages/mq/src/Component.stories.mdx b/packages/mq/src/Component.stories.mdx
index 42f6d6065a..a5176ca6e8 100644
--- a/packages/mq/src/Component.stories.mdx
+++ b/packages/mq/src/Component.stories.mdx
@@ -11,7 +11,7 @@ import { name, version } from '../package.json';
diff --git a/packages/notification-manager/src/component.stories.mdx b/packages/notification-manager/src/component.stories.mdx
index 2a7367f023..dd61c7ec95 100644
--- a/packages/notification-manager/src/component.stories.mdx
+++ b/packages/notification-manager/src/component.stories.mdx
@@ -7,7 +7,10 @@ import { Notification } from '@alfalab/core-components-notification';
import { NotificationManager } from './component';
import { name, version } from '../package.json';
-
+
diff --git a/packages/notification/src/Component.stories.mdx b/packages/notification/src/Component.stories.mdx
index 89a342f16a..6a3d6c7a0a 100644
--- a/packages/notification/src/Component.stories.mdx
+++ b/packages/notification/src/Component.stories.mdx
@@ -7,7 +7,7 @@ import { name, version } from '../package.json';
diff --git a/packages/phone-input/src/Component.stories.mdx b/packages/phone-input/src/Component.stories.mdx
index dc204878a7..16bc54252d 100644
--- a/packages/phone-input/src/Component.stories.mdx
+++ b/packages/phone-input/src/Component.stories.mdx
@@ -8,7 +8,10 @@ import { PhoneInput } from './Component';
import { name, version } from '../package.json';
-
+
diff --git a/packages/picker-button/src/Component.stories.mdx b/packages/picker-button/src/Component.stories.mdx
index 55a3071087..232b8a5fc3 100644
--- a/packages/picker-button/src/Component.stories.mdx
+++ b/packages/picker-button/src/Component.stories.mdx
@@ -54,8 +54,7 @@ export const groupedOptions = [{
}]
diff --git a/packages/plate/src/docs/component.stories.mdx b/packages/plate/src/docs/component.stories.mdx
index 6a91f55eb5..c3533ff0f2 100644
--- a/packages/plate/src/docs/component.stories.mdx
+++ b/packages/plate/src/docs/component.stories.mdx
@@ -11,7 +11,7 @@ import styles from '!!raw-loader!../index.module.css';
import { name, version } from '../../package.json';
diff --git a/packages/popover/src/Component.stories.mdx b/packages/popover/src/Component.stories.mdx
index e5877ef574..f9e0d8c236 100644
--- a/packages/popover/src/Component.stories.mdx
+++ b/packages/popover/src/Component.stories.mdx
@@ -7,7 +7,10 @@ import { Popover } from './Component';
import { name, version } from '../package.json';
-
+
diff --git a/packages/portal/src/Component.stories.mdx b/packages/portal/src/Component.stories.mdx
index 7e5710d079..43ccf80d46 100644
--- a/packages/portal/src/Component.stories.mdx
+++ b/packages/portal/src/Component.stories.mdx
@@ -7,7 +7,10 @@ import { Portal } from './Component';
import { name, version } from '../package.json';
-
+
diff --git a/packages/progress-bar/src/Component.stories.mdx b/packages/progress-bar/src/Component.stories.mdx
index a4245edde1..7d327390cd 100644
--- a/packages/progress-bar/src/Component.stories.mdx
+++ b/packages/progress-bar/src/Component.stories.mdx
@@ -6,7 +6,10 @@ import { name, version } from '../package.json';
import { ProgressBar } from './Component';
-
+
diff --git a/packages/pure-input/src/Component.stories.mdx b/packages/pure-input/src/Component.stories.mdx
index ecdba3c389..ad7edfe42e 100644
--- a/packages/pure-input/src/Component.stories.mdx
+++ b/packages/pure-input/src/Component.stories.mdx
@@ -7,7 +7,7 @@ import { name, version } from '../package.json';
diff --git a/packages/radio-group/src/Component.stories.mdx b/packages/radio-group/src/Component.stories.mdx
index ea3be38a90..1fc9ae0999 100644
--- a/packages/radio-group/src/Component.stories.mdx
+++ b/packages/radio-group/src/Component.stories.mdx
@@ -8,7 +8,10 @@ import { Radio } from '../../radio/src';
import { Tag } from '../../tag/src';
-
+
diff --git a/packages/radio/src/Component.stories.mdx b/packages/radio/src/Component.stories.mdx
index 12888317a3..e841f54fdc 100644
--- a/packages/radio/src/Component.stories.mdx
+++ b/packages/radio/src/Component.stories.mdx
@@ -6,7 +6,7 @@ import { Radio } from './Component';
import { name, version } from '../package.json';
diff --git a/packages/select-with-tags/src/component.stories.mdx b/packages/select-with-tags/src/component.stories.mdx
index c8f147e721..8905dc9189 100644
--- a/packages/select-with-tags/src/component.stories.mdx
+++ b/packages/select-with-tags/src/component.stories.mdx
@@ -34,7 +34,7 @@ export const matchOption = (option, inputValue) =>
diff --git a/packages/select/src/Component.stories.mdx b/packages/select/src/Component.stories.mdx
index 00da52c17f..0e85b4b1be 100644
--- a/packages/select/src/Component.stories.mdx
+++ b/packages/select/src/Component.stories.mdx
@@ -96,7 +96,7 @@ export const POSITION_OPTIONS = [
diff --git a/packages/skeleton/src/Component.stories.mdx b/packages/skeleton/src/Component.stories.mdx
index c1ef6d5e48..f20c497802 100644
--- a/packages/skeleton/src/Component.stories.mdx
+++ b/packages/skeleton/src/Component.stories.mdx
@@ -10,7 +10,7 @@ import styles from './stories.module.css';
diff --git a/packages/slider-input/src/Component.stories.mdx b/packages/slider-input/src/Component.stories.mdx
index 6ff2f80783..0217221654 100644
--- a/packages/slider-input/src/Component.stories.mdx
+++ b/packages/slider-input/src/Component.stories.mdx
@@ -13,7 +13,7 @@ import { name, version } from '../package.json';
diff --git a/packages/slider/src/Component.stories.mdx b/packages/slider/src/Component.stories.mdx
index cf017d22c2..c5bef3dbb2 100644
--- a/packages/slider/src/Component.stories.mdx
+++ b/packages/slider/src/Component.stories.mdx
@@ -10,7 +10,7 @@ import { name, version } from '../package.json';
diff --git a/packages/space/src/Component.stories.mdx b/packages/space/src/Component.stories.mdx
index 00561c860a..e0fc9549f8 100644
--- a/packages/space/src/Component.stories.mdx
+++ b/packages/space/src/Component.stories.mdx
@@ -14,14 +14,14 @@ export const ALIGNES = ['start', 'end', 'center'];
export const SIZES = ['s', 'm', 'l', 8, 72];
-
-
\ No newline at end of file
+
diff --git a/packages/spinner/src/Component.stories.mdx b/packages/spinner/src/Component.stories.mdx
index 44d37f9372..96d6c3f607 100644
--- a/packages/spinner/src/Component.stories.mdx
+++ b/packages/spinner/src/Component.stories.mdx
@@ -9,8 +9,7 @@ import { Spinner } from './Component';
import { name, version } from '../package.json';
diff --git a/packages/stack/src/component.stories.mdx b/packages/stack/src/component.stories.mdx
index f7e4eb6c1e..77a3115b56 100644
--- a/packages/stack/src/component.stories.mdx
+++ b/packages/stack/src/component.stories.mdx
@@ -9,7 +9,10 @@ import { Tooltip } from '../../tooltip/src';
import { Stack } from '.';
import { name, version } from '../package.json';
-
+
diff --git a/packages/status/src/Component.stories.mdx b/packages/status/src/Component.stories.mdx
index 828240e746..372e6bb62b 100644
--- a/packages/status/src/Component.stories.mdx
+++ b/packages/status/src/Component.stories.mdx
@@ -7,7 +7,7 @@ import { Status, colors } from './Component';
import { name, version } from '../package.json';
diff --git a/packages/switch/src/Component.stories.mdx b/packages/switch/src/Component.stories.mdx
index b4d880ca0f..c0d9e0aa78 100644
--- a/packages/switch/src/Component.stories.mdx
+++ b/packages/switch/src/Component.stories.mdx
@@ -10,7 +10,7 @@ import { name, version } from '../package.json';
diff --git a/packages/tabs/src/Component.stories.mdx b/packages/tabs/src/Component.stories.mdx
index 4bbbb3130d..6a2f79ed2b 100644
--- a/packages/tabs/src/Component.stories.mdx
+++ b/packages/tabs/src/Component.stories.mdx
@@ -13,7 +13,7 @@ export const titles = Array(7).fill(0).map((_, i) => ({ title: `Таб ${i + 1}`
diff --git a/packages/tag/src/Component.stories.mdx b/packages/tag/src/Component.stories.mdx
index b2fa8f1ef3..7047154c86 100644
--- a/packages/tag/src/Component.stories.mdx
+++ b/packages/tag/src/Component.stories.mdx
@@ -10,7 +10,7 @@ export const SIZES = ['xs', 's', 'm', 'l', 'xl'];
diff --git a/packages/textarea/src/Component.stories.mdx b/packages/textarea/src/Component.stories.mdx
new file mode 100644
index 0000000000..afd35ee78a
--- /dev/null
+++ b/packages/textarea/src/Component.stories.mdx
@@ -0,0 +1,59 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, select, boolean, number } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import Icon from '@alfalab/icons-glyph/StarMIcon';
+
+import { Textarea } from './Component';
+import { name, version } from '../package.json';
+
+
+
+
+
+
+
+ }
+ leftAddons={boolean('leftAddons', false) && }
+ bottomAddons={boolean('bottomAddons', false) && bottom text }
+ readOnly={boolean('readOnly', false)}
+ />
+
+
+
+
+
+
+
+```tsx
+import { Textarea } from '@alfalab/core-components-textarea';
+```
+
+Компонент текстового поля ввода.
+
+
+
+
+
diff --git a/packages/toast-plate/src/component.stories.mdx b/packages/toast-plate/src/component.stories.mdx
index 98791b377f..f2a45cc4f5 100644
--- a/packages/toast-plate/src/component.stories.mdx
+++ b/packages/toast-plate/src/component.stories.mdx
@@ -7,7 +7,7 @@ import { ToastPlate } from './';
import { name, version } from '../package.json';
diff --git a/packages/toast/src/docs/component.stories.mdx b/packages/toast/src/docs/component.stories.mdx
index 2376780fd0..8f6c05cecb 100644
--- a/packages/toast/src/docs/component.stories.mdx
+++ b/packages/toast/src/docs/component.stories.mdx
@@ -9,91 +9,122 @@ import Description from './description.mdx';
import styles from '!!raw-loader!../index.module.css';
-
- {React.createElement(() => {
- const POSITION_OPTIONS = [
- 'top',
- 'top-start',
- 'top-end',
- 'bottom',
- 'bottom-start',
- 'bottom-end',
- 'right',
- 'right-start',
- 'right-end',
- 'left',
- 'left-start',
- 'left-end',
- ];
- const [anchorToastOpen, setAnchorToastOpen] = React.useState(false);
- const [fixedToastOpen, setFixedToastOpen] = React.useState(false);
- const [buttonElement, setButtonElement] = React.useState(null);
- const handleButtonRef = node => {
- setButtonElement(node);
- };
- const containerRef = React.useRef();
- return (
+export function ToastExample() {
+ const POSITION_OPTIONS = [
+ 'top',
+ 'top-start',
+ 'top-end',
+ 'bottom',
+ 'bottom-start',
+ 'bottom-end',
+ 'right',
+ 'right-start',
+ 'right-end',
+ 'left',
+ 'left-start',
+ 'left-end',
+ ];
+ const [anchorToastOpen, setAnchorToastOpen] = React.useState(false);
+ const [fixedToastOpen, setFixedToastOpen] = React.useState(false);
+ const [buttonElement, setButtonElement] = React.useState(null);
+ const handleButtonRef = node => {
+ setButtonElement(node);
+ };
+ const containerRef = React.useRef();
+ return (
+
-
{
+ setAnchorToastOpen(false);
+ }}
+ autoCloseDelay={number('autoCloseDelay', 3000)}
+ />
+ {
+ setFixedToastOpen(false);
+ }}
+ autoCloseDelay={number('autoCloseDelay', 3000)}
+ actionButton={
+ {
+ setFixedToastOpen(false);
+ }}
+ >
+ Восстановить
+
+ }
+ position='bottom-start'
+ offset={[0, 16]}
+ block={true}
+ />
+ {
+ setAnchorToastOpen(true);
}}
>
- { setAnchorToastOpen(false); }}
- autoCloseDelay={number('autoCloseDelay', 3000)}
- />
- { setFixedToastOpen(false); }}
- autoCloseDelay={number('autoCloseDelay', 3000)}
- actionButton={ { setFixedToastOpen(false) }}>Восстановить }
- anchorElement={containerRef.current}
- position="bottom-start"
- offset={[0, 16]}
- block={true}
- getPortalContainer={() => containerRef.current}
- />
- { setAnchorToastOpen(true); }}>
- Скопировать
-
- { setFixedToastOpen(true) }} style={{marginLeft: '20px'}}>
- Удалить
-
-
+ Скопировать
+
+
{
+ setFixedToastOpen(true);
+ }}
+ style={{ marginLeft: '20px' }}
+ >
+ Удалить
+
- );
- })}
+
+ );
+}
+
+
+
diff --git a/packages/tooltip/src/Component.stories.mdx b/packages/tooltip/src/Component.stories.mdx
index 716d2b09d4..15238a3dd8 100644
--- a/packages/tooltip/src/Component.stories.mdx
+++ b/packages/tooltip/src/Component.stories.mdx
@@ -7,7 +7,10 @@ import { Tooltip } from './Component';
import { name, version } from '../package.json';
-
+
diff --git a/packages/typography/src/component.stories.mdx b/packages/typography/src/component.stories.mdx
index a198e73846..4e3fc3b7be 100644
--- a/packages/typography/src/component.stories.mdx
+++ b/packages/typography/src/component.stories.mdx
@@ -7,7 +7,7 @@ import { name, version } from '../package.json';
import { colors } from './colors';
-
+
diff --git a/packages/utils/example-share-story/index.stories.mdx b/packages/utils/example-share-story/index.stories.mdx
index 8104719a1d..bd1995aa65 100644
--- a/packages/utils/example-share-story/index.stories.mdx
+++ b/packages/utils/example-share-story/index.stories.mdx
@@ -25,7 +25,7 @@ export const getCode = () => {
return code ? decodeURIComponent(code) : defaultExample;
};
-
+
# Песочница
diff --git a/packages/vars/src/vars.stories.mdx b/packages/vars/src/vars.stories.mdx
index be7f762548..70634e0e18 100644
--- a/packages/vars/src/vars.stories.mdx
+++ b/packages/vars/src/vars.stories.mdx
@@ -13,7 +13,7 @@ import borderRadius from '!!raw-loader!./border-radius.css';
import gaps from '!!raw-loader!./gaps.css';
import shadowsIndigo from '!!raw-loader!./shadows-indigo.css';
-
+
diff --git a/packages/with-suffix/src/Component.stories.mdx b/packages/with-suffix/src/Component.stories.mdx
index af5291a37d..2d67d7c4b3 100644
--- a/packages/with-suffix/src/Component.stories.mdx
+++ b/packages/with-suffix/src/Component.stories.mdx
@@ -11,7 +11,7 @@ export const SuffixInput = WithSuffix(Input);
From 270993049bc15859cfdf230f62bc962007668e2e Mon Sep 17 00:00:00 2001
From: reme3d2y
Date: Fri, 11 Jun 2021 11:01:23 +0300
Subject: [PATCH 44/48] chore: fix bugs
---
...tHeader.css => ComponentHeader.module.css} | 0
.../component-header/ComponentHeader.tsx | 2 +-
.../blocks/grid/{Col.css => Col.module.css} | 0
.storybook/blocks/grid/Col.tsx | 2 +-
.../{Container.css => Container.module.css} | 0
.storybook/blocks/grid/Container.tsx | 2 +-
.../blocks/grid/{Row.css => Row.module.css} | 0
.storybook/blocks/grid/Row.tsx | 2 +-
.../status/{Status.css => Status.module.css} | 0
.storybook/blocks/status/Status.tsx | 2 +-
.storybook/main.js | 3 +-
.storybook/public/global.css | 4 +-
packages/toast/src/docs/description.mdx | 206 +++++++++---------
13 files changed, 114 insertions(+), 109 deletions(-)
rename .storybook/blocks/component-header/{ComponentHeader.css => ComponentHeader.module.css} (100%)
rename .storybook/blocks/grid/{Col.css => Col.module.css} (100%)
rename .storybook/blocks/grid/{Container.css => Container.module.css} (100%)
rename .storybook/blocks/grid/{Row.css => Row.module.css} (100%)
rename .storybook/blocks/status/{Status.css => Status.module.css} (100%)
diff --git a/.storybook/blocks/component-header/ComponentHeader.css b/.storybook/blocks/component-header/ComponentHeader.module.css
similarity index 100%
rename from .storybook/blocks/component-header/ComponentHeader.css
rename to .storybook/blocks/component-header/ComponentHeader.module.css
diff --git a/.storybook/blocks/component-header/ComponentHeader.tsx b/.storybook/blocks/component-header/ComponentHeader.tsx
index ac31b32b81..18ceabcec6 100644
--- a/.storybook/blocks/component-header/ComponentHeader.tsx
+++ b/.storybook/blocks/component-header/ComponentHeader.tsx
@@ -2,7 +2,7 @@ import React, { ReactNode } from 'react';
import { Title } from '@storybook/addon-docs/blocks';
import { Status } from 'storybook/blocks/status';
-import styles from './ComponentHeader.css';
+import styles from './ComponentHeader.module.css';
type ComponentHeaderProps = {
name: string;
diff --git a/.storybook/blocks/grid/Col.css b/.storybook/blocks/grid/Col.module.css
similarity index 100%
rename from .storybook/blocks/grid/Col.css
rename to .storybook/blocks/grid/Col.module.css
diff --git a/.storybook/blocks/grid/Col.tsx b/.storybook/blocks/grid/Col.tsx
index 3283ff989f..c3bc54103c 100644
--- a/.storybook/blocks/grid/Col.tsx
+++ b/.storybook/blocks/grid/Col.tsx
@@ -1,7 +1,7 @@
import React, { InputHTMLAttributes, useCallback, ChangeEvent, ReactNode } from 'react';
import cn from 'classnames';
-import styles from './Col.css';
+import styles from './Col.module.css';
type ColProps = {
children?: ReactNode;
diff --git a/.storybook/blocks/grid/Container.css b/.storybook/blocks/grid/Container.module.css
similarity index 100%
rename from .storybook/blocks/grid/Container.css
rename to .storybook/blocks/grid/Container.module.css
diff --git a/.storybook/blocks/grid/Container.tsx b/.storybook/blocks/grid/Container.tsx
index 7f09e31061..701b587260 100644
--- a/.storybook/blocks/grid/Container.tsx
+++ b/.storybook/blocks/grid/Container.tsx
@@ -1,7 +1,7 @@
import React, { ReactNode } from 'react';
import cn from 'classnames';
-import styles from './Container.css';
+import styles from './Container.module.css';
type ContainerProps = {
children?: ReactNode;
diff --git a/.storybook/blocks/grid/Row.css b/.storybook/blocks/grid/Row.module.css
similarity index 100%
rename from .storybook/blocks/grid/Row.css
rename to .storybook/blocks/grid/Row.module.css
diff --git a/.storybook/blocks/grid/Row.tsx b/.storybook/blocks/grid/Row.tsx
index f9f47627ab..d9b11c6df4 100644
--- a/.storybook/blocks/grid/Row.tsx
+++ b/.storybook/blocks/grid/Row.tsx
@@ -1,7 +1,7 @@
import React, { InputHTMLAttributes, useCallback, ChangeEvent, ReactNode } from 'react';
import cn from 'classnames';
-import styles from './Row.css';
+import styles from './Row.module.css';
type RowProps = {
children?: ReactNode;
diff --git a/.storybook/blocks/status/Status.css b/.storybook/blocks/status/Status.module.css
similarity index 100%
rename from .storybook/blocks/status/Status.css
rename to .storybook/blocks/status/Status.module.css
diff --git a/.storybook/blocks/status/Status.tsx b/.storybook/blocks/status/Status.tsx
index 826ee4d4b7..996b8ad652 100644
--- a/.storybook/blocks/status/Status.tsx
+++ b/.storybook/blocks/status/Status.tsx
@@ -1,7 +1,7 @@
import React, { ReactNode } from 'react';
import cn from 'classnames';
-import styles from './Status.css';
+import styles from './Status.module.css';
const STATUS = {
1: 'Draft',
diff --git a/.storybook/main.js b/.storybook/main.js
index 2af9f099a3..1f6f0003ab 100644
--- a/.storybook/main.js
+++ b/.storybook/main.js
@@ -22,7 +22,8 @@ module.exports = {
stories: ['../packages/**/*.stories.@(ts|md)x'],
addons: [
'@storybook/addon-knobs',
- '@storybook/addon-essentials',
+ '@storybook/addon-docs',
+ '@storybook/addon-actions',
'@storybook/preset-create-react-app',
],
webpackFinal: async config => {
diff --git a/.storybook/public/global.css b/.storybook/public/global.css
index b8d2c2fb2b..a05d122c77 100644
--- a/.storybook/public/global.css
+++ b/.storybook/public/global.css
@@ -774,7 +774,7 @@ div.lib-welcome {
white-space: normal;
}
-#explorerкомпоненты--screenshots,
-#explorerкомпоненты--screenshots-sprite {
+#компоненты--screenshots,
+#компоненты--screenshots-sprite {
display: none;
}
diff --git a/packages/toast/src/docs/description.mdx b/packages/toast/src/docs/description.mdx
index 8ac6d41fb6..df10e1e5c4 100644
--- a/packages/toast/src/docs/description.mdx
+++ b/packages/toast/src/docs/description.mdx
@@ -12,120 +12,124 @@ import { Plate } from '../../../plate/src';
Если `anchorElement` не передавать, то тост появится снизу экрана.
+export function Example() {
+ const [anchorToastOpen, setAnchorToastOpen] = React.useState(false);
+ const [fixedToastOpen, setFixedToastOpen] = React.useState(false);
+ const [buttonElement, setButtonElement] = React.useState(null);
+ const handleButtonRef = node => {
+ setButtonElement(node);
+ };
+ return (
+
+ { setAnchorToastOpen(false); }}
+ autoCloseDelay={1500}
+ />
+ { setFixedToastOpen(false); }}
+ autoCloseDelay={3000}
+ actionButton={ { setFixedToastOpen(false) }}>Восстановить }
+ style={{maxWidth: 'calc(100vw - 150px)'}}
+ />
+ { setAnchorToastOpen(true); }}>
+ Скопировать
+
+ { setFixedToastOpen(true) }} style={{marginLeft: '20px'}}>
+ Удалить
+
+
+ );
+}
+
- {React.createElement(() => {
- const [anchorToastOpen, setAnchorToastOpen] = React.useState(false);
- const [fixedToastOpen, setFixedToastOpen] = React.useState(false);
- const [buttonElement, setButtonElement] = React.useState(null);
- const handleButtonRef = node => {
- setButtonElement(node);
- };
- return (
+
+
+
+В качестве плашки можно использовать любой компонент.
+
+#### Нужно обернуть компонент в forwardRef и прокинуть в него ref и пропсы.
+
+Например, компонент `Plate`:
+
+export function PlateExample() {
+ const [anchorToastOpen, setAnchorToastOpen] = React.useState(false);
+ const containerRef = React.useRef();
+ React.useLayoutEffect(() => {
+ containerRef.current = document.querySelector('#toast-container');
+ }, []);
+ return (
+
{ setAnchorToastOpen(false); }}
- autoCloseDelay={1500}
- />
- { setFixedToastOpen(false); }}
autoCloseDelay={3000}
- actionButton={ { setFixedToastOpen(false) }}>Восстановить }
- style={{maxWidth: 'calc(100vw - 150px)'}}
- />
- { setAnchorToastOpen(true); }}>
+ getPortalContainer={() => containerRef.current}
+ block={true}
+ hasCloser={true}
+ ToastPlate={React.forwardRef((prpos, ref) => {
+ return (
+
+ )
+ })}
+ >
+ Скопировано
+
+ { setAnchorToastOpen(true); }}>
Скопировать
- { setFixedToastOpen(true) }} style={{marginLeft: '20px'}}>
- Удалить
-
- );
- })}
-
-
-В качестве плашки можно использовать любой компонент.
-
-#### Нужно обернуть компонент в forwardRef и прокинуть в него ref и пропсы.
-
-Например, компонент `Plate`:
+
+ );
+}
- {React.createElement(() => {
- const [anchorToastOpen, setAnchorToastOpen] = React.useState(false);
- const containerRef = React.useRef();
- React.useEffect(() => {
- containerRef.current = document.querySelector('#toast-container');
- }, []);
- return (
-
-
-
{ setAnchorToastOpen(false); }}
- autoCloseDelay={3000}
- getPortalContainer={() => containerRef.current}
- block={true}
- hasCloser={true}
- ToastPlate={React.forwardRef((props, ref) => {
- return (
-
- )
- })}
- >
- Скопировано
-
-
{ setAnchorToastOpen(true); }}>
- Скопировать
-
-
-
- );
- })}
+
From 8c887bf96250ac84847e312be457edd18d610de3 Mon Sep 17 00:00:00 2001
From: Mikhail
Date: Tue, 29 Jun 2021 13:36:08 +0300
Subject: [PATCH 45/48] feat(storybook): sort stories by alphabet (#708)
---
.storybook/preview.js | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/.storybook/preview.js b/.storybook/preview.js
index 6d9906ffa9..bd32e45ecf 100644
--- a/.storybook/preview.js
+++ b/.storybook/preview.js
@@ -12,6 +12,11 @@ addParameters({
code: Example,
},
},
+ options: {
+ storySort: {
+ method: 'alphabetical',
+ },
+ },
});
configure(
From 75edfd70f3eb10ec43c414e66cf71cdf854cb570 Mon Sep 17 00:00:00 2001
From: Mikhail
Date: Tue, 29 Jun 2021 13:36:26 +0300
Subject: [PATCH 46/48] feat(storybook): make "Docs" tab default (#707)
---
.storybook/preview.js | 1 +
docs/1.getting-started.stories.mdx | 5 ++++-
docs/10.breakpoints.stories.mdx | 5 ++++-
docs/11.screenshots.stories.mdx | 5 ++++-
docs/2.theming.stories.mdx | 5 ++++-
docs/3.development-faq.stories.mdx | 5 ++++-
docs/4.statuses.stories.mdx | 5 ++++-
docs/5.colors.stories.mdx | 5 ++++-
docs/6.typography.stories.mdx | 5 ++++-
docs/7.gaps.stories.mdx | 5 ++++-
docs/8.icons.stories.mdx | 5 ++++-
docs/9.0.accessibility.stories.mdx | 5 ++++-
docs/9.1.images.stories.mdx | 5 ++++-
docs/9.2.video-audio.stories.mdx | 5 ++++-
docs/9.3.forms.stories.mdx | 5 ++++-
docs/9.4.tables.stories.mdx | 5 ++++-
docs/9.5.menu.stories.mdx | 5 ++++-
docs/9.6.keyboard.stories.mdx | 5 ++++-
docs/9.7.testing.stories.mdx | 5 ++++-
packages/backdrop/src/Component.stories.mdx | 2 +-
packages/keyboard-focusable/src/Component.stories.mdx | 6 +++++-
packages/masked-input/src/Component.stories.mdx | 2 +-
packages/portal/src/Component.stories.mdx | 1 +
packages/stack/src/component.stories.mdx | 1 +
packages/tabs/src/Component.stories.mdx | 2 +-
packages/typography/src/component.stories.mdx | 6 +++++-
packages/vars/src/vars.stories.mdx | 5 ++++-
packages/with-suffix/src/Component.stories.mdx | 2 +-
28 files changed, 93 insertions(+), 25 deletions(-)
diff --git a/.storybook/preview.js b/.storybook/preview.js
index bd32e45ecf..f88cfc414f 100644
--- a/.storybook/preview.js
+++ b/.storybook/preview.js
@@ -7,6 +7,7 @@ import withThemeSwitcher from './addons/theme-switcher/index';
addDecorator(withThemeSwitcher);
addParameters({
+ viewMode: 'docs',
docs: {
components: {
code: Example,
diff --git a/docs/1.getting-started.stories.mdx b/docs/1.getting-started.stories.mdx
index cef71549d9..b0ce771e88 100644
--- a/docs/1.getting-started.stories.mdx
+++ b/docs/1.getting-started.stories.mdx
@@ -3,7 +3,10 @@ import GitHubButton from 'react-github-btn'
import readme from '../README.md';
import { version } from '../package.json';
-
+
diff --git a/docs/10.breakpoints.stories.mdx b/docs/10.breakpoints.stories.mdx
index 2af4e4ec1f..a8a4403e55 100644
--- a/docs/10.breakpoints.stories.mdx
+++ b/docs/10.breakpoints.stories.mdx
@@ -1,4 +1,7 @@
-
+
## Брейкпоинты
diff --git a/docs/11.screenshots.stories.mdx b/docs/11.screenshots.stories.mdx
index b1de420317..072f11920d 100644
--- a/docs/11.screenshots.stories.mdx
+++ b/docs/11.screenshots.stories.mdx
@@ -1,4 +1,7 @@
-
+
# Скриншотное тестирование
diff --git a/docs/2.theming.stories.mdx b/docs/2.theming.stories.mdx
index c3fc703ea5..1e76d5513b 100644
--- a/docs/2.theming.stories.mdx
+++ b/docs/2.theming.stories.mdx
@@ -8,7 +8,10 @@ import { Checkbox } from '@alfalab/core-components-checkbox';
import styles from './2.theming.stories.css';
-
+
## Темизация
diff --git a/docs/3.development-faq.stories.mdx b/docs/3.development-faq.stories.mdx
index 82dc5c6d47..d6a5f27ccc 100644
--- a/docs/3.development-faq.stories.mdx
+++ b/docs/3.development-faq.stories.mdx
@@ -1,6 +1,9 @@
import { Description } from '@storybook/addon-docs/blocks';
-
+
## Разработка
diff --git a/docs/4.statuses.stories.mdx b/docs/4.statuses.stories.mdx
index 4c0d449915..db81112b8b 100644
--- a/docs/4.statuses.stories.mdx
+++ b/docs/4.statuses.stories.mdx
@@ -1,6 +1,9 @@
import { Description } from '@storybook/addon-docs/blocks';
-
+
## Статусы
diff --git a/docs/5.colors.stories.mdx b/docs/5.colors.stories.mdx
index ca8d92a21d..fff3b61779 100644
--- a/docs/5.colors.stories.mdx
+++ b/docs/5.colors.stories.mdx
@@ -1,6 +1,9 @@
import { Description } from '@storybook/addon-docs/blocks';
-
+
## Цвета
diff --git a/docs/6.typography.stories.mdx b/docs/6.typography.stories.mdx
index 394fc74c50..8f44736ed6 100644
--- a/docs/6.typography.stories.mdx
+++ b/docs/6.typography.stories.mdx
@@ -1,6 +1,9 @@
import { Description } from '@storybook/addon-docs/blocks';
-
+
## Типографика
diff --git a/docs/7.gaps.stories.mdx b/docs/7.gaps.stories.mdx
index ff4b84851f..58a2a31f7b 100644
--- a/docs/7.gaps.stories.mdx
+++ b/docs/7.gaps.stories.mdx
@@ -1,6 +1,9 @@
import { Description } from '@storybook/addon-docs/blocks';
-
+
## Система отступов
diff --git a/docs/8.icons.stories.mdx b/docs/8.icons.stories.mdx
index fa0b4bccb3..1ed1dc2369 100644
--- a/docs/8.icons.stories.mdx
+++ b/docs/8.icons.stories.mdx
@@ -4,7 +4,10 @@ import { Plate } from '../packages/plate/src';
import { Badge } from '../packages/badge/src';
import { AlertCircleMIcon } from '@alfalab/icons-glyph';
-
+
## Иконки
diff --git a/docs/9.0.accessibility.stories.mdx b/docs/9.0.accessibility.stories.mdx
index 4b6177d6b0..47ada3082a 100644
--- a/docs/9.0.accessibility.stories.mdx
+++ b/docs/9.0.accessibility.stories.mdx
@@ -1,6 +1,9 @@
import { Description } from '@storybook/addon-docs/blocks';
-
+
## Доступность
diff --git a/docs/9.1.images.stories.mdx b/docs/9.1.images.stories.mdx
index 98c160dccd..c7ed9d20b1 100644
--- a/docs/9.1.images.stories.mdx
+++ b/docs/9.1.images.stories.mdx
@@ -1,6 +1,9 @@
import { Description } from '@storybook/addon-docs/blocks';
-
+
## Изображения
diff --git a/docs/9.2.video-audio.stories.mdx b/docs/9.2.video-audio.stories.mdx
index e481bef84d..5e75a25923 100644
--- a/docs/9.2.video-audio.stories.mdx
+++ b/docs/9.2.video-audio.stories.mdx
@@ -1,6 +1,9 @@
import { Description } from '@storybook/addon-docs/blocks';
-
+
## Аудио и видео
diff --git a/docs/9.3.forms.stories.mdx b/docs/9.3.forms.stories.mdx
index 54502f4128..20a159608d 100644
--- a/docs/9.3.forms.stories.mdx
+++ b/docs/9.3.forms.stories.mdx
@@ -1,6 +1,9 @@
import { Description } from '@storybook/addon-docs/blocks';
-
+
## Формы
diff --git a/docs/9.4.tables.stories.mdx b/docs/9.4.tables.stories.mdx
index 14b138386e..45f291fb2d 100644
--- a/docs/9.4.tables.stories.mdx
+++ b/docs/9.4.tables.stories.mdx
@@ -1,6 +1,9 @@
import { Description } from '@storybook/addon-docs/blocks';
-
+
## Таблицы
diff --git a/docs/9.5.menu.stories.mdx b/docs/9.5.menu.stories.mdx
index f25193b66b..2e9237bb6a 100644
--- a/docs/9.5.menu.stories.mdx
+++ b/docs/9.5.menu.stories.mdx
@@ -1,6 +1,9 @@
import { Description } from '@storybook/addon-docs/blocks';
-
+
## Навигация
diff --git a/docs/9.6.keyboard.stories.mdx b/docs/9.6.keyboard.stories.mdx
index 51157a5285..c672ac4376 100644
--- a/docs/9.6.keyboard.stories.mdx
+++ b/docs/9.6.keyboard.stories.mdx
@@ -1,6 +1,9 @@
import { Description } from '@storybook/addon-docs/blocks';
-
+
## Управление с клавиатуры
diff --git a/docs/9.7.testing.stories.mdx b/docs/9.7.testing.stories.mdx
index 581c253c05..5c50b5aacc 100644
--- a/docs/9.7.testing.stories.mdx
+++ b/docs/9.7.testing.stories.mdx
@@ -1,6 +1,9 @@
import { Description } from '@storybook/addon-docs/blocks';
-
+
## Тестирование
diff --git a/packages/backdrop/src/Component.stories.mdx b/packages/backdrop/src/Component.stories.mdx
index bd5ccd4fe7..e84adceabe 100644
--- a/packages/backdrop/src/Component.stories.mdx
+++ b/packages/backdrop/src/Component.stories.mdx
@@ -9,7 +9,7 @@ import { version } from '../package.json';
diff --git a/packages/keyboard-focusable/src/Component.stories.mdx b/packages/keyboard-focusable/src/Component.stories.mdx
index b2c0cff92e..00d5676b7b 100644
--- a/packages/keyboard-focusable/src/Component.stories.mdx
+++ b/packages/keyboard-focusable/src/Component.stories.mdx
@@ -14,7 +14,11 @@ export const focusOutlineStyles = {
};
-
+
diff --git a/packages/masked-input/src/Component.stories.mdx b/packages/masked-input/src/Component.stories.mdx
index db378abb43..9aaac8c77e 100644
--- a/packages/masked-input/src/Component.stories.mdx
+++ b/packages/masked-input/src/Component.stories.mdx
@@ -19,7 +19,7 @@ export const placeholders = {
diff --git a/packages/portal/src/Component.stories.mdx b/packages/portal/src/Component.stories.mdx
index 43ccf80d46..956f141bc7 100644
--- a/packages/portal/src/Component.stories.mdx
+++ b/packages/portal/src/Component.stories.mdx
@@ -10,6 +10,7 @@ import { name, version } from '../package.json';
diff --git a/packages/stack/src/component.stories.mdx b/packages/stack/src/component.stories.mdx
index 77a3115b56..46667ac58d 100644
--- a/packages/stack/src/component.stories.mdx
+++ b/packages/stack/src/component.stories.mdx
@@ -12,6 +12,7 @@ import { name, version } from '../package.json';
diff --git a/packages/tabs/src/Component.stories.mdx b/packages/tabs/src/Component.stories.mdx
index 6a2f79ed2b..9bff183d56 100644
--- a/packages/tabs/src/Component.stories.mdx
+++ b/packages/tabs/src/Component.stories.mdx
@@ -14,7 +14,7 @@ export const titles = Array(7).fill(0).map((_, i) => ({ title: `Таб ${i + 1}`
diff --git a/packages/typography/src/component.stories.mdx b/packages/typography/src/component.stories.mdx
index 4e3fc3b7be..7297714b8e 100644
--- a/packages/typography/src/component.stories.mdx
+++ b/packages/typography/src/component.stories.mdx
@@ -7,7 +7,11 @@ import { name, version } from '../package.json';
import { colors } from './colors';
-
+
diff --git a/packages/vars/src/vars.stories.mdx b/packages/vars/src/vars.stories.mdx
index 70634e0e18..7f61b08e6c 100644
--- a/packages/vars/src/vars.stories.mdx
+++ b/packages/vars/src/vars.stories.mdx
@@ -13,7 +13,10 @@ import borderRadius from '!!raw-loader!./border-radius.css';
import gaps from '!!raw-loader!./gaps.css';
import shadowsIndigo from '!!raw-loader!./shadows-indigo.css';
-
+
diff --git a/packages/with-suffix/src/Component.stories.mdx b/packages/with-suffix/src/Component.stories.mdx
index 2d67d7c4b3..02b2b52769 100644
--- a/packages/with-suffix/src/Component.stories.mdx
+++ b/packages/with-suffix/src/Component.stories.mdx
@@ -13,7 +13,7 @@ export const SuffixInput = WithSuffix(Input);
From b4d164f21286fa6b4da64447b399612e0c1a7bb1 Mon Sep 17 00:00:00 2001
From: Mikhail
Date: Tue, 29 Jun 2021 13:54:46 +0300
Subject: [PATCH 47/48] Feat/change story docs structure (#714)
* fix(storybook): fix typo
* refactor(storybook): add tabs to all stories
* refactor(storybook): fix some refactoring errors
n
Co-authored-by: reme3d2y
---
.../src/{ => docs}/Component.stories.mdx | 21 +--
packages/alert/src/docs/description.mdx | 7 +
.../src/docs/Component.stories.mdx | 64 +++++++
.../description.mdx} | 59 +-----
packages/amount/src/component.stories.mdx | 170 ------------------
.../amount/src/docs/component.stories.mdx | 84 +++++++++
packages/amount/src/docs/description.mdx | 100 +++++++++++
.../src/{ => docs}/Component.stories.mdx | 14 +-
packages/attach/src/docs/description.mdx | 5 +
.../src/{ => docs}/Component.stories.mdx | 18 +-
packages/backdrop/src/docs/description.mdx | 6 +
packages/badge/src/docs/Component.stories.mdx | 77 ++++++++
.../description.mdx} | 61 +------
.../bank-card/src/docs/Component.stories.mdx | 40 +++++
.../description.mdx} | 38 +---
.../src/{ => docs}/Component.stories.mdx | 6 +-
packages/base-modal/src/docs/description.mdx | 0
.../src/docs/Component.stories.mdx | 68 +++++++
.../description.mdx} | 66 +------
.../src/docs/Component.stories.mdx | 38 ++++
.../description.mdx} | 40 +----
.../src/Component.stories.mdx | 91 ----------
.../src/docs/Component.stories.mdx | 51 ++++++
.../src/docs/description.mdx | 50 ++++++
.../calendar/src/docs/Component.stories.mdx | 61 +++++++
.../description.mdx} | 56 +-----
.../src/{ => docs}/Component.stories.mdx | 30 ++--
packages/card-image/src/docs/description.mdx | 17 ++
.../src/{ => docs}/Component.stories.mdx | 16 +-
packages/cdn-icon/src/docs/description.mdx | 5 +
.../checkbox-group/src/Component.stories.mdx | 112 ------------
.../src/docs/Component.stories.mdx | 65 +++++++
.../checkbox-group/src/docs/description.mdx | 55 ++++++
.../src/{ => docs}/Component.stories.mdx | 50 ++----
packages/checkbox/src/docs/description.mdx | 36 ++++
.../src/{ => docs}/Component.stories.mdx | 20 ++-
.../src/docs/description.mdx | 5 +
.../collapse/src/docs/Component.stories.mdx | 48 +++++
.../description.mdx} | 45 +----
.../Component.stories.mdx} | 16 +-
.../confirmation/src/docs/description.mdx | 1 +
.../src/{ => docs}/Component.stories.mdx | 24 +--
packages/divider/src/docs/description.mdx | 13 ++
.../drawer/src/docs/Component.stories.mdx | 62 +++++++
.../description.mdx} | 151 +++++-----------
.../dropzone/src/docs/Component.stories.mdx | 48 +++++
.../description.mdx} | 70 ++------
.../src/docs/Component.stories.mdx | 51 ++++++
.../description.mdx} | 46 +----
.../src/{ => docs}/Component.stories.mdx | 19 +-
.../form-control/src/docs/description.mdx | 6 +
packages/grid/src/docs/Component.stories.mdx | 56 ++++++
.../description.mdx} | 52 +-----
.../src/docs/Component.stories.mdx | 71 ++++++++
.../description.mdx} | 59 +-----
.../src/docs/Component.stories.mdx | 80 +++++++++
.../description.mdx} | 95 +---------
.../input-autocomplete/src/docs/options.ts | 20 +++
.../src/{ => docs}/Component.stories.mdx | 23 ++-
packages/input/src/docs/description.mdx | 9 +
.../src/docs/Component.stories.mdx | 73 ++++++++
.../description.mdx} | 94 +---------
packages/intl-phone-input/src/docs/options.ts | 25 +++
.../src/docs/Component.stories.mdx | 33 ++++
.../description.mdx} | 41 +----
packages/link/src/docs/Component.stories.mdx | 78 ++++++++
.../description.mdx} | 70 +-------
.../src/docs/Component.stories.mdx | 47 +++++
.../description.mdx} | 40 +----
.../list/src/{ => docs}/Component.stories.mdx | 41 ++---
packages/list/src/docs/description.mdx | 32 ++++
.../src/{ => docs}/Component.stories.mdx | 18 +-
packages/loader/src/docs/description.mdx | 5 +
.../src/docs/Component.stories.mdx | 36 ++++
packages/masked-input/src/docs/constants.ts | 48 +++++
.../description.mdx} | 43 +----
packages/modal/src/docs/Component.stories.mdx | 148 +++++++++++++++
.../description.mdx} | 144 +--------------
packages/mq/src/docs/Component.stories.mdx | 51 ++++++
.../description.mdx} | 47 +----
.../src/docs/Component.stories.mdx | 74 ++++++++
.../description.mdx} | 66 +------
.../src/{ => docs}/Component.stories.mdx | 41 ++---
.../notification/src/docs/description.mdx | 29 +++
.../src/{ => docs}/Component.stories.mdx | 16 +-
packages/phone-input/src/docs/description.mdx | 7 +
.../src/docs/Component.stories.mdx | 54 ++++++
.../description.mdx} | 112 ++++--------
packages/picker-button/src/docs/options.ts | 17 ++
.../popover/src/docs/Component.stories.mdx | 94 ++++++++++
.../description.mdx} | 84 +--------
.../portal/src/docs/Component.stories.mdx | 34 ++++
.../description.mdx} | 30 +---
.../src/{ => docs}/Component.stories.mdx | 20 ++-
.../progress-bar/src/docs/description.mdx | 11 ++
.../src/{ => docs}/Component.stories.mdx | 16 +-
packages/pure-input/src/docs/description.mdx | 10 ++
.../src/docs/Component.stories.mdx | 68 +++++++
.../description.mdx} | 59 +-----
.../src/{ => docs}/Component.stories.mdx | 54 ++----
packages/radio/src/docs/description.mdx | 27 +++
.../Component.stories.mdx} | 53 +-----
.../select-with-tags/src/docs/constants.ts | 17 ++
.../select-with-tags/src/docs/description.mdx | 37 ++++
.../select/src/docs/Component.stories.mdx | 78 ++++++++
packages/select/src/docs/constants.ts | 66 +++++++
.../description.mdx} | 146 ++-------------
.../skeleton/src/docs/Component.stories.mdx | 62 +++++++
.../description.mdx} | 57 +-----
.../src/docs/Component.stories.mdx | 75 ++++++++
.../description.mdx} | 65 +------
.../src/{ => docs}/Component.stories.mdx | 25 ++-
packages/slider/src/docs/description.mdx | 20 +++
packages/space/src/docs/Component.stories.mdx | 59 ++++++
.../description.mdx} | 48 +----
.../spinner/src/docs/Component.stories.mdx | 47 +++++
.../description.mdx} | 36 +---
packages/stack/src/docs/Component.stories.mdx | 39 ++++
.../description.mdx} | 38 +---
.../status/src/docs/Component.stories.mdx | 45 +++++
.../description.mdx} | 36 +---
.../switch/src/docs/Component.stories.mdx | 66 +++++++
.../description.mdx} | 55 +-----
packages/tabs/src/docs/Component.stories.mdx | 159 ++++++++++++++++
.../description.mdx} | 144 +--------------
packages/tag/src/docs/Component.stories.mdx | 61 +++++++
.../description.mdx} | 51 +-----
.../src/{ => docs}/Component.stories.mdx | 19 +-
.../textarea/src/docs/component.stories.mdx | 66 ++++---
packages/textarea/src/docs/description.mdx | 16 +-
.../Component.stories.mdx} | 28 ++-
packages/toast-plate/src/docs/description.mdx | 20 +++
packages/toast/src/docs/component.stories.mdx | 2 +-
packages/toast/src/docs/description.mdx | 77 +++++---
.../tooltip/src/docs/Component.stories.mdx | 96 ++++++++++
.../description.mdx} | 87 +--------
.../typography/src/docs/Component.stories.mdx | 117 ++++++++++++
.../description.mdx} | 116 +-----------
...vars.stories.mdx => Component.stories.mdx} | 0
.../src/{ => docs}/Component.stories.mdx | 21 +--
packages/with-suffix/src/docs/description.mdx | 19 ++
141 files changed, 3925 insertions(+), 3148 deletions(-)
rename packages/alert/src/{ => docs}/Component.stories.mdx (69%)
create mode 100644 packages/alert/src/docs/description.mdx
create mode 100644 packages/amount-input/src/docs/Component.stories.mdx
rename packages/amount-input/src/{Component.stories.mdx => docs/description.mdx} (53%)
delete mode 100644 packages/amount/src/component.stories.mdx
create mode 100644 packages/amount/src/docs/component.stories.mdx
create mode 100644 packages/amount/src/docs/description.mdx
rename packages/attach/src/{ => docs}/Component.stories.mdx (79%)
create mode 100644 packages/attach/src/docs/description.mdx
rename packages/backdrop/src/{ => docs}/Component.stories.mdx (69%)
create mode 100644 packages/backdrop/src/docs/description.mdx
create mode 100644 packages/badge/src/docs/Component.stories.mdx
rename packages/badge/src/{Component.stories.mdx => docs/description.mdx} (76%)
create mode 100644 packages/bank-card/src/docs/Component.stories.mdx
rename packages/bank-card/src/{Component.stories.mdx => docs/description.mdx} (54%)
rename packages/base-modal/src/{ => docs}/Component.stories.mdx (94%)
create mode 100644 packages/base-modal/src/docs/description.mdx
create mode 100644 packages/calendar-input/src/docs/Component.stories.mdx
rename packages/calendar-input/src/{Component.stories.mdx => docs/description.mdx} (61%)
create mode 100644 packages/calendar-range/src/docs/Component.stories.mdx
rename packages/calendar-range/src/{Component.stories.mdx => docs/description.mdx} (77%)
delete mode 100644 packages/calendar-with-skeleton/src/Component.stories.mdx
create mode 100644 packages/calendar-with-skeleton/src/docs/Component.stories.mdx
create mode 100644 packages/calendar-with-skeleton/src/docs/description.mdx
create mode 100644 packages/calendar/src/docs/Component.stories.mdx
rename packages/calendar/src/{Component.stories.mdx => docs/description.mdx} (76%)
rename packages/card-image/src/{ => docs}/Component.stories.mdx (62%)
create mode 100644 packages/card-image/src/docs/description.mdx
rename packages/cdn-icon/src/{ => docs}/Component.stories.mdx (71%)
create mode 100644 packages/cdn-icon/src/docs/description.mdx
delete mode 100644 packages/checkbox-group/src/Component.stories.mdx
create mode 100644 packages/checkbox-group/src/docs/Component.stories.mdx
create mode 100644 packages/checkbox-group/src/docs/description.mdx
rename packages/checkbox/src/{ => docs}/Component.stories.mdx (61%)
create mode 100644 packages/checkbox/src/docs/description.mdx
rename packages/circular-progress-bar/src/{ => docs}/Component.stories.mdx (82%)
create mode 100644 packages/circular-progress-bar/src/docs/description.mdx
create mode 100644 packages/collapse/src/docs/Component.stories.mdx
rename packages/collapse/src/{Component.stories.mdx => docs/description.mdx} (62%)
rename packages/confirmation/src/{component.stories.mdx => docs/Component.stories.mdx} (93%)
create mode 100644 packages/confirmation/src/docs/description.mdx
rename packages/divider/src/{ => docs}/Component.stories.mdx (54%)
create mode 100644 packages/divider/src/docs/description.mdx
create mode 100644 packages/drawer/src/docs/Component.stories.mdx
rename packages/drawer/src/{Component.stories.mdx => docs/description.mdx} (72%)
create mode 100644 packages/dropzone/src/docs/Component.stories.mdx
rename packages/dropzone/src/{Component.stories.mdx => docs/description.mdx} (54%)
create mode 100644 packages/file-upload-item/src/docs/Component.stories.mdx
rename packages/file-upload-item/src/{Component.stories.mdx => docs/description.mdx} (56%)
rename packages/form-control/src/{ => docs}/Component.stories.mdx (76%)
create mode 100644 packages/form-control/src/docs/description.mdx
create mode 100644 packages/grid/src/docs/Component.stories.mdx
rename packages/grid/src/{Component.stories.mdx => docs/description.mdx} (91%)
create mode 100644 packages/icon-button/src/docs/Component.stories.mdx
rename packages/icon-button/src/{Component.stories.mdx => docs/description.mdx} (62%)
create mode 100644 packages/input-autocomplete/src/docs/Component.stories.mdx
rename packages/input-autocomplete/src/{Component.stories.mdx => docs/description.mdx} (71%)
create mode 100644 packages/input-autocomplete/src/docs/options.ts
rename packages/input/src/{ => docs}/Component.stories.mdx (77%)
create mode 100644 packages/input/src/docs/description.mdx
create mode 100644 packages/intl-phone-input/src/docs/Component.stories.mdx
rename packages/intl-phone-input/src/{component.stories.mdx => docs/description.mdx} (56%)
create mode 100644 packages/intl-phone-input/src/docs/options.ts
create mode 100644 packages/keyboard-focusable/src/docs/Component.stories.mdx
rename packages/keyboard-focusable/src/{Component.stories.mdx => docs/description.mdx} (69%)
create mode 100644 packages/link/src/docs/Component.stories.mdx
rename packages/link/src/{Component.stories.mdx => docs/description.mdx} (56%)
create mode 100644 packages/list-header/src/docs/Component.stories.mdx
rename packages/list-header/src/{Component.stories.mdx => docs/description.mdx} (59%)
rename packages/list/src/{ => docs}/Component.stories.mdx (69%)
create mode 100644 packages/list/src/docs/description.mdx
rename packages/loader/src/{ => docs}/Component.stories.mdx (60%)
create mode 100644 packages/loader/src/docs/description.mdx
create mode 100644 packages/masked-input/src/docs/Component.stories.mdx
create mode 100644 packages/masked-input/src/docs/constants.ts
rename packages/masked-input/src/{Component.stories.mdx => docs/description.mdx} (62%)
create mode 100644 packages/modal/src/docs/Component.stories.mdx
rename packages/modal/src/{Component.stories.mdx => docs/description.mdx} (66%)
create mode 100644 packages/mq/src/docs/Component.stories.mdx
rename packages/mq/src/{Component.stories.mdx => docs/description.mdx} (67%)
create mode 100644 packages/notification-manager/src/docs/Component.stories.mdx
rename packages/notification-manager/src/{component.stories.mdx => docs/description.mdx} (59%)
rename packages/notification/src/{ => docs}/Component.stories.mdx (53%)
create mode 100644 packages/notification/src/docs/description.mdx
rename packages/phone-input/src/{ => docs}/Component.stories.mdx (70%)
create mode 100644 packages/phone-input/src/docs/description.mdx
create mode 100644 packages/picker-button/src/docs/Component.stories.mdx
rename packages/picker-button/src/{Component.stories.mdx => docs/description.mdx} (73%)
create mode 100644 packages/picker-button/src/docs/options.ts
create mode 100644 packages/popover/src/docs/Component.stories.mdx
rename packages/popover/src/{Component.stories.mdx => docs/description.mdx} (64%)
create mode 100644 packages/portal/src/docs/Component.stories.mdx
rename packages/portal/src/{Component.stories.mdx => docs/description.mdx} (71%)
rename packages/progress-bar/src/{ => docs}/Component.stories.mdx (62%)
create mode 100644 packages/progress-bar/src/docs/description.mdx
rename packages/pure-input/src/{ => docs}/Component.stories.mdx (80%)
create mode 100644 packages/pure-input/src/docs/description.mdx
create mode 100644 packages/radio-group/src/docs/Component.stories.mdx
rename packages/radio-group/src/{Component.stories.mdx => docs/description.mdx} (59%)
rename packages/radio/src/{ => docs}/Component.stories.mdx (56%)
create mode 100644 packages/radio/src/docs/description.mdx
rename packages/select-with-tags/src/{component.stories.mdx => docs/Component.stories.mdx} (60%)
create mode 100644 packages/select-with-tags/src/docs/constants.ts
create mode 100644 packages/select-with-tags/src/docs/description.mdx
create mode 100644 packages/select/src/docs/Component.stories.mdx
create mode 100644 packages/select/src/docs/constants.ts
rename packages/select/src/{Component.stories.mdx => docs/description.mdx} (78%)
create mode 100644 packages/skeleton/src/docs/Component.stories.mdx
rename packages/skeleton/src/{Component.stories.mdx => docs/description.mdx} (54%)
create mode 100644 packages/slider-input/src/docs/Component.stories.mdx
rename packages/slider-input/src/{Component.stories.mdx => docs/description.mdx} (78%)
rename packages/slider/src/{ => docs}/Component.stories.mdx (76%)
create mode 100644 packages/slider/src/docs/description.mdx
create mode 100644 packages/space/src/docs/Component.stories.mdx
rename packages/space/src/{Component.stories.mdx => docs/description.mdx} (78%)
create mode 100644 packages/spinner/src/docs/Component.stories.mdx
rename packages/spinner/src/{Component.stories.mdx => docs/description.mdx} (61%)
create mode 100644 packages/stack/src/docs/Component.stories.mdx
rename packages/stack/src/{component.stories.mdx => docs/description.mdx} (91%)
create mode 100644 packages/status/src/docs/Component.stories.mdx
rename packages/status/src/{Component.stories.mdx => docs/description.mdx} (70%)
create mode 100644 packages/switch/src/docs/Component.stories.mdx
rename packages/switch/src/{Component.stories.mdx => docs/description.mdx} (65%)
create mode 100644 packages/tabs/src/docs/Component.stories.mdx
rename packages/tabs/src/{Component.stories.mdx => docs/description.mdx} (55%)
create mode 100644 packages/tag/src/docs/Component.stories.mdx
rename packages/tag/src/{Component.stories.mdx => docs/description.mdx} (53%)
rename packages/textarea/src/{ => docs}/Component.stories.mdx (79%)
rename packages/toast-plate/src/{component.stories.mdx => docs/Component.stories.mdx} (71%)
create mode 100644 packages/toast-plate/src/docs/description.mdx
create mode 100644 packages/tooltip/src/docs/Component.stories.mdx
rename packages/tooltip/src/{Component.stories.mdx => docs/description.mdx} (52%)
create mode 100644 packages/typography/src/docs/Component.stories.mdx
rename packages/typography/src/{component.stories.mdx => docs/description.mdx} (55%)
rename packages/vars/src/{vars.stories.mdx => Component.stories.mdx} (100%)
rename packages/with-suffix/src/{ => docs}/Component.stories.mdx (74%)
create mode 100644 packages/with-suffix/src/docs/description.mdx
diff --git a/packages/alert/src/Component.stories.mdx b/packages/alert/src/docs/Component.stories.mdx
similarity index 69%
rename from packages/alert/src/Component.stories.mdx
rename to packages/alert/src/docs/Component.stories.mdx
index 50d3f85fe9..2213790e77 100644
--- a/packages/alert/src/Component.stories.mdx
+++ b/packages/alert/src/docs/Component.stories.mdx
@@ -1,12 +1,14 @@
import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
import { select, text, boolean } from '@storybook/addon-knobs';
import { Container, Row, Col } from 'storybook/blocks/grid';
+import { Tabs } from 'storybook/blocks/tabs';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Alert } from './Component';
-import { Button } from '../../button/src';
+import { Alert } from '../Component';
+import { Button } from '../../../button/src';
+import Description from './description.mdx'
-import { name, version } from '../package.json';
+import { name, version } from '../../package.json';
- Вам одобрено. Согласитесь на предложение
-
-
-
+ }
+ props={ }
+/>
diff --git a/packages/alert/src/docs/description.mdx b/packages/alert/src/docs/description.mdx
new file mode 100644
index 0000000000..4de83886be
--- /dev/null
+++ b/packages/alert/src/docs/description.mdx
@@ -0,0 +1,7 @@
+Информирует пользователя о чем-либо. Может использоваться как сообщение, комментарий или предупреждение от системы.
+
+```tsx live
+
+ Вам одобрено. Согласитесь на предложение
+
+```
diff --git a/packages/amount-input/src/docs/Component.stories.mdx b/packages/amount-input/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..5a78278298
--- /dev/null
+++ b/packages/amount-input/src/docs/Component.stories.mdx
@@ -0,0 +1,64 @@
+import Icon from '@alfalab/icons-glyph/StarMIcon';
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { text, select, boolean, number } from '@storybook/addon-knobs';
+import { action } from '@storybook/addon-actions';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+
+import { AmountInput } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+ }
+ bottomAddons={boolean('bottomAddons', false) && bottom text }
+ onChange={action('change')}
+ clear={boolean('clear', false)}
+ readOnly={boolean('readOnly', false)}
+ />
+
+
+
+
+
+
+```tsx
+import { AmountInput } from '@alfalab/core-components-amount-input';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/amount-input/src/Component.stories.mdx b/packages/amount-input/src/docs/description.mdx
similarity index 53%
rename from packages/amount-input/src/Component.stories.mdx
rename to packages/amount-input/src/docs/description.mdx
index a886113bf4..b0dd94857f 100644
--- a/packages/amount-input/src/Component.stories.mdx
+++ b/packages/amount-input/src/docs/description.mdx
@@ -1,59 +1,7 @@
-import Icon from '@alfalab/icons-glyph/StarMIcon';
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { text, select, boolean, number } from '@storybook/addon-knobs';
-import { action } from '@storybook/addon-actions';
import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Preview } from '@storybook/addon-docs/blocks';
-import { AmountInput } from './Component';
-import { name, version } from '../package.json';
-
-
-
-
-
-
-
-
- }
- bottomAddons={boolean('bottomAddons', false) && bottom text }
- onChange={action('change')}
- clear={boolean('clear', false)}
- readOnly={boolean('readOnly', false)}
- />
-
-
-
-
-
-
-
-```tsx
-import { AmountInput } from '@alfalab/core-components-amount-input';
-```
+import { AmountInput } from '../Component';
Компонент текстового поля для ввода денежных значений.
@@ -62,9 +10,6 @@ import { AmountInput } from '@alfalab/core-components-amount-input';
-
-
-
### Uncontrolled-way
Можно ничего не передавать в компонент и реагировать на 'onChange'
diff --git a/packages/amount/src/component.stories.mdx b/packages/amount/src/component.stories.mdx
deleted file mode 100644
index b00009d254..0000000000
--- a/packages/amount/src/component.stories.mdx
+++ /dev/null
@@ -1,170 +0,0 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { text, select, boolean, number } from '@storybook/addon-knobs';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import { Amount } from '.';
-import { Typography } from '../../typography/src';
-import { getAllCurrencyCodes } from '@alfalab/utils';
-import { name, version } from '../package.json';
-
-
-
-
-
-
-
-
- {React.createElement(() => {
- const currencyCodes = getAllCurrencyCodes();
- const value = number('value', 12300);
- const currency = select('currency', currencyCodes, 'RUR');
- const minority = number('minority', 100);
- const view = select('view', ['default', 'withZeroMinorPart'], 'default');
- const className = select('className', '');
- const dataTestId = text('dataTestId', '');
- return (
-
-
- Amount
- Amount.Pure (Без стилей)
-
-
-
-
-
-
-
-
-
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { Amount } from '@alfalab/core-components-amount';
-```
-
-Компонент для отображения суммы, согласно гайдлайну:
-https://design.alfabank.ru/patterns/amount
-
-
-
-
-
-
-
-## Контекст использования
-
-
-
-- `view="withZeroMinorPart"`: показывает минорную часть, даже если её значение равно 0
-
-
-
-
-
-
- Значение
-
-
- 1234500
-
-
- 1234567
-
-
-
-
- view="default"
-
-
-
-
-
-
-
-
-
-
- view="withZeroMinorPart"
-
-
-
-
-
-
-
-
-
-
-
-
-- Внутри заголовка
-
-
-
-
-
-
-
-
-
-- Внутри параграфа
-
-
-
-
-
-
-
-
-
-- Внутри красного текста
-
-
-
-
-
-
-
-
-
-- Без стилей
-
-
-
-
-
-
-
-
diff --git a/packages/amount/src/docs/component.stories.mdx b/packages/amount/src/docs/component.stories.mdx
new file mode 100644
index 0000000000..ad9600ca8c
--- /dev/null
+++ b/packages/amount/src/docs/component.stories.mdx
@@ -0,0 +1,84 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { text, select, boolean, number } from '@storybook/addon-knobs';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+import { CssVars } from 'storybook/blocks/css-vars';
+
+import { Amount } from '../.';
+import { getAllCurrencyCodes } from '@alfalab/utils';
+import { name, version } from '../../package.json';
+import Description from './description.mdx'
+import styles from '!!raw-loader!../index.module.css';
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const currencyCodes = getAllCurrencyCodes();
+ const value = number('value', 12300);
+ const currency = select('currency', currencyCodes, 'RUR');
+ const minority = number('minority', 100);
+ const view = select('view', ['default', 'withZeroMinorPart'], 'default');
+ const className = select('className', '');
+ const dataTestId = text('dataTestId', '');
+ return (
+
+
+ Amount
+ Amount.Pure (Без стилей)
+
+
+
+
+
+
+
+
+
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { Amount } from '@alfalab/core-components-amount';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
\ No newline at end of file
diff --git a/packages/amount/src/docs/description.mdx b/packages/amount/src/docs/description.mdx
new file mode 100644
index 0000000000..79931f066f
--- /dev/null
+++ b/packages/amount/src/docs/description.mdx
@@ -0,0 +1,100 @@
+import { Container, Row, Col } from 'storybook/blocks/grid';
+
+import { Preview } from '@storybook/addon-docs/blocks';
+
+import { Typography } from '../../../typography/src';
+import { Amount } from '../.';
+
+Компонент для отображения суммы, согласно гайдлайну:
+https://design.alfabank.ru/patterns/amount
+
+
+
+
+
+
+## Контекст использования
+
+
+
+- `view="withZeroMinorPart"`: показывает минорную часть, даже если её значение равно 0
+
+
+
+
+
+
+ Значение
+
+
+ 1234500
+
+
+ 1234567
+
+
+
+
+ view="default"
+
+
+
+
+
+
+
+
+
+
+ view="withZeroMinorPart"
+
+
+
+
+
+
+
+
+
+
+
+
+- Внутри заголовка
+
+
+
+
+
+
+
+
+
+- Внутри параграфа
+
+
+
+
+
+
+
+
+
+- Внутри красного текста
+
+
+
+
+
+
+
+
+
+- Без стилей
+
+
+
+
+
+
+
+
diff --git a/packages/attach/src/Component.stories.mdx b/packages/attach/src/docs/Component.stories.mdx
similarity index 79%
rename from packages/attach/src/Component.stories.mdx
rename to packages/attach/src/docs/Component.stories.mdx
index e5cc3352fa..66ca04c91a 100644
--- a/packages/attach/src/Component.stories.mdx
+++ b/packages/attach/src/docs/Component.stories.mdx
@@ -1,9 +1,11 @@
import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
import { text, select, boolean, number } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
-import { Attach } from './Component';
-import { name, version } from '../package.json';
+import Description from './description.mdx';
+import { Attach } from '../Component';
+import { name, version } from '../../package.json';
+ }
+ props={ }
+/>
-
diff --git a/packages/attach/src/docs/description.mdx b/packages/attach/src/docs/description.mdx
new file mode 100644
index 0000000000..40c355421d
--- /dev/null
+++ b/packages/attach/src/docs/description.mdx
@@ -0,0 +1,5 @@
+import { Attach } from '../Component'
+
+Компонент прикрепления файлов.
+
+
\ No newline at end of file
diff --git a/packages/backdrop/src/Component.stories.mdx b/packages/backdrop/src/docs/Component.stories.mdx
similarity index 69%
rename from packages/backdrop/src/Component.stories.mdx
rename to packages/backdrop/src/docs/Component.stories.mdx
index e84adceabe..6b49980ae2 100644
--- a/packages/backdrop/src/Component.stories.mdx
+++ b/packages/backdrop/src/docs/Component.stories.mdx
@@ -2,9 +2,12 @@ import { Meta, Props, Preview, Story } from '@storybook/addon-docs/blocks';
import {boolean, select, text} from '@storybook/addon-knobs';
import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import { Backdrop } from './Component';
-import { version } from '../package.json';
+import { Tabs } from 'storybook/blocks/tabs'
+import { CssVars } from 'storybook/blocks/css-vars';
+import vars from '!!raw-loader!../vars.css';
+import { Backdrop } from '../Component';
+import { version } from '../../package.json';
+import Description from './description.mdx';
+ }
+ props={ }
+ cssProps={}
+/>
+
diff --git a/packages/backdrop/src/docs/description.mdx b/packages/backdrop/src/docs/description.mdx
new file mode 100644
index 0000000000..eaae1c7d48
--- /dev/null
+++ b/packages/backdrop/src/docs/description.mdx
@@ -0,0 +1,6 @@
+import { Container, Row, Col } from 'storybook/blocks/grid';
+
+import { Backdrop } from '../Component'
+
+Компонент для затемнения фона.
+Поддерживает все параметры из [CSSTransition](http://reactcommunity.org/react-transition-group/css-transition).
\ No newline at end of file
diff --git a/packages/badge/src/docs/Component.stories.mdx b/packages/badge/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..01e2709fcd
--- /dev/null
+++ b/packages/badge/src/docs/Component.stories.mdx
@@ -0,0 +1,77 @@
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
+import { select, number, boolean } from '@storybook/addon-knobs';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+import { CssVars } from 'storybook/blocks/css-vars';
+
+import { CheckmarkOnCircleMIcon } from '@alfalab/icons-glyph';
+import { AlertCircleMIcon } from '@alfalab/icons-glyph';
+import { CrossCircleMIcon } from '@alfalab/icons-glyph';
+import { StopCircleMIcon } from '@alfalab/icons-glyph';
+import { InformationCircleMIcon } from '@alfalab/icons-glyph';
+import { ClockMIcon } from '@alfalab/icons-glyph';
+
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { Badge } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const view = select('view', ['count', 'icon'], 'count');
+ const props = view === 'count' ?
+ {
+ view,
+ content: number('content', 1),
+ size: select('size', ['s', 'm', 'l'], 'm'),
+ } : {
+ view,
+ content: ,
+ visibleIconOutline: boolean('visibleIconOutline', false),
+ iconColor: select(
+ 'iconColor',
+ ['positive', 'attention', 'negative', 'tertiary', 'secondary', 'primary'],
+ 'positive'
+ )
+ }
+ return (
+
+
+
+ )
+ })}
+
+
+
+
+
+
+
+```tsx
+import { Badge } from '@alfalab/core-components-badge';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
\ No newline at end of file
diff --git a/packages/badge/src/Component.stories.mdx b/packages/badge/src/docs/description.mdx
similarity index 76%
rename from packages/badge/src/Component.stories.mdx
rename to packages/badge/src/docs/description.mdx
index 2ae2dbdef9..d5f5d0ed6e 100644
--- a/packages/badge/src/Component.stories.mdx
+++ b/packages/badge/src/docs/description.mdx
@@ -1,7 +1,5 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { select, number, boolean } from '@storybook/addon-knobs';
+import { Preview } from '@storybook/addon-docs/blocks';
import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
import { CheckmarkOnCircleMIcon } from '@alfalab/icons-glyph';
import { AlertCircleMIcon } from '@alfalab/icons-glyph';
@@ -10,61 +8,7 @@ import { StopCircleMIcon } from '@alfalab/icons-glyph';
import { InformationCircleMIcon } from '@alfalab/icons-glyph';
import { ClockMIcon } from '@alfalab/icons-glyph';
-import { Badge } from './Component';
-import { name, version } from '../package.json';
-
-
-
-
-
-
-
-
- {React.createElement(() => {
- const view = select('view', ['count', 'icon'], 'count');
- const props = view === 'count' ?
- {
- view,
- content: number('content', 1),
- size: select('size', ['s', 'm', 'l'], 'm'),
- } : {
- view,
- content: ,
- visibleIconOutline: boolean('visibleIconOutline', false),
- iconColor: select(
- 'iconColor',
- ['positive', 'attention', 'negative', 'tertiary', 'secondary', 'primary'],
- 'positive'
- )
- }
- return (
-
-
-
- )
- })}
-
-
-
-
-
-
-
-```tsx
-import { Badge } from '@alfalab/core-components-badge';
-```
+import { Badge } from '../Component'
Бывает двух видов: бейдж и стикер.
@@ -181,4 +125,3 @@ import { Badge } from '@alfalab/core-components-badge';
-
diff --git a/packages/bank-card/src/docs/Component.stories.mdx b/packages/bank-card/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..f7cd0566f2
--- /dev/null
+++ b/packages/bank-card/src/docs/Component.stories.mdx
@@ -0,0 +1,40 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, select } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { BankCard } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```tsx
+import { BankCard } from '@alfalab/core-components-bank-card';
+```
+
+ }
+ props={ }
+/>
diff --git a/packages/bank-card/src/Component.stories.mdx b/packages/bank-card/src/docs/description.mdx
similarity index 54%
rename from packages/bank-card/src/Component.stories.mdx
rename to packages/bank-card/src/docs/description.mdx
index 393c6b952f..f4d0dfcf73 100644
--- a/packages/bank-card/src/Component.stories.mdx
+++ b/packages/bank-card/src/docs/description.mdx
@@ -1,45 +1,11 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
-import { text, select } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import { BankCard } from './Component';
-import { name, version } from '../package.json';
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```tsx
+import { Preview } from '@storybook/addon-docs/blocks';
import { BankCard } from '@alfalab/core-components-bank-card';
-```
+
Компонент в виде карты для ввода номера карты или банковского счета.
-
-
-
### Controlled-way
Компонент может быть использован как controlled с помощью `onChange` и `value`:
diff --git a/packages/base-modal/src/Component.stories.mdx b/packages/base-modal/src/docs/Component.stories.mdx
similarity index 94%
rename from packages/base-modal/src/Component.stories.mdx
rename to packages/base-modal/src/docs/Component.stories.mdx
index f118776a91..165b670e1f 100644
--- a/packages/base-modal/src/Component.stories.mdx
+++ b/packages/base-modal/src/docs/Component.stories.mdx
@@ -1,10 +1,10 @@
import { Meta, Props, Preview, Story } from '@storybook/addon-docs/blocks';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Button } from '../../button/src';
+import { Button } from '../../../button/src';
-import { BaseModal } from './Component';
-import { version } from '../package.json';
+import { BaseModal } from '../Component';
+import { version } from '../../package.json';
+
+
+
+
+
+ {React.createElement(() => {
+ const [value, setValue] = React.useState(formatDate(new Date()));
+ const handleChange = (event, { value }) => setValue(value);
+ return (
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { CalendarInput } from '@alfalab/core-components-calendar-input';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
\ No newline at end of file
diff --git a/packages/calendar-input/src/Component.stories.mdx b/packages/calendar-input/src/docs/description.mdx
similarity index 61%
rename from packages/calendar-input/src/Component.stories.mdx
rename to packages/calendar-input/src/docs/description.mdx
index 9a7dddcc95..4f0967634d 100644
--- a/packages/calendar-input/src/Component.stories.mdx
+++ b/packages/calendar-input/src/docs/description.mdx
@@ -1,65 +1,9 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { action } from '@storybook/addon-actions';
-import { text, select, boolean, number } from '@storybook/addon-knobs';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import Icon from '@alfalab/icons-glyph/StarMIcon';
-
import { startOfMonth, startOfDay, subMonths, addMonths } from 'date-fns';
+import { Preview } from '@storybook/addon-docs/blocks';
-import { CalendarInput } from './Component';
-import { parseDateString, formatDate } from './utils';
-
-import { name, version } from '../package.json';
-
-import styles from './stories.module.css';
-
-
-
-
-
-
-
-
- {React.createElement(() => {
- const [value, setValue] = React.useState(formatDate(new Date()));
- const handleChange = (event, { value }) => setValue(value);
- return (
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { CalendarInput } from '@alfalab/core-components-calendar-input';
-```
+import { CalendarInput } from '../Component'
+import { parseDateString, formatDate } from '../utils';
+import styles from '../stories.module.css';
Компонент для ввода даты.
@@ -72,8 +16,6 @@ import { CalendarInput } from '@alfalab/core-components-calendar-input';
})}
-
-
### Controlled-way
diff --git a/packages/calendar-range/src/docs/Component.stories.mdx b/packages/calendar-range/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..a819103044
--- /dev/null
+++ b/packages/calendar-range/src/docs/Component.stories.mdx
@@ -0,0 +1,38 @@
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { CalendarRange } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+
+
+
+
+
+```tsx
+import { CalendarRange } from '@alfalab/core-components-calendar-range';
+```
+
+ }
+ props={ }
+/>
\ No newline at end of file
diff --git a/packages/calendar-range/src/Component.stories.mdx b/packages/calendar-range/src/docs/description.mdx
similarity index 77%
rename from packages/calendar-range/src/Component.stories.mdx
rename to packages/calendar-range/src/docs/description.mdx
index 9d16afd567..b37e70cb3c 100644
--- a/packages/calendar-range/src/Component.stories.mdx
+++ b/packages/calendar-range/src/docs/description.mdx
@@ -1,47 +1,15 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { action } from '@storybook/addon-actions';
+import { Preview } from '@storybook/addon-docs/blocks';
import { text, select, boolean, number } from '@storybook/addon-knobs';
+import { action } from '@storybook/addon-actions';
import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
import { startOfMonth, startOfDay, subMonths, addMonths } from 'date-fns';
+import { parseDateString } from '../../../calendar-input/src/utils';
-import { CalendarRange } from './Component';
-import { name, version } from '../package.json';
-
-import { parseDateString } from '../../calendar-input/src/utils';
-
-
-
-
-
-
-
-
-
-
-
-
-
-```tsx
-import { CalendarRange } from '@alfalab/core-components-calendar-range';
-```
+import { CalendarRange } from '../Component'
Компонент для ввода даты.
-
-
-
### Controlled-way
diff --git a/packages/calendar-with-skeleton/src/Component.stories.mdx b/packages/calendar-with-skeleton/src/Component.stories.mdx
deleted file mode 100644
index 1cb15944b3..0000000000
--- a/packages/calendar-with-skeleton/src/Component.stories.mdx
+++ /dev/null
@@ -1,91 +0,0 @@
-import { text, boolean } from '@storybook/addon-knobs';
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import { CalendarWithSkeleton } from '.';
-import { name, version } from '../package.json';
-
-import { CalendarInput } from '../../calendar-input/src';
-import { CalendarRange } from '../../calendar-range/src';
-import { Button } from '../../button/src';
-
-
-
-
-
-
-
-
- {React.createElement(() => {
- const [visible, setVisible] = React.useState(false);
- return (
- <>
-
- setVisible(!visible)}>toggle
- >
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { CalendarWithSkeleton } from '@alfalab/core-components-calendar-with-skeleton';
-```
-
-Календарь с возможностью скелетной загрузки
-
-
- {React.createElement(() => {
- const [visible, setVisible] = React.useState(false);
- return (
- <>
-
- setVisible(!visible)}>toggle
- >
- );
- })}
-
-
-
-
-## Использование с другими компонентами
-
-
- {React.createElement(() => {
- return (
-
- );
- })}
-
-
-
- {React.createElement(() => {
- return (
-
- );
- })}
-
diff --git a/packages/calendar-with-skeleton/src/docs/Component.stories.mdx b/packages/calendar-with-skeleton/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..cdb7567130
--- /dev/null
+++ b/packages/calendar-with-skeleton/src/docs/Component.stories.mdx
@@ -0,0 +1,51 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import styles from '!!raw-loader!../index.module.css';
+import Description from './description.mdx';
+import { name, version } from '../../package.json';
+import { Button } from '../../../button/src';
+import { CalendarWithSkeleton } from '../.';
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const [visible, setVisible] = React.useState(false);
+ return (
+ <>
+
+ setVisible(!visible)}>toggle
+ >
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { CalendarWithSkeleton } from '@alfalab/core-components-calendar-with-skeleton';
+```
+
+ }
+ props={ }
+/>
\ No newline at end of file
diff --git a/packages/calendar-with-skeleton/src/docs/description.mdx b/packages/calendar-with-skeleton/src/docs/description.mdx
new file mode 100644
index 0000000000..95b4baabc1
--- /dev/null
+++ b/packages/calendar-with-skeleton/src/docs/description.mdx
@@ -0,0 +1,50 @@
+import { text, boolean } from '@storybook/addon-knobs';
+import { Preview } from '@storybook/addon-docs/blocks';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+
+import { CalendarInput } from '../../../calendar-input/src';
+import { CalendarRange } from '../../../calendar-range/src';
+import { CalendarWithSkeleton } from '../Component';
+
+Календарь с возможностью скелетной загрузки
+
+
+ {React.createElement(() => {
+ const [visible, setVisible] = React.useState(false);
+ return (
+ <>
+
+ setVisible(!visible)}>toggle
+ >
+ );
+ })}
+
+
+
+
+## Использование с другими компонентами
+
+
+ {React.createElement(() => {
+ return (
+
+ );
+ })}
+
+
+
+ {React.createElement(() => {
+ return (
+
+ );
+ })}
+
diff --git a/packages/calendar/src/docs/Component.stories.mdx b/packages/calendar/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..8abd32b40d
--- /dev/null
+++ b/packages/calendar/src/docs/Component.stories.mdx
@@ -0,0 +1,61 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { action } from '@storybook/addon-actions';
+import { select, number } from '@storybook/addon-knobs';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+import { CssVars } from 'storybook/blocks/css-vars';
+import styles from '!!raw-loader!../index.module.css';
+import vars from '!!raw-loader!../vars.css';
+
+import Description from './description.mdx';
+import { Calendar } from '../';
+
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const [value, setValue] = React.useState();
+ return (
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { Calendar } from '@alfalab/core-components-calendar';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
+
diff --git a/packages/calendar/src/Component.stories.mdx b/packages/calendar/src/docs/description.mdx
similarity index 76%
rename from packages/calendar/src/Component.stories.mdx
rename to packages/calendar/src/docs/description.mdx
index 17b864cab0..ae290e2df2 100644
--- a/packages/calendar/src/Component.stories.mdx
+++ b/packages/calendar/src/docs/description.mdx
@@ -1,58 +1,8 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { action } from '@storybook/addon-actions';
-import { select, number } from '@storybook/addon-knobs';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
import startOfDay from 'date-fns/startOfDay';
+import { Preview } from '@storybook/addon-docs/blocks';
-import { Calendar } from './';
-import { usePeriod } from './usePeriod';
-
-import { name, version } from '../package.json';
-
-
-
-
-
-
-
-
- {React.createElement(() => {
- const [value, setValue] = React.useState();
- return (
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { Calendar } from '@alfalab/core-components-calendar';
-```
-
-
-
+import { Calendar } from '../Component';
+import { usePeriod } from '../usePeriod';
## Выбор даты из ограниченного интервала
diff --git a/packages/card-image/src/Component.stories.mdx b/packages/card-image/src/docs/Component.stories.mdx
similarity index 62%
rename from packages/card-image/src/Component.stories.mdx
rename to packages/card-image/src/docs/Component.stories.mdx
index 8d744892d3..99fb837882 100644
--- a/packages/card-image/src/Component.stories.mdx
+++ b/packages/card-image/src/docs/Component.stories.mdx
@@ -1,9 +1,13 @@
import { Meta, Story, Props, Preview, Title } from '@storybook/addon-docs/blocks';
import { text, boolean, number } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+import { CssVars } from 'storybook/blocks/css-vars';
-import { CardImage } from './Component';
-import { name, version } from '../package.json';
+import styles from '!!raw-loader!../index.module.css';
+import Description from './description.mdx';
+import { CardImage } from '../Component';
+import { name, version } from '../../package.json';
-
-
+ }
+ props={ }
+ cssVars={ }
+/>
\ No newline at end of file
diff --git a/packages/card-image/src/docs/description.mdx b/packages/card-image/src/docs/description.mdx
new file mode 100644
index 0000000000..387f68edc8
--- /dev/null
+++ b/packages/card-image/src/docs/description.mdx
@@ -0,0 +1,17 @@
+import { CardImage } from '../Component'
+
+## Описание
+
+Компонент изображения карты.
+
+Показывает прелоадер пока картинка не загрузится (переопределяется через переменную --card-image-background)
+
+
\ No newline at end of file
diff --git a/packages/cdn-icon/src/Component.stories.mdx b/packages/cdn-icon/src/docs/Component.stories.mdx
similarity index 71%
rename from packages/cdn-icon/src/Component.stories.mdx
rename to packages/cdn-icon/src/docs/Component.stories.mdx
index deb5a6f3c2..cfd4aed142 100644
--- a/packages/cdn-icon/src/Component.stories.mdx
+++ b/packages/cdn-icon/src/docs/Component.stories.mdx
@@ -1,8 +1,10 @@
import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
-import { CDNIcon } from './Component';
-import { version } from '../package.json';
+import Description from './description.mdx';
+import { CDNIcon } from '../Component';
+import { version } from '../../package.json';
-
-
-
+ }
+ props={ }
+/>
\ No newline at end of file
diff --git a/packages/cdn-icon/src/docs/description.mdx b/packages/cdn-icon/src/docs/description.mdx
new file mode 100644
index 0000000000..2a275a7e0b
--- /dev/null
+++ b/packages/cdn-icon/src/docs/description.mdx
@@ -0,0 +1,5 @@
+import { CDNIcon } from '../Component'
+
+Компонент иконки, которая запрашивается с сервера.
+
+
diff --git a/packages/checkbox-group/src/Component.stories.mdx b/packages/checkbox-group/src/Component.stories.mdx
deleted file mode 100644
index d06d32e021..0000000000
--- a/packages/checkbox-group/src/Component.stories.mdx
+++ /dev/null
@@ -1,112 +0,0 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
-import { text, boolean, select } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import { CheckboxGroup } from './Component';
-import { name, version } from '../package.json';
-import { Checkbox } from '../../checkbox/src';
-import { Tag } from '../../tag/src';
-
-
-
-
-
-
-
-
- {React.createElement(() => {
- const [value, setValue] = React.useState({ one: false, two: false, three: false });
- const onChange = (_, payload) => {
- setValue({ ...value, [payload.name]: payload.checked });
- };
- const direction = select('direction', ['vertical', 'horizontal'], 'vertical');
- const error = text('error', '');
- const disabled = boolean('disabled', false);
- const label = text('label', 'Заголовок группы');
- return (
-
-
-
-
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { CheckboxGroup } from '@alfalab/core-components-checkbox-group';
-```
-
-Компонент группы чекбоксов.
-
-
- {React.createElement(() => {
- const [value, setValue] = React.useState({ one: false, two: false, three: false });
- const onChange = (_, payload) => {
- setValue({ ...value, [payload.name]: payload.checked });
- };
- return (
-
-
-
-
-
- );
- })}
-
-
-
-
-
-
-### Группа чекбоксов, использующая компонент `Tag`
-
-
- {React.createElement(() => {
- const [value, setValue] = React.useState({ one: false, two: false, three: false });
- const onChange = (_, payload) => {
- setValue({ ...value, [payload.name]: payload.checked });
- };
- return (
-
-
- Первый вариант
-
-
- Второй вариант
-
-
- Третий вариант
-
-
- );
- })}
-
diff --git a/packages/checkbox-group/src/docs/Component.stories.mdx b/packages/checkbox-group/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..64c2f625f0
--- /dev/null
+++ b/packages/checkbox-group/src/docs/Component.stories.mdx
@@ -0,0 +1,65 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, boolean, select } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { CheckboxGroup } from '../Component';
+import { name, version } from '../../package.json';
+import { Checkbox } from '../../../checkbox/src';
+import { Tag } from '../../../tag/src';
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const [value, setValue] = React.useState({ one: false, two: false, three: false });
+ const onChange = (_, payload) => {
+ setValue({ ...value, [payload.name]: payload.checked });
+ };
+ const direction = select('direction', ['vertical', 'horizontal'], 'vertical');
+ const error = text('error', '');
+ const disabled = boolean('disabled', false);
+ const label = text('label', 'Заголовок группы');
+ return (
+
+
+
+
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { CheckboxGroup } from '@alfalab/core-components-checkbox-group';
+```
+
+ }
+ props={ }
+/>
\ No newline at end of file
diff --git a/packages/checkbox-group/src/docs/description.mdx b/packages/checkbox-group/src/docs/description.mdx
new file mode 100644
index 0000000000..37a8f59641
--- /dev/null
+++ b/packages/checkbox-group/src/docs/description.mdx
@@ -0,0 +1,55 @@
+import { Preview } from '@storybook/addon-docs/blocks';
+
+import { CheckboxGroup } from '../Component';
+import { Checkbox } from '../../../checkbox/src';
+import { Tag } from '../../../tag/src';
+
+Компонент группы чекбоксов.
+
+
+ {React.createElement(() => {
+ const [value, setValue] = React.useState({ one: false, two: false, three: false });
+ const onChange = (_, payload) => {
+ setValue({ ...value, [payload.name]: payload.checked });
+ };
+ return (
+
+
+
+
+
+ );
+ })}
+
+
+### Группа чекбоксов, использующая компонент `Tag`
+
+
+ {React.createElement(() => {
+ const [value, setValue] = React.useState({ one: false, two: false, three: false });
+ const onChange = (_, payload) => {
+ setValue({ ...value, [payload.name]: payload.checked });
+ };
+ return (
+
+
+ Первый вариант
+
+
+ Второй вариант
+
+
+ Третий вариант
+
+
+ );
+ })}
+
diff --git a/packages/checkbox/src/Component.stories.mdx b/packages/checkbox/src/docs/Component.stories.mdx
similarity index 61%
rename from packages/checkbox/src/Component.stories.mdx
rename to packages/checkbox/src/docs/Component.stories.mdx
index d91c8fc7b7..20b062462f 100644
--- a/packages/checkbox/src/Component.stories.mdx
+++ b/packages/checkbox/src/docs/Component.stories.mdx
@@ -1,9 +1,13 @@
import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, boolean, select } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+import { CssVars } from 'storybook/blocks/css-vars';
+import styles from '!!raw-loader!../index.module.css';
-import { Checkbox } from './Component';
-import { name, version } from '../package.json';
+import Description from './description.mdx';
+import { Checkbox } from '../Component';
+import { name, version } from '../../package.json';
- {React.createElement(() => {
- const [checked, setChecked] = React.useState(false);
- const handleChange = () => setChecked(!checked);
- return (
-
- );
- })}
-
-
-
-
-
-
-### Чекбокс c неопределенным (indeterminate) состоянием
-
-
- {React.createElement(() => {
- const [checked, setChecked] = React.useState(false);
- const handleChange = () => setChecked(!checked);
- return (
-
- );
- })}
-
+ }
+ props={ }
+ cssVars={ }
+/>
\ No newline at end of file
diff --git a/packages/checkbox/src/docs/description.mdx b/packages/checkbox/src/docs/description.mdx
new file mode 100644
index 0000000000..f0bfec97d2
--- /dev/null
+++ b/packages/checkbox/src/docs/description.mdx
@@ -0,0 +1,36 @@
+import { Preview } from '@storybook/addon-docs/blocks';
+import { Checkbox } from '../Component';
+
+Компонент чекбокса.
+
+
+ {React.createElement(() => {
+ const [checked, setChecked] = React.useState(false);
+ const handleChange = () => setChecked(!checked);
+ return (
+
+ );
+ })}
+
+
+### Чекбокс c неопределенным (indeterminate) состоянием
+
+
+ {React.createElement(() => {
+ const [checked, setChecked] = React.useState(false);
+ const handleChange = () => setChecked(!checked);
+ return (
+
+ );
+ })}
+
diff --git a/packages/circular-progress-bar/src/Component.stories.mdx b/packages/circular-progress-bar/src/docs/Component.stories.mdx
similarity index 82%
rename from packages/circular-progress-bar/src/Component.stories.mdx
rename to packages/circular-progress-bar/src/docs/Component.stories.mdx
index 55a79d1839..683af39aff 100644
--- a/packages/circular-progress-bar/src/Component.stories.mdx
+++ b/packages/circular-progress-bar/src/docs/Component.stories.mdx
@@ -1,9 +1,14 @@
import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, select, number } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+import { CssVars } from 'storybook/blocks/css-vars';
+import styles from '!!raw-loader!../index.module.css';
-import { name, version } from '../package.json';
-import { CircularProgressBar } from './Component';
+import Description from './description.mdx';
+
+import { name, version } from '../../package.json';
+import { CircularProgressBar } from '../Component';
-
-
-
+ }
+ props={ }
+ cssVars={ }
+/>
\ No newline at end of file
diff --git a/packages/circular-progress-bar/src/docs/description.mdx b/packages/circular-progress-bar/src/docs/description.mdx
new file mode 100644
index 0000000000..1b97c8324b
--- /dev/null
+++ b/packages/circular-progress-bar/src/docs/description.mdx
@@ -0,0 +1,5 @@
+import { CircularProgressBar } from '../Component'
+
+Отображает круговой индикатор прогресса (0-100%).
+
+
diff --git a/packages/collapse/src/docs/Component.stories.mdx b/packages/collapse/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..6ee0df898b
--- /dev/null
+++ b/packages/collapse/src/docs/Component.stories.mdx
@@ -0,0 +1,48 @@
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { Collapse } from '../Component';
+import { Button } from '../../../button/src';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+ Альфа-Банк, основанный в 1990 году, является универсальным банком,
+ осуществляющим все основные виды банковских операций, представленных
+ на рынке финансовых услуг, включая обслуживание частных и корпоративных
+ клиентов, инвестиционный банковский бизнес, торговое финансирование и т.д.
+
+
+
+
+
+
+
+
+```tsx
+import { Collapse } from '@alfalab/core-components-collase';
+```
+
+ }
+ props={ }
+/>
\ No newline at end of file
diff --git a/packages/collapse/src/Component.stories.mdx b/packages/collapse/src/docs/description.mdx
similarity index 62%
rename from packages/collapse/src/Component.stories.mdx
rename to packages/collapse/src/docs/description.mdx
index 4fe15efdac..2876a1c28c 100644
--- a/packages/collapse/src/Component.stories.mdx
+++ b/packages/collapse/src/docs/description.mdx
@@ -1,49 +1,10 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Preview } from '@storybook/addon-docs/blocks';
-import { Collapse } from './Component';
-import { Button } from '../../button/src';
-import { name, version } from '../package.json';
-
-
-
-
-
-
-
-
- Альфа-Банк, основанный в 1990 году, является универсальным банком,
- осуществляющим все основные виды банковских операций, представленных
- на рынке финансовых услуг, включая обслуживание частных и корпоративных
- клиентов, инвестиционный банковский бизнес, торговое финансирование и т.д.
-
-
-
-
-
-
-
-
-```tsx
-import { Collapse } from '@alfalab/core-components-collase';
-```
+import { Collapse } from '../Component';
+import { Button } from '../../../button/src';
Компонент «подката» позволяет спрятать кусок текста за ссылку «Еще...».
-
-
### Стандартный Collapse
diff --git a/packages/confirmation/src/component.stories.mdx b/packages/confirmation/src/docs/Component.stories.mdx
similarity index 93%
rename from packages/confirmation/src/component.stories.mdx
rename to packages/confirmation/src/docs/Component.stories.mdx
index 9be58d6b95..93bdfad96d 100644
--- a/packages/confirmation/src/component.stories.mdx
+++ b/packages/confirmation/src/docs/Component.stories.mdx
@@ -2,10 +2,12 @@ import { useState } from 'react';
import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, select, number, boolean } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
-import { Confirmation } from './component';
-import { name, version } from '../package.json';
-import { Select } from '../../select/src/Component';
+import Description from './description.mdx';
+import { Confirmation } from '../component';
+import { name, version } from '../../package.json';
+import { Select } from '../../../select/src/Component';
+ }
+ props={ }
+/>
\ No newline at end of file
diff --git a/packages/confirmation/src/docs/description.mdx b/packages/confirmation/src/docs/description.mdx
new file mode 100644
index 0000000000..87715f7cbd
--- /dev/null
+++ b/packages/confirmation/src/docs/description.mdx
@@ -0,0 +1 @@
+Компонент подтверждения операции по коду.
\ No newline at end of file
diff --git a/packages/divider/src/Component.stories.mdx b/packages/divider/src/docs/Component.stories.mdx
similarity index 54%
rename from packages/divider/src/Component.stories.mdx
rename to packages/divider/src/docs/Component.stories.mdx
index bc11a7455e..dd6ea392a2 100644
--- a/packages/divider/src/Component.stories.mdx
+++ b/packages/divider/src/docs/Component.stories.mdx
@@ -1,8 +1,10 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
-import { Divider } from './Component';
-import { name, version } from '../package.json';
+import Description from './description.mdx';
+import { Divider } from '../Component';
+import { name, version } from '../../package.json';
-
-
-
-
-
+ }
+ props={ }
+/>
\ No newline at end of file
diff --git a/packages/divider/src/docs/description.mdx b/packages/divider/src/docs/description.mdx
new file mode 100644
index 0000000000..b07f203724
--- /dev/null
+++ b/packages/divider/src/docs/description.mdx
@@ -0,0 +1,13 @@
+import { Preview } from '@storybook/addon-docs/blocks';
+
+import { Divider } from '../Component';
+
+Создаёт горизонтальную разделительную линию.
+
+
+
+
diff --git a/packages/drawer/src/docs/Component.stories.mdx b/packages/drawer/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..ec5da4aac9
--- /dev/null
+++ b/packages/drawer/src/docs/Component.stories.mdx
@@ -0,0 +1,62 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { action } from '@storybook/addon-actions';
+import { text, select, boolean } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description, { ContentWrapper, Content } from './description.mdx';
+import { Button } from '../../../button/src';
+import { Typography } from '../../../typography/src';
+import { Drawer } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const [open, setOpen] = React.useState(false);
+ const handleModalOpen = () => setOpen(!open);
+ return (
+
+ Open Drawer
+
+
+
+
+
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { Drawer } from '@alfalab/core-components-drawer';
+```
+
+ }
+ props={ }
+/>
\ No newline at end of file
diff --git a/packages/drawer/src/Component.stories.mdx b/packages/drawer/src/docs/description.mdx
similarity index 72%
rename from packages/drawer/src/Component.stories.mdx
rename to packages/drawer/src/docs/description.mdx
index 089652436f..83fb6a154d 100644
--- a/packages/drawer/src/Component.stories.mdx
+++ b/packages/drawer/src/docs/description.mdx
@@ -1,23 +1,56 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { action } from '@storybook/addon-actions';
-import { text, select, boolean } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Preview } from '@storybook/addon-docs/blocks';
+import { Drawer, DrawerContext } from '../Component';
+import { Button } from '../../../button/src';
-import { Button } from '../../button/src';
-import { Typography } from '../../typography/src';
+## Компонент Drawer
-import { Drawer, DrawerContext } from './Component';
+Компонент, представляющим собой заготовку для реализации сайд-панелей. В основе компонента лежит `BaseModal`.
-import { name, version } from '../package.json';
+
+ {React.createElement(() => {
+ const [open, setOpen] = React.useState(false);
+ const handleModalOpen = () => setOpen(!open);
+ return (
+
+ Open Drawer
+
+
+
+
+
+
+ );
+ })}
+
-
+## Кастомные шапка и футер
+
+
+ {React.createElement(() => {
+ const [open, setOpen] = React.useState(false);
+ const handleModalOpen = () => setOpen(!open);
+ return (
+
+ Open Drawer
+
+
+
+
+
+
+
+
+ );
+ })}
+
-
export const Header = () => {
const { headerHighlighted, onClose, setHasHeader } = React.useContext(DrawerContext);
@@ -94,92 +127,4 @@ export const Content = () => {
>
);
-};
-
-
- {React.createElement(() => {
- const [open, setOpen] = React.useState(false);
- const handleModalOpen = () => setOpen(!open);
- return (
-
- Open Drawer
-
-
-
-
-
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { Drawer } from '@alfalab/core-components-drawer';
-```
-
-## Компонент Drawer
-
-Компонент, представляющим собой заготовку для реализации сайд-панелей. В основе компонента лежит `BaseModal`.
-
-
-
-
- {React.createElement(() => {
- const [open, setOpen] = React.useState(false);
- const handleModalOpen = () => setOpen(!open);
- return (
-
- Open Drawer
-
-
-
-
-
-
- );
- })}
-
-
-
-## Кастомные шапка и футер
-
-
- {React.createElement(() => {
- const [open, setOpen] = React.useState(false);
- const handleModalOpen = () => setOpen(!open);
- return (
-
- Open Drawer
-
-
-
-
-
-
-
-
- );
- })}
-
-
+};
\ No newline at end of file
diff --git a/packages/dropzone/src/docs/Component.stories.mdx b/packages/dropzone/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..306021b93b
--- /dev/null
+++ b/packages/dropzone/src/docs/Component.stories.mdx
@@ -0,0 +1,48 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { boolean } from '@storybook/addon-knobs';
+import { action } from '@storybook/addon-actions';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description, { Container } from './description.mdx';
+import { Dropzone } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+
+ children
+
+
+
+
+
+
+
+
+
+```tsx
+import { Dropzone } from '@alfalab/core-components-dropzone';
+```
+
+ }
+ props={ }
+/>
\ No newline at end of file
diff --git a/packages/dropzone/src/Component.stories.mdx b/packages/dropzone/src/docs/description.mdx
similarity index 54%
rename from packages/dropzone/src/Component.stories.mdx
rename to packages/dropzone/src/docs/description.mdx
index 91e4e6a1d3..b5f59dff5a 100644
--- a/packages/dropzone/src/Component.stories.mdx
+++ b/packages/dropzone/src/docs/description.mdx
@@ -1,63 +1,10 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { boolean } from '@storybook/addon-knobs';
-import { action } from '@storybook/addon-actions';
-import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Preview } from '@storybook/addon-docs/blocks';
+import { Dropzone } from '../Component';
-import { Dropzone } from './Component';
-import { name, version } from '../package.json';
-
-
-
-export const Container = ({ children }) => (
-
- {children}
-
-);
-
-
-
-
-
-
- children
-
-
-
-
-
-
-
-
-
-```tsx
-import { Dropzone } from '@alfalab/core-components-dropzone';
-```
Компонент drag-and-drop контейнер для прикрепления файлов.
-
-
-
{React.createElement(() => {
const [filesList, setFilesList] = React.useState([]);
@@ -83,3 +30,16 @@ import { Dropzone } from '@alfalab/core-components-dropzone';
);
})}
+
+export const Container = ({ children }) => (
+
+ {children}
+
+);
diff --git a/packages/file-upload-item/src/docs/Component.stories.mdx b/packages/file-upload-item/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..7f7046aa8c
--- /dev/null
+++ b/packages/file-upload-item/src/docs/Component.stories.mdx
@@ -0,0 +1,51 @@
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
+import { text, number, select, boolean } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { FileUploadItem } from '../Component';
+
+import { version } from '../../package.json';
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```tsx
+import { FileUploadItem } from '@alfalab/core-components-file-upload-item';
+```
+
+ }
+ props={ }
+/>
\ No newline at end of file
diff --git a/packages/file-upload-item/src/Component.stories.mdx b/packages/file-upload-item/src/docs/description.mdx
similarity index 56%
rename from packages/file-upload-item/src/Component.stories.mdx
rename to packages/file-upload-item/src/docs/description.mdx
index 051abe782b..2cb97a435d 100644
--- a/packages/file-upload-item/src/Component.stories.mdx
+++ b/packages/file-upload-item/src/docs/description.mdx
@@ -1,47 +1,7 @@
-import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
-import { text, number, select, boolean } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import { FileUploadItem } from './Component';
+import { Preview } from '@storybook/addon-docs/blocks';
+import { FileUploadItem } from '../Component';
-import { version } from '../package.json';
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```tsx
-import { FileUploadItem } from '@alfalab/core-components-file-upload-item';
-```
Компонент иконки, которая запрашивается с сервера.
@@ -107,5 +67,3 @@ import { FileUploadItem } from '@alfalab/core-components-file-upload-item';
-
-
diff --git a/packages/form-control/src/Component.stories.mdx b/packages/form-control/src/docs/Component.stories.mdx
similarity index 76%
rename from packages/form-control/src/Component.stories.mdx
rename to packages/form-control/src/docs/Component.stories.mdx
index e6db2311b7..bbfc02bec0 100644
--- a/packages/form-control/src/Component.stories.mdx
+++ b/packages/form-control/src/docs/Component.stories.mdx
@@ -2,9 +2,13 @@ import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, select, boolean } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import Icon from '@alfalab/icons-glyph/StarMIcon';
+import { Tabs } from 'storybook/blocks/tabs';
+import { CssVars } from 'storybook/blocks/css-vars';
-import { FormControl } from './Component';
-import { name, version } from '../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { FormControl } from '../Component';
+import { name, version } from '../../package.json';
-
-
-
+
}
+ props={
}
+ cssVars={
}
+/>
diff --git a/packages/form-control/src/docs/description.mdx b/packages/form-control/src/docs/description.mdx
new file mode 100644
index 0000000000..65849f26a3
--- /dev/null
+++ b/packages/form-control/src/docs/description.mdx
@@ -0,0 +1,6 @@
+import { FormControl } from '../Component';
+
+Базовый компонент для построения полей ввода — input, textarea, select и др.
+
+
+
diff --git a/packages/grid/src/docs/Component.stories.mdx b/packages/grid/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..14e1eb14fd
--- /dev/null
+++ b/packages/grid/src/docs/Component.stories.mdx
@@ -0,0 +1,56 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { Grid } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const style = {
+ height: 30,
+ background: '#ff5c5c'
+ };
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { Grid } from '@alfalab/core-components-grid';
+```
+
+
}
+ props={
}
+/>
diff --git a/packages/grid/src/Component.stories.mdx b/packages/grid/src/docs/description.mdx
similarity index 91%
rename from packages/grid/src/Component.stories.mdx
rename to packages/grid/src/docs/description.mdx
index 8338cd94aa..40266ad800 100644
--- a/packages/grid/src/Component.stories.mdx
+++ b/packages/grid/src/docs/description.mdx
@@ -1,54 +1,8 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Preview } from '@storybook/addon-docs/blocks';
-import { Grid } from './Component';
-import { name, version } from '../package.json';
+import { Grid } from '../Component';
-
-
-
-
-
-
- {React.createElement(() => {
- const style = {
- height: 30,
- background: '#ff5c5c'
- };
- return (
-
-
-
-
-
-
-
-
-
-
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { Grid } from '@alfalab/core-components-grid';
-```
-
Компонент грид, который включает в себя Row и Col.
## Grid.Row
@@ -394,5 +348,3 @@ import { Grid } from '@alfalab/core-components-grid';
);
})}
-
-
diff --git a/packages/icon-button/src/docs/Component.stories.mdx b/packages/icon-button/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..e2d9e51cfa
--- /dev/null
+++ b/packages/icon-button/src/docs/Component.stories.mdx
@@ -0,0 +1,71 @@
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
+import { select, boolean } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+
+import { StarMIcon } from '@alfalab/icons-glyph/StarMIcon';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import defaultStyles from '!!raw-loader!../default.module.css';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { IconButton } from '../Component';
+
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const colors = select('colors', ['default', 'inverted'], 'default');
+ return (
+
+
+
+ )
+ })}
+
+
+
+
+
+
+
+```tsx
+import { IconButton } from '@alfalab/core-components-icon-button';
+```
+
+
+
}
+ props={
}
+ cssVars={
}
+/>
+
+
diff --git a/packages/icon-button/src/Component.stories.mdx b/packages/icon-button/src/docs/description.mdx
similarity index 62%
rename from packages/icon-button/src/Component.stories.mdx
rename to packages/icon-button/src/docs/description.mdx
index 767bbf51e7..38d8b0785e 100644
--- a/packages/icon-button/src/Component.stories.mdx
+++ b/packages/icon-button/src/docs/description.mdx
@@ -1,62 +1,11 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { select, boolean } from '@storybook/addon-knobs';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Preview } from '@storybook/addon-docs/blocks';
+import { Container, Row, Col } from 'storybook/blocks/grid';
import { StarMIcon } from '@alfalab/icons-glyph/StarMIcon';
import { BankAlfaXxlBlackIcon } from '@alfalab/icons-classic/BankAlfaXxlBlackIcon';
-import { IconButton } from './Component';
-
-import { name, version } from '../package.json';
-
-
-
-
-
-
-
-
- {React.createElement(() => {
- const colors = select('colors', ['default', 'inverted'], 'default');
- return (
-
-
-
- )
- })}
-
-
-
-
-
-
-
-```tsx
-import { IconButton } from '@alfalab/core-components-icon-button';
-```
+import { IconButton } from '../Component';
+
### Размеры
diff --git a/packages/input-autocomplete/src/docs/Component.stories.mdx b/packages/input-autocomplete/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..4dbc0ffa06
--- /dev/null
+++ b/packages/input-autocomplete/src/docs/Component.stories.mdx
@@ -0,0 +1,80 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { text, select, boolean } from '@storybook/addon-knobs';
+import { action } from '@storybook/addon-actions';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import { Tag } from '@alfalab/core-components-tag';
+import { Input } from '@alfalab/core-components-input';
+import { MaskedInput } from '@alfalab/core-components-masked-input';
+import { Arrow, Option } from '@alfalab/core-components-select';
+
+import Description from './description.mdx';
+import { InputAutocomplete } from '../Component';
+import { name, version } from '../../package.json';
+import { options, matchOption } from './options'
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const [value, setValue] = React.useState('');
+ const handleInput = event => {
+ setValue(event.target.value);
+ };
+ const handleChange = ({ selected }) => {
+ setValue(selected ? selected.key : '');
+ };
+ const filteredOptions = options.filter(option => matchOption(option, value));
+ return (
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { InputAutocomplete } from '@alfalab/core-components-input-autocomplete';
+```
+
+
}
+ props={
}
+/>
\ No newline at end of file
diff --git a/packages/input-autocomplete/src/Component.stories.mdx b/packages/input-autocomplete/src/docs/description.mdx
similarity index 71%
rename from packages/input-autocomplete/src/Component.stories.mdx
rename to packages/input-autocomplete/src/docs/description.mdx
index 4416c8db44..901c73eb1b 100644
--- a/packages/input-autocomplete/src/Component.stories.mdx
+++ b/packages/input-autocomplete/src/docs/description.mdx
@@ -1,96 +1,12 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { text, select, boolean } from '@storybook/addon-knobs';
-import { action } from '@storybook/addon-actions';
+import { Preview } from '@storybook/addon-docs/blocks';
import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tag } from '@alfalab/core-components-tag';
-import { Input } from '@alfalab/core-components-input';
import { MaskedInput } from '@alfalab/core-components-masked-input';
import { Arrow, Option } from '@alfalab/core-components-select';
-import { InputAutocomplete } from './Component';
-import { name, version } from '../package.json';
-
-export const options = [
- { key: 'Neptunium', content: 'Neptunium' },
- { key: 'Plutonium', content: 'Plutonium' },
- { key: 'Americium', content: 'Americium' },
- { key: 'Curium', content: 'Curium' },
- { key: 'Berkelium', content: 'Berkelium' },
- { key: 'Californium', content: 'Californium' },
- { key: 'Einsteinium', content: 'Einsteinium' },
- { key: 'Fermium', content: 'Fermium' },
- { key: 'Mendelevium', content: 'Mendelevium' },
- { key: 'Nobelium', content: 'Nobelium' },
- { key: 'Lawrencium', content: 'Lawrencium' },
- { key: 'Rutherfordium', content: 'Rutherfordium' },
- { key: 'Dubnium', content: 'Dubnium' },
- { key: 'Seaborgium', content: 'Seaborgium' },
- { key: 'Bohrium', content: 'Bohrium' },
-];
-
-export const matchOption = (option, inputValue) =>
- option.content.toLowerCase().includes((inputValue || '').toLowerCase());
-
-
-
-
-
-
-
-
- {React.createElement(() => {
- const [value, setValue] = React.useState('');
- const handleInput = event => {
- setValue(event.target.value);
- };
- const handleChange = ({ selected }) => {
- setValue(selected ? selected.key : '');
- };
- const filteredOptions = options.filter(option => matchOption(option, value));
- return (
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { InputAutocomplete } from '@alfalab/core-components-input-autocomplete';
-```
+import { InputAutocomplete } from '../Component';
+import { options, matchOption } from './options'
Компонент поля для ввода с автокомплитом
@@ -118,9 +34,6 @@ import { InputAutocomplete } from '@alfalab/core-components-input-autocomplete';
-
-
-
### Кейс с очисткой поля
@@ -338,3 +251,5 @@ import { InputAutocomplete } from '@alfalab/core-components-input-autocomplete';
import { Arrow } from '@alfalab/core-components/select';
```
+
+
diff --git a/packages/input-autocomplete/src/docs/options.ts b/packages/input-autocomplete/src/docs/options.ts
new file mode 100644
index 0000000000..66acf88723
--- /dev/null
+++ b/packages/input-autocomplete/src/docs/options.ts
@@ -0,0 +1,20 @@
+export const options = [
+ { key: 'Neptunium', content: 'Neptunium' },
+ { key: 'Plutonium', content: 'Plutonium' },
+ { key: 'Americium', content: 'Americium' },
+ { key: 'Curium', content: 'Curium' },
+ { key: 'Berkelium', content: 'Berkelium' },
+ { key: 'Californium', content: 'Californium' },
+ { key: 'Einsteinium', content: 'Einsteinium' },
+ { key: 'Fermium', content: 'Fermium' },
+ { key: 'Mendelevium', content: 'Mendelevium' },
+ { key: 'Nobelium', content: 'Nobelium' },
+ { key: 'Lawrencium', content: 'Lawrencium' },
+ { key: 'Rutherfordium', content: 'Rutherfordium' },
+ { key: 'Dubnium', content: 'Dubnium' },
+ { key: 'Seaborgium', content: 'Seaborgium' },
+ { key: 'Bohrium', content: 'Bohrium' },
+];
+
+export const matchOption = (option: { content: string }, inputValue: string) =>
+ option.content.toLowerCase().includes((inputValue || '').toLowerCase());
diff --git a/packages/input/src/Component.stories.mdx b/packages/input/src/docs/Component.stories.mdx
similarity index 77%
rename from packages/input/src/Component.stories.mdx
rename to packages/input/src/docs/Component.stories.mdx
index 379f176688..8ee63177f7 100644
--- a/packages/input/src/Component.stories.mdx
+++ b/packages/input/src/docs/Component.stories.mdx
@@ -2,9 +2,13 @@ import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, select, boolean } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import Icon from '@alfalab/icons-glyph/StarMIcon';
+import { Tabs } from 'storybook/blocks/tabs';
-import { Input } from './Component';
-import { name, version } from '../package.json';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import Description from './description.mdx';
+import { Input } from '../Component';
+import { name, version } from '../../package.json';
-
-
-
-
-
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/input/src/docs/description.mdx b/packages/input/src/docs/description.mdx
new file mode 100644
index 0000000000..1a02196826
--- /dev/null
+++ b/packages/input/src/docs/description.mdx
@@ -0,0 +1,9 @@
+import { Input } from '../Component';
+
+Компонент текстового поля ввода.
+
+☝️ В приложениях Клика используйте обёртку [newclick-composite-components/input](http://digital/demo/newclick-composite-components/master/?path=/docs/form-input--basic).
+
+
+
+
diff --git a/packages/intl-phone-input/src/docs/Component.stories.mdx b/packages/intl-phone-input/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..b27ed2eb1d
--- /dev/null
+++ b/packages/intl-phone-input/src/docs/Component.stories.mdx
@@ -0,0 +1,73 @@
+import { Meta, Story, Preview, Props, Title } from '@storybook/addon-docs/blocks';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { action } from '@storybook/addon-actions';
+import { text, select, boolean, object } from '@storybook/addon-knobs';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { options, matchOption } from './options';
+import { IntlPhoneInput } from '../component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+ {React.createElement(() => {
+ const [value, setValue] = React.useState('+79647820725');
+ const [selectedCountry, setSelectedCountry] = React.useState('RU');
+ const handleChange = React.useCallback((newValue) => {
+ setValue(newValue);
+ }, [setValue]);
+ const size = select('size', ['s', 'm', 'l', 'xl'], 'm');
+ const block = boolean('block', false);
+ const disabled = boolean('disabled', false);
+ const label = text('label', 'Номер телефона');
+ const clearableCountryCode = boolean('clearableCountryCode', true);
+ const handleCountryChange = React.useCallback((countryCode) => {
+ setSelectedCountry(countryCode);
+ })
+ return (
+
+
+
+ Код выбранной страны: {selectedCountry}
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { IntlPhoneInput } from '@alfalab/core-components-intl-phone-input';
+```
+
+ }
+ props={ }
+/>
\ No newline at end of file
diff --git a/packages/intl-phone-input/src/component.stories.mdx b/packages/intl-phone-input/src/docs/description.mdx
similarity index 56%
rename from packages/intl-phone-input/src/component.stories.mdx
rename to packages/intl-phone-input/src/docs/description.mdx
index aa00eee9b2..394d52a9a8 100644
--- a/packages/intl-phone-input/src/component.stories.mdx
+++ b/packages/intl-phone-input/src/docs/description.mdx
@@ -1,57 +1,8 @@
-import { Meta, Story, Preview, Props, Description, Title } from '@storybook/addon-docs/blocks';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import { action } from '@storybook/addon-actions';
-import { text, select, boolean, object } from '@storybook/addon-knobs';
+import { Preview } from '@storybook/addon-docs/blocks';
+import { text, select, boolean } from '@storybook/addon-knobs';
-import { IntlPhoneInput } from './component';
-import { name, version } from '../package.json';
-
-export const options = [
- {
- key: '+7 921 681 53 98',
- content: '+7 921 681 53 98'
- },
- {
- key: '+7 921 681 52 97',
- content: '+7 921 681 52 97'
- },
- {
- key: '+7 921 681 52 96',
- content: '+7 921 681 52 96'
- },
- {
- key: '+7 921 681 52 95',
- content: '+7 921 681 52 95'
- },
- {
- key: '+7 921 681 52 94',
- content: '+7 921 681 52 94'
- },
- ];
-
-export const matchOption = (option, inputValue) =>
- option.key.toLowerCase().includes((inputValue || '').toLowerCase());
-
-
-
-
-
-
-
-```tsx
-import { IntlPhoneInput } from '@alfalab/core-components-intl-phone-input';
-```
-
-## Описание
+import { IntlPhoneInput } from '../component';
+import { options, matchOption } from './options';
Компонент текстового поля для ввода международных номеров телефонов.
@@ -61,43 +12,6 @@ import { IntlPhoneInput } from '@alfalab/core-components-intl-phone-input';
**Если вы используете `arui-scripts` для сборки, версия `arui-scripts` должна быть не ниже 9.7.0.**
-
- {React.createElement(() => {
- const [value, setValue] = React.useState('+79647820725');
- const [selectedCountry, setSelectedCountry] = React.useState('RU');
- const handleChange = React.useCallback((newValue) => {
- setValue(newValue);
- }, [setValue]);
- const size = select('size', ['s', 'm', 'l', 'xl'], 'm');
- const block = boolean('block', false);
- const disabled = boolean('disabled', false);
- const label = text('label', 'Номер телефона');
- const clearableCountryCode = boolean('clearableCountryCode', true);
- const handleCountryChange = React.useCallback((countryCode) => {
- setSelectedCountry(countryCode);
- })
- return (
-
-
-
- Код выбранной страны: {selectedCountry}
-
- );
- })}
-
-
-
### Кейс с очисткой поля
diff --git a/packages/intl-phone-input/src/docs/options.ts b/packages/intl-phone-input/src/docs/options.ts
new file mode 100644
index 0000000000..871842cd2b
--- /dev/null
+++ b/packages/intl-phone-input/src/docs/options.ts
@@ -0,0 +1,25 @@
+export const options = [
+ {
+ key: '+7 921 681 53 98',
+ content: '+7 921 681 53 98',
+ },
+ {
+ key: '+7 921 681 52 97',
+ content: '+7 921 681 52 97',
+ },
+ {
+ key: '+7 921 681 52 96',
+ content: '+7 921 681 52 96',
+ },
+ {
+ key: '+7 921 681 52 95',
+ content: '+7 921 681 52 95',
+ },
+ {
+ key: '+7 921 681 52 94',
+ content: '+7 921 681 52 94',
+ },
+];
+
+export const matchOption = (option: { key: string }, inputValue: string) =>
+ option.key.toLowerCase().includes((inputValue || '').toLowerCase());
diff --git a/packages/keyboard-focusable/src/docs/Component.stories.mdx b/packages/keyboard-focusable/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..988e2b4fa2
--- /dev/null
+++ b/packages/keyboard-focusable/src/docs/Component.stories.mdx
@@ -0,0 +1,33 @@
+import { Meta, Preview, Props } from '@storybook/addon-docs/blocks';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { KeyboardFocusable } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+```tsx
+import { KeyboardFocusable } from '@alfalab/core-components-keyboard-focusable';
+```
+
+ }
+ props={ }
+/>
diff --git a/packages/keyboard-focusable/src/Component.stories.mdx b/packages/keyboard-focusable/src/docs/description.mdx
similarity index 69%
rename from packages/keyboard-focusable/src/Component.stories.mdx
rename to packages/keyboard-focusable/src/docs/description.mdx
index 00d5676b7b..7b8441d883 100644
--- a/packages/keyboard-focusable/src/Component.stories.mdx
+++ b/packages/keyboard-focusable/src/docs/description.mdx
@@ -1,39 +1,7 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { action } from '@storybook/addon-actions';
-import { text, select, boolean } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
+import { Preview } from '@storybook/addon-docs/blocks';
import { useFocus } from '@alfalab/hooks';
-import { KeyboardFocusable, useKeyboardFocus } from './Component';
-import { name, version } from '../package.json';
-
-export const focusOutlineStyles = {
- outline: '2px solid var(--focus-color)',
- outlineOffset: '2px',
-};
-
-
-
-
-
-
-
-
-
-```tsx
-import { KeyboardFocusable } from '@alfalab/core-components-keyboard-focusable';
-```
+import { KeyboardFocusable } from '../Component';
В соответствии с дизайн-системой все интерактивные элементы должны иметь определенную обводку при фокусе, но только при переключении с клавиатуры.
При клике мышки обводки быть не должно.
@@ -44,7 +12,10 @@ import { KeyboardFocusable } from '@alfalab/core-components-keyboard-focusable';
## Компонент KeyboardFocusable
-
+export const focusOutlineStyles = {
+ outline: '2px solid var(--focus-color)',
+ outlineOffset: '2px',
+};
diff --git a/packages/link/src/docs/Component.stories.mdx b/packages/link/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..cfb84358e2
--- /dev/null
+++ b/packages/link/src/docs/Component.stories.mdx
@@ -0,0 +1,78 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import {text, select, boolean} from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import Icon from '@alfalab/icons-glyph/StarMIcon';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import defaultStyles from '!!raw-loader!../default.module.css';
+import invertedStyles from '!!raw-loader!../inverted.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { Link } from '../Component';
+import { Typography } from '../../../typography/src';
+import { name, version } from '../../package.json';
+
+export const VIEWS = ['primary', 'secondary', 'default'];
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const colors = select('colors', ['default', 'inverted'], 'default');
+ return (
+
+
+ }
+ rightAddons={boolean('rightAddons', false) && }
+ colors={colors}
+ >
+ {text('text', 'Вернуться в интернет-банк')}
+
+
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { Link } from '@alfalab/core-components-link';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
+
diff --git a/packages/link/src/Component.stories.mdx b/packages/link/src/docs/description.mdx
similarity index 56%
rename from packages/link/src/Component.stories.mdx
rename to packages/link/src/docs/description.mdx
index 569b782d18..add9d864b5 100644
--- a/packages/link/src/Component.stories.mdx
+++ b/packages/link/src/docs/description.mdx
@@ -1,69 +1,9 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import {text, select, boolean} from '@storybook/addon-knobs';
-import { Container, Row } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Preview } from '@storybook/addon-docs/blocks';
import Icon from '@alfalab/icons-glyph/StarMIcon';
-import { Link } from './Component';
-import { Typography } from '../../typography/src';
-import { name, version } from '../package.json';
-
-export const VIEWS = ['primary', 'secondary', 'default'];
-
-
-
-
-
-
-
-
- {React.createElement(() => {
- const colors = select('colors', ['default', 'inverted'], 'default');
- return (
-
-
- }
- rightAddons={boolean('rightAddons', false) && }
- colors={colors}
- >
- {text('text', 'Вернуться в интернет-банк')}
-
-
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { Link } from '@alfalab/core-components-link';
-```
+import { Container, Row } from 'storybook/blocks/grid';
+import { Link } from '../Component';
+import { Typography } from '../../../typography/src';
Ссылка — элемент навигации, который обозначает возможность перехода на другую страницу
или вызова нового информационного слоя.
@@ -77,8 +17,6 @@ import { Link } from '@alfalab/core-components-link';
-
-
## Виды ссылок
diff --git a/packages/list-header/src/docs/Component.stories.mdx b/packages/list-header/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..bce77474ca
--- /dev/null
+++ b/packages/list-header/src/docs/Component.stories.mdx
@@ -0,0 +1,47 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { text, boolean } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { ListHeader } from '../Component';
+import { version } from '../../package.json';
+
+export const TAG = ['ul', 'ol'];
+
+
+
+
+
+
+
+
+
+
+
+
+
+```tsx
+import { ListHeader } from '@alfalab/core-components-list-header';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/list-header/src/Component.stories.mdx b/packages/list-header/src/docs/description.mdx
similarity index 59%
rename from packages/list-header/src/Component.stories.mdx
rename to packages/list-header/src/docs/description.mdx
index 16c3f49def..b7dde8b1b7 100644
--- a/packages/list-header/src/Component.stories.mdx
+++ b/packages/list-header/src/docs/description.mdx
@@ -1,40 +1,6 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { text, boolean } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import { ListHeader } from './Component';
-import { version } from '../package.json';
-
-export const TAG = ['ul', 'ol'];
-
-
-
-
-
-
-
-
-
-
-
-
-
-```tsx
-import { ListHeader } from '@alfalab/core-components-list-header';
-```
+import { Preview } from '@storybook/addon-docs/blocks';
+import { ListHeader } from '../Component';
ListHeader используется для разделения ячеек списка по смысловым группам.
@@ -43,8 +9,6 @@ ListHeader используется для разделения ячеек сп
description='дополнительный текст с описанием'
/>
-
-
Компонент с серой подложкой используется для «бесконечных списков». Например, для истории операций или списка писем.
diff --git a/packages/list/src/Component.stories.mdx b/packages/list/src/docs/Component.stories.mdx
similarity index 69%
rename from packages/list/src/Component.stories.mdx
rename to packages/list/src/docs/Component.stories.mdx
index 0bd21f400a..881d8a884f 100644
--- a/packages/list/src/Component.stories.mdx
+++ b/packages/list/src/docs/Component.stories.mdx
@@ -3,9 +3,13 @@ import { text, select } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Container, Row } from 'storybook/blocks/grid';
import { Typography } from '@alfalab/core-components-typography';
+import { Tabs } from 'storybook/blocks/tabs';
+import { CssVars } from 'storybook/blocks/css-vars';
-import { List } from './Component';
-import { version } from '../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { List } from '../Component';
+import { version } from '../../package.json';
export const TAG = ['ul', 'ol'];
@@ -51,31 +55,8 @@ export const TAG = ['ul', 'ol'];
import { List } from '@alfalab/core-components-list';
```
-
-
-
-
-
- 1 item
- 2 item
- 3 item
-
-
-
-
- 1 item
- 2 item
- 3 item
-
-
-
-
- 1 item
- 2 item
- 3 item
-
-
-
-
-
-
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/list/src/docs/description.mdx b/packages/list/src/docs/description.mdx
new file mode 100644
index 0000000000..6fa5de9559
--- /dev/null
+++ b/packages/list/src/docs/description.mdx
@@ -0,0 +1,32 @@
+
+import { Preview } from '@storybook/addon-docs/blocks';
+import { Container, Row } from 'storybook/blocks/grid';
+import { Typography } from '@alfalab/core-components-typography';
+
+import { List } from '../Component';
+
+
+
+
+
+ 1 item
+ 2 item
+ 3 item
+
+
+
+
+ 1 item
+ 2 item
+ 3 item
+
+
+
+
+ 1 item
+ 2 item
+ 3 item
+
+
+
+
diff --git a/packages/loader/src/Component.stories.mdx b/packages/loader/src/docs/Component.stories.mdx
similarity index 60%
rename from packages/loader/src/Component.stories.mdx
rename to packages/loader/src/docs/Component.stories.mdx
index c43db4dfb6..60d48f4133 100644
--- a/packages/loader/src/Component.stories.mdx
+++ b/packages/loader/src/docs/Component.stories.mdx
@@ -1,8 +1,10 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
-import { Loader } from './Component';
-import { name, version } from '../package.json';
+import Description from './description.mdx';
+import { Loader } from '../Component';
+import { name, version } from '../../package.json';
-
-
-
+ }
+ props={ }
+/>
diff --git a/packages/loader/src/docs/description.mdx b/packages/loader/src/docs/description.mdx
new file mode 100644
index 0000000000..90d35258ab
--- /dev/null
+++ b/packages/loader/src/docs/description.mdx
@@ -0,0 +1,5 @@
+import { Loader } from '../Component';
+
+Компонент Loader.
+
+
\ No newline at end of file
diff --git a/packages/masked-input/src/docs/Component.stories.mdx b/packages/masked-input/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..f091ea9918
--- /dev/null
+++ b/packages/masked-input/src/docs/Component.stories.mdx
@@ -0,0 +1,36 @@
+import { Meta, Props, Story, Preview } from '@storybook/addon-docs/blocks';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { MaskedInput } from '../Component';
+import { masks, placeholders } from './constants';
+
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+```tsx
+import { MaskedInput } from '@alfalab/core-components-masked-input';
+```
+
+ }
+ props={ }
+/>
diff --git a/packages/masked-input/src/docs/constants.ts b/packages/masked-input/src/docs/constants.ts
new file mode 100644
index 0000000000..4d3405ac81
--- /dev/null
+++ b/packages/masked-input/src/docs/constants.ts
@@ -0,0 +1,48 @@
+export const masks = {
+ phone: [
+ '+',
+ /\d/,
+ ' ',
+ '(',
+ /\d/,
+ /\d/,
+ /\d/,
+ ')',
+ ' ',
+ /\d/,
+ /\d/,
+ /\d/,
+ '-',
+ /\d/,
+ /\d/,
+ '-',
+ /\d/,
+ /\d/,
+ ],
+ card: [
+ /\d/,
+ /\d/,
+ /\d/,
+ /\d/,
+ ' ',
+ /\d/,
+ /\d/,
+ /\d/,
+ /\d/,
+ ' ',
+ /\d/,
+ /\d/,
+ /\d/,
+ /\d/,
+ ' ',
+ /\d/,
+ /\d/,
+ /\d/,
+ /\d/,
+ ],
+};
+
+export const placeholders = {
+ phone: '+7 (000) 000-00-00',
+ card: '0000 0000 0000 0000',
+};
diff --git a/packages/masked-input/src/Component.stories.mdx b/packages/masked-input/src/docs/description.mdx
similarity index 62%
rename from packages/masked-input/src/Component.stories.mdx
rename to packages/masked-input/src/docs/description.mdx
index 9aaac8c77e..55d84387f8 100644
--- a/packages/masked-input/src/Component.stories.mdx
+++ b/packages/masked-input/src/docs/description.mdx
@@ -1,40 +1,6 @@
-import { Meta, Props, Story, Preview } from '@storybook/addon-docs/blocks';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import { MaskedInput } from './Component';
-import { name, version } from '../package.json';
-
-
-export const masks = {
- phone: ['+', /\d/, ' ', '(', /\d/, /\d/, /\d/, ')', ' ', /\d/, /\d/, /\d/, '-', /\d/, /\d/, '-', /\d/, /\d/],
- card: [/\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/],
-};
-
-export const placeholders = {
- phone: '+7 (000) 000-00-00',
- card: '0000 0000 0000 0000',
-};
-
-
-
-
-
-
-
-
-
-```tsx
-import { MaskedInput } from '@alfalab/core-components-masked-input';
-```
+import { Preview } from '@storybook/addon-docs/blocks';
+import { MaskedInput } from '../Component';
+import { masks, placeholders } from './constants';
Компонент текстового поля для ввода текста по указанной маске.
@@ -48,9 +14,6 @@ import { MaskedInput } from '@alfalab/core-components-masked-input';
-
-
-
### Uncontrolled-way
Можно ничего не передавать в компонент и реагировать на `onChange`
diff --git a/packages/modal/src/docs/Component.stories.mdx b/packages/modal/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..d7cd040e5a
--- /dev/null
+++ b/packages/modal/src/docs/Component.stories.mdx
@@ -0,0 +1,148 @@
+import { Meta, Props, Preview, Story } from '@storybook/addon-docs/blocks';
+import { boolean, select, text } from '@storybook/addon-knobs';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { CrossMIcon } from '@alfalab/icons-glyph';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import vars from '!!raw-loader!../vars.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+
+import { Button } from '../../../button/src';
+import { Spinner } from '../../../spinner/src';
+import { Typography } from '../../../typography/src';
+
+import { ModalContext } from '../Context';
+import { ModalMobile } from '../Component.mobile';
+import { ModalDesktop } from '../Component.desktop';
+import { ModalResponsive } from '../Component.responsive';
+
+import { version } from '../../package.json';
+
+
+
+
+export const Text = () => (
+
+ Сейчас много говорят об отказах банков в проведении операций, блокировках интернет-банка.
+ Это связано с тем, что Центральный банк РФ обязывает банки выявлять операции своих клиентов,
+ потенциально нарушающие требования Федерального закона «О противодействии легализации (отмыванию) доходов,
+ полученных преступным путем, и финансированию терроризма» — 115-ФЗ
+
+);
+
+export const Footer = () => (
+ <>
+ Сохранить
+ Отмена
+ >
+);
+
+export const Content = () => {
+ const [showMore, setShowMore] = React.useState(false);
+ return (
+ <>
+
+ {(showMore || boolean('showMore')) && (
+ <>
+
+
+
+ >
+ )}
+ setShowMore(!showMore)}>
+ {showMore ? 'Скрыть' : 'Показать еще'}
+
+ >
+ );
+};
+
+export const renderModalStory = (ModalComponent, props = {}) => {
+ const [open, setOpen] = React.useState(false);
+ const handleModalOpen = () => setOpen(!open);
+ const header = boolean('header', false);
+ const headerTitle = text('header.title');
+ const hasCloser = boolean('header.hasCloser', true);
+ const stickyHeader = boolean('header.sticky', false);
+ const footer = boolean('footer', false);
+ const stickyFooter = boolean('footer.sticky', false);
+ const footerLayout = select('footer.layout', ['start', 'center', 'space-between', 'column'], 'start');
+ const footerGap = select('footer.gap', [false, 16, 24, 32], false);
+ const flexContent = boolean('content.flex', false);
+ return (
+
+ Открыть модалку
+
+ {header && (
+
+ )}
+ {!header && hasCloser && (
+
+ )}
+
+
+
+ {footer && (
+
+
+
+ )}
+
+
+ );
+}
+
+
+ {renderModalStory(ModalMobile)}
+
+
+
+
+ {renderModalStory(ModalDesktop, {
+ size: select('size', ['s', 'm', 'l'], 's'),
+ fullscreen: boolean('fullscreen', false),
+ })}
+
+
+
+ {renderModalStory(ModalResponsive, {
+ size: select('size', ['s', 'm', 'l'], 's'),
+ fullscreen: boolean('fullscreen', false),
+ })}
+
+
+
+
+
+
+
+
+```tsx
+import { ModalDesktop } from '@alfalab/core-components-modal/desktop';
+import { ModalMobile } from '@alfalab/core-components-modal/mobile';
+import { ModalResponsive } from '@alfalab/core-components-modal/responsive';
+```
+
+ }
+ cssVars={ }
+ props={ }
+/>
diff --git a/packages/modal/src/Component.stories.mdx b/packages/modal/src/docs/description.mdx
similarity index 66%
rename from packages/modal/src/Component.stories.mdx
rename to packages/modal/src/docs/description.mdx
index aee15e428e..b699f8777a 100644
--- a/packages/modal/src/Component.stories.mdx
+++ b/packages/modal/src/docs/description.mdx
@@ -4,138 +4,18 @@ import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { CrossMIcon } from '@alfalab/icons-glyph';
-import { Button } from '../../button/src';
-import { Spinner } from '../../spinner/src';
-import { Typography } from '../../typography/src';
+import { Button } from '../../../button/src';
+import { Spinner } from '../../../spinner/src';
+import { Typography } from '../../../typography/src';
-import { ModalContext } from './Context';
-import { ModalMobile } from './Component.mobile';
-import { ModalDesktop } from './Component.desktop';
-import { ModalResponsive } from './Component.responsive';
+import { ModalContext } from '../Context';
+import { ModalMobile } from '../Component.mobile';
+import { ModalDesktop } from '../Component.desktop';
+import { ModalResponsive } from '../Component.responsive';
-import { version } from '../package.json';
+import { version } from '../../package.json';
-
-
-export const Text = () => (
-
- Сейчас много говорят об отказах банков в проведении операций, блокировках интернет-банка.
- Это связано с тем, что Центральный банк РФ обязывает банки выявлять операции своих клиентов,
- потенциально нарушающие требования Федерального закона «О противодействии легализации (отмыванию) доходов,
- полученных преступным путем, и финансированию терроризма» — 115-ФЗ
-
-);
-
-export const Footer = () => (
- <>
- Сохранить
- Отмена
- >
-);
-
-export const Content = () => {
- const [showMore, setShowMore] = React.useState(false);
- return (
- <>
-
- {(showMore || boolean('showMore')) && (
- <>
-
-
-
- >
- )}
- setShowMore(!showMore)}>
- {showMore ? 'Скрыть' : 'Показать еще'}
-
- >
- );
-};
-
-export const renderModalStory = (ModalComponent, props = {}) => {
- const [open, setOpen] = React.useState(false);
- const handleModalOpen = () => setOpen(!open);
- const header = boolean('header', false);
- const headerTitle = text('header.title');
- const hasCloser = boolean('header.hasCloser', true);
- const stickyHeader = boolean('header.sticky', false);
- const footer = boolean('footer', false);
- const stickyFooter = boolean('footer.sticky', false);
- const footerLayout = select('footer.layout', ['start', 'center', 'space-between', 'column'], 'start');
- const footerGap = select('footer.gap', [false, 16, 24, 32], false);
- const flexContent = boolean('content.flex', false);
- return (
-
- Открыть модалку
-
- {header && (
-
- )}
- {!header && hasCloser && (
-
- )}
-
-
-
- {footer && (
-
-
-
- )}
-
-
- );
-}
-
-
- {renderModalStory(ModalMobile)}
-
-
-
-
- {renderModalStory(ModalDesktop, {
- size: select('size', ['s', 'm', 'l'], 's'),
- fullscreen: boolean('fullscreen', false),
- })}
-
-
-
- {renderModalStory(ModalResponsive, {
- size: select('size', ['s', 'm', 'l'], 's'),
- fullscreen: boolean('fullscreen', false),
- })}
-
-
-
-
-
-
-
-
-```tsx
-import { ModalDesktop } from '@alfalab/core-components-modal/desktop';
-import { ModalMobile } from '@alfalab/core-components-modal/mobile';
-import { ModalResponsive } from '@alfalab/core-components-modal/responsive';
-```
-
Компонент модального окна, построенный как Compound Components.
Предоставляет стандартные компоненты `Header`, `Closer`, `Content`, `Footer`, а также доступ к контексту.
@@ -175,14 +55,6 @@ import { ModalResponsive } from '@alfalab/core-components-modal/responsive';
})}
-
-
-
-
### Плавающий крестик без шапки
diff --git a/packages/mq/src/docs/Component.stories.mdx b/packages/mq/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..441973aae4
--- /dev/null
+++ b/packages/mq/src/docs/Component.stories.mdx
@@ -0,0 +1,51 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { select, number } from '@storybook/addon-knobs';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { Button } from '../../../button/src';
+
+import { Mq, useMatchMedia } from '../';
+
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+
+
+ Mobile button
+
+
+ Desktop button
+
+
+
+
+
+
+
+
+
+```tsx
+import { Mq, useMatchMedia } from '@alfalab/core-components-mq';
+```
+
+ }
+ props={ }
+/>
diff --git a/packages/mq/src/Component.stories.mdx b/packages/mq/src/docs/description.mdx
similarity index 67%
rename from packages/mq/src/Component.stories.mdx
rename to packages/mq/src/docs/description.mdx
index a5176ca6e8..726597f061 100644
--- a/packages/mq/src/Component.stories.mdx
+++ b/packages/mq/src/docs/description.mdx
@@ -1,47 +1,10 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { select, number } from '@storybook/addon-knobs';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import { Button } from '../../button/src';
-
-import { Mq, useMatchMedia } from './';
-
-import { name, version } from '../package.json';
-
-
-
-
-
-
-
-
-
-
- Mobile button
-
-
- Desktop button
-
-
-
-
-
+import { Preview } from '@storybook/addon-docs/blocks';
+import { ComponentHeader } from 'storybook/blocks/component-header';
-
+import { Button } from '../../../button/src';
-```tsx
-import { Mq, useMatchMedia } from '@alfalab/core-components-mq';
-```
+import { Mq, useMatchMedia } from '../';
Компонент, имплементирующий поддержку медиа запросов в шаблонах с помощью `window.matchMedia`.
Рендерит внутренние компоненты/разметку исходя из соответствия условиям запроса.
@@ -76,5 +39,3 @@ import { Mq, useMatchMedia } from '@alfalab/core-components-mq';
})}
-
-
diff --git a/packages/notification-manager/src/docs/Component.stories.mdx b/packages/notification-manager/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..940934740c
--- /dev/null
+++ b/packages/notification-manager/src/docs/Component.stories.mdx
@@ -0,0 +1,74 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { select, text, boolean, number } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Button } from '@alfalab/core-components-button';
+import { Notification } from '@alfalab/core-components-notification';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { NotificationManager } from '../component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+ {React.createElement(() => {
+ const [notifications, setNotifications] = React.useState([]);
+ const [count, setCount] = React.useState(0);
+ const addNotification = () => {
+ const newNotification = (
+
+ );
+ notifications.unshift(newNotification);
+ setNotifications([...notifications]);
+ setCount(val => val + 1);
+ };
+ const removeNotification = React.useCallback(id => {
+ /**
+ * Обратите внимание, что актуальный массив нотификаций
+ * нужно брать из аргументов функции обновления состояния.
+ */
+ setNotifications(actualNotifications =>
+ actualNotifications.filter(notification => notification.props.id !== id),
+ );
+ }, []);
+ return (
+
+ Добавить нотификацию
+
+
+ );
+ })}
+
+
+
+
+
+
+```tsx
+import { NotificationManager } from '@alfalab/core-components-notification-manager';
+```
+
+ }
+ props={ }
+/>
diff --git a/packages/notification-manager/src/component.stories.mdx b/packages/notification-manager/src/docs/description.mdx
similarity index 59%
rename from packages/notification-manager/src/component.stories.mdx
rename to packages/notification-manager/src/docs/description.mdx
index dd61c7ec95..a7dbb93364 100644
--- a/packages/notification-manager/src/component.stories.mdx
+++ b/packages/notification-manager/src/docs/description.mdx
@@ -4,67 +4,7 @@ import { ComponentHeader } from 'storybook/blocks/component-header';
import { Button } from '@alfalab/core-components-button';
import { Notification } from '@alfalab/core-components-notification';
-import { NotificationManager } from './component';
-import { name, version } from '../package.json';
-
-
-
-
-
-
- {React.createElement(() => {
- const [notifications, setNotifications] = React.useState([]);
- const [count, setCount] = React.useState(0);
- const addNotification = () => {
- const newNotification = (
-
- );
- notifications.unshift(newNotification);
- setNotifications([...notifications]);
- setCount(val => val + 1);
- };
- const removeNotification = React.useCallback(id => {
- /**
- * Обратите внимание, что актуальный массив нотификаций
- * нужно брать из аргументов функции обновления состояния.
- */
- setNotifications(actualNotifications =>
- actualNotifications.filter(notification => notification.props.id !== id),
- );
- }, []);
- return (
-
- Добавить нотификацию
-
-
- );
- })}
-
-
-
-
-
-
-```tsx
-import { NotificationManager } from '@alfalab/core-components-notification-manager';
-```
+import { NotificationManager } from '../component';
Менеджер нотификаций.
Рендерит массив нотификаций:
@@ -125,6 +65,4 @@ const removeNotification = React.useCallback(id => {
);
})}
-
-
-
+
\ No newline at end of file
diff --git a/packages/notification/src/Component.stories.mdx b/packages/notification/src/docs/Component.stories.mdx
similarity index 53%
rename from packages/notification/src/Component.stories.mdx
rename to packages/notification/src/docs/Component.stories.mdx
index 6a3d6c7a0a..961c1e7506 100644
--- a/packages/notification/src/Component.stories.mdx
+++ b/packages/notification/src/docs/Component.stories.mdx
@@ -2,8 +2,13 @@ import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
import { select, text, boolean, number } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Button } from "@alfalab/core-components-button";
-import { Notification } from './Component';
-import { name, version } from '../package.json';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { Notification } from '../Component';
+import { name, version } from '../../package.json';
- {React.createElement(() => {
- const [isVisible, setIsVisible] = React.useState(false);
- const toggleVisiblity = React.useCallback(() => setIsVisible(prev => !prev), []);
- const hideNotification = React.useCallback(() => setIsVisible(false), []);
- return (
-
-
- Самая обыкновенная нотификации
-
- Тогглер
-
)
- })}
-
-
-
-
+
}
+ props={
}
+ cssVars={
}
+/>
diff --git a/packages/notification/src/docs/description.mdx b/packages/notification/src/docs/description.mdx
new file mode 100644
index 0000000000..aeb82691ed
--- /dev/null
+++ b/packages/notification/src/docs/description.mdx
@@ -0,0 +1,29 @@
+import { Preview } from '@storybook/addon-docs/blocks';
+import { Button } from "@alfalab/core-components-button";
+import { Notification } from '../Component';
+
+Компонент нотификации.
+
+
+ {React.createElement(() => {
+ const [isVisible, setIsVisible] = React.useState(false);
+ const toggleVisiblity = React.useCallback(() => setIsVisible(prev => !prev), []);
+ const hideNotification = React.useCallback(() => setIsVisible(false), []);
+ return (
+
+
+ Самая обыкновенная нотификации
+
+ Тогглер
+
)
+ })}
+
+
diff --git a/packages/phone-input/src/Component.stories.mdx b/packages/phone-input/src/docs/Component.stories.mdx
similarity index 70%
rename from packages/phone-input/src/Component.stories.mdx
rename to packages/phone-input/src/docs/Component.stories.mdx
index 16bc54252d..d5336356f4 100644
--- a/packages/phone-input/src/Component.stories.mdx
+++ b/packages/phone-input/src/docs/Component.stories.mdx
@@ -3,9 +3,11 @@ import { Meta, Props, Story, Title } from '@storybook/addon-docs/blocks';
import { text, select, boolean, number } from '@storybook/addon-knobs';
import { action } from '@storybook/addon-actions';
import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
-import { PhoneInput } from './Component';
-import { name, version } from '../package.json';
+import Description from './description.mdx';
+import { PhoneInput } from '../Component';
+import { name, version } from '../../package.json';
+
}
+ props={
}
+/>
-
diff --git a/packages/phone-input/src/docs/description.mdx b/packages/phone-input/src/docs/description.mdx
new file mode 100644
index 0000000000..8018e801bb
--- /dev/null
+++ b/packages/phone-input/src/docs/description.mdx
@@ -0,0 +1,7 @@
+import { PhoneInput } from '../Component';
+
+Компонент текстового поля для ввода российского номера телефона.
+
+☝️ В приложениях Клика используйте обёртку [newclick-composite-components/phone-input](http://digital/demo/newclick-composite-components/master/?path=/docs/form-phoneinput--basic).
+
+
\ No newline at end of file
diff --git a/packages/picker-button/src/docs/Component.stories.mdx b/packages/picker-button/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..5286e60972
--- /dev/null
+++ b/packages/picker-button/src/docs/Component.stories.mdx
@@ -0,0 +1,54 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { text, boolean, select } from '@storybook/addon-knobs';
+import { action } from '@storybook/addon-actions';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import Icon from '@alfalab/icons-glyph/StarMIcon';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { options } from './options'
+import { OptionsList } from '../../../select/src/components/options-list';
+import { Button } from '../../../button/src';
+import { PickerButton } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+ : null}
+ />
+
+
+
+
+
+
+
+```tsx
+import { PickerButton } from '@alfalab/core-components-picker-button';
+```
+
+
}
+ props={
}
+/>
diff --git a/packages/picker-button/src/Component.stories.mdx b/packages/picker-button/src/docs/description.mdx
similarity index 73%
rename from packages/picker-button/src/Component.stories.mdx
rename to packages/picker-button/src/docs/description.mdx
index 232b8a5fc3..73ebfab631 100644
--- a/packages/picker-button/src/Component.stories.mdx
+++ b/packages/picker-button/src/docs/description.mdx
@@ -3,91 +3,15 @@ import { text, boolean, select } from '@storybook/addon-knobs';
import { action } from '@storybook/addon-actions';
import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
-// import Icon from '@alfalab/icons-glyph/StarMIcon';
import Icon from '@alfalab/icons-glyph/StarMIcon';
-import { OptionsList } from '../../select/src/components/options-list';
-import { Button } from '../../button/src';
-import { PickerButton } from './Component';
-import { name, version } from '../package.json';
-
-export const containerStyle = { display: 'grid', gridTemplateColumns: '1fr 1fr 1fr', columnGap: '24px', alignItems: 'center', justifyItems: 'center'}
-
-export const options = [
- { key: '1', content: 'Neptunium'},
- { key: '2', content: 'Plutonium' },
- { key: '3', content: 'Americium' },
- { key: '4', content: 'Curium' },
- { key: '5', content: 'Berkelium' },
- { key: '6', content: 'Californium' },
- { key: '7', content: 'Einsteinium' },
- { key: '8', content: 'Fermium' },
- { key: '9', content: 'Mendelevium' },
- { key: '10', content: 'Nobelium' },
- { key: '11', content: 'Lawrencium' },
- { key: '12', content: 'Rutherfordium' },
- { key: '13', content: 'Dubnium' },
- { key: '14', content: 'Seaborgium' },
- { key: '15', content: 'Bohrium' },
-];
-
-export const customOptionList = (props) => (
-
- Header
-
-
-);
-
-export const groupedOptions = [{
- label: 'Группа №1',
- options: [
- { key: '1', content: 'Neptunium' },
- { key: '2', content: 'Plutonium' },
- ]
-},
-{
- label: 'Группа №2',
- options: [
- { key: '3', content: 'Berkelium' },
- { key: '4', content: 'Californium' },
- ]
-}]
-
-
-
-
-
-
-
- : null}
- />
-
+import { options } from './options'
+import { OptionsList } from '../../../select/src/components/options-list';
+import { Button } from '../../../button/src';
+import { PickerButton } from '../Component';
+import { name, version } from '../../package.json';
-
-
-
-
-```tsx
-import { PickerButton } from '@alfalab/core-components-picker-button';
-```
-
Компонент PickerButton. Использует селект, но с кнопкой вместо стандартного Field.
Кнопка содержит несколько команд, объединенных по смыслу. Используется для скрытия редких или одинаковых по контексту действий.
@@ -175,4 +99,28 @@ import { PickerButton } from '@alfalab/core-components-picker-button';
-
+
+
+export const containerStyle = { display: 'grid', gridTemplateColumns: '1fr 1fr 1fr', columnGap: '24px', alignItems: 'center', justifyItems: 'center'}
+
+export const customOptionList = (props) => (
+
+ Header
+
+
+);
+
+export const groupedOptions = [{
+ label: 'Группа №1',
+ options: [
+ { key: '1', content: 'Neptunium' },
+ { key: '2', content: 'Plutonium' },
+ ]
+},
+{
+ label: 'Группа №2',
+ options: [
+ { key: '3', content: 'Berkelium' },
+ { key: '4', content: 'Californium' },
+ ]
+}]
\ No newline at end of file
diff --git a/packages/picker-button/src/docs/options.ts b/packages/picker-button/src/docs/options.ts
new file mode 100644
index 0000000000..0353643c76
--- /dev/null
+++ b/packages/picker-button/src/docs/options.ts
@@ -0,0 +1,17 @@
+export const options = [
+ { key: '1', content: 'Neptunium' },
+ { key: '2', content: 'Plutonium' },
+ { key: '3', content: 'Americium' },
+ { key: '4', content: 'Curium' },
+ { key: '5', content: 'Berkelium' },
+ { key: '6', content: 'Californium' },
+ { key: '7', content: 'Einsteinium' },
+ { key: '8', content: 'Fermium' },
+ { key: '9', content: 'Mendelevium' },
+ { key: '10', content: 'Nobelium' },
+ { key: '11', content: 'Lawrencium' },
+ { key: '12', content: 'Rutherfordium' },
+ { key: '13', content: 'Dubnium' },
+ { key: '14', content: 'Seaborgium' },
+ { key: '15', content: 'Bohrium' },
+];
diff --git a/packages/popover/src/docs/Component.stories.mdx b/packages/popover/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..db40d26179
--- /dev/null
+++ b/packages/popover/src/docs/Component.stories.mdx
@@ -0,0 +1,94 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, boolean, select, number } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import {Button} from '../../../button/src';
+import { Popover } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const POSITION_OPTIONS = [
+ 'top',
+ 'top-start',
+ 'top-end',
+ 'bottom',
+ 'bottom-start',
+ 'bottom-end',
+ 'right',
+ 'right-start',
+ 'right-end',
+ 'left',
+ 'left-start',
+ 'left-end',
+ ];
+ const [open, setOpen] = React.useState(false);
+ const [buttonElement, setButtonElement] = React.useState(null);
+ const toggle = () => {
+ setOpen(!open);
+ };
+ const handleButtonRef = node => {
+ setButtonElement(node);
+ };
+ const transitionTimeout = number('transition.timeout (ms)', 150);
+ return (
+
+
+ I am popover
+
+
+ Show/Hide popover
+
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { Popover } from '@alfalab/core-components-popover';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/popover/src/Component.stories.mdx b/packages/popover/src/docs/description.mdx
similarity index 64%
rename from packages/popover/src/Component.stories.mdx
rename to packages/popover/src/docs/description.mdx
index f9e0d8c236..71f290981d 100644
--- a/packages/popover/src/Component.stories.mdx
+++ b/packages/popover/src/docs/description.mdx
@@ -2,87 +2,11 @@ import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, boolean, select, number } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import {Button} from '../../button/src';
-import { Popover } from './Component';
-import { name, version } from '../package.json';
+import {Button} from '../../../button/src';
+import { Popover } from '../Component';
+import { name, version } from '../../package.json';
-
-
-
-
-
-
- {React.createElement(() => {
- const POSITION_OPTIONS = [
- 'top',
- 'top-start',
- 'top-end',
- 'bottom',
- 'bottom-start',
- 'bottom-end',
- 'right',
- 'right-start',
- 'right-end',
- 'left',
- 'left-start',
- 'left-end',
- ];
- const [open, setOpen] = React.useState(false);
- const [buttonElement, setButtonElement] = React.useState(null);
- const toggle = () => {
- setOpen(!open);
- };
- const handleButtonRef = node => {
- setButtonElement(node);
- };
- const transitionTimeout = number('transition.timeout (ms)', 150);
- return (
-
-
- I am popover
-
-
- Show/Hide popover
-
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { Popover } from '@alfalab/core-components-popover';
-```
-
Компонент `Popover`. Под капотом использует `popper.js` и `react-transition-group`.
@@ -190,5 +114,3 @@ import { Popover } from '@alfalab/core-components-popover';
);
})}
-
-
diff --git a/packages/portal/src/docs/Component.stories.mdx b/packages/portal/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..d5cc238b20
--- /dev/null
+++ b/packages/portal/src/docs/Component.stories.mdx
@@ -0,0 +1,34 @@
+import { Meta, Props, Preview, Story } from '@storybook/addon-docs/blocks';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+import Icon from '@alfalab/icons-glyph/StarMIcon';
+import Description from './description.mdx';
+import { Button } from '../../../button/src';
+import { Portal } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+
+```tsx
+import { Portal } from '@alfalab/core-components-portal';
+```
+
+ }
+ props={ }
+/>
diff --git a/packages/portal/src/Component.stories.mdx b/packages/portal/src/docs/description.mdx
similarity index 71%
rename from packages/portal/src/Component.stories.mdx
rename to packages/portal/src/docs/description.mdx
index 956f141bc7..636db2f403 100644
--- a/packages/portal/src/Component.stories.mdx
+++ b/packages/portal/src/docs/description.mdx
@@ -1,31 +1,10 @@
import { Meta, Props, Preview, Story } from '@storybook/addon-docs/blocks';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Button } from '../../button/src';
import Icon from '@alfalab/icons-glyph/StarMIcon';
+import { Button } from '../../../button/src';
+import { Portal } from '../Component';
+import { name, version } from '../../package.json';
-import { Portal } from './Component';
-import { name, version } from '../package.json';
-
-
-
-
-
-
-
-
-
-```tsx
-import { Portal } from '@alfalab/core-components-portal';
-```
Порталы позволяют рендерить дочерние элементы в DOM-узел, который находится вне DOM-иерархии родительского компонента.
@@ -51,6 +30,3 @@ import { Portal } from '@alfalab/core-components-portal';
);
})}
-
-
-
diff --git a/packages/progress-bar/src/Component.stories.mdx b/packages/progress-bar/src/docs/Component.stories.mdx
similarity index 62%
rename from packages/progress-bar/src/Component.stories.mdx
rename to packages/progress-bar/src/docs/Component.stories.mdx
index 7d327390cd..d0c4f1dbfc 100644
--- a/packages/progress-bar/src/Component.stories.mdx
+++ b/packages/progress-bar/src/docs/Component.stories.mdx
@@ -2,9 +2,14 @@ import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, select, number } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import { name, version } from '../package.json';
-import { ProgressBar } from './Component';
+import { Tabs } from 'storybook/blocks/tabs';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+
+import { name, version } from '../../package.json';
+import { ProgressBar } from '../Component';
-
-
-
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/progress-bar/src/docs/description.mdx b/packages/progress-bar/src/docs/description.mdx
new file mode 100644
index 0000000000..ef463cb359
--- /dev/null
+++ b/packages/progress-bar/src/docs/description.mdx
@@ -0,0 +1,11 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, select, number } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+
+import { name, version } from '../../package.json';
+import { ProgressBar } from '../Component';
+
+
+Отображает линейный индикатор прогресса (0-100%).
+
+
diff --git a/packages/pure-input/src/Component.stories.mdx b/packages/pure-input/src/docs/Component.stories.mdx
similarity index 80%
rename from packages/pure-input/src/Component.stories.mdx
rename to packages/pure-input/src/docs/Component.stories.mdx
index ad7edfe42e..5bc1b7ba69 100644
--- a/packages/pure-input/src/Component.stories.mdx
+++ b/packages/pure-input/src/docs/Component.stories.mdx
@@ -1,9 +1,11 @@
import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, select, boolean } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
-import { PureInput } from './Component';
-import { name, version } from '../package.json';
+import Description from './description.mdx';
+import { PureInput } from '../Component';
+import { name, version } from '../../package.json';
-
-
-
+ }
+ props={ }
+/>
diff --git a/packages/pure-input/src/docs/description.mdx b/packages/pure-input/src/docs/description.mdx
new file mode 100644
index 0000000000..0398a14d62
--- /dev/null
+++ b/packages/pure-input/src/docs/description.mdx
@@ -0,0 +1,10 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, select, boolean } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+
+import { PureInput } from '../Component';
+import { name, version } from '../../package.json';
+
+Компонент, представляющий из себя стилизованный нативный `input`.
+
+
diff --git a/packages/radio-group/src/docs/Component.stories.mdx b/packages/radio-group/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..05ccaabc6e
--- /dev/null
+++ b/packages/radio-group/src/docs/Component.stories.mdx
@@ -0,0 +1,68 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, boolean, select } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+import { CssVars } from 'storybook/blocks/css-vars';
+
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { RadioGroup } from '../Component';
+import { name, version } from '../../package.json';
+import { Radio } from '../../../radio/src';
+import { Tag } from '../../../tag/src';
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const [value, setValue] = React.useState({ one: false, two: false, three: false });
+ const onChange = (_, payload) => {
+ setValue({ ...value, [payload.name]: payload.checked });
+ };
+ const direction = select('direction', ['vertical', 'horizontal'], 'vertical');
+ const error = text('error', '');
+ const disabled = boolean('disabled', false);
+ const label = text('label', '');
+ return (
+
+
+
+
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { RadioGroup } from '@alfalab/core-components-radio-group';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/radio-group/src/Component.stories.mdx b/packages/radio-group/src/docs/description.mdx
similarity index 59%
rename from packages/radio-group/src/Component.stories.mdx
rename to packages/radio-group/src/docs/description.mdx
index 1fc9ae0999..be1a9a4a63 100644
--- a/packages/radio-group/src/Component.stories.mdx
+++ b/packages/radio-group/src/docs/description.mdx
@@ -2,60 +2,12 @@ import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, boolean, select } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import { RadioGroup } from './Component';
-import { name, version } from '../package.json';
-import { Radio } from '../../radio/src';
-import { Tag } from '../../tag/src';
+import { RadioGroup } from '../Component';
+import { name, version } from '../../package.json';
+import { Radio } from '../../../radio/src';
+import { Tag } from '../../../tag/src';
-
-
-
-
-
-
- {React.createElement(() => {
- const [value, setValue] = React.useState({ one: false, two: false, three: false });
- const onChange = (_, payload) => {
- setValue({ ...value, [payload.name]: payload.checked });
- };
- const direction = select('direction', ['vertical', 'horizontal'], 'vertical');
- const error = text('error', '');
- const disabled = boolean('disabled', false);
- const label = text('label', '');
- return (
-
-
-
-
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { RadioGroup } from '@alfalab/core-components-radio-group';
-```
Компонент группы радио.
@@ -87,9 +39,6 @@ import { RadioGroup } from '@alfalab/core-components-radio-group';
-
-
-
### Группа радио, использующая компонент `Tag`
diff --git a/packages/radio/src/Component.stories.mdx b/packages/radio/src/docs/Component.stories.mdx
similarity index 56%
rename from packages/radio/src/Component.stories.mdx
rename to packages/radio/src/docs/Component.stories.mdx
index e841f54fdc..06daf180e1 100644
--- a/packages/radio/src/Component.stories.mdx
+++ b/packages/radio/src/docs/Component.stories.mdx
@@ -1,9 +1,13 @@
import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, boolean, select } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
-import { Radio } from './Component';
-import { name, version } from '../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { Radio } from '../Component';
+import { name, version } from '../../package.json';
- {React.createElement(() => {
- const [checked, setChecked] = React.useState(false);
- const handleChange = () => setChecked(!checked);
- const disabled = boolean('disabled', false);
- const label = text('label', 'Text label')
- const hint = text('hint', 'Hint');
- return (
-
- );
- })}
-
-
-
-
-
-
-### Компонент Radio
-
-
- {React.createElement(() => {
- const [checked, setChecked] = React.useState(false);
- const handleChange = () => setChecked(!checked);
- return (
-
- );
- })}
-
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/radio/src/docs/description.mdx b/packages/radio/src/docs/description.mdx
new file mode 100644
index 0000000000..e6bac16222
--- /dev/null
+++ b/packages/radio/src/docs/description.mdx
@@ -0,0 +1,27 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, boolean, select } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+
+import { Radio } from '../Component';
+import { name, version } from '../../package.json';
+
+### Компонент Radio
+
+
+ {React.createElement(() => {
+ const [checked, setChecked] = React.useState(false);
+ const handleChange = () => setChecked(!checked);
+ const disabled = boolean('disabled', false);
+ const label = text('label', 'Text label')
+ const hint = text('hint', 'Hint');
+ return (
+
+ );
+ })}
+
diff --git a/packages/select-with-tags/src/component.stories.mdx b/packages/select-with-tags/src/docs/Component.stories.mdx
similarity index 60%
rename from packages/select-with-tags/src/component.stories.mdx
rename to packages/select-with-tags/src/docs/Component.stories.mdx
index 8905dc9189..c8ce12a06b 100644
--- a/packages/select-with-tags/src/component.stories.mdx
+++ b/packages/select-with-tags/src/docs/Component.stories.mdx
@@ -3,34 +3,16 @@ import { text, select, boolean } from '@storybook/addon-knobs';
import { action } from '@storybook/addon-actions';
import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
import { Tag } from '@alfalab/core-components-tag';
import { Input } from '@alfalab/core-components-input';
import { MaskedInput } from '@alfalab/core-components-masked-input';
import { Arrow, Option } from '@alfalab/core-components-select';
-import { SelectWithTags } from './component';
-
-export const options = [
- { key: '1', content: 'H', value: 'H' },
- { key: '2', content: 'Li', value: 'Li' },
- { key: '3', content: 'Na', value: 'Na' },
- { key: '4', content: 'Curium', value: 'Curium' },
- { key: '5', content: 'Berkelium', value: 'Berkelium' },
- { key: '6', content: 'Californium', value: 'Californium' },
- { key: '7', content: 'Einsteinium', value: 'Einsteinium' },
- { key: '8', content: 'Fermium', value: 'Fermium' },
- { key: '9', content: 'Mendelevium', value: 'Mendelevium' },
- { key: '10', content: 'Nobelium', value: 'Nobelium' },
- { key: '11', content: 'Lawrencium', value: 'Lawrencium'},
- { key: '12', content: 'Rutherfordium', value: 'Rutherfordium'},
- { key: '13', content: 'Dubnium', value: 'Dubnium' },
- { key: '14', content: 'Seaborgium', value: 'Seaborgium'},
- { key: '15', content: 'Bohrium', value: 'Bohrium' },
-];
-
-export const matchOption = (option, inputValue) =>
- option.content.toLowerCase().includes((inputValue || '').toLowerCase());
+import { SelectWithTags } from '../component';
+import Description from './description.mdx';
+import { options } from './constants';
import { SelectWithTags } from '@alfalab/core-components-select-with-tags';
```
-Размеры `s` и `m` пока лучше не использовать, так как еще нет актуальных макетов.
-
-
- {React.createElement(() => {
- const [value, setValue] = React.useState('');
- const handleInput = event => {
- setValue(event.target.value);
- };
- return (
-
-
-
- );
- })}
-
-
-
+ }
+ props={ }
+/>
diff --git a/packages/select-with-tags/src/docs/constants.ts b/packages/select-with-tags/src/docs/constants.ts
new file mode 100644
index 0000000000..7999656219
--- /dev/null
+++ b/packages/select-with-tags/src/docs/constants.ts
@@ -0,0 +1,17 @@
+export const options = [
+ { key: '1', content: 'H', value: 'H' },
+ { key: '2', content: 'Li', value: 'Li' },
+ { key: '3', content: 'Na', value: 'Na' },
+ { key: '4', content: 'Curium', value: 'Curium' },
+ { key: '5', content: 'Berkelium', value: 'Berkelium' },
+ { key: '6', content: 'Californium', value: 'Californium' },
+ { key: '7', content: 'Einsteinium', value: 'Einsteinium' },
+ { key: '8', content: 'Fermium', value: 'Fermium' },
+ { key: '9', content: 'Mendelevium', value: 'Mendelevium' },
+ { key: '10', content: 'Nobelium', value: 'Nobelium' },
+ { key: '11', content: 'Lawrencium', value: 'Lawrencium' },
+ { key: '12', content: 'Rutherfordium', value: 'Rutherfordium' },
+ { key: '13', content: 'Dubnium', value: 'Dubnium' },
+ { key: '14', content: 'Seaborgium', value: 'Seaborgium' },
+ { key: '15', content: 'Bohrium', value: 'Bohrium' },
+];
diff --git a/packages/select-with-tags/src/docs/description.mdx b/packages/select-with-tags/src/docs/description.mdx
new file mode 100644
index 0000000000..72073f875e
--- /dev/null
+++ b/packages/select-with-tags/src/docs/description.mdx
@@ -0,0 +1,37 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { text, select, boolean } from '@storybook/addon-knobs';
+import { action } from '@storybook/addon-actions';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+
+import { Tag } from '@alfalab/core-components-tag';
+import { Input } from '@alfalab/core-components-input';
+import { MaskedInput } from '@alfalab/core-components-masked-input';
+import { Arrow, Option } from '@alfalab/core-components-select';
+
+import { SelectWithTags } from '../component';
+import { options } from './constants';
+
+
+Размеры `s` и `m` пока лучше не использовать, так как еще нет актуальных макетов.
+
+
+ {React.createElement(() => {
+ const [value, setValue] = React.useState('');
+ const handleInput = event => {
+ setValue(event.target.value);
+ };
+ return (
+
+
+
+ );
+ })}
+
+
diff --git a/packages/select/src/docs/Component.stories.mdx b/packages/select/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..33e042f8e7
--- /dev/null
+++ b/packages/select/src/docs/Component.stories.mdx
@@ -0,0 +1,78 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { text, boolean, number, select as selectKnob } from '@storybook/addon-knobs';
+import { action } from '@storybook/addon-actions';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import vars from '!!raw-loader!../vars.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { Select } from '../Component';
+import { Field } from '../components/field';
+import { Arrow } from '../components/arrow';
+import { OptionsList } from '../components/options-list';
+import { VirtualOptionsList } from '../components/virtual-options-list';
+import { Optgroup } from '../components/optgroup';
+import { Option } from '../components/option';
+import { Button } from '../../../button/src';
+import { joinOptions } from '../utils';
+import { name, version } from '../../package.json';
+
+import Icon from '@alfalab/icons-classic/BankAlfaSBlackIcon';
+import { options, POSITION_OPTIONS } from './constants'
+
+
+
+
+
+
+
+ null}
+ circularNavigation={boolean('circularNavigation', false)}
+ nativeSelect={boolean('nativeSelect', false)}
+ placeholder={text('placeholder', 'Выберите элемент')}
+ label={text('label', 'Элемент')}
+ visibleOptions={number('visibleOptions', 5)}
+ onChange={action('change')}
+ onOpen={action('open')}
+ defaultOpen={boolean('defaultOpen', false)}
+ popoverPosition={selectKnob('popoverPosition', POSITION_OPTIONS, 'bottom-start')}
+ optionsListWidth={selectKnob('optionsListWidth', ['field', 'content'], 'field')}
+ />
+
+
+
+
+
+
+
+```tsx
+import { Select } from '@alfalab/core-components-select';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/select/src/docs/constants.ts b/packages/select/src/docs/constants.ts
new file mode 100644
index 0000000000..f9b9ec96aa
--- /dev/null
+++ b/packages/select/src/docs/constants.ts
@@ -0,0 +1,66 @@
+export const options = [
+ { key: '1', content: 'Neptunium' },
+ { key: '2', content: 'Plutonium' },
+ { key: '3', content: 'Americium' },
+ { key: '4', content: 'Curium' },
+ { key: '5', content: 'Berkelium' },
+ { key: '6', content: 'Californium' },
+ { key: '7', content: 'Einsteinium' },
+ { key: '8', content: 'Fermium' },
+ { key: '9', content: 'Mendelevium' },
+ { key: '10', content: 'Nobelium' },
+ { key: '11', content: 'Lawrencium' },
+ { key: '12', content: 'Rutherfordium' },
+ { key: '13', content: 'Dubnium' },
+ { key: '14', content: 'Seaborgium' },
+ { key: '15', content: 'Bohrium' },
+ { key: '16', content: 'Очень длинный текст Очень длинный текст Очень длинный текст' },
+];
+
+export const groups = [
+ {
+ label: 'Группа №1',
+ options: [
+ { key: '1', content: 'Neptunium' },
+ { key: '2', content: 'Plutonium' },
+ { key: '3', content: 'Americium' },
+ { key: '4', content: 'Curium' },
+ ],
+ },
+ {
+ label: 'Группа №2',
+ options: [
+ { key: '5', content: 'Berkelium' },
+ { key: '6', content: 'Californium' },
+ { key: '7', content: 'Einsteinium' },
+ { key: '8', content: 'Fermium' },
+ { key: '9', content: 'Mendelevium' },
+ { key: '10', content: 'Nobelium' },
+ ],
+ },
+ {
+ label: 'Группа №3',
+ options: [
+ { key: '11', content: 'Lawrencium' },
+ { key: '12', content: 'Rutherfordium' },
+ { key: '13', content: 'Dubnium' },
+ { key: '14', content: 'Seaborgium' },
+ { key: '15', content: 'Bohrium' },
+ ],
+ },
+];
+
+export const POSITION_OPTIONS = [
+ 'top',
+ 'top-start',
+ 'top-end',
+ 'bottom',
+ 'bottom-start',
+ 'bottom-end',
+ 'right',
+ 'right-start',
+ 'right-end',
+ 'left',
+ 'left-start',
+ 'left-end',
+];
diff --git a/packages/select/src/Component.stories.mdx b/packages/select/src/docs/description.mdx
similarity index 78%
rename from packages/select/src/Component.stories.mdx
rename to packages/select/src/docs/description.mdx
index 0e85b4b1be..4f44e6b55c 100644
--- a/packages/select/src/Component.stories.mdx
+++ b/packages/select/src/docs/description.mdx
@@ -4,69 +4,19 @@ import { action } from '@storybook/addon-actions';
import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Select } from './Component';
-import { Field } from './components/field';
-import { Arrow } from './components/arrow';
-import { OptionsList } from './components/options-list';
-import { VirtualOptionsList } from './components/virtual-options-list';
-import { Optgroup } from './components/optgroup';
-import { Option } from './components/option';
-import { Button } from '../../button/src';
-import { joinOptions } from './utils';
-import { name, version } from '../package.json';
+import { Select } from '../Component';
+import { Field } from '../components/field';
+import { Arrow } from '../components/arrow';
+import { OptionsList } from '../components/options-list';
+import { VirtualOptionsList } from '../components/virtual-options-list';
+import { Optgroup } from '../components/optgroup';
+import { Option } from '../components/option';
+import { Button } from '../../../button/src';
+import { joinOptions } from '../utils';
+import { name, version } from '../../package.json';
import Icon from '@alfalab/icons-classic/BankAlfaSBlackIcon';
-
-export const options = [
- { key: '1', content: 'Neptunium'},
- { key: '2', content: 'Plutonium' },
- { key: '3', content: 'Americium' },
- { key: '4', content: 'Curium' },
- { key: '5', content: 'Berkelium' },
- { key: '6', content: 'Californium' },
- { key: '7', content: 'Einsteinium' },
- { key: '8', content: 'Fermium' },
- { key: '9', content: 'Mendelevium' },
- { key: '10', content: 'Nobelium' },
- { key: '11', content: 'Lawrencium' },
- { key: '12', content: 'Rutherfordium' },
- { key: '13', content: 'Dubnium' },
- { key: '14', content: 'Seaborgium' },
- { key: '15', content: 'Bohrium' },
-];
-
-export const groups = [
- {
- label: 'Группа №1',
- options: [
- { key: '1', content: 'Neptunium' },
- { key: '2', content: 'Plutonium' },
- { key: '3', content: 'Americium' },
- { key: '4', content: 'Curium' },
- ]
- },
- {
- label: 'Группа №2',
- options: [
- { key: '5', content: 'Berkelium' },
- { key: '6', content: 'Californium' },
- { key: '7', content: 'Einsteinium' },
- { key: '8', content: 'Fermium' },
- { key: '9', content: 'Mendelevium' },
- { key: '10', content: 'Nobelium' },
- ]
- },
- {
- label: 'Группа №3',
- options: [
- { key: '11', content: 'Lawrencium' },
- { key: '12', content: 'Rutherfordium' },
- { key: '13', content: 'Dubnium' },
- { key: '14', content: 'Seaborgium' },
- { key: '15', content: 'Bohrium' },
- ]
- },
-];
+import { options, groups, POSITION_OPTIONS } from './constants';
export const optionsWithHtml = options.map(option => {
return {
@@ -79,70 +29,6 @@ export const renderUppercased = (options) => {
return options.map(option => option.content.toUpperCase()).join(', ');
};
-export const POSITION_OPTIONS = [
- 'top',
- 'top-start',
- 'top-end',
- 'bottom',
- 'bottom-start',
- 'bottom-end',
- 'right',
- 'right-start',
- 'right-end',
- 'left',
- 'left-start',
- 'left-end',
-];
-
-
-
-
-
-
-
-
- null}
- circularNavigation={boolean('circularNavigation', false)}
- nativeSelect={boolean('nativeSelect', false)}
- placeholder={text('placeholder', 'Выберите элемент')}
- label={text('label', 'Элемент')}
- visibleOptions={number('visibleOptions', 5)}
- onChange={action('change')}
- onOpen={action('open')}
- defaultOpen={boolean('defaultOpen', false)}
- popoverPosition={selectKnob('popoverPosition', POSITION_OPTIONS, 'bottom-start')}
- optionsListWidth={selectKnob('optionsListWidth', ['field', 'content'], 'field')}
- />
-
-
-
-
-
-
-
-```tsx
-import { Select } from '@alfalab/core-components-select';
-```
Компонент выпадающего списка.
@@ -151,16 +37,6 @@ import { Select } from '@alfalab/core-components-select';
-
-
-
-
## Использование
В случае, если нужно собрать селект под очень специфичный кейс - за основу стоит взять компонент `BaseSelect`,
diff --git a/packages/skeleton/src/docs/Component.stories.mdx b/packages/skeleton/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..df9071f599
--- /dev/null
+++ b/packages/skeleton/src/docs/Component.stories.mdx
@@ -0,0 +1,62 @@
+import { text, boolean } from '@storybook/addon-knobs';
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { Skeleton } from '..';
+import { name, version } from '../../package.json';
+import { Typography } from '../../../typography/src';
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ return (
+
+
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { Skeleton } from '@alfalab/core-components-skeleton';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/skeleton/src/Component.stories.mdx b/packages/skeleton/src/docs/description.mdx
similarity index 54%
rename from packages/skeleton/src/Component.stories.mdx
rename to packages/skeleton/src/docs/description.mdx
index f20c497802..d3c9370629 100644
--- a/packages/skeleton/src/Component.stories.mdx
+++ b/packages/skeleton/src/docs/description.mdx
@@ -3,63 +3,14 @@ import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Skeleton } from '.';
-import { name, version } from '../package.json';
-import { Typography } from '../../typography/src';
-import styles from './stories.module.css';
-
-
-
-
-
-
-
-
- {React.createElement(() => {
- return (
-
-
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { Skeleton } from '@alfalab/core-components-skeleton';
-```
+import { Skeleton } from '..';
+import { name, version } from '../../package.json';
+import { Typography } from '../../../typography/src';
+import styles from '../stories.module.css';
Компонент скелетной загрузки.
-
-
-
## Использование
С контентом:
diff --git a/packages/slider-input/src/docs/Component.stories.mdx b/packages/slider-input/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..1dfc2efd92
--- /dev/null
+++ b/packages/slider-input/src/docs/Component.stories.mdx
@@ -0,0 +1,75 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { action } from '@storybook/addon-actions';
+import { text, select, boolean, number } from '@storybook/addon-knobs';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import Icon from '@alfalab/icons-glyph/StarMIcon';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { SliderInput } from '../Component';
+import { AmountInput } from '../../../amount-input/src';
+import { Input } from '../../../input/src';
+import { withSuffix } from '../../../with-suffix/src';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+{React.createElement(() => {
+ const [value, setValue] = React.useState('50');
+ const handleChange = (event, { value }) => setValue(value);
+ return (
+ }
+ leftAddons={boolean('leftAddons', false) && }
+ readOnly={boolean('readOnly', false)}
+ />
+ );
+})}
+
+
+
+
+
+
+
+```tsx
+import { SliderInput } from '@alfalab/core-components-slider-input';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/slider-input/src/Component.stories.mdx b/packages/slider-input/src/docs/description.mdx
similarity index 78%
rename from packages/slider-input/src/Component.stories.mdx
rename to packages/slider-input/src/docs/description.mdx
index 0217221654..c679cfc3c6 100644
--- a/packages/slider-input/src/Component.stories.mdx
+++ b/packages/slider-input/src/docs/description.mdx
@@ -5,65 +5,13 @@ import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
import Icon from '@alfalab/icons-glyph/StarMIcon';
-import { SliderInput } from './Component';
-import { AmountInput } from '../../amount-input/src';
-import { Input } from '../../input/src';
-import { withSuffix } from '../../with-suffix/src';
-import { name, version } from '../package.json';
+import { SliderInput } from '../Component';
+import { AmountInput } from '../../../amount-input/src';
+import { Input } from '../../../input/src';
+import { withSuffix } from '../../../with-suffix/src';
+import { name, version } from '../../package.json';
-
-
-
-
-
-
-{React.createElement(() => {
- const [value, setValue] = React.useState('50');
- const handleChange = (event, { value }) => setValue(value);
- return (
- }
- leftAddons={boolean('leftAddons', false) && }
- readOnly={boolean('readOnly', false)}
- />
- );
-})}
-
-
-
-
-
-
-
-```tsx
-import { SliderInput } from '@alfalab/core-components-slider-input';
-```
-
Поле ввода, совмещенное со слайдером
export const normalizeValue = (value, min, max) => {
@@ -274,6 +222,3 @@ export const normalizeValue = (value, min, max) => {
);
})}
-
-
-
diff --git a/packages/slider/src/Component.stories.mdx b/packages/slider/src/docs/Component.stories.mdx
similarity index 76%
rename from packages/slider/src/Component.stories.mdx
rename to packages/slider/src/docs/Component.stories.mdx
index c5bef3dbb2..e2c830f36b 100644
--- a/packages/slider/src/Component.stories.mdx
+++ b/packages/slider/src/docs/Component.stories.mdx
@@ -4,9 +4,13 @@ import { text, select, boolean, number } from '@storybook/addon-knobs';
import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
import Icon from '@alfalab/icons-glyph/StarMIcon';
+import { Tabs } from 'storybook/blocks/tabs';
-import { Slider } from './Component';
-import { name, version } from '../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { Slider } from '../Component';
+import { name, version } from '../../package.json';
-{React.createElement(() => {
- const [value, setValue] = React.useState(50);
- const handleChange = (event, { value }) => setValue(value);
- return (
-
- );
-})}
-
-
-
+
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/slider/src/docs/description.mdx b/packages/slider/src/docs/description.mdx
new file mode 100644
index 0000000000..2baf7ed377
--- /dev/null
+++ b/packages/slider/src/docs/description.mdx
@@ -0,0 +1,20 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { action } from '@storybook/addon-actions';
+import { text, select, boolean, number } from '@storybook/addon-knobs';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import Icon from '@alfalab/icons-glyph/StarMIcon';
+
+import { Slider } from '../Component';
+import { name, version } from '../../package.json';
+
+
+ {React.createElement(() => {
+ const [value, setValue] = React.useState(50);
+ const handleChange = (event, { value }) => setValue(value);
+ return (
+
+ );
+ })}
+
+
diff --git a/packages/space/src/docs/Component.stories.mdx b/packages/space/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..d8913ff3b0
--- /dev/null
+++ b/packages/space/src/docs/Component.stories.mdx
@@ -0,0 +1,59 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { select, boolean, text } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Input } from '@alfalab/core-components-input';
+import { CardImage } from '@alfalab/core-components-card-image';
+import { Button } from '@alfalab/core-components-button';
+import { Divider } from '@alfalab/core-components-divider';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { Space } from '../Component';
+import { name, version } from '../../package.json';
+
+export const DIRECTIONS = ['horizontal', 'vertical'];
+export const ALIGNES = ['start', 'end', 'center'];
+export const SIZES = ['s', 'm', 'l', 8, 72];
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```tsx
+import { Space } from '@alfalab/core-components-space';
+```
+
+ }
+ props={ }
+/>
diff --git a/packages/space/src/Component.stories.mdx b/packages/space/src/docs/description.mdx
similarity index 78%
rename from packages/space/src/Component.stories.mdx
rename to packages/space/src/docs/description.mdx
index e0fc9549f8..f0203afc6c 100644
--- a/packages/space/src/Component.stories.mdx
+++ b/packages/space/src/docs/description.mdx
@@ -6,55 +6,11 @@ import { CardImage } from '@alfalab/core-components-card-image';
import { Button } from '@alfalab/core-components-button';
import { Divider } from '@alfalab/core-components-divider';
-import { Space } from './Component';
-import { name, version } from '../package.json';
-
-export const DIRECTIONS = ['horizontal', 'vertical'];
-export const ALIGNES = ['start', 'end', 'center'];
-export const SIZES = ['s', 'm', 'l', 8, 72];
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```tsx
-import { Space } from '@alfalab/core-components-space';
-```
+import { Space } from '../Component';
+import { name, version } from '../../package.json';
Компонент для установки расстояния между компонентами.
-
-
### Примеры
Просто карточки.
diff --git a/packages/spinner/src/docs/Component.stories.mdx b/packages/spinner/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..8bbd88100b
--- /dev/null
+++ b/packages/spinner/src/docs/Component.stories.mdx
@@ -0,0 +1,47 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { text, boolean, select } from '@storybook/addon-knobs';
+import { action } from '@storybook/addon-actions';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+
+import { Button } from '../../../button/src';
+import { Spinner } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+```tsx
+import { Spinner } from '@alfalab/core-components-spinner';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/spinner/src/Component.stories.mdx b/packages/spinner/src/docs/description.mdx
similarity index 61%
rename from packages/spinner/src/Component.stories.mdx
rename to packages/spinner/src/docs/description.mdx
index 96d6c3f607..11b8892e79 100644
--- a/packages/spinner/src/Component.stories.mdx
+++ b/packages/spinner/src/docs/description.mdx
@@ -4,36 +4,9 @@ import { action } from '@storybook/addon-actions';
import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Button } from '../../button/src';
-import { Spinner } from './Component';
-import { name, version } from '../package.json';
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-```tsx
-import { Spinner } from '@alfalab/core-components-spinner';
-```
+import { Button } from '../../../button/src';
+import { Spinner } from '../Component';
+import { name, version } from '../../package.json';
Компонент спиннера.
@@ -74,6 +47,3 @@ Spinner `size=s` in button:
Документы загружаются...
-
-
-
diff --git a/packages/stack/src/docs/Component.stories.mdx b/packages/stack/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..b2fb5003c4
--- /dev/null
+++ b/packages/stack/src/docs/Component.stories.mdx
@@ -0,0 +1,39 @@
+import { useState } from 'react';
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+import { Button } from '../../../button/src';
+import { Portal } from '../../../portal/src';
+import { ModalDesktop } from '../../../modal/src/desktop';
+import { Tooltip } from '../../../tooltip/src';
+import Description from './description.mdx';
+import { Stack } from '../';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+
+
+
+```tsx
+import { Stack } from '@alfalab/core-components-stack';
+```
+
+ }
+ props={ }
+/>
diff --git a/packages/stack/src/component.stories.mdx b/packages/stack/src/docs/description.mdx
similarity index 91%
rename from packages/stack/src/component.stories.mdx
rename to packages/stack/src/docs/description.mdx
index 46667ac58d..1be90ca486 100644
--- a/packages/stack/src/component.stories.mdx
+++ b/packages/stack/src/docs/description.mdx
@@ -1,36 +1,12 @@
import { useState } from 'react';
import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Button } from '../../button/src';
-import { Portal } from '../../portal/src';
-import { ModalDesktop } from '../../modal/src/desktop';
-import { Tooltip } from '../../tooltip/src';
-
-import { Stack } from '.';
-import { name, version } from '../package.json';
-
-
-
-
-
-
-
-
-
-
-
-```tsx
-import { Stack } from '@alfalab/core-components-stack';
-```
+import { Button } from '../../../button/src';
+import { Portal } from '../../../portal/src';
+import { ModalDesktop } from '../../../modal/src/desktop';
+import { Tooltip } from '../../../tooltip/src';
+import { Stack } from '../';
+import { name, version } from '../../package.json';
Компонент для управления [порядком наложения](https://developer.mozilla.org/ru/docs/Web/CSS/z-index).
@@ -168,5 +144,3 @@ import { Stack } from '@alfalab/core-components-stack';
- POPOVER — Компоненты, которые управляют своей позицией, например, поповер, тултип
- MODAL — Для модальных окон с оверлеем
- TOAST - Для тостов и нотификаций
-
-
diff --git a/packages/status/src/docs/Component.stories.mdx b/packages/status/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..b792a3e9b2
--- /dev/null
+++ b/packages/status/src/docs/Component.stories.mdx
@@ -0,0 +1,45 @@
+import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { select, text } from '@storybook/addon-knobs';
+import { Container, Row, Col } from 'storybook/blocks/grid';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import { Status, colors } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+ {text('children', 'Label')}
+
+
+
+
+
+
+
+
+```tsx
+import { Status } from '@alfalab/core-components-status';
+```
+
+ }
+ props={ }
+/>
diff --git a/packages/status/src/Component.stories.mdx b/packages/status/src/docs/description.mdx
similarity index 70%
rename from packages/status/src/Component.stories.mdx
rename to packages/status/src/docs/description.mdx
index 372e6bb62b..6707e52b23 100644
--- a/packages/status/src/Component.stories.mdx
+++ b/packages/status/src/docs/description.mdx
@@ -3,39 +3,9 @@ import { select, text } from '@storybook/addon-knobs';
import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Status, colors } from './Component';
-import { name, version } from '../package.json';
+import { Status, colors } from '../Component';
+import { name, version } from '../../package.json';
-
-
-
-
-
-
-
- {text('children', 'Label')}
-
-
-
-
-
-
-
-
-```tsx
-import { Status } from '@alfalab/core-components-status';
-```
Статус испольнения/подключения или маркетингового выделения
@@ -75,5 +45,3 @@ import { Status } from '@alfalab/core-components-status';
-
-
diff --git a/packages/switch/src/docs/Component.stories.mdx b/packages/switch/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..d050636f6a
--- /dev/null
+++ b/packages/switch/src/docs/Component.stories.mdx
@@ -0,0 +1,66 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, boolean, select } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { Button } from '../../../button/src';
+import Icon from '@alfalab/icons-glyph/StarMIcon';
+
+import { Switch } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const [checked, setChecked] = React.useState(false);
+ const handleChange = () => setChecked(!checked);
+ return (
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { Switch } from '@alfalab/core-components-switch';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/switch/src/Component.stories.mdx b/packages/switch/src/docs/description.mdx
similarity index 65%
rename from packages/switch/src/Component.stories.mdx
rename to packages/switch/src/docs/description.mdx
index c0d9e0aa78..06695eb854 100644
--- a/packages/switch/src/Component.stories.mdx
+++ b/packages/switch/src/docs/description.mdx
@@ -2,59 +2,13 @@ import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, boolean, select } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Button } from '../../button/src';
+import { Button } from '../../../button/src';
import Icon from '@alfalab/icons-glyph/StarMIcon';
-import { Switch } from './Component';
-import { name, version } from '../package.json';
+import { Switch } from '../Component';
+import { name, version } from '../../package.json';
-
-
-
-
-
-
- {React.createElement(() => {
- const [checked, setChecked] = React.useState(false);
- const handleChange = () => setChecked(!checked);
- return (
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { Switch } from '@alfalab/core-components-switch';
-```
-
Компонент переключателя.
@@ -77,9 +31,6 @@ import { Switch } from '@alfalab/core-components-switch';
-
-
-
### Переключатель без текста
diff --git a/packages/tabs/src/docs/Component.stories.mdx b/packages/tabs/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..6ab7b8f406
--- /dev/null
+++ b/packages/tabs/src/docs/Component.stories.mdx
@@ -0,0 +1,159 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { boolean, select } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { Tabs } from 'storybook/blocks/tabs';
+import Icon from '@alfalab/icons-glyph/StarMIcon';
+import Description from './description.mdx';
+import vars from '!!raw-loader!../vars.css';
+import { Tab, TabsDesktop, PrimaryTabListDesktop, SecondaryTabListDesktop } from '../desktop';
+import { TabsMobile, PrimaryTabListMobile, SecondaryTabListMobile } from '../mobile';
+import { TabsResponsive } from '../responsive';
+import { name, version } from '../../package.json';
+
+export const titles = Array(7).fill(0).map((_, i) => ({ title: `Таб ${i + 1}`, id: i + 1 }));
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const [selectedId, setSelectedId] = React.useState('tab-1');
+ const handleChange = (event, { selectedId }) => setSelectedId(selectedId);
+ return (
+
+
+ Таб 1
+
+
+ Таб 2
+
+
+ Таб 3
+
+
+ Таб 4
+
+
+ Таб 5
+
+
+ );
+ })}
+
+
+
+ {React.createElement(() => {
+ const [selectedId, setSelectedId] = React.useState('tab-1');
+ const handleChange = (event, { selectedId }) => setSelectedId(selectedId);
+ return (
+
+
+ Таб 1
+
+
+ Таб 2
+
+
+ Таб 3
+
+
+ Таб 4
+
+
+ Таб 5
+
+
+ );
+ })}
+
+
+
+ {React.createElement(() => {
+ const [selectedId, setSelectedId] = React.useState('tab-1');
+ const handleChange = (event, { selectedId }) => setSelectedId(selectedId);
+ return (
+
+
+ Таб 1
+
+
+ Таб 2
+
+
+ Таб 3
+
+
+ Таб 4
+
+
+ Таб 5
+
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+// Импорт адаптивных табов
+import { TabsResponsive, Tab } from '@alfalab/core-components-tabs';
+import { TabsResponsive, Tab } from '@alfalab/core-components-tabs/responsive';
+// Импорт только десктопных табов
+import { TabsDesktop, Tab } from '@alfalab/core-components-tabs/desktop';
+// Импорт только мобильных табов
+import { TabsMobile, Tab } from '@alfalab/core-components-tabs/mobile';
+```
+
+ }
+ cssVars={ }
+ props={
+
+ }
+/>
diff --git a/packages/tabs/src/Component.stories.mdx b/packages/tabs/src/docs/description.mdx
similarity index 55%
rename from packages/tabs/src/Component.stories.mdx
rename to packages/tabs/src/docs/description.mdx
index 9bff183d56..4fe47ee1a5 100644
--- a/packages/tabs/src/Component.stories.mdx
+++ b/packages/tabs/src/docs/description.mdx
@@ -3,140 +3,12 @@ import { boolean, select } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import Icon from '@alfalab/icons-glyph/StarMIcon';
-import { Tab, TabsDesktop, PrimaryTabListDesktop, SecondaryTabListDesktop } from './desktop';
-import { TabsMobile, PrimaryTabListMobile, SecondaryTabListMobile } from './mobile';
-import { TabsResponsive } from './responsive';
+import { Tab, TabsDesktop, PrimaryTabListDesktop, SecondaryTabListDesktop } from '../desktop';
+import { TabsMobile, PrimaryTabListMobile, SecondaryTabListMobile } from '../mobile';
+import { TabsResponsive } from '../responsive';
-import { name, version } from '../package.json';
+import { name, version } from '../../package.json';
-export const titles = Array(7).fill(0).map((_, i) => ({ title: `Таб ${i + 1}`, id: i + 1 }));
-
-
-
-
-
-
-
-
- {React.createElement(() => {
- const [selectedId, setSelectedId] = React.useState('tab-1');
- const handleChange = (event, { selectedId }) => setSelectedId(selectedId);
- return (
-
-
- Таб 1
-
-
- Таб 2
-
-
- Таб 3
-
-
- Таб 4
-
-
- Таб 5
-
-
- );
- })}
-
-
-
- {React.createElement(() => {
- const [selectedId, setSelectedId] = React.useState('tab-1');
- const handleChange = (event, { selectedId }) => setSelectedId(selectedId);
- return (
-
-
- Таб 1
-
-
- Таб 2
-
-
- Таб 3
-
-
- Таб 4
-
-
- Таб 5
-
-
- );
- })}
-
-
-
- {React.createElement(() => {
- const [selectedId, setSelectedId] = React.useState('tab-1');
- const handleChange = (event, { selectedId }) => setSelectedId(selectedId);
- return (
-
-
- Таб 1
-
-
- Таб 2
-
-
- Таб 3
-
-
- Таб 4
-
-
- Таб 5
-
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-// Импорт адаптивных табов
-import { TabsResponsive, Tab } from '@alfalab/core-components-tabs';
-import { TabsResponsive, Tab } from '@alfalab/core-components-tabs/responsive';
-// Импорт только десктопных табов
-import { TabsDesktop, Tab } from '@alfalab/core-components-tabs/desktop';
-// Импорт только мобильных табов
-import { TabsMobile, Tab } from '@alfalab/core-components-tabs/mobile';
-```
Компоненты для построения табов.
@@ -283,11 +155,3 @@ import { TabsMobile, Tab } from '@alfalab/core-components-tabs/mobile';
);
})}
-
-
-
diff --git a/packages/tag/src/docs/Component.stories.mdx b/packages/tag/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..f271c4508a
--- /dev/null
+++ b/packages/tag/src/docs/Component.stories.mdx
@@ -0,0 +1,61 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, select, boolean } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import Icon from '@alfalab/icons-glyph/CopyMIcon';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description, { SIZES } from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { Tag } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const [checked, setChecked] = React.useState(false);
+ const handleClick = () => setChecked(!checked);
+ return (
+ }
+ onClick={handleClick}
+ >
+ {text('label', 'Оплатить')}
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { Tag } from '@alfalab/core-components-tag';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/tag/src/Component.stories.mdx b/packages/tag/src/docs/description.mdx
similarity index 53%
rename from packages/tag/src/Component.stories.mdx
rename to packages/tag/src/docs/description.mdx
index 7047154c86..62b2fd0b54 100644
--- a/packages/tag/src/Component.stories.mdx
+++ b/packages/tag/src/docs/description.mdx
@@ -3,54 +3,11 @@ import { text, select, boolean } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import Icon from '@alfalab/icons-glyph/CopyMIcon';
-import { Tag } from './Component';
-import { name, version } from '../package.json';
+import { Tag } from '../Component';
+import { name, version } from '../../package.json';
export const SIZES = ['xs', 's', 'm', 'l', 'xl'];
-
-
-
-
-
-
-
- {React.createElement(() => {
- const [checked, setChecked] = React.useState(false);
- const handleClick = () => setChecked(!checked);
- return (
- }
- onClick={handleClick}
- >
- {text('label', 'Оплатить')}
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { Tag } from '@alfalab/core-components-tag';
-```
-
Компонент тэг (чипсы).
@@ -70,10 +27,6 @@ import { Tag } from '@alfalab/core-components-tag';
})}
-
-
-
-
### Тэг с иконкой
diff --git a/packages/textarea/src/Component.stories.mdx b/packages/textarea/src/docs/Component.stories.mdx
similarity index 79%
rename from packages/textarea/src/Component.stories.mdx
rename to packages/textarea/src/docs/Component.stories.mdx
index afd35ee78a..d17a8a5c9b 100644
--- a/packages/textarea/src/Component.stories.mdx
+++ b/packages/textarea/src/docs/Component.stories.mdx
@@ -2,9 +2,13 @@ import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, select, boolean, number } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import Icon from '@alfalab/icons-glyph/StarMIcon';
+import { Tabs } from 'storybook/blocks/tabs';
+import { CssVars } from 'storybook/blocks/css-vars';
-import { Textarea } from './Component';
-import { name, version } from '../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { Textarea } from '../Component';
+import { name, version } from '../../package.json';
-
-
-
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/textarea/src/docs/component.stories.mdx b/packages/textarea/src/docs/component.stories.mdx
index be0525fbe5..d17a8a5c9b 100644
--- a/packages/textarea/src/docs/component.stories.mdx
+++ b/packages/textarea/src/docs/component.stories.mdx
@@ -1,50 +1,46 @@
import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, select, boolean, number } from '@storybook/addon-knobs';
-import { CssVars, ComponentHeader, Tabs } from 'storybook/blocks';
+import { ComponentHeader } from 'storybook/blocks/component-header';
import Icon from '@alfalab/icons-glyph/StarMIcon';
+import { Tabs } from 'storybook/blocks/tabs';
+import { CssVars } from 'storybook/blocks/css-vars';
-import { Textarea } from '..';
-import { name, version } from '../../package.json';
-
-import styles from '!!raw-loader!../index.module.css';
import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { Textarea } from '../Component';
+import { name, version } from '../../package.json';
+
- {React.createElement(() => {
- const showCounter = boolean('showCounter', false);
- return (
- }
- leftAddons={boolean('leftAddons', false) && }
- bottomAddons={boolean('bottomAddons', false) && bottom text }
- readOnly={boolean('readOnly', false)}
- showCounter={showCounter}
- maxLength={showCounter && 500}
- />
- );
- })}
+ }
+ leftAddons={boolean('leftAddons', false) && }
+ bottomAddons={boolean('bottomAddons', false) && bottom text }
+ readOnly={boolean('readOnly', false)}
+ />
+
```tsx
-import { Textarea } from '@alfalab/core-components/textarea';
+import { Textarea } from '@alfalab/core-components-textarea';
```
}
- props={ }
- cssVars={ }
+ description={ }
+ props={ }
+ cssVars={ }
/>
diff --git a/packages/textarea/src/docs/description.mdx b/packages/textarea/src/docs/description.mdx
index 3337b89f00..52c15e900e 100644
--- a/packages/textarea/src/docs/description.mdx
+++ b/packages/textarea/src/docs/description.mdx
@@ -1,13 +1,11 @@
-import { Textarea } from '..';
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, select, boolean, number } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import Icon from '@alfalab/icons-glyph/StarMIcon';
+
+import { Textarea } from '../Component';
+import { name, version } from '../../package.json';
Компонент текстового поля ввода.
-```tsx live
-```
-
-Со счетчиком:
-
-```tsx live
-
-```
diff --git a/packages/toast-plate/src/component.stories.mdx b/packages/toast-plate/src/docs/Component.stories.mdx
similarity index 71%
rename from packages/toast-plate/src/component.stories.mdx
rename to packages/toast-plate/src/docs/Component.stories.mdx
index f2a45cc4f5..3e521ea8ae 100644
--- a/packages/toast-plate/src/component.stories.mdx
+++ b/packages/toast-plate/src/docs/Component.stories.mdx
@@ -2,9 +2,14 @@ import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, select, boolean } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Button } from '@alfalab/core-components-button';
+import { Tabs } from 'storybook/blocks/tabs';
-import { ToastPlate } from './';
-import { name, version } from '../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+
+import { ToastPlate } from '../';
+import { name, version } from '../../package.json';
- Восстановить }
- />
-
-
-
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/toast-plate/src/docs/description.mdx b/packages/toast-plate/src/docs/description.mdx
new file mode 100644
index 0000000000..977c9e44e0
--- /dev/null
+++ b/packages/toast-plate/src/docs/description.mdx
@@ -0,0 +1,20 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, select, boolean } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Button } from '@alfalab/core-components-button';
+
+import { ToastPlate } from '../';
+import { name, version } from '../../package.json';
+
+Плашка для компонента `Toast`. Также используется в компоненте `Notification`.
+
+
+ Восстановить }
+ />
+
diff --git a/packages/toast/src/docs/component.stories.mdx b/packages/toast/src/docs/component.stories.mdx
index 8f6c05cecb..95dd0db51e 100644
--- a/packages/toast/src/docs/component.stories.mdx
+++ b/packages/toast/src/docs/component.stories.mdx
@@ -143,6 +143,6 @@ import { Toast } from '@alfalab/core-components-toast';
}
- props={ }
+ props={ }
cssVars={ }
/>
diff --git a/packages/toast/src/docs/description.mdx b/packages/toast/src/docs/description.mdx
index df10e1e5c4..b0b2ff8414 100644
--- a/packages/toast/src/docs/description.mdx
+++ b/packages/toast/src/docs/description.mdx
@@ -28,36 +28,60 @@ export function Example() {
justifyContent: 'center',
alignItems: 'flex-start',
padding: '200px',
- boxSizing: 'border-box'
+ boxSizing: 'border-box',
}}
>
{ setAnchorToastOpen(false); }}
+ onClose={() => {
+ setAnchorToastOpen(false);
+ }}
autoCloseDelay={1500}
/>
{ setFixedToastOpen(false); }}
+ onClose={() => {
+ setFixedToastOpen(false);
+ }}
autoCloseDelay={3000}
- actionButton={ { setFixedToastOpen(false) }}>Восстановить }
- style={{maxWidth: 'calc(100vw - 150px)'}}
+ actionButton={
+ {
+ setFixedToastOpen(false);
+ }}
+ >
+ Восстановить
+
+ }
+ style={{ maxWidth: 'calc(100vw - 150px)' }}
/>
- { setAnchorToastOpen(true); }}>
+ {
+ setAnchorToastOpen(true);
+ }}
+ >
Скопировать
- { setFixedToastOpen(true) }} style={{marginLeft: '20px'}}>
+ {
+ setFixedToastOpen(true);
+ }}
+ style={{ marginLeft: '20px' }}
+ >
Удалить
@@ -65,7 +89,7 @@ export function Example() {
}
-
+
В качестве плашки можно использовать любой компонент.
@@ -92,7 +116,7 @@ export function PlateExample() {
}}
>
{ setAnchorToastOpen(false); }}
+ onClose={() => {
+ setAnchorToastOpen(false);
+ }}
autoCloseDelay={3000}
getPortalContainer={() => containerRef.current}
block={true}
hasCloser={true}
- ToastPlate={React.forwardRef((prpos, ref) => {
- return (
-
- )
+ ToastPlate={React.forwardRef((pros, ref) => {
+ return
;
})}
>
Скопировано
-
{ setAnchorToastOpen(true); }}>
+ {
+ setAnchorToastOpen(true);
+ }}
+ >
Скопировать
@@ -131,5 +154,5 @@ export function PlateExample() {
}
-
+
diff --git a/packages/tooltip/src/docs/Component.stories.mdx b/packages/tooltip/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..3d0769f012
--- /dev/null
+++ b/packages/tooltip/src/docs/Component.stories.mdx
@@ -0,0 +1,96 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, boolean, select, number } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { Button } from '../../../button/src';
+import { Tooltip } from '../Component';
+import { name, version } from '../../package.json';
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const POSITION_OPTIONS = [
+ 'top',
+ 'top-start',
+ 'top-end',
+ 'bottom',
+ 'bottom-start',
+ 'bottom-end',
+ 'right',
+ 'right-start',
+ 'right-end',
+ 'left',
+ 'left-start',
+ 'left-end',
+ ];
+ const openSelectValue = select('open', ['true', 'false', 'undefined'], 'undefined');
+ const open =
+ openSelectValue === 'false' ? false : openSelectValue === 'true' ? true : undefined;
+ const trigger = select('trigger', ['hover', 'click'], 'hover');
+ return (
+
+
+ Теперь вам можно снимать наличные в кассе и банкоматах, если ваш тариф это
+ позволяет
+
+ }
+ open={open}
+ trigger={trigger}
+ offset={[number('offset[0]', 0), number('offset[1]', 10)]}
+ position={select('position', POSITION_OPTIONS, 'left')}
+ onCloseDelay={number('onCloseDelay (in ms)', 300)}
+ onOpenDelay={number('onOpenDelay (in ms)', 300)}
+ view={select('view', ['tooltip', 'hint'], 'tooltip')}
+ dataTestId='test-id'
+ >
+
+ {trigger === 'hover' ? 'Hover me' : 'Click me'}
+
+
+
+ );
+ })}
+
+
+
+
+
+
+
+```tsx
+import { Tooltip } from '@alfalab/core-components-tooltip';
+```
+
+ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/tooltip/src/Component.stories.mdx b/packages/tooltip/src/docs/description.mdx
similarity index 52%
rename from packages/tooltip/src/Component.stories.mdx
rename to packages/tooltip/src/docs/description.mdx
index 15238a3dd8..85a159b665 100644
--- a/packages/tooltip/src/Component.stories.mdx
+++ b/packages/tooltip/src/docs/description.mdx
@@ -2,89 +2,11 @@ import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, boolean, select, number } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import {Button} from '../../button/src';
-import { Tooltip } from './Component';
-import { name, version } from '../package.json';
+import {Button} from '../../../button/src';
+import { Tooltip } from '../Component';
+import { name, version } from '../../package.json';
-
-
-
-
-
-
- {React.createElement(() => {
- const POSITION_OPTIONS = [
- 'top',
- 'top-start',
- 'top-end',
- 'bottom',
- 'bottom-start',
- 'bottom-end',
- 'right',
- 'right-start',
- 'right-end',
- 'left',
- 'left-start',
- 'left-end',
- ];
- const openSelectValue = select('open', ['true', 'false', 'undefined'], 'undefined');
- const open =
- openSelectValue === 'false' ? false : openSelectValue === 'true' ? true : undefined;
- const trigger = select('trigger', ['hover', 'click'], 'hover');
- return (
-
-
- Теперь вам можно снимать наличные в кассе и банкоматах, если ваш тариф это
- позволяет
-
- }
- open={open}
- trigger={trigger}
- offset={[number('offset[0]', 0), number('offset[1]', 10)]}
- position={select('position', POSITION_OPTIONS, 'left')}
- onCloseDelay={number('onCloseDelay (in ms)', 300)}
- onOpenDelay={number('onOpenDelay (in ms)', 300)}
- view={select('view', ['tooltip', 'hint'], 'tooltip')}
- dataTestId='test-id'
- >
-
- {trigger === 'hover' ? 'Hover me' : 'Click me'}
-
-
-
- );
- })}
-
-
-
-
-
-
-
-```tsx
-import { Tooltip } from '@alfalab/core-components-tooltip';
-```
-
Компонент `Tooltip`.
@@ -169,6 +91,3 @@ import { Tooltip } from '@alfalab/core-components-tooltip';
-
-
-
diff --git a/packages/typography/src/docs/Component.stories.mdx b/packages/typography/src/docs/Component.stories.mdx
new file mode 100644
index 0000000000..def07c5284
--- /dev/null
+++ b/packages/typography/src/docs/Component.stories.mdx
@@ -0,0 +1,117 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, boolean, select, number } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+import Description from './description.mdx';
+import { Typography } from '../component';
+import { name, version } from '../../package.json';
+import { colors } from '../colors';
+
+
+
+
+
+
+
+
+ {React.createElement(() => {
+ const VIEW_TYPES = [
+ 'xlarge',
+ 'large',
+ 'medium',
+ 'small',
+ 'xsmall',
+ ];
+ const color = select('color', colors, '');
+ const weight = select('weight', ['regular', 'medium', 'bold'], 'medium');
+ const font = select('font', ['styrene', 'system'], 'styrene');
+ return VIEW_TYPES.map(view => (
+
+ заголовок view='{view}'
+
+ ))
+ })}
+
+
+
+ {React.createElement(() => {
+ const VIEW_TYPES = [
+ 'xlarge',
+ 'large',
+ 'medium',
+ 'small',
+ 'xsmall',
+ ];
+ const color = select('color', colors, '');
+ const weight = select('weight', ['regular', 'medium', 'bold'], 'medium');
+ const font = select('font', ['styrene', 'system'], 'styrene');
+ return VIEW_TYPES.map(view => (
+
+ заголовок view='{view}'
+
+ ))
+ })}
+
+
+
+ {React.createElement(() => {
+ const VIEW_TYPES = [
+ 'primary-large',
+ 'primary-medium',
+ 'primary-small',
+ 'secondary-large',
+ 'secondary-medium',
+ 'secondary-small',
+ 'component',
+ 'caps',
+ ];
+ const color = select('color', colors, '');
+ const tag = select('tag', ['div', 'p', 'span'], 'p');
+ const weight = select('weight', ['regular', 'medium', 'bold'], 'regular');
+ const className = text('className', '');
+ return VIEW_TYPES.map(view => (
+
+ {view}. Космологи́ческая сингуля́рность — состояния Вселенной в определённый момент времени в прошлом,
+ когда плотность энергии (материи) и кривизна пространства-времени были очень велики — порядка
+ планковских значений.
+
+ ));
+ })}
+
+
+
+
+
+
+
+```tsx
+import { Typography } from '@alfalab/core-components-typography';
+```
+
+ }
+ props={ }
+/>
diff --git a/packages/typography/src/component.stories.mdx b/packages/typography/src/docs/description.mdx
similarity index 55%
rename from packages/typography/src/component.stories.mdx
rename to packages/typography/src/docs/description.mdx
index 7297714b8e..062adb4868 100644
--- a/packages/typography/src/component.stories.mdx
+++ b/packages/typography/src/docs/description.mdx
@@ -1,115 +1,9 @@
import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, boolean, select, number } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import { Typography } from './component';
-import { name, version } from '../package.json';
-import { colors } from './colors';
-
-
-
-
-
-
-
-
- {React.createElement(() => {
- const VIEW_TYPES = [
- 'xlarge',
- 'large',
- 'medium',
- 'small',
- 'xsmall',
- ];
- const color = select('color', colors, '');
- const weight = select('weight', ['', 'regular', 'medium', 'bold']);
- const font = select('font', ['styrene', 'system'], 'styrene');
- return VIEW_TYPES.map(view => (
-
- заголовок view='{view}'
-
- ))
- })}
-
-
-
- {React.createElement(() => {
- const VIEW_TYPES = [
- 'xlarge',
- 'large',
- 'medium',
- 'small',
- 'xsmall',
- ];
- const color = select('color', colors, '');
- const weight = select('weight', ['', 'regular', 'medium', 'bold']);
- const font = select('font', ['styrene', 'system'], 'styrene');
- return VIEW_TYPES.map(view => (
-
- заголовок view='{view}'
-
- ))
- })}
-
-
-
- {React.createElement(() => {
- const VIEW_TYPES = [
- 'primary-large',
- 'primary-medium',
- 'primary-small',
- 'secondary-large',
- 'secondary-medium',
- 'secondary-small',
- 'component',
- 'caps',
- ];
- const color = select('color', colors, '');
- const tag = select('tag', ['div', 'p', 'span'], 'p');
- const weight = select('weight', ['regular', 'medium', 'bold'], 'regular');
- const className = text('className', '');
- return VIEW_TYPES.map(view => (
-
- {view}. Космологи́ческая сингуля́рность — состояния Вселенной в определённый момент времени в прошлом,
- когда плотность энергии (материи) и кривизна пространства-времени были очень велики — порядка
- планковских значений.
-
- ));
- })}
-
-
-
-
-
-
-
-```tsx
-import { Typography } from '@alfalab/core-components-typography';
-```
+import { Typography } from '../component';
+import { name, version } from '../../package.json';
+import { colors } from '../colors';
Набор компонентов для оформления текста, реализующий [гибридную систему типографики](https://www.figma.com/file/FWya6P55TnXkiVGaM2qBio/2020-Web-Hybrid-Typography?node-id=593%3A0).
@@ -119,10 +13,6 @@ import { Typography } from '@alfalab/core-components-typography';
[Подробнее про использование типографики](https://alfa-laboratory.github.io/core-components/master/?path=/docs/гайдлайны-типографика--page)
-
-
-
-
## Typography.Title
Стандартный заголовок для шрифта styrene
diff --git a/packages/vars/src/vars.stories.mdx b/packages/vars/src/Component.stories.mdx
similarity index 100%
rename from packages/vars/src/vars.stories.mdx
rename to packages/vars/src/Component.stories.mdx
diff --git a/packages/with-suffix/src/Component.stories.mdx b/packages/with-suffix/src/docs/Component.stories.mdx
similarity index 74%
rename from packages/with-suffix/src/Component.stories.mdx
rename to packages/with-suffix/src/docs/Component.stories.mdx
index 02b2b52769..e85ca77461 100644
--- a/packages/with-suffix/src/Component.stories.mdx
+++ b/packages/with-suffix/src/docs/Component.stories.mdx
@@ -2,10 +2,13 @@ import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, select, boolean } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import Icon from '@alfalab/icons-glyph/StarMIcon';
+import { Tabs } from 'storybook/blocks/tabs';
+
+import Description from './description.mdx';
import { Input } from '@alfalab/core-components-input';
-import { withSuffix as WithSuffix } from './Component';
-import { name, version } from '../package.json';
+import { withSuffix as WithSuffix } from '../Component';
+import { name, version } from '../../package.json';
export const SuffixInput = WithSuffix(Input);
@@ -49,14 +52,6 @@ export const SuffixInput = WithSuffix(Input);
import { withSuffix } from '@alfalab/core-components-with-suffix';
```
-HOC, позволяющий закрепить определенный текст после значения инпута.
-
-Добавляет в переданный инпут доп. пропсу `suffix?: ReactNode`
-
-
- {React.createElement(() => {
- const SuffixInput = WithSuffix(Input);
- return мес} />;
- })}
-
-
+ }
+/>
diff --git a/packages/with-suffix/src/docs/description.mdx b/packages/with-suffix/src/docs/description.mdx
new file mode 100644
index 0000000000..4b08afa9c8
--- /dev/null
+++ b/packages/with-suffix/src/docs/description.mdx
@@ -0,0 +1,19 @@
+import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { text, select, boolean } from '@storybook/addon-knobs';
+import { ComponentHeader } from 'storybook/blocks/component-header';
+import Icon from '@alfalab/icons-glyph/StarMIcon';
+
+import { Input } from '@alfalab/core-components-input';
+import { withSuffix as WithSuffix } from '../Component';
+import { name, version } from '../../package.json';
+
+HOC, позволяющий закрепить определенный текст после значения инпута.
+
+Добавляет в переданный инпут доп. пропсу `suffix?: ReactNode`
+
+
+ {React.createElement(() => {
+ const SuffixInput = WithSuffix(Input);
+ return мес} />;
+ })}
+
From 46f1be27cb53553f8ba08c775ff6cb44a7ae9c3b Mon Sep 17 00:00:00 2001
From: reme3d2y
Date: Tue, 6 Jul 2021 14:23:11 +0300
Subject: [PATCH 48/48] chore: update all stories, omg
---
.storybook/blocks/example/LiveExample.tsx | 9 +-
.storybook/blocks/example/index.module.css | 3 +-
.storybook/blocks/example/utils/scope.ts | 4 +-
package.json | 2 +-
packages/alert/src/docs/Component.stories.mdx | 6 +-
packages/alert/src/docs/description.mdx | 4 +-
.../src/docs/Component.stories.mdx | 10 +-
.../amount-input/src/docs/description.mdx | 70 +-
.../amount/src/docs/component.stories.mdx | 8 +-
packages/amount/src/docs/description.mdx | 104 +--
.../attach/src/docs/Component.stories.mdx | 7 +-
packages/attach/src/docs/description.mdx | 2 -
.../backdrop/src/docs/Component.stories.mdx | 5 +-
packages/backdrop/src/docs/description.mdx | 19 +-
packages/badge/src/docs/Component.stories.mdx | 9 +-
packages/badge/src/docs/description.mdx | 246 +++---
.../bank-card/src/docs/Component.stories.mdx | 2 +-
packages/bank-card/src/docs/description.mdx | 36 +-
.../base-modal/src/docs/Component.stories.mdx | 38 +-
packages/base-modal/src/docs/description.mdx | 46 ++
.../src/docs/Component.stories.mdx | 7 +-
.../bottom-sheet/src/docs/description.mdx | 25 +
.../button/src/docs/component.stories.mdx | 2 +-
packages/button/src/docs/description.mdx | 11 +-
.../src/docs/Component.stories.mdx | 19 +-
.../calendar-input/src/docs/description.mdx | 143 ++--
.../src/docs/Component.stories.mdx | 8 +-
.../calendar-range/src/docs/description.mdx | 157 ++--
.../src/docs/Component.stories.mdx | 6 +-
.../src/docs/description.mdx | 37 +-
.../calendar/src/docs/Component.stories.mdx | 14 +-
packages/calendar/src/docs/description.mdx | 176 +++--
.../card-image/src/docs/Component.stories.mdx | 14 +-
.../cdn-icon/src/docs/Component.stories.mdx | 8 +-
packages/cdn-icon/src/docs/description.mdx | 6 +-
packages/cdn-icon/src/{index.tsx => index.ts} | 0
.../src/docs/Component.stories.mdx | 15 +-
.../checkbox-group/src/docs/description.mdx | 85 +-
.../checkbox/src/docs/Component.stories.mdx | 14 +-
packages/checkbox/src/docs/description.mdx | 55 +-
.../src/docs/Component.stories.mdx | 17 +-
.../src/docs/description.mdx | 2 -
.../collapse/src/docs/Component.stories.mdx | 11 +-
packages/collapse/src/docs/description.mdx | 52 +-
.../src/docs/Component.stories.mdx | 48 +-
.../confirmation/src/docs/description.mdx | 97 ++-
.../divider/src/docs/Component.stories.mdx | 8 +-
packages/divider/src/docs/description.mdx | 16 +-
.../drawer/src/docs/Component.stories.mdx | 55 +-
packages/drawer/src/docs/description.mdx | 193 ++---
.../dropzone/src/docs/Component.stories.mdx | 54 +-
packages/dropzone/src/docs/description.mdx | 74 +-
.../src/docs/Component.stories.mdx | 9 +-
.../file-upload-item/src/docs/description.mdx | 126 ++-
.../src/docs/Component.stories.mdx | 12 +-
.../form-control/src/docs/description.mdx | 2 -
packages/grid/src/docs/Component.stories.mdx | 8 +-
packages/grid/src/docs/description.mdx | 569 +++++++-------
.../src/docs/Component.stories.mdx | 15 +-
packages/icon-button/src/docs/description.mdx | 185 +++--
.../src/docs/Component.stories.mdx | 29 +-
.../src/docs/description.mdx | 575 +++++++++-----
.../input-autocomplete/src/docs/options.ts | 20 -
packages/input/src/docs/Component.stories.mdx | 16 +-
packages/input/src/docs/description.mdx | 12 +-
.../src/docs/Component.stories.mdx | 80 +-
.../intl-phone-input/src/docs/description.mdx | 161 ++--
packages/intl-phone-input/src/docs/options.ts | 25 -
.../src/docs/Component.stories.mdx | 13 +-
.../src/docs/description.mdx | 51 +-
packages/link/src/docs/Component.stories.mdx | 21 +-
packages/link/src/docs/description.mdx | 103 +--
.../src/docs/Component.stories.mdx | 14 +-
packages/list-header/src/docs/description.mdx | 29 +-
packages/list/src/docs/Component.stories.mdx | 15 +-
packages/list/src/docs/description.mdx | 49 +-
.../loader/src/docs/Component.stories.mdx | 12 +-
packages/loader/src/docs/description.mdx | 4 +-
.../src/docs/Component.stories.mdx | 23 +-
packages/masked-input/src/docs/constants.ts | 48 --
.../masked-input/src/docs/description.mdx | 80 +-
packages/modal/src/docs/Component.stories.mdx | 135 ++--
packages/modal/src/docs/description.mdx | 412 ++++++----
packages/modal/src/index.ts | 1 +
packages/mq/src/docs/Component.stories.mdx | 28 +-
packages/mq/src/docs/description.mdx | 36 +-
.../src/docs/Component.stories.mdx | 11 +-
.../src/docs/description.mdx | 83 +-
.../src/docs/Component.stories.mdx | 16 +-
.../notification/src/docs/description.mdx | 48 +-
.../src/docs/component.stories.mdx | 3 +-
.../password-input/src/docs/description.mdx | 26 +-
.../src/docs/Component.stories.mdx | 12 +-
packages/phone-input/src/docs/description.mdx | 4 +-
.../src/docs/Component.stories.mdx | 27 +-
.../picker-button/src/docs/description.mdx | 277 ++++---
packages/picker-button/src/docs/options.ts | 17 -
packages/plate/src/docs/description.mdx | 91 +--
.../popover/src/docs/Component.stories.mdx | 21 +-
packages/popover/src/docs/description.mdx | 188 ++---
.../portal/src/docs/Component.stories.mdx | 54 +-
packages/portal/src/docs/description.mdx | 56 +-
.../src/docs/Component.stories.mdx | 19 +-
.../progress-bar/src/docs/description.mdx | 8 -
.../pure-input/src/docs/Component.stories.mdx | 11 +-
packages/pure-input/src/docs/description.mdx | 7 -
.../src/docs/Component.stories.mdx | 21 +-
packages/radio-group/src/docs/description.mdx | 102 +--
packages/radio/src/docs/Component.stories.mdx | 17 +-
packages/radio/src/docs/description.mdx | 37 +-
.../src/docs/Component.stories.mdx | 35 +-
.../select-with-tags/src/docs/constants.ts | 17 -
.../select-with-tags/src/docs/description.mdx | 61 +-
.../select/src/docs/Component.stories.mdx | 56 +-
packages/select/src/docs/constants.ts | 66 --
packages/select/src/docs/description.mdx | 728 ++++++++++--------
.../skeleton/src/docs/Component.stories.mdx | 54 +-
packages/skeleton/src/docs/description.mdx | 124 +--
packages/skeleton/src/stories.module.css | 57 --
.../src/docs/Component.stories.mdx | 24 +-
.../slider-input/src/docs/description.mdx | 235 +++---
.../slider/src/docs/Component.stories.mdx | 21 +-
packages/slider/src/docs/description.mdx | 25 +-
packages/space/src/docs/Component.stories.mdx | 15 +-
packages/space/src/docs/description.mdx | 165 ++--
.../spinner/src/docs/Component.stories.mdx | 26 +-
packages/spinner/src/docs/description.mdx | 40 +-
packages/stack/src/docs/Component.stories.mdx | 35 +-
packages/stack/src/docs/description.mdx | 201 ++---
.../status/src/docs/Component.stories.mdx | 13 +-
packages/status/src/docs/description.mdx | 41 +-
.../switch/src/docs/Component.stories.mdx | 18 +-
packages/switch/src/docs/description.mdx | 135 ++--
packages/tabs/src/docs/Component.stories.mdx | 128 +--
packages/tabs/src/docs/description.mdx | 215 +++---
packages/tag/src/docs/Component.stories.mdx | 19 +-
packages/tag/src/docs/description.mdx | 12 +-
.../textarea/src/docs/component.stories.mdx | 17 +-
packages/textarea/src/docs/description.mdx | 8 -
.../src/docs/Component.stories.mdx | 19 +-
packages/toast-plate/src/docs/description.mdx | 28 +-
packages/toast/src/docs/component.stories.mdx | 6 +-
packages/toast/src/docs/description.mdx | 27 +-
.../tooltip/src/docs/Component.stories.mdx | 19 +-
packages/tooltip/src/docs/description.mdx | 119 +--
.../typography/src/docs/Component.stories.mdx | 15 +-
packages/typography/src/docs/description.mdx | 116 ++-
yarn.lock | 142 +---
148 files changed, 4577 insertions(+), 4638 deletions(-)
rename packages/cdn-icon/src/{index.tsx => index.ts} (100%)
delete mode 100644 packages/input-autocomplete/src/docs/options.ts
delete mode 100644 packages/intl-phone-input/src/docs/options.ts
delete mode 100644 packages/masked-input/src/docs/constants.ts
delete mode 100644 packages/picker-button/src/docs/options.ts
delete mode 100644 packages/select-with-tags/src/docs/constants.ts
delete mode 100644 packages/select/src/docs/constants.ts
delete mode 100644 packages/skeleton/src/stories.module.css
diff --git a/.storybook/blocks/example/LiveExample.tsx b/.storybook/blocks/example/LiveExample.tsx
index 31291799e6..5167f017df 100644
--- a/.storybook/blocks/example/LiveExample.tsx
+++ b/.storybook/blocks/example/LiveExample.tsx
@@ -2,7 +2,6 @@ import React, { FC, useState } from 'react';
import { LiveProvider, LiveEditor, LivePreview } from 'react-live';
import { ActionBar } from '@storybook/components';
import { PrismTheme } from 'prism-react-renderer';
-
import { ErrorSection } from './ErrorSection';
import globalScope from './utils/scope';
@@ -45,10 +44,16 @@ export const LiveExample: FC = ({
},
];
+ const code2 = code
+ .split('\n')
+ .filter(line => line.startsWith('//') === false)
+ .join('\n')
+ .trim();
+
return (
const components = req.keys().reduce((acc: Record>, key) => {
Object.entries(req(key)).forEach(([componentName, component]: [string, any]) => {
- if (isComponent(component) || isComponentsMap(component)) {
+ // if (isComponent(component) || isComponentsMap(component)) {
acc[componentName] = component;
- }
+ // }
});
return acc;
diff --git a/package.json b/package.json
index 93771cd840..bf19657b0f 100644
--- a/package.json
+++ b/package.json
@@ -171,7 +171,7 @@
"raw-loader": "^4.0.1",
"react-docgen-typescript-loader": "^3.6.0",
"react-github-btn": "^1.2.0",
- "react-live": "^2.2.3",
+ "react-live": "^2.3.0",
"react-scripts": "^3.3.1",
"replace-in-file": "^5.0.2",
"rimraf": "^3.0.2",
diff --git a/packages/alert/src/docs/Component.stories.mdx b/packages/alert/src/docs/Component.stories.mdx
index 2213790e77..23489031a2 100644
--- a/packages/alert/src/docs/Component.stories.mdx
+++ b/packages/alert/src/docs/Component.stories.mdx
@@ -4,11 +4,11 @@ import { Container, Row, Col } from 'storybook/blocks/grid';
import { Tabs } from 'storybook/blocks/tabs';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Alert } from '../Component';
import { Button } from '../../../button/src';
-import Description from './description.mdx'
+import { Alert } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx'
}
props={ }
/>
diff --git a/packages/alert/src/docs/description.mdx b/packages/alert/src/docs/description.mdx
index 4de83886be..56767bce04 100644
--- a/packages/alert/src/docs/description.mdx
+++ b/packages/alert/src/docs/description.mdx
@@ -1,7 +1,5 @@
Информирует пользователя о чем-либо. Может использоваться как сообщение, комментарий или предупреждение от системы.
```tsx live
-
- Вам одобрено. Согласитесь на предложение
-
+Вам одобрено. Согласитесь на предложение
```
diff --git a/packages/amount-input/src/docs/Component.stories.mdx b/packages/amount-input/src/docs/Component.stories.mdx
index 5a78278298..c83d43ec0f 100644
--- a/packages/amount-input/src/docs/Component.stories.mdx
+++ b/packages/amount-input/src/docs/Component.stories.mdx
@@ -1,17 +1,15 @@
-import Icon from '@alfalab/icons-glyph/StarMIcon';
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { text, select, boolean, number } from '@storybook/addon-knobs';
import { action } from '@storybook/addon-actions';
-import { Container, Row, Col } from 'storybook/blocks/grid';
+import Icon from '@alfalab/icons-glyph/StarMIcon';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { CssVars } from 'storybook/blocks/css-vars';
import { Tabs } from 'storybook/blocks/tabs';
-import Description from './description.mdx';
-import styles from '!!raw-loader!../index.module.css';
-
import { AmountInput } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
```
-
### Uncontrolled-way
Можно ничего не передавать в компонент и реагировать на 'onChange'
```tsx live
-
+
```
### Controlled-way
@@ -25,38 +19,32 @@ import { AmountInput } from '../Component';
Компонент может быть использован как controlled с помощью `onChange` и `selected`:
```tsx live
- render(() => {
- const [value, setValue] = React.useState(10000);
- const [suggests] = React.useState([
- { currency: 'RUR', minorUnits: 100, value: 15600 },
- { currency: 'RUR', minorUnits: 100, value: 500 },
- { currency: 'RUR', minorUnits: 100, value: null },
- { currency: 'RUR', minorUnits: 100, value: 0 },
- ]);
- const handleChange = (event, payload) => {
- setValue(payload.value);
- };
- return (
-
-
-
-
-
-
- { String(value) }
-
- {suggests.map((s) => (
- { setValue(s.value) }}
- >
- Установить {String(s.value)}
-
- ))}
-
-
- );
- })
+render(() => {
+ const [value, setValue] = React.useState(10000);
+
+ const [suggests] = React.useState([
+ { currency: 'RUR', minorUnits: 100, value: 15600 },
+ { currency: 'RUR', minorUnits: 100, value: 500 },
+ { currency: 'RUR', minorUnits: 100, value: null },
+ { currency: 'RUR', minorUnits: 100, value: 0 },
+ ]);
+
+ const handleChange = (event, payload) => {
+ setValue(payload.value);
+ };
+
+ return (
+
+
+
+
+ {suggests.map(s => (
+ setValue(s.value)}>
+ Установить {String(s.value)}
+
+ ))}
+
+
+ );
+});
```
diff --git a/packages/amount/src/docs/component.stories.mdx b/packages/amount/src/docs/component.stories.mdx
index ad9600ca8c..d4fbab5ec2 100644
--- a/packages/amount/src/docs/component.stories.mdx
+++ b/packages/amount/src/docs/component.stories.mdx
@@ -1,12 +1,12 @@
import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
import { text, select, boolean, number } from '@storybook/addon-knobs';
+import { getAllCurrencyCodes } from '@alfalab/utils';
import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
import { CssVars } from 'storybook/blocks/css-vars';
-import { Amount } from '../.';
-import { getAllCurrencyCodes } from '@alfalab/utils';
+import { Amount } from '../component';
import { name, version } from '../../package.json';
import Description from './description.mdx'
import styles from '!!raw-loader!../index.module.css';
@@ -77,8 +77,8 @@ import styles from '!!raw-loader!../index.module.css';
import { Amount } from '@alfalab/core-components-amount';
```
- }
props={ }
cssVars={ }
-/>
\ No newline at end of file
+/>
diff --git a/packages/amount/src/docs/description.mdx b/packages/amount/src/docs/description.mdx
index 41d67cd508..ae011dc752 100644
--- a/packages/amount/src/docs/description.mdx
+++ b/packages/amount/src/docs/description.mdx
@@ -1,20 +1,14 @@
-import { Container, Row, Col } from 'storybook/blocks/grid';
-
-import { Preview } from '@storybook/addon-docs/blocks';
-
-import { Typography } from '../../../typography/src';
-import { Amount } from '../.';
-
Компонент для отображения суммы, согласно гайдлайну:
https://design.alfabank.ru/patterns/amount
```tsx live
+// import { Typography } from '@alfalab/core-components-typography';
+
```
-
## Контекст использования
@@ -22,81 +16,61 @@ https://design.alfabank.ru/patterns/amount
- `view="withZeroMinorPart"`: показывает минорную часть, даже если её значение равно 0
```tsx live
-
-
-
-
- Значение
-
-
- 1234500
-
-
- 1234567
-
-
-
-
- view="default"
-
-
-
-
-
-
-
-
-
-
- view="withZeroMinorPart"
-
-
-
-
-
-
-
-
-
-
+
+
+
+ Значение
+ 1234500
+ 1234567
+
+
+ view="default"
+
+
+
+
+
+
+
+
+ view="withZeroMinorPart"
+
+
+
+
+
+
+
+
+
```
- Внутри заголовка
```tsx live
-
-
-
-
-
+
+
+
```
- Внутри параграфа
```tsx live
-
-
-
-
-
+
+
+
```
- Внутри красного текста
```tsx live
-
-
-
-
-
+
+
+
```
- Без стилей
```tsx live
-
-
-
-
-
+
```
diff --git a/packages/attach/src/docs/Component.stories.mdx b/packages/attach/src/docs/Component.stories.mdx
index 66ca04c91a..5c09670cf6 100644
--- a/packages/attach/src/docs/Component.stories.mdx
+++ b/packages/attach/src/docs/Component.stories.mdx
@@ -3,10 +3,9 @@ import { text, select, boolean, number } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
-import Description from './description.mdx';
import { Attach } from '../Component';
import { name, version } from '../../package.json';
-
+import Description from './description.mdx';
-
@@ -29,7 +27,6 @@ import { name, version } from '../../package.json';
/>
-
}
props={ }
/>
-
diff --git a/packages/attach/src/docs/description.mdx b/packages/attach/src/docs/description.mdx
index 697f1e77b0..9f12e3b1e8 100644
--- a/packages/attach/src/docs/description.mdx
+++ b/packages/attach/src/docs/description.mdx
@@ -1,5 +1,3 @@
-import { Attach } from '../Component'
-
Компонент прикрепления файлов.
```tsx live
diff --git a/packages/backdrop/src/docs/Component.stories.mdx b/packages/backdrop/src/docs/Component.stories.mdx
index 70480a9bf1..8b0c073616 100644
--- a/packages/backdrop/src/docs/Component.stories.mdx
+++ b/packages/backdrop/src/docs/Component.stories.mdx
@@ -1,13 +1,13 @@
import { Meta, Props, Preview, Story } from '@storybook/addon-docs/blocks';
import {boolean, select, text} from '@storybook/addon-knobs';
-import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs'
import { CssVars } from 'storybook/blocks/css-vars';
-import vars from '!!raw-loader!../vars.css';
+
import { Backdrop } from '../Component';
import { version } from '../../package.json';
import Description from './description.mdx';
+import vars from '!!raw-loader!../vars.css';
}
props={ }
diff --git a/packages/backdrop/src/docs/description.mdx b/packages/backdrop/src/docs/description.mdx
index eaae1c7d48..4e84a9ca56 100644
--- a/packages/backdrop/src/docs/description.mdx
+++ b/packages/backdrop/src/docs/description.mdx
@@ -1,6 +1,17 @@
-import { Container, Row, Col } from 'storybook/blocks/grid';
+Компонент для затемнения фона.
+Поддерживает все параметры из [CSSTransition](http://reactcommunity.org/react-transition-group/css-transition).
-import { Backdrop } from '../Component'
+```tsx live
+render(() => {
+ const [open, setOpen] = React.useState(false);
-Компонент для затемнения фона.
-Поддерживает все параметры из [CSSTransition](http://reactcommunity.org/react-transition-group/css-transition).
\ No newline at end of file
+ return (
+
+ setOpen(!open)} size='xs'>
+ {open ? 'Закрыть' : 'Открыть'}
+
+ setOpen(false)} />
+
+ );
+});
+```
diff --git a/packages/badge/src/docs/Component.stories.mdx b/packages/badge/src/docs/Component.stories.mdx
index 01e2709fcd..1539a688e8 100644
--- a/packages/badge/src/docs/Component.stories.mdx
+++ b/packages/badge/src/docs/Component.stories.mdx
@@ -1,6 +1,5 @@
import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { select, number, boolean } from '@storybook/addon-knobs';
-import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
import { CssVars } from 'storybook/blocks/css-vars';
@@ -12,10 +11,10 @@ import { StopCircleMIcon } from '@alfalab/icons-glyph';
import { InformationCircleMIcon } from '@alfalab/icons-glyph';
import { ClockMIcon } from '@alfalab/icons-glyph';
-import Description from './description.mdx';
-import styles from '!!raw-loader!../index.module.css';
import { Badge } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
}
props={ }
cssVars={ }
-/>
\ No newline at end of file
+/>
diff --git a/packages/badge/src/docs/description.mdx b/packages/badge/src/docs/description.mdx
index 259aca366a..009d314271 100644
--- a/packages/badge/src/docs/description.mdx
+++ b/packages/badge/src/docs/description.mdx
@@ -1,16 +1,8 @@
-import { Preview } from '@storybook/addon-docs/blocks';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-
-import { CheckmarkOnCircleMIcon } from '@alfalab/icons-glyph';
-import { AlertCircleMIcon } from '@alfalab/icons-glyph';
-import { CrossCircleMIcon } from '@alfalab/icons-glyph';
-import { StopCircleMIcon } from '@alfalab/icons-glyph';
-import { InformationCircleMIcon } from '@alfalab/icons-glyph';
-import { ClockMIcon } from '@alfalab/icons-glyph';
-
-import { Badge } from '../Component'
+```tsx live
+
+```
-Бывает двух видов: бейдж и стикер.
+## Виды бейджей
### Бейдж
@@ -20,22 +12,23 @@ import { Badge } from '../Component'
Если `content` больше 99, то отображается 99+.
```tsx live
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
```
### Стикер
+
`view="icon"`
Отражает иконку статуса. Внутри стикера используется любая круглая одноцветная иконка.
@@ -43,85 +36,126 @@ import { Badge } from '../Component'
`--badge-icon-bg-color` (по дефолту белый).
```tsx live
-
-
-
- } />
-
-
- } />
-
-
- } />
-
-
- } />
-
-
- } />
-
-
- } />
-
-
- } />
-
-
- } />
-
-
-
-
- } />
-
-
- } />
-
-
- } />
-
-
- } />
-
-
- } />
-
-
- } />
-
-
- } />
-
-
- } />
-
-
-
-
- } />
-
-
- } />
-
-
- } />
-
-
- } />
-
-
- } />
-
-
- } />
-
-
- } />
-
-
- } />
-
-
-
-```
+// import { CheckmarkOnCircleMIcon } from '@alfalab/icons-glyph/CheckmarkOnCircleMIcon';
+
+
+
+ } />
+
+
+ } />
+
+
+ } />
+
+
+ } />
+
+
+ } />
+
+
+ } />
+
+
+ } />
+
+
+ } />
+
+
+
+
+ } />
+
+
+ } />
+
+
+ } />
+
+
+ } />
+
+
+ } />
+
+
+ } />
+
+
+ } />
+
+
+ } />
+
+
+
+
+ }
+ />
+
+
+ }
+ />
+
+
+ }
+ />
+
+
+ }
+ />
+
+
+ }
+ />
+
+
+ }
+ />
+
+
+ }
+ />
+
+
+ }
+ />
+
+
+
+```
diff --git a/packages/bank-card/src/docs/Component.stories.mdx b/packages/bank-card/src/docs/Component.stories.mdx
index f7cd0566f2..fc534372d8 100644
--- a/packages/bank-card/src/docs/Component.stories.mdx
+++ b/packages/bank-card/src/docs/Component.stories.mdx
@@ -3,9 +3,9 @@ import { text, select } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
-import Description from './description.mdx';
import { BankCard } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
-```
+render(() => {
+ const [value, setValue] = React.useState('');
-### Controlled-way
+ const handleChange = (event, payload) => setValue(payload.value);
-Компонент может быть использован как controlled с помощью `onChange` и `value`:
+ return (
+ <>
+
-```tsx live
- render(() => {
- const [value, setValue] = React.useState('');
- const handleChange = (event, payload) => setValue(payload.value);
- return (
-
-
- setValue('4111111111111111')}>Вставить номер карты
- setValue('')}>Очистить
-
- );
- })
+ setValue('4111111111111111')}>
+ Вставить номер карты
+
+ setValue('')}>
+ Очистить
+
+ >
+ );
+});
```
-
diff --git a/packages/base-modal/src/docs/Component.stories.mdx b/packages/base-modal/src/docs/Component.stories.mdx
index 165b670e1f..719d8fadde 100644
--- a/packages/base-modal/src/docs/Component.stories.mdx
+++ b/packages/base-modal/src/docs/Component.stories.mdx
@@ -1,14 +1,15 @@
import { Meta, Props, Preview, Story } from '@storybook/addon-docs/blocks';
import { ComponentHeader } from 'storybook/blocks/component-header';
-
+import { Tabs } from 'storybook/blocks/tabs';
import { Button } from '../../../button/src';
import { BaseModal } from '../Component';
import { version } from '../../package.json';
+import Description from './description.mdx';
@@ -20,7 +21,7 @@ import { version } from '../../package.json';
return (
- Open Modal
+ Открыть
-
-## Использование контекста
-```tsx
-export type ModalContext = {
- // Указаывает, используется ли футер
- hasFooter?: boolean;
- // Указаывает, используется ли шапка (например, позволяет гибко настраивать отступы)
- hasHeader?: boolean;
- // Указаывает наличие скролла
- hasScroll?: boolean;
- // Указаывает, что контент прокручен
- headerHighlighted?: boolean;
- // Указаывает, что контент прокручен не до конца
- footerHighlighted?: boolean;
- // Коллбэк, который должна вызвать кастомная шапка
- setHasHeader: (exists: boolean) => void;
- // Коллбэк, который должна вызвать кастомный футер
- setHasFooter: (exists: boolean) => void;
- // Позволяет закрыть модальное окно
- onClose: (event: MouseEvent) => void;
- // Реф, который должен быть установлен контентой области
- contentRef: Ref;
-};
-```
+ }
+ props={ }
+/>
diff --git a/packages/base-modal/src/docs/description.mdx b/packages/base-modal/src/docs/description.mdx
index e69de29bb2..560d538782 100644
--- a/packages/base-modal/src/docs/description.mdx
+++ b/packages/base-modal/src/docs/description.mdx
@@ -0,0 +1,46 @@
+Базовый компонент для построения модальных окон, сайд-панелей и пр.
+
+```tsx live
+render(() => {
+ const [open, setOpen] = React.useState(false);
+
+ const handleModalOpen = () => setOpen(!open);
+
+ return (
+ <>
+
+ Открыть
+
+
+
+ BaseModal
+
+ >
+ );
+});
+```
+
+## Использование контекста
+
+```tsx
+export type ModalContext = {
+ // Указаывает, используется ли футер
+ hasFooter?: boolean;
+ // Указаывает, используется ли шапка (например, позволяет гибко настраивать отступы)
+ hasHeader?: boolean;
+ // Указаывает наличие скролла
+ hasScroll?: boolean;
+ // Указаывает, что контент прокручен
+ headerHighlighted?: boolean;
+ // Указаывает, что контент прокручен не до конца
+ footerHighlighted?: boolean;
+ // Коллбэк, который должна вызвать кастомная шапка
+ setHasHeader: (exists: boolean) => void;
+ // Коллбэк, который должна вызвать кастомный футер
+ setHasFooter: (exists: boolean) => void;
+ // Позволяет закрыть модальное окно
+ onClose: (event: MouseEvent) => void;
+ // Реф, который должен быть установлен контентой области
+ contentRef: Ref;
+};
+```
diff --git a/packages/bottom-sheet/src/docs/Component.stories.mdx b/packages/bottom-sheet/src/docs/Component.stories.mdx
index 8f0c5926cd..12fa71581e 100644
--- a/packages/bottom-sheet/src/docs/Component.stories.mdx
+++ b/packages/bottom-sheet/src/docs/Component.stories.mdx
@@ -1,13 +1,14 @@
import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
import { text, select, boolean, number } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
import { Button } from '@alfalab/core-components-button';
+import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs'
import { CssVars } from 'storybook/blocks/css-vars';
-import vars from '!!raw-loader!../index.module.css';
+
import { BottomSheet } from '../';
import { name, version } from '../../package.json';
import Description from './description.mdx';
+import vars from '!!raw-loader!../index.module.css';
export const shortText =
'Пользуйтесь сразу: реквизиты виртуальной и пластиковой карты будут доступны уже через 60 секунд после после оформления.';
@@ -23,7 +24,6 @@ export const longText = Array(10).fill(shortText).join('\n\n');
{React.createElement(() => {
- console.log(vars);
const [open, setOpen] = React.useState(false);
const handleClose = React.useCallback(() => {
setOpen(false);
@@ -85,7 +85,6 @@ export const longText = Array(10).fill(shortText).join('\n\n');
import { BottomSheet } from '@alfalab/core-components-bottom-sheet';
```
-
}
props={ }
diff --git a/packages/bottom-sheet/src/docs/description.mdx b/packages/bottom-sheet/src/docs/description.mdx
index b2b2374add..8aff5e5ece 100644
--- a/packages/bottom-sheet/src/docs/description.mdx
+++ b/packages/bottom-sheet/src/docs/description.mdx
@@ -1,2 +1,27 @@
Шторка используется только в мобильной версии. Является адаптивом тултипа и списка с небольшим выбором.
Вызывается при нажатии на кнопку или иконку. Выезжает снизу вверх.
+
+```tsx live
+render(() => {
+ const [open, setOpen] = React.useState(false);
+
+ return (
+ <>
+ setOpen(true)}>Окрыть шторку
+
+ setOpen(false)}>
+ Понятно
+
+ }
+ onClose={() => setOpen(false)}
+ >
+ Контент
+
+ >
+ );
+});
+```
diff --git a/packages/button/src/docs/component.stories.mdx b/packages/button/src/docs/component.stories.mdx
index 7c65ed4424..d5885075d6 100644
--- a/packages/button/src/docs/component.stories.mdx
+++ b/packages/button/src/docs/component.stories.mdx
@@ -1,8 +1,8 @@
import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { action } from '@storybook/addon-actions';
+import IconM from '@alfalab/icons-glyph/StarMIcon';
import { text, select, boolean } from '@storybook/addon-knobs';
import { CssVars, ComponentHeader, Tabs } from 'storybook/blocks';
-import IconM from '@alfalab/icons-glyph/StarMIcon';
import { Button } from '../';
import { name, version } from '../../package.json';
diff --git a/packages/button/src/docs/description.mdx b/packages/button/src/docs/description.mdx
index b7891b48ed..8b5b4b6150 100644
--- a/packages/button/src/docs/description.mdx
+++ b/packages/button/src/docs/description.mdx
@@ -1,7 +1,7 @@
import { Container, Row, Col } from 'storybook/blocks';
-
import { Button } from '../';
+
Кнопка используется как триггер для выполнения определённого действия. Кнопка однозначно сообщает пользователю, что произойдёт после нажатия на неё.
☝️ В зависимости от используемой темы кнопка `secondary` может соответствовать `filled` (по умолчанию) или `outlined`.
@@ -245,7 +245,7 @@ render(
Минимальное время отображения лоадера - 500мс, чтобы при быстрых ответах от сервера кнопка не «моргала».
```tsx live expanded
-function Example() {
+render(() => {
const [loading, setLoading] = React.useState({
primary: false,
secondary: false
@@ -282,16 +282,13 @@ function Example() {
);
-}
-
-render(
-
-);
+});
```
## Перенос текста
С помощью свойства `nowrap` можно запретить перенос строки в кнопке.
+
```tsx live
diff --git a/packages/calendar-input/src/docs/Component.stories.mdx b/packages/calendar-input/src/docs/Component.stories.mdx
index a9422010b2..c067328d0a 100644
--- a/packages/calendar-input/src/docs/Component.stories.mdx
+++ b/packages/calendar-input/src/docs/Component.stories.mdx
@@ -1,18 +1,15 @@
import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { action } from '@storybook/addon-actions';
-import { text, select, boolean, number } from '@storybook/addon-knobs';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
+import { text, select, boolean } from '@storybook/addon-knobs';
import Icon from '@alfalab/icons-glyph/StarMIcon';
+import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
import { CssVars } from 'storybook/blocks/css-vars';
-import styles from '!!raw-loader!../index.module.css';
-import Description from './description.mdx';
import { CalendarInput } from '../Component';
import { formatDate } from '../utils';
-
import { name, version } from '../../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
}
- props={ }
- cssVars={ }
-/>
\ No newline at end of file
+ description={ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/calendar-input/src/docs/description.mdx b/packages/calendar-input/src/docs/description.mdx
index 84caa874bb..d126d43b42 100644
--- a/packages/calendar-input/src/docs/description.mdx
+++ b/packages/calendar-input/src/docs/description.mdx
@@ -1,107 +1,104 @@
-import { startOfMonth, startOfDay, subMonths, addMonths } from 'date-fns';
-import { Preview } from '@storybook/addon-docs/blocks';
-
-import { CalendarInput } from '../Component'
-import { parseDateString, formatDate } from '../utils';
import styles from '../stories.module.css';
Компонент для ввода даты.
```tsx live
- render(() => {
- const defaultMonth = new Date('December 1, 2010 00:00:00');
- return (
-
- );
- })
-```
+render(() => {
+ const defaultMonth = new Date('December 1, 2010 00:00:00');
+ return ;
+});
+```
### Controlled-way
Компонент может быть использован как controlled с помощью `onChange` и `selected`:
```tsx live
- render(() => {
- const [value, setValue] = React.useState('');
- const handleChange = (event, { value }) => setValue(value);
- return (
-
- );
- })
-```
+render(() => {
+ const [value, setValue] = React.useState('');
+ const handleChange = (event, { value }) => setValue(value);
+
+ return ;
+});
+```
### Рендер календаря под инпутом
Календарь может рендериться как в поповере, так и под инпутом
```tsx live
- render(() => {
- const [value, setValue] = React.useState('');
- const handleChange = (event, { value }) => setValue(value);
- return (
-
- );
- })
+render(() => {
+ const [value, setValue] = React.useState('');
+
+ const handleChange = (event, { value }) => setValue(value);
+
+ return (
+
+ );
+});
```
-
### Минимальная и максимальная дата
Календарь может рендериться как в поповере, так и под инпутом
```tsx live
- render(() => {
- const minDate = subMonths(startOfDay(new Date()), 2).getTime();
- const maxDate = addMonths(startOfDay(new Date()), 2).getTime();
- const [error, setError] = React.useState('');
- const [value, setValue] = React.useState('');
- const handleChange = (event, { value }) => {
- setValue(value);
- }
- const handleBlur = (event) => {
- if (value) {
- const date = parseDateString(value);
- if (Number.isNaN(date.getTime()) || date < minDate || date > maxDate) setError('Некорректная дата');
- }
+// import { startOfDay, subMonths, addMonths } from 'date-fns';
+// import { parseDateString } from '@alfalab/core-components/calendar-input';
+
+render(() => {
+ const minDate = subMonths(startOfDay(new Date()), 2).getTime();
+ const maxDate = addMonths(startOfDay(new Date()), 2).getTime();
+
+ const [error, setError] = React.useState('');
+ const [value, setValue] = React.useState('');
+
+ const handleChange = (event, { value }) => {
+ setValue(value);
+ };
+
+ const handleBlur = event => {
+ if (value) {
+ const date = parseDateString(value);
+ if (Number.isNaN(date.getTime()) || date < minDate || date > maxDate)
+ setError('Некорректная дата');
}
- const handleFocus = () => setError('');
- return (
-
- );
- })
+ };
+
+ const handleFocus = () => setError('');
+
+ return (
+
+ );
+});
```
-
### Инпут по ширине календаря
Используя css-переменную `--calendar-width` можно задать инпуту такую же ширину, как у компонента календаря
+```tsx
+/*
+.calendarWidth {
+ width: var(--calendar-width);
+}
+*/
-
- {/*
- .calendarWidth {
- width: var(--calendar-width);
- }
- */}
-
-
+
+```
diff --git a/packages/calendar-range/src/docs/Component.stories.mdx b/packages/calendar-range/src/docs/Component.stories.mdx
index a819103044..b6e76906f1 100644
--- a/packages/calendar-range/src/docs/Component.stories.mdx
+++ b/packages/calendar-range/src/docs/Component.stories.mdx
@@ -2,9 +2,9 @@ import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
-import Description from './description.mdx';
import { CalendarRange } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
}
- props={ }
-/>
\ No newline at end of file
+ description={ }
+ props={ }
+/>
diff --git a/packages/calendar-range/src/docs/description.mdx b/packages/calendar-range/src/docs/description.mdx
index 5d5f17c526..8eabb0824b 100644
--- a/packages/calendar-range/src/docs/description.mdx
+++ b/packages/calendar-range/src/docs/description.mdx
@@ -1,91 +1,94 @@
-import { Preview } from '@storybook/addon-docs/blocks';
-import { text, select, boolean, number } from '@storybook/addon-knobs';
-import { action } from '@storybook/addon-actions';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-
-import { startOfMonth, startOfDay, subMonths, addMonths } from 'date-fns';
-import { parseDateString } from '../../../calendar-input/src/utils';
-
-import { CalendarRange } from '../Component'
-
Компонент для ввода даты.
### Controlled-way
```tsx live
- render(() => {
- const [valueFrom, setValueFrom] = React.useState('10.10.2020');
- const [valueTo, setValueTo] = React.useState('10.11.2020');
- return (
- setValueFrom(value)}
- onDateToChange={({ value }) => setValueTo(value)}
- />
- );
- })
+render(() => {
+ const [valueFrom, setValueFrom] = React.useState('10.10.2020');
+ const [valueTo, setValueTo] = React.useState('10.11.2020');
+
+ return (
+ setValueFrom(value)}
+ onDateToChange={({ value }) => setValueTo(value)}
+ />
+ );
+});
```
### Min/Max даты
-
- {React.createElement(() => {
- const defaultDate = '10.11.2020';
- const [valueFrom, setValueFrom] = React.useState(defaultDate);
- const [valueTo, setValueTo] = React.useState('');
- const minDate = subMonths(startOfDay(parseDateString(defaultDate)), 2).getTime();
- const maxDate = addMonths(startOfDay(parseDateString(defaultDate)), 2).getTime();
- const [fromError, setFromError] = React.useState('');
- const [toError, setToError] = React.useState('');
- const valid = (value) => {
- const date = parseDateString(value);
- return !value || (!Number.isNaN(date.getTime()) && date >= minDate && date <= maxDate);
- }
- const handleFromBlur = (event) => {
- if (!valid(event.target.value)) {
- setFromError(true);
- }
+```tsx live
+// import { startOfDay, subMonths, addMonths } from 'date-fns';
+// import { parseDateString } from '@alfalab/core-components/calendar-input';
+
+render(() => {
+ const defaultDate = '10.11.2020';
+
+ const [valueFrom, setValueFrom] = React.useState(defaultDate);
+ const [valueTo, setValueTo] = React.useState('');
+
+ const minDate = subMonths(startOfDay(parseDateString(defaultDate)), 2).getTime();
+ const maxDate = addMonths(startOfDay(parseDateString(defaultDate)), 2).getTime();
+
+ const [fromError, setFromError] = React.useState('');
+ const [toError, setToError] = React.useState('');
+
+ const valid = value => {
+ const date = parseDateString(value);
+ return !value || (!Number.isNaN(date.getTime()) && date >= minDate && date <= maxDate);
+ };
+
+ const handleFromBlur = event => {
+ if (!valid(event.target.value)) {
+ setFromError(true);
}
- const handleFromFocus = () => setFromError('');
- const handleToBlur = (event) => {
- if (!valid(event.target.value)) {
- setToError(true);
- }
+ };
+
+ const handleFromFocus = () => setFromError('');
+
+ const handleToBlur = event => {
+ if (!valid(event.target.value)) {
+ setToError(true);
}
- const handleToFocus = () => setToError('');
- return (
- {
- setFromError(false)
- setValueFrom(value)
- }}
- onDateToChange={({ value }) => {
- setToError(false);
- setValueTo(value)
- }}
- inputFromProps={{
- error: fromError,
- onBlur: handleFromBlur,
- onFocus: handleFromFocus
- }}
- inputToProps={{
- error: toError,
- onBlur: handleToBlur,
- onFocus: handleToFocus
- }}
- calendarPosition={select('calendarPosition', ['static', 'popover'], 'static')}
- />
- );
- })}
-
+ };
+
+ const handleToFocus = () => setToError('');
+
+ return (
+ {
+ setFromError(false);
+ setValueFrom(value);
+ }}
+ onDateToChange={({ value }) => {
+ setToError(false);
+ setValueTo(value);
+ }}
+ inputFromProps={{
+ error: fromError,
+ onBlur: handleFromBlur,
+ onFocus: handleFromFocus,
+ }}
+ inputToProps={{
+ error: toError,
+ onBlur: handleToBlur,
+ onFocus: handleToFocus,
+ }}
+ calendarPosition={select('calendarPosition', ['static', 'popover'], 'static')}
+ />
+ );
+});
+```
### Рендерит календари в поповере
-
-
-
+```tsx live
+
+```
diff --git a/packages/calendar-with-skeleton/src/docs/Component.stories.mdx b/packages/calendar-with-skeleton/src/docs/Component.stories.mdx
index cdb7567130..246ea49bcc 100644
--- a/packages/calendar-with-skeleton/src/docs/Component.stories.mdx
+++ b/packages/calendar-with-skeleton/src/docs/Component.stories.mdx
@@ -46,6 +46,6 @@ import { CalendarWithSkeleton } from '@alfalab/core-components-calendar-with-ske
```
}
- props={ }
-/>
\ No newline at end of file
+ description={ }
+ props={ }
+/>
diff --git a/packages/calendar-with-skeleton/src/docs/description.mdx b/packages/calendar-with-skeleton/src/docs/description.mdx
index b679d6471d..2f04cab983 100644
--- a/packages/calendar-with-skeleton/src/docs/description.mdx
+++ b/packages/calendar-with-skeleton/src/docs/description.mdx
@@ -1,33 +1,24 @@
-import { text, boolean } from '@storybook/addon-knobs';
-import { Preview } from '@storybook/addon-docs/blocks';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-
-import { CalendarInput } from '../../../calendar-input/src';
-import { CalendarRange } from '../../../calendar-range/src';
-import { CalendarWithSkeleton } from '../Component';
-
Календарь с возможностью скелетной загрузки
```tsx live
- render(() => {
- const [visible, setVisible] = React.useState(false);
- return (
- <>
-
- setVisible(!visible)}>toggle
- >
- );
- })
-```
+render(() => {
+ const [visible, setVisible] = React.useState(false);
+ return (
+ <>
+
+ setVisible(!visible)}>
+ toggle
+
+ >
+ );
+});
+```
## Использование с другими компонентами
```tsx live
-
+
```
```tsx live
@@ -35,7 +26,7 @@ import { CalendarWithSkeleton } from '../Component';
inputFromProps={{
Calendar: CalendarWithSkeleton,
disabled: true,
- calendarProps: {calendarVisible: false }
+ calendarProps: { calendarVisible: false },
}}
/>
```
diff --git a/packages/calendar/src/docs/Component.stories.mdx b/packages/calendar/src/docs/Component.stories.mdx
index 8abd32b40d..e94bd26a4a 100644
--- a/packages/calendar/src/docs/Component.stories.mdx
+++ b/packages/calendar/src/docs/Component.stories.mdx
@@ -1,17 +1,15 @@
import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
import { action } from '@storybook/addon-actions';
import { select, number } from '@storybook/addon-knobs';
-import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
import { CssVars } from 'storybook/blocks/css-vars';
-import styles from '!!raw-loader!../index.module.css';
-import vars from '!!raw-loader!../vars.css';
-import Description from './description.mdx';
import { Calendar } from '../';
-
import { name, version } from '../../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+import vars from '!!raw-loader!../vars.css';
}
- props={ }
- cssVars={ }
+ description={ }
+ props={ }
+ cssVars={ }
/>
diff --git a/packages/calendar/src/docs/description.mdx b/packages/calendar/src/docs/description.mdx
index bb89149b44..4e90a18ffa 100644
--- a/packages/calendar/src/docs/description.mdx
+++ b/packages/calendar/src/docs/description.mdx
@@ -1,9 +1,3 @@
-import startOfDay from 'date-fns/startOfDay';
-import { Preview } from '@storybook/addon-docs/blocks';
-
-import { Calendar } from '../Component';
-import { usePeriod } from '../usePeriod';
-
## Выбор даты из ограниченного интервала
Календарь с заданными левой и правой границей.
@@ -14,46 +8,54 @@ import { usePeriod } from '../usePeriod';
Задать границы можно с помощью свойств `minDate` и `maxDate`
```tsx live
- render(() => {
- const [value, setValue] = React.useState();
- const minDate = startOfDay(new Date());
- minDate.setDate(10);
- const maxDate = startOfDay(new Date());
- maxDate.setDate(20);
- return (
-
- );
- })
+render(() => {
+ // import startOfDay from 'date-fns/startOfDay';
+ const [value, setValue] = React.useState();
+
+ const minDate = startOfDay(new Date());
+ minDate.setDate(10);
+
+ const maxDate = startOfDay(new Date());
+ maxDate.setDate(20);
+
+ return (
+
+ );
+});
```
## Скрытие выбора года и месяца
```tsx live
- render(() => {
- const [value, setValue] = React.useState(new Date().setMonth(6));
- const minDate = startOfDay(new Date());
- minDate.setMonth(5);
- const maxDate = startOfDay(new Date());
- maxDate.setMonth(7);
- return (
-
- );
- })
+render(() => {
+ // import startOfDay from 'date-fns/startOfDay';
+
+ const [value, setValue] = React.useState(new Date().setMonth(6));
+
+ const minDate = startOfDay(new Date());
+ minDate.setMonth(5);
+
+ const maxDate = startOfDay(new Date());
+ maxDate.setMonth(7);
+
+ return (
+
+ );
+});
```
-
## Недоступные даты
Случается, что некоторые даты нельзя выбрать. Например, выходные или праздники.
@@ -61,19 +63,14 @@ import { usePeriod } from '../usePeriod';
Задать недоступные даты можно, передав массив дат в свойство `offDays`
```tsx live
- render(() => {
- const [value, setValue] = React.useState();
- const offDays = [new Date().setDate(1), new Date().setDate(7), new Date().setDate(28)];
- return (
-
- );
- })
-```
+render(() => {
+ const [value, setValue] = React.useState();
+ const offDays = [new Date().setDate(1), new Date().setDate(7), new Date().setDate(28)];
+
+ return ;
+});
+```
## Отметка о событии
@@ -82,25 +79,20 @@ import { usePeriod } from '../usePeriod';
Задать события можно, передав массив дат в свойство `events`
```tsx live
- render(() => {
- const [value, setValue] = React.useState();
- const events = [
- new Date().setDate(3),
- new Date().setDate(15),
- new Date().setDate(17),
- new Date().setDate(21)
- ];
- return (
-
- );
- })
+render(() => {
+ const [value, setValue] = React.useState();
+
+ const events = [
+ new Date().setDate(3),
+ new Date().setDate(15),
+ new Date().setDate(17),
+ new Date().setDate(21),
+ ];
+
+ return ;
+});
```
-
## Выделение периода
С помощью свойств `selectedFrom` и `selectedTo` можно подсвечивать определенный период дат на календаре.
@@ -110,25 +102,31 @@ import { usePeriod } from '../usePeriod';
Для автоматического управления выделением можно воспользоваться хуком `usePeriod`
```tsx live
- render(() => {
- // import { usePeriod } from '@alfalab/core-components/calendar';
- const [value, setValue] = React.useState();
- const onPeriodChange = (selectedFrom, selectedTo) => {
- console.log('selected', selectedFrom, selectedTo);
- }
- const { selectedFrom, selectedTo, updatePeriod } = usePeriod({ onPeriodChange });
- const handleChange = (date) => {
- const newDate = date === selectedFrom ? undefined : date;
- setValue(newDate);
- updatePeriod(newDate);
- }
- return (
-
- );
- })
+render(() => {
+ // import { usePeriod } from '@alfalab/core-components/calendar';
+
+ const [value, setValue] = React.useState();
+
+ const onPeriodChange = (selectedFrom, selectedTo) => {
+ console.log('selected', selectedFrom, selectedTo);
+ };
+
+ const { selectedFrom, selectedTo, updatePeriod } = usePeriod({ onPeriodChange });
+
+ const handleChange = date => {
+ const newDate = date === selectedFrom ? undefined : date;
+
+ setValue(newDate);
+ updatePeriod(newDate);
+ };
+
+ return (
+
+ );
+});
```
diff --git a/packages/card-image/src/docs/Component.stories.mdx b/packages/card-image/src/docs/Component.stories.mdx
index 99fb837882..e19199bf96 100644
--- a/packages/card-image/src/docs/Component.stories.mdx
+++ b/packages/card-image/src/docs/Component.stories.mdx
@@ -1,13 +1,13 @@
-import { Meta, Story, Props, Preview, Title } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { text, boolean, number } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
import { CssVars } from 'storybook/blocks/css-vars';
-import styles from '!!raw-loader!../index.module.css';
-import Description from './description.mdx';
import { CardImage } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
}
- props={ }
- cssVars={ }
-/>
\ No newline at end of file
+ description={ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/cdn-icon/src/docs/Component.stories.mdx b/packages/cdn-icon/src/docs/Component.stories.mdx
index cfd4aed142..40eba1c970 100644
--- a/packages/cdn-icon/src/docs/Component.stories.mdx
+++ b/packages/cdn-icon/src/docs/Component.stories.mdx
@@ -2,9 +2,9 @@ import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
-import Description from './description.mdx';
import { CDNIcon } from '../Component';
import { version } from '../../package.json';
+import Description from './description.mdx';
}
- props={ }
-/>
\ No newline at end of file
+ description={ }
+ props={ }
+/>
diff --git a/packages/cdn-icon/src/docs/description.mdx b/packages/cdn-icon/src/docs/description.mdx
index 2a275a7e0b..84f9ff3317 100644
--- a/packages/cdn-icon/src/docs/description.mdx
+++ b/packages/cdn-icon/src/docs/description.mdx
@@ -1,5 +1,5 @@
-import { CDNIcon } from '../Component'
-
Компонент иконки, которая запрашивается с сервера.
-
+```tsx live
+
+```
diff --git a/packages/cdn-icon/src/index.tsx b/packages/cdn-icon/src/index.ts
similarity index 100%
rename from packages/cdn-icon/src/index.tsx
rename to packages/cdn-icon/src/index.ts
diff --git a/packages/checkbox-group/src/docs/Component.stories.mdx b/packages/checkbox-group/src/docs/Component.stories.mdx
index 64c2f625f0..04905fd315 100644
--- a/packages/checkbox-group/src/docs/Component.stories.mdx
+++ b/packages/checkbox-group/src/docs/Component.stories.mdx
@@ -1,13 +1,14 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { text, boolean, select } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
-import Description from './description.mdx';
+import { Tag } from '../../../tag/src';
+import { Checkbox } from '../../../checkbox/src';
+
import { CheckboxGroup } from '../Component';
import { name, version } from '../../package.json';
-import { Checkbox } from '../../../checkbox/src';
-import { Tag } from '../../../tag/src';
+import Description from './description.mdx';
}
- props={ }
-/>
\ No newline at end of file
+ description={ }
+ props={ }
+/>
diff --git a/packages/checkbox-group/src/docs/description.mdx b/packages/checkbox-group/src/docs/description.mdx
index 619f98d602..65b7c5f23a 100644
--- a/packages/checkbox-group/src/docs/description.mdx
+++ b/packages/checkbox-group/src/docs/description.mdx
@@ -7,49 +7,54 @@ import { Tag } from '../../../tag/src';
Компонент группы чекбоксов.
```tsx live
- render(() => {
- const [value, setValue] = React.useState({ one: false, two: false, three: false });
- const onChange = (_, payload) => {
- setValue({ ...value, [payload.name]: payload.checked });
- };
- return (
-
-
-
-
-
- );
- })
+// import { Checkbox } from '@alfalab/core-components/checkbox';
+
+render(() => {
+ const [value, setValue] = React.useState({ one: false, two: false, three: false });
+
+ const onChange = (_, payload) => {
+ setValue({ ...value, [payload.name]: payload.checked });
+ };
+
+ return (
+
+
+
+
+
+ );
+});
```
### Группа чекбоксов, использующая компонент `Tag`
```tsx live
- render(() => {
- const [value, setValue] = React.useState({ one: false, two: false, three: false });
- const onChange = (_, payload) => {
- setValue({ ...value, [payload.name]: payload.checked });
- };
- return (
-
-
- Первый вариант
-
-
- Второй вариант
-
-
- Третий вариант
-
-
- );
- })
+// import { Tag } from '@alfalab/core-components/tag';
+
+render(() => {
+ const [value, setValue] = React.useState({ one: false, two: false, three: false });
+
+ const onChange = (_, payload) => {
+ setValue({ ...value, [payload.name]: payload.checked });
+ };
+
+ return (
+
+
+ Первый вариант
+
+
+ Второй вариант
+
+
+ Третий вариант
+
+
+ );
+});
```
diff --git a/packages/checkbox/src/docs/Component.stories.mdx b/packages/checkbox/src/docs/Component.stories.mdx
index 20b062462f..6feaa30a89 100644
--- a/packages/checkbox/src/docs/Component.stories.mdx
+++ b/packages/checkbox/src/docs/Component.stories.mdx
@@ -1,13 +1,13 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { text, boolean, select } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
import { CssVars } from 'storybook/blocks/css-vars';
-import styles from '!!raw-loader!../index.module.css';
-import Description from './description.mdx';
import { Checkbox } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
}
- props={ }
- cssVars={ }
-/>
\ No newline at end of file
+ description={ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/checkbox/src/docs/description.mdx b/packages/checkbox/src/docs/description.mdx
index f3b7bf6aa3..91c6ee36d0 100644
--- a/packages/checkbox/src/docs/description.mdx
+++ b/packages/checkbox/src/docs/description.mdx
@@ -1,36 +1,37 @@
-import { Preview } from '@storybook/addon-docs/blocks';
-import { Checkbox } from '../Component';
-
Компонент чекбокса.
```tsx live
- render(() => {
- const [checked, setChecked] = React.useState(false);
- const handleChange = () => setChecked(!checked);
- return (
-
- );
- })
+render(() => {
+ const [checked, setChecked] = React.useState(false);
+
+ const handleChange = () => setChecked(!checked);
+
+ return (
+
+ );
+});
```
### Чекбокс c неопределенным (indeterminate) состоянием
```tsx live
- render(() => {
- const [checked, setChecked] = React.useState(false);
- const handleChange = () => setChecked(!checked);
- return (
-
- );
- })
+render(() => {
+ const [checked, setChecked] = React.useState(false);
+
+ const handleChange = () => setChecked(!checked);
+
+ return (
+
+ );
+});
```
diff --git a/packages/circular-progress-bar/src/docs/Component.stories.mdx b/packages/circular-progress-bar/src/docs/Component.stories.mdx
index 683af39aff..47a16ba9c5 100644
--- a/packages/circular-progress-bar/src/docs/Component.stories.mdx
+++ b/packages/circular-progress-bar/src/docs/Component.stories.mdx
@@ -1,14 +1,13 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { text, select, number } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
import { CssVars } from 'storybook/blocks/css-vars';
-import styles from '!!raw-loader!../index.module.css';
-
-import Description from './description.mdx';
-import { name, version } from '../../package.json';
import { CircularProgressBar } from '../Component';
+import { name, version } from '../../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
}
- props={ }
- cssVars={ }
-/>
\ No newline at end of file
+ description={ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/circular-progress-bar/src/docs/description.mdx b/packages/circular-progress-bar/src/docs/description.mdx
index d7359b2919..c28e04e853 100644
--- a/packages/circular-progress-bar/src/docs/description.mdx
+++ b/packages/circular-progress-bar/src/docs/description.mdx
@@ -1,5 +1,3 @@
-import { CircularProgressBar } from '../Component'
-
Отображает круговой индикатор прогресса (0-100%).
```tsx live
diff --git a/packages/collapse/src/docs/Component.stories.mdx b/packages/collapse/src/docs/Component.stories.mdx
index 6ee0df898b..42af3b1d90 100644
--- a/packages/collapse/src/docs/Component.stories.mdx
+++ b/packages/collapse/src/docs/Component.stories.mdx
@@ -2,10 +2,11 @@ import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
-import Description from './description.mdx';
-import { Collapse } from '../Component';
import { Button } from '../../../button/src';
+
+import { Collapse } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
}
- props={ }
-/>
\ No newline at end of file
+ description={ }
+ props={ }
+/>
diff --git a/packages/collapse/src/docs/description.mdx b/packages/collapse/src/docs/description.mdx
index eda6bcf743..076561a93d 100644
--- a/packages/collapse/src/docs/description.mdx
+++ b/packages/collapse/src/docs/description.mdx
@@ -1,24 +1,16 @@
-import { Preview } from '@storybook/addon-docs/blocks';
-
-import { Collapse } from '../Component';
-import { Button } from '../../../button/src';
-
Компонент «подката» позволяет спрятать кусок текста за ссылку «Еще...».
### Стандартный Collapse
-```tsx live name='Collapse'>
-
-
- Альфа-Банк, основанный в 1990 году, является универсальным банком,
- осуществляющим все основные виды банковских операций, представленных
- на рынке финансовых услуг, включая обслуживание частных и корпоративных
- клиентов, инвестиционный банковский бизнес, торговое финансирование и т.д.
-
-
+```tsx live
+
+
+ Альфа-Банк, основанный в 1990 году, является универсальным банком, осуществляющим все
+ основные виды банковских операций, представленных на рынке финансовых услуг, включая
+ обслуживание частных и корпоративных клиентов, инвестиционный банковский бизнес, торговое
+ финансирование и т.д.
+
+
```
### Collapse с кастомным контролом
@@ -26,23 +18,25 @@ import { Button } from '../../../button/src';
Управлять состоянием компонента можно снаружи используя любой контрол (например кнопку) и передавать
текущее значение состояния через проп expanded
-```tsx live name='Collapse with custom control'>
- render(() => {
- const [expanded, setExpanded] = React.useState(false)
- return <>
+```tsx live
+render(() => {
+ const [expanded, setExpanded] = React.useState(false);
+
+ return (
+ <>
setExpanded(!expanded)}>
- {expanded ? 'Свернуть' : 'Развернуть'}
+ {expanded ? 'Свернуть' : 'Развернуть'}
-
+
+
Альфа-Банк, основанный в 1990 году, является универсальным банком,
- осуществляющим все основные виды банковских операций, представленных
- на рынке финансовых услуг, включая обслуживание частных и корпоративных
- клиентов, инвестиционный банковский бизнес, торговое финансирование и т.д.
+ осуществляющим все основные виды банковских операций, представленных на рынке
+ финансовых услуг, включая обслуживание частных и корпоративных клиентов,
+ инвестиционный банковский бизнес, торговое финансирование и т.д.
>
- })
+ );
+});
```
diff --git a/packages/confirmation/src/docs/Component.stories.mdx b/packages/confirmation/src/docs/Component.stories.mdx
index 93bdfad96d..ab04137b18 100644
--- a/packages/confirmation/src/docs/Component.stories.mdx
+++ b/packages/confirmation/src/docs/Component.stories.mdx
@@ -1,13 +1,16 @@
-import { useState } from 'react';
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
-import { text, select, number, boolean } from '@storybook/addon-knobs';
+
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
+import { select, number } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
+import { CssVars } from 'storybook/blocks/css-vars';
+
+import { Select } from '../../../select/src/Component';
-import Description from './description.mdx';
import { Confirmation } from '../component';
import { name, version } from '../../package.json';
-import { Select } from '../../../select/src/Component';
+import Description from './description.mdx';
+import vars from '!!raw-loader!../vars.css';
{React.createElement(() => {
const [open, setOpen] = React.useState(false);
- const [variant, setVariant] = useState({ key: 'success', content: 'Успешный сценарий'});
+ const [variant, setVariant] = React.useState({ key: 'success', content: 'Успешный сценарий'});
const [value, setValue] = React.useState('');
const [codeChecking, setCodeChecking] = React.useState(false);
const [codeSending, setCodeSending] = React.useState(false);
- const [error, setError] = React.useState("");
+ const [error, setError] = React.useState('');
const [errorIsFatal, setErrorIsFatal] = React.useState(false);
- const [noAttemptsLeftMessage, setNoAttemptsLeftMessage] = React.useState("");
+ const [noAttemptsLeftMessage, setNoAttemptsLeftMessage] = React.useState('');
const setCode = (code) => {
setValue(code);
- setError("");
+ setError('');
};
const handleSubmit = () => {
setCodeChecking(true);
- setError("");
+ setError('');
setTimeout(() => {
setCodeChecking(false);
switch (variant.key) {
- case "success":
+ case 'success':
break;
- case "error":
- setError("Неправильный код");
+ case 'error':
+ setError('Неправильный код');
break;
- case "fatal":
- setError("Выполните операцию с самого начала");
+ case 'fatal':
+ setError('Выполните операцию с самого начала');
setErrorIsFatal(true);
break;
- case "attempts-left":
- setNoAttemptsLeftMessage("Не осталось попыток запроса кода");
+ case 'attempts-left':
+ setNoAttemptsLeftMessage('Не осталось попыток запроса кода');
break;
}
}, 300);
};
const handleSmsRetryClick = () => {
setCodeSending(true);
- setError("");
- setCode("");
+ setError('');
+ setCode('');
setTimeout(() => {
setCodeSending(false);
}, 300);
@@ -131,6 +134,7 @@ import { Confirmation } from '@alfalab/core-components-confirmation';
```
}
- props={ }
-/>
\ No newline at end of file
+ description={ }
+ props={ }
+ cssVars={ }
+/>
diff --git a/packages/confirmation/src/docs/description.mdx b/packages/confirmation/src/docs/description.mdx
index 87715f7cbd..2b80e0eb14 100644
--- a/packages/confirmation/src/docs/description.mdx
+++ b/packages/confirmation/src/docs/description.mdx
@@ -1 +1,96 @@
-Компонент подтверждения операции по коду.
\ No newline at end of file
+Компонент подтверждения операции по коду.
+
+```tsx live
+render(() => {
+ const [open, setOpen] = React.useState(false);
+
+ const [variant, setVariant] = React.useState({ key: 'success', content: 'Успешный сценарий' });
+ const [value, setValue] = React.useState('');
+ const [codeChecking, setCodeChecking] = React.useState(false);
+ const [codeSending, setCodeSending] = React.useState(false);
+ const [error, setError] = React.useState('');
+ const [errorIsFatal, setErrorIsFatal] = React.useState(false);
+ const [noAttemptsLeftMessage, setNoAttemptsLeftMessage] = React.useState('');
+
+ const setCode = code => {
+ setValue(code);
+ setError('');
+ };
+
+ const handleSubmit = () => {
+ setCodeChecking(true);
+ setError('');
+ setTimeout(() => {
+ setCodeChecking(false);
+ switch (variant.key) {
+ case 'success':
+ break;
+ case 'error':
+ setError('Неправильный код');
+ break;
+ case 'fatal':
+ setError('Выполните операцию с самого начала');
+ setErrorIsFatal(true);
+ break;
+ case 'attempts-left':
+ setNoAttemptsLeftMessage('Не осталось попыток запроса кода');
+ break;
+ }
+ }, 300);
+ };
+
+ const handleSmsRetryClick = () => {
+ setCodeSending(true);
+ setError('');
+ setCode('');
+ setTimeout(() => {
+ setCodeSending(false);
+ }, 300);
+ };
+
+ return (
+
+ {
+ setVariant(selected);
+ }}
+ selected={variant.key}
+ />
+
+
+ setCode(code)}
+ alignContent='center'
+ requiredCharAmount={5}
+ error={Boolean(error)}
+ errorText={error}
+ errorIsFatal={errorIsFatal}
+ noAttemptsLeftMessage={noAttemptsLeftMessage}
+ />
+
+
+ );
+});
+```
diff --git a/packages/divider/src/docs/Component.stories.mdx b/packages/divider/src/docs/Component.stories.mdx
index dd6ea392a2..e54abc1b31 100644
--- a/packages/divider/src/docs/Component.stories.mdx
+++ b/packages/divider/src/docs/Component.stories.mdx
@@ -2,9 +2,9 @@ import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
-import Description from './description.mdx';
import { Divider } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
}
- props={ }
-/>
\ No newline at end of file
+ description={ }
+ props={ }
+/>
diff --git a/packages/divider/src/docs/description.mdx b/packages/divider/src/docs/description.mdx
index 0e35da2f89..e60884dd5b 100644
--- a/packages/divider/src/docs/description.mdx
+++ b/packages/divider/src/docs/description.mdx
@@ -1,13 +1,11 @@
-import { Preview } from '@storybook/addon-docs/blocks';
-
-import { Divider } from '../Component';
-
Создаёт горизонтальную разделительную линию.
```tsx live
-
+
```
diff --git a/packages/drawer/src/docs/Component.stories.mdx b/packages/drawer/src/docs/Component.stories.mdx
index ec5da4aac9..70e3068b67 100644
--- a/packages/drawer/src/docs/Component.stories.mdx
+++ b/packages/drawer/src/docs/Component.stories.mdx
@@ -1,14 +1,16 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { action } from '@storybook/addon-actions';
-import { text, select, boolean } from '@storybook/addon-knobs';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
+import { boolean } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
+import { CssVars } from 'storybook/blocks/css-vars';
-import Description, { ContentWrapper, Content } from './description.mdx';
import { Button } from '../../../button/src';
import { Typography } from '../../../typography/src';
-import { Drawer } from '../Component';
+
+import { Drawer, DrawerContext } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
setOpen(!open);
return (
- Open Drawer
+ Открыть Drawer
-
-
-
+
);
@@ -57,6 +57,37 @@ import { Drawer } from '@alfalab/core-components-drawer';
```
}
- props={ }
-/>
\ No newline at end of file
+ description={ }
+ props={ }
+ cssVars={ }
+/>
+
+
+export function Content() {
+ const { contentRef } = React.useContext(DrawerContext);
+ const [showMore, setShowMore] = React.useState(false);
+ const Text = () => (
+
+ Сейчас много говорят об отказах банков в проведении операций, блокировках
+ интернет-банка. Это связано с тем, что Центральный банк РФ обязывает банки выявлять
+ операции своих клиентов, потенциально нарушающие требования Федерального закона «О
+ противодействии легализации (отмыванию) доходов, полученных преступным путем, и
+ финансированию терроризма» — 115-ФЗ
+
+ );
+ return (
+
+
+ {showMore && (
+ <>
+
+
+
+ >
+ )}
+ setShowMore(!showMore)}>
+ {showMore ? 'Скрыть' : 'Показать еще'}
+
+
+ );
+}
diff --git a/packages/drawer/src/docs/description.mdx b/packages/drawer/src/docs/description.mdx
index e4109e05dc..fd43c82be8 100644
--- a/packages/drawer/src/docs/description.mdx
+++ b/packages/drawer/src/docs/description.mdx
@@ -1,130 +1,147 @@
-import { Preview } from '@storybook/addon-docs/blocks';
-import { Drawer, DrawerContext } from '../Component';
-import { Button } from '../../../button/src';
-
## Компонент Drawer
Компонент, представляющим собой заготовку для реализации сайд-панелей. В основе компонента лежит `BaseModal`.
```tsx live
- render(() => {
- const [open, setOpen] = React.useState(false);
- const handleModalOpen = () => setOpen(!open);
- return (
-
- Open Drawer
-
-
-
-
-
-
- );
- })
-```
+function Content() {
+ const { contentRef } = React.useContext(DrawerContext);
+ const [showMore, setShowMore] = React.useState(false);
+ const Text = () => (
+
+ Сейчас много говорят об отказах банков в проведении операций, блокировках
+ интернет-банка. Это связано с тем, что Центральный банк РФ обязывает банки выявлять
+ операции своих клиентов, потенциально нарушающие требования Федерального закона «О
+ противодействии легализации (отмыванию) доходов, полученных преступным путем, и
+ финансированию терроризма» — 115-ФЗ
+
+ );
+ return (
+
+
+ {showMore && (
+ <>
+
+
+
+ >
+ )}
+ setShowMore(!showMore)}>
+ {showMore ? 'Скрыть' : 'Показать еще'}
+
+
+ );
+}
+render(() => {
+ const [open, setOpen] = React.useState(false);
-## Кастомные шапка и футер
+ const handleModalOpen = () => setOpen(!open);
-```tsx live
- render(() => {
- const [open, setOpen] = React.useState(false);
- const handleModalOpen = () => setOpen(!open);
- return (
-
- Open Drawer
-
-
-
-
-
-
-
-
- );
- })
+ return (
+
+
+ Открыть Drawer
+
+
+
+
+
+ );
+});
```
+## Кастомные шапка и футер
-export const Header = () => {
+```tsx live
+function Header() {
const { headerHighlighted, onClose, setHasHeader } = React.useContext(DrawerContext);
React.useEffect(() => setHasHeader(true), [setHasHeader]);
return (
-
-
+
+
{headerHighlighted ? 'Шапка при скролле' : 'Шапка'}
- Закрыть
+
+ Закрыть
+
);
}
-export const Footer = () => {
+function Footer() {
const { setHasFooter, footerHighlighted } = React.useContext(DrawerContext);
React.useEffect(() => setHasFooter(true), [setHasFooter]);
return (
-
-
+
+
{footerHighlighted ? 'Футер при скролле' : 'Футер'}
);
}
-export const ContentWrapper = ({ children }) => {
+function Content() {
const { contentRef } = React.useContext(DrawerContext);
- return (
-
- {children}
-
- )
-}
-
-export const Content = () => {
const [showMore, setShowMore] = React.useState(false);
const Text = () => (
- Сейчас много говорят об отказах банков в проведении операций, блокировках интернет-банка.
- Это связано с тем, что Центральный банк РФ обязывает банки выявлять операции своих клиентов,
- потенциально нарушающие требования Федерального закона «О противодействии легализации (отмыванию) доходов,
- полученных преступным путем, и финансированию терроризма» — 115-ФЗ
+ Сейчас много говорят об отказах банков в проведении операций, блокировках
+ интернет-банка. Это связано с тем, что Центральный банк РФ обязывает банки выявлять
+ операции своих клиентов, потенциально нарушающие требования Федерального закона «О
+ противодействии легализации (отмыванию) доходов, полученных преступным путем, и
+ финансированию терроризма» — 115-ФЗ
);
return (
- <>
-
+
+
{showMore && (
<>
-
-
-
+
+
+
>
)}
- setShowMore(!showMore)}>
- {showMore ? 'Hide' : 'Show'} more
+ setShowMore(!showMore)}>
+ {showMore ? 'Скрыть' : 'Показать еще'}
- >
+
);
-};
+}
+
+render(() => {
+ const [open, setOpen] = React.useState(false);
+
+ const handleModalOpen = () => setOpen(!open);
+
+ return (
+
+
+ Открыть Drawer
+
+
+
+
+
+
+
+ );
+});
+```
diff --git a/packages/dropzone/src/docs/Component.stories.mdx b/packages/dropzone/src/docs/Component.stories.mdx
index 306021b93b..a2cd545592 100644
--- a/packages/dropzone/src/docs/Component.stories.mdx
+++ b/packages/dropzone/src/docs/Component.stories.mdx
@@ -4,9 +4,9 @@ import { action } from '@storybook/addon-actions';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
-import Description, { Container } from './description.mdx';
import { Dropzone } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
-
-
- children
-
-
+ {React.createElement(() => {
+ const [filesList, setFilesList] = React.useState([]);
+ const handleDrop = files => {
+ setFilesList(
+ Array.from(files)
+ .map(file => file.name)
+ .filter(Boolean),
+ );
+ };
+ return (
+
+
+ {filesList.length > 0 ? (
+
+ {filesList.map(file => (
+ {file}
+ ))}
+
+ ) : (
+
children
+ )}
+
+
+ );
+ })}
@@ -43,6 +71,6 @@ import { Dropzone } from '@alfalab/core-components-dropzone';
```
}
- props={ }
-/>
\ No newline at end of file
+ description={ }
+ props={ }
+/>
diff --git a/packages/dropzone/src/docs/description.mdx b/packages/dropzone/src/docs/description.mdx
index bba5b7f65c..20da307f46 100644
--- a/packages/dropzone/src/docs/description.mdx
+++ b/packages/dropzone/src/docs/description.mdx
@@ -1,54 +1,42 @@
-import { Preview } from '@storybook/addon-docs/blocks';
-import { Dropzone } from '../Component';
-
-
Компонент drag-and-drop контейнер для прикрепления файлов.
-
```tsx live
-
+render(() => {
{React.createElement(() => {
const [filesList, setFilesList] = React.useState([]);
- const handleDrop = (files) => {
+ const handleDrop = files => {
setFilesList(
Array.from(files)
.map(file => file.name)
- .filter(Boolean)
+ .filter(Boolean),
);
};
- return (
-
-
- {filesList.length > 0 ? (
-
- { filesList.map(file => { file } ) }
-
- ) : (
-
children
- )}
-
-
- );
- })}
-
+ return (
+
+
+ {filesList.length > 0 ? (
+
+ {filesList.map(file => (
+ {file}
+ ))}
+
+ ) : (
+
children
+ )}
+
+
+ )})}
+});
```
-
-export const Container = ({ children }) => (
-
- {children}
-
-);
diff --git a/packages/file-upload-item/src/docs/Component.stories.mdx b/packages/file-upload-item/src/docs/Component.stories.mdx
index 7f7046aa8c..90b1d4d8e5 100644
--- a/packages/file-upload-item/src/docs/Component.stories.mdx
+++ b/packages/file-upload-item/src/docs/Component.stories.mdx
@@ -3,10 +3,9 @@ import { text, number, select, boolean } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
-import Description from './description.mdx';
import { FileUploadItem } from '../Component';
-
import { version } from '../../package.json';
+import Description from './description.mdx';
}
- props={ }
-/>
\ No newline at end of file
+ description={ }
+ props={ }
+/>
diff --git a/packages/file-upload-item/src/docs/description.mdx b/packages/file-upload-item/src/docs/description.mdx
index a7587b9357..32489cc046 100644
--- a/packages/file-upload-item/src/docs/description.mdx
+++ b/packages/file-upload-item/src/docs/description.mdx
@@ -1,69 +1,63 @@
-
-import { Preview } from '@storybook/addon-docs/blocks';
-import { FileUploadItem } from '../Component';
-
-
-Компонент иконки, которая запрашивается с сервера.
+Компонент загружаемого файла
```tsx live
-
-
-
-
-
-
-
-
-
-
+<>
+
+
+
+
+
+
+
+
+>
```
-
diff --git a/packages/form-control/src/docs/Component.stories.mdx b/packages/form-control/src/docs/Component.stories.mdx
index bbfc02bec0..dda8488812 100644
--- a/packages/form-control/src/docs/Component.stories.mdx
+++ b/packages/form-control/src/docs/Component.stories.mdx
@@ -1,14 +1,14 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { text, select, boolean } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import Icon from '@alfalab/icons-glyph/StarMIcon';
import { Tabs } from 'storybook/blocks/tabs';
import { CssVars } from 'storybook/blocks/css-vars';
-import Description from './description.mdx';
-import styles from '!!raw-loader!../index.module.css';
import { FormControl } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
}
- props={ }
- cssVars={ }
+ description={ }
+ props={ }
+ cssVars={ }
/>
diff --git a/packages/form-control/src/docs/description.mdx b/packages/form-control/src/docs/description.mdx
index 41b4810457..48886abb9e 100644
--- a/packages/form-control/src/docs/description.mdx
+++ b/packages/form-control/src/docs/description.mdx
@@ -1,5 +1,3 @@
-import { FormControl } from '../Component';
-
Базовый компонент для построения полей ввода — input, textarea, select и др.
```tsx live
diff --git a/packages/grid/src/docs/Component.stories.mdx b/packages/grid/src/docs/Component.stories.mdx
index 14e1eb14fd..7211ed5fa4 100644
--- a/packages/grid/src/docs/Component.stories.mdx
+++ b/packages/grid/src/docs/Component.stories.mdx
@@ -1,10 +1,10 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
-import Description from './description.mdx';
import { Grid } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
}
- props={ }
+ description={ }
+ props={ }
/>
diff --git a/packages/grid/src/docs/description.mdx b/packages/grid/src/docs/description.mdx
index e5f18fc616..d5fc104bfe 100644
--- a/packages/grid/src/docs/description.mdx
+++ b/packages/grid/src/docs/description.mdx
@@ -1,35 +1,31 @@
-import { Preview } from '@storybook/addon-docs/blocks';
-
-import { Grid } from '../Component';
-
-
Компонент грид, который включает в себя Row и Col.
## Grid.Row
+
Строка используется для создания сетки. Сетка имеет резиновую систему разметки, которая масштабируется до 12 столбцов.
### Установка горизонтального отступа
```tsx live
- render(() => {
- const style = {
- height: 30,
- background: '#ff5c5c'
- };
- return (
-
-
-
-
-
-
-
-
-
-
-
- );
- })
+render(() => {
+ const style = {
+ height: 30,
+ background: '#ff5c5c',
+ };
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ );
+});
```
### Выравнивание
@@ -37,190 +33,181 @@ import { Grid } from '../Component';
По вертикали
```tsx live
- render(() => {
- const style = {
- height: 30,
- background: '#ff5c5c'
- };
- const styleLastDiv = {
- width: 0,
- height: 90,
- padding: 0,
- marginBottom: 10
- };
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
- })
-```
-
-По горизонтали
-
-```tsx live
- render(() => {
- const style = {
- height: 30,
- background: '#ff5c5c',
- marginBottom: 10
- };
- return (
-
-
-
-
-
-
-
+render(() => {
+ const style = {
+ height: 30,
+ background: '#ff5c5c',
+ };
+ const styleLastDiv = {
+ width: 0,
+ height: 90,
+ padding: 0,
+ marginBottom: 10,
+ };
+ return (
+
+
+
+
+
-
-
-
-
+
+
-
-
+
+
+
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
+
+
-
-
+
+
+
-
-
-
+
+
- );
- })
+
+ );
+});
+```
+
+По горизонтали
+
+```tsx live
+render(() => {
+ const style = {
+ height: 30,
+ background: '#ff5c5c',
+ marginBottom: 10,
+ };
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+});
```
## Grid.Col
+
Колонки используются для создания сетки. Сетка имеет резиновую систему разметки, которая масштабируется до 12 столбцов. Колонки должны быть помещены в строки (компонент Grid.Row).
```tsx live
- render(() => {
- const style = {
- height: 30,
- lineHeight: '30px',
- color: '#fff',
- background: '#ff5c5c',
- textAlign: 'center',
- marginTop: 10
- };
- return (
-
-
-
- 12
+render(() => {
+ const style = {
+ height: 30,
+ lineHeight: '30px',
+ color: '#fff',
+ background: '#ff5c5c',
+ textAlign: 'center',
+ marginTop: 10,
+ };
+ return (
+
+
+
+ 12
+
+
+
+ {[1, 2].map(key => (
+
+ 6
-
-
- {
- [1, 2].map(key => (
-
- 6
-
- ))
- }
-
-
- {
- [1, 2, 3].map(key => (
-
- 4
-
- ))
- }
-
-
- {
- [1, 2, 3, 4].map(key => (
-
- 3
-
- ))
- }
-
-
- {
- [1, 2, 3, 4, 5, 6].map(key => (
-
- 2
-
- ))
- }
-
-
- {
- [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12].map(key => (
-
- 1
-
- ))
- }
-
-
- );
- })
+ ))}
+
+
+ {[1, 2, 3].map(key => (
+
+ 4
+
+ ))}
+
+
+ {[1, 2, 3, 4].map(key => (
+
+ 3
+
+ ))}
+
+
+ {[1, 2, 3, 4, 5, 6].map(key => (
+
+ 2
+
+ ))}
+
+
+ {[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12].map(key => (
+
+ 1
+
+ ))}
+
+
+ );
+});
```
### Адаптивная ширина
@@ -228,58 +215,58 @@ import { Grid } from '../Component';
Сетку можно настроить для каждой контрольной точки для построения сложного адаптивного интерфейса.
```tsx live
- render(() => {
- const style = {
- height: 30,
- lineHeight: '30px',
- color: '#fff',
- textAlign: 'center',
- background: '#ff5c5c',
- marginBottom: '10px'
- };
- return (
-
- );
- })
+render(() => {
+ const style = {
+ height: 30,
+ lineHeight: '30px',
+ color: '#fff',
+ textAlign: 'center',
+ background: '#ff5c5c',
+ marginBottom: '10px',
+ };
+ return (
+
+ );
+});
```
### Вертикальное выравнивание
```tsx live
- render(() => {
- const style = {
- height: 30,
- background: '#ff5c5c'
- };
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
- })
+render(() => {
+ const style = {
+ height: 30,
+ background: '#ff5c5c',
+ };
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+});
```
### Изменение порядка элементов
@@ -287,64 +274,64 @@ import { Grid } from '../Component';
Для быстрого изменения порядка одного элемента возможно использование значений first и last.
```tsx live
- render(() => {
- const style = {
- height: 30,
- lineHeight: '30px',
- color: '#fff',
- textAlign: 'center',
- background: '#ff5c5c',
- marginBottom: '10px'
- };
- return (
-
-
-
- Первый (order=1)
-
-
- Второй (order=3)
-
-
- Третий (order=2)
-
-
-
-
- Первый (order=last)
-
-
- Второй
-
-
- Третий
-
-
-
- );
- })
+render(() => {
+ const style = {
+ height: 30,
+ lineHeight: '30px',
+ color: '#fff',
+ textAlign: 'center',
+ background: '#ff5c5c',
+ marginBottom: '10px',
+ };
+ return (
+
+
+
+ Первый (order=1)
+
+
+ Второй (order=3)
+
+
+ Третий (order=2)
+
+
+
+
+ Первый (order=last)
+
+
+ Второй
+
+
+ Третий
+
+
+
+ );
+});
```
### Смещение колонок
```tsx live
- render(() => {
- const style = {
- height: 30,
- lineHeight: '30px',
- color: '#fff',
- textAlign: 'center',
- background: '#ff5c5c'
- };
- return (
-
-
- width 4
-
-
- width 4, offset 4
-
-
- );
- })
+render(() => {
+ const style = {
+ height: 30,
+ lineHeight: '30px',
+ color: '#fff',
+ textAlign: 'center',
+ background: '#ff5c5c',
+ };
+ return (
+
+
+ width 4
+
+
+ width 4, offset 4
+
+
+ );
+});
```
diff --git a/packages/icon-button/src/docs/Component.stories.mdx b/packages/icon-button/src/docs/Component.stories.mdx
index e2d9e51cfa..d7e1edd9f0 100644
--- a/packages/icon-button/src/docs/Component.stories.mdx
+++ b/packages/icon-button/src/docs/Component.stories.mdx
@@ -1,17 +1,16 @@
import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { select, boolean } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Tabs } from 'storybook/blocks/tabs';
+import { CssVars } from 'storybook/blocks/css-vars';
import { StarMIcon } from '@alfalab/icons-glyph/StarMIcon';
-import { Tabs } from 'storybook/blocks/tabs';
+import { IconButton } from '../Component';
+import { name, version } from '../../package.json';
import Description from './description.mdx';
import defaultStyles from '!!raw-loader!../default.module.css';
import styles from '!!raw-loader!../index.module.css';
-import { CssVars } from 'storybook/blocks/css-vars';
-import { IconButton } from '../Component';
-
-import { name, version } from '../../package.json';
}
- props={ }
- cssVars={ }
+ description={ }
+ props={ }
+ cssVars={ }
/>
diff --git a/packages/icon-button/src/docs/description.mdx b/packages/icon-button/src/docs/description.mdx
index 38d8b0785e..dfbf25433c 100644
--- a/packages/icon-button/src/docs/description.mdx
+++ b/packages/icon-button/src/docs/description.mdx
@@ -1,107 +1,106 @@
-
-import { Preview } from '@storybook/addon-docs/blocks';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { StarMIcon } from '@alfalab/icons-glyph/StarMIcon';
-import { BankAlfaXxlBlackIcon } from '@alfalab/icons-classic/BankAlfaXxlBlackIcon';
-
-import { IconButton } from '../Component';
-
-
### Размеры
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+```jsx live
+
+
+
+
+
+
+
+
+
+
+
+
+
+```
### Виды кнопок
-- Primary
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-- Secondary
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-- Transparent
-
-
+- Primary
+
+```jsx live
+
+
+
+
+
+
+
+
+
+
+```
+
+- Secondary
+
+```jsx live
+
+
+
+
+
+
+
+
+
+
+```
+
+- Transparent
+
+```jsx live
+<>
+
-
-
-
-
-
-
-- Negative
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Темы
-
-`default-inverted`
-
-
-
-
-
-
-
-
-
+
-
+>
+```
+
+- Negative
+
+```jsx live
+
+
+
+
+
+
+
+
+
+
+```
diff --git a/packages/input-autocomplete/src/docs/Component.stories.mdx b/packages/input-autocomplete/src/docs/Component.stories.mdx
index 4dbc0ffa06..89e424f34c 100644
--- a/packages/input-autocomplete/src/docs/Component.stories.mdx
+++ b/packages/input-autocomplete/src/docs/Component.stories.mdx
@@ -10,11 +10,30 @@ import { Input } from '@alfalab/core-components-input';
import { MaskedInput } from '@alfalab/core-components-masked-input';
import { Arrow, Option } from '@alfalab/core-components-select';
-import Description from './description.mdx';
import { InputAutocomplete } from '../Component';
import { name, version } from '../../package.json';
-import { options, matchOption } from './options'
+import Description from './description.mdx';
+export const options = [
+ { key: 'Neptunium' },
+ { key: 'Plutonium' },
+ { key: 'Americium' },
+ { key: 'Curium' },
+ { key: 'Berkelium' },
+ { key: 'Californium' },
+ { key: 'Einsteinium' },
+ { key: 'Fermium' },
+ { key: 'Mendelevium' },
+ { key: 'Nobelium' },
+ { key: 'Lawrencium' },
+ { key: 'Rutherfordium' },
+ { key: 'Dubnium' },
+ { key: 'Seaborgium' },
+ { key: 'Bohrium' },
+];
+
+export const matchOption = (option, inputValue) =>
+ option.key.toLowerCase().includes((inputValue || '').toLowerCase());
}
- props={ }
-/>
\ No newline at end of file
+ description={ }
+ props={ }
+/>
diff --git a/packages/input-autocomplete/src/docs/description.mdx b/packages/input-autocomplete/src/docs/description.mdx
index 072ffbe8d3..89f9b972bc 100644
--- a/packages/input-autocomplete/src/docs/description.mdx
+++ b/packages/input-autocomplete/src/docs/description.mdx
@@ -6,251 +6,416 @@ import { MaskedInput } from '@alfalab/core-components-masked-input';
import { Arrow, Option } from '@alfalab/core-components-select';
import { InputAutocomplete } from '../Component';
-import { options, matchOption } from './options'
Компонент поля для ввода с автокомплитом
```tsx live
- render(() => {
- const [value, setValue] = React.useState('');
- const handleInput = event => {
- setValue(event.target.value);
- };
- const handleChange = ({ selected }) => {
- setValue(selected ? selected.key : '');
- };
- const filteredOptions = options.filter(option => matchOption(option, value));
- return (
-
- );
- })
-```
+render(() => {
+ const options = [
+ { key: 'Neptunium' },
+ { key: 'Plutonium' },
+ { key: 'Americium' },
+ { key: 'Curium' },
+ { key: 'Berkelium' },
+ { key: 'Californium' },
+ { key: 'Einsteinium' },
+ { key: 'Fermium' },
+ { key: 'Mendelevium' },
+ { key: 'Nobelium' },
+ { key: 'Lawrencium' },
+ { key: 'Rutherfordium' },
+ { key: 'Dubnium' },
+ { key: 'Seaborgium' },
+ { key: 'Bohrium' },
+ ];
+
+ const matchOption = (option, inputValue) =>
+ option.key.toLowerCase().includes((inputValue || '').toLowerCase());
+
+ const [value, setValue] = React.useState('');
+
+ const handleInput = event => {
+ setValue(event.target.value);
+ };
+ const handleChange = ({ selected }) => {
+ setValue(selected ? selected.key : '');
+ };
+
+ const filteredOptions = options.filter(option => matchOption(option, value));
+
+ return (
+
+ );
+});
+```
### Кейс с очисткой поля
```tsx live
- render(() => {
- const [value, setValue] = React.useState('');
- const handleInput = event => {
- setValue(event.target.value);
- };
- const handleChange = ({ selected }) => {
- setValue(selected ? selected.key : '');
- };
- const handleClear = (event) => {
- setValue('');
- };
- const filteredOptions = options.filter(option => matchOption(option, value));
- return (
-
- );
- })
-```
+render(() => {
+ const options = [
+ { key: 'Neptunium' },
+ { key: 'Plutonium' },
+ { key: 'Americium' },
+ { key: 'Curium' },
+ { key: 'Berkelium' },
+ { key: 'Californium' },
+ { key: 'Einsteinium' },
+ { key: 'Fermium' },
+ { key: 'Mendelevium' },
+ { key: 'Nobelium' },
+ { key: 'Lawrencium' },
+ { key: 'Rutherfordium' },
+ { key: 'Dubnium' },
+ { key: 'Seaborgium' },
+ { key: 'Bohrium' },
+ ];
+
+ const matchOption = (option, inputValue) =>
+ option.key.toLowerCase().includes((inputValue || '').toLowerCase());
+
+ const [value, setValue] = React.useState('');
+
+ const handleInput = event => {
+ setValue(event.target.value);
+ };
+
+ const handleChange = ({ selected }) => {
+ setValue(selected ? selected.key : '');
+ };
+
+ const handleClear = event => {
+ setValue('');
+ };
+ const filteredOptions = options.filter(option => matchOption(option, value));
+
+ return (
+
+ );
+});
+```
### Автокомплит с тэгами
```tsx live
- render(() => {
- const [value, setValue] = React.useState('');
- const [selectedTags, setSelectedTags] = React.useState([]);
- const handleInput = event => {
- setValue(event.target.value);
- };
- const handleChange = ({ selected }) => {
- setValue('');
- if (selected && !selectedTags.includes(selected.key)) {
- setSelectedTags(selectedTags.concat([selected.key]));
- }
- };
- const renderTags = () => selectedTags.length > 0 ?
- selectedTags.map(item => {item} ) :
- null;
- const filteredOptions = options
- .filter(option => !selectedTags.includes(option.content))
- .filter(option => matchOption(option, value));
- if (filteredOptions.length === 0 && value) {
- filteredOptions.push({ key: value, content: value });
+// import { Tag } from '@alfalab/core-components/tag';
+
+render(() => {
+ const options = [
+ { key: 'Neptunium' },
+ { key: 'Plutonium' },
+ { key: 'Americium' },
+ { key: 'Curium' },
+ { key: 'Berkelium' },
+ { key: 'Californium' },
+ { key: 'Einsteinium' },
+ { key: 'Fermium' },
+ { key: 'Mendelevium' },
+ { key: 'Nobelium' },
+ { key: 'Lawrencium' },
+ { key: 'Rutherfordium' },
+ { key: 'Dubnium' },
+ { key: 'Seaborgium' },
+ { key: 'Bohrium' },
+ ];
+
+ const matchOption = (option, inputValue) =>
+ option.key.toLowerCase().includes((inputValue || '').toLowerCase());
+
+ const [value, setValue] = React.useState('');
+
+ const [selectedTags, setSelectedTags] = React.useState([]);
+
+ const handleInput = event => {
+ setValue(event.target.value);
+ };
+
+ const handleChange = ({ selected }) => {
+ setValue('');
+ if (selected && !selectedTags.includes(selected.key)) {
+ setSelectedTags(selectedTags.concat([selected.key]));
}
- return (
-
-
-
- {renderTags()}
-
-
- );
- })
-```
+ };
+ const renderTags = () =>
+ selectedTags.length > 0
+ ? selectedTags.map(item => (
+
+ {item}
+
+ ))
+ : null;
-### Ошибка при пустом значении
+ const filteredOptions = options
+ .filter(option => !selectedTags.includes(option.content))
+ .filter(option => matchOption(option, value));
-```tsx live
- render(() => {
- const [dirty, setDirty] = React.useState(false);
- const [value, setValue] = React.useState('');
- const handleInput = event => {
- if (!dirty) setDirty(true);
- setValue(event.target.value);
- };
- const handleChange = ({ selected }) => {
- setValue(selected ? selected.key : '');
- };
- const filteredOptions = options.filter(option => matchOption(option, value));
- return (
+ if (filteredOptions.length === 0 && value) {
+ filteredOptions.push({ key: value, content: value });
+ }
+
+ return (
+
- );
- })
+ {renderTags()}
+
+ );
+});
```
+### Ошибка при пустом значении
+
+```tsx live
+render(() => {
+ const options = [
+ { key: 'Neptunium' },
+ { key: 'Plutonium' },
+ { key: 'Americium' },
+ { key: 'Curium' },
+ { key: 'Berkelium' },
+ { key: 'Californium' },
+ { key: 'Einsteinium' },
+ { key: 'Fermium' },
+ { key: 'Mendelevium' },
+ { key: 'Nobelium' },
+ { key: 'Lawrencium' },
+ { key: 'Rutherfordium' },
+ { key: 'Dubnium' },
+ { key: 'Seaborgium' },
+ { key: 'Bohrium' },
+ ];
+
+ const matchOption = (option, inputValue) =>
+ option.key.toLowerCase().includes((inputValue || '').toLowerCase());
+
+ const [dirty, setDirty] = React.useState(false);
+ const [value, setValue] = React.useState('');
+
+ const handleInput = event => {
+ if (!dirty) setDirty(true);
+ setValue(event.target.value);
+ };
+
+ const handleChange = ({ selected }) => {
+ setValue(selected ? selected.key : '');
+ };
+
+ const filteredOptions = options.filter(option => matchOption(option, value));
+
+ return (
+
+ );
+});
+```
### Поле с маской
```tsx live
- render(() => {
- const mask = [/\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/];
- const cards = [
- {
- key: 'Карта 1',
- content: '4035 5010 0000 0008',
- },
- {
- key: 'Карта 2',
- content: '4360 0000 0100 0005',
- },
- {
- key: 'Карта 3',
- content: '8171 9999 2766 0000',
- },
- {
- key: 'Карта 4',
- content: '5204 2477 5000 1471',
- },
- {
- key: 'Карта 5',
- content: '4111 1111 1111 1111',
- },
- ];
- const CardOption = (props) => (
-
-
- {props.option.key}
-
- {props.option.content}
-
-
- );
- const [value, setValue] = React.useState('');
- const handleInput = (event) => {
- setValue(event.target.value);
- };
- const handleChange = ({ selected }) => {
- setValue(selected ? selected.content : null);
- };
- const filteredOptions = cards.filter(option => matchOption(option, value));
- return (
-
- );
- })
-```
+render(() => {
+ const matchOption = (option, inputValue) =>
+ option.content.toLowerCase().includes((inputValue || '').toLowerCase());
+
+ const mask = [
+ /\d/,
+ /\d/,
+ /\d/,
+ /\d/,
+ ' ',
+ /\d/,
+ /\d/,
+ /\d/,
+ /\d/,
+ ' ',
+ /\d/,
+ /\d/,
+ /\d/,
+ /\d/,
+ ' ',
+ /\d/,
+ /\d/,
+ /\d/,
+ /\d/,
+ ];
+
+ const cards = [
+ {
+ key: 'Карта 1',
+ content: '4035 5010 0000 0008',
+ },
+ {
+ key: 'Карта 2',
+ content: '4360 0000 0100 0005',
+ },
+ {
+ key: 'Карта 3',
+ content: '8171 9999 2766 0000',
+ },
+ {
+ key: 'Карта 4',
+ content: '5204 2477 5000 1471',
+ },
+ {
+ key: 'Карта 5',
+ content: '4111 1111 1111 1111',
+ },
+ ];
+
+ const CardOption = props => (
+
+
+ {props.option.key}
+
+ {props.option.content}
+
+
+ );
+
+ const [value, setValue] = React.useState('');
+
+ const handleInput = event => {
+ setValue(event.target.value);
+ };
+
+ const handleChange = ({ selected }) => {
+ setValue(selected ? selected.content : null);
+ };
+ const filteredOptions = cards.filter(option => matchOption(option, value));
+
+ return (
+
+ );
+});
+```
### Multiple
```tsx live
- render(() => {
- const [value, setValue] = React.useState('');
- const handleInput = event => {
- setValue(event.target.value);
- };
- const handleChange = ({ selectedMultiple }) => {
- const value = selectedMultiple.length
- ? selectedMultiple.map(option => option.key).join(', ') + ', '
- : '';
- setValue(value);
- };
- const inputValues = value.split(',').map(v => v.trim()).filter(v => v);
- const selectedOptions = options
- .filter(option => inputValues.includes(option.content.trim()));
- const selected = selectedOptions.map(option => option.key);
- const filteredOptions = inputValues.length === selected.length ?
- options :
- options.filter(option => {
- return selectedOptions.includes(option) || matchOption(option, inputValues[inputValues.length - 1])
- });
- return (
-
- );
- })
-```
+render(() => {
+ const options = [
+ { key: 'Neptunium' },
+ { key: 'Plutonium' },
+ { key: 'Americium' },
+ { key: 'Curium' },
+ { key: 'Berkelium' },
+ { key: 'Californium' },
+ { key: 'Einsteinium' },
+ { key: 'Fermium' },
+ { key: 'Mendelevium' },
+ { key: 'Nobelium' },
+ { key: 'Lawrencium' },
+ { key: 'Rutherfordium' },
+ { key: 'Dubnium' },
+ { key: 'Seaborgium' },
+ { key: 'Bohrium' },
+ ];
+ const matchOption = (option, inputValue) =>
+ option.key.toLowerCase().includes((inputValue || '').toLowerCase());
-### Автокомплит со стрелкой
+ const [value, setValue] = React.useState('');
-```tsx live
-import { Arrow } from '@alfalab/core-components/select';
+ const handleInput = event => {
+ setValue(event.target.value);
+ };
+
+ const handleChange = ({ selectedMultiple }) => {
+ const value = selectedMultiple.length
+ ? selectedMultiple.map(option => option.key).join(', ') + ', '
+ : '';
+ setValue(value);
+ };
+
+ const inputValues = value
+ .split(',')
+ .map(v => v.trim())
+ .filter(v => v);
+
+ const selectedOptions = options.filter(option => inputValues.includes(option.key.trim()));
+
+ const selected = selectedOptions.map(option => option.key);
-
+ const filteredOptions =
+ inputValues.length === selected.length
+ ? options
+ : options.filter(option => {
+ return (
+ selectedOptions.includes(option) ||
+ matchOption(option, inputValues[inputValues.length - 1])
+ );
+ });
+
+ return (
+
+ );
+});
```
+### Автокомплит со стрелкой
+```tsx live
+// import { Arrow } from '@alfalab/core-components/select';
+
+render( );
+```
diff --git a/packages/input-autocomplete/src/docs/options.ts b/packages/input-autocomplete/src/docs/options.ts
deleted file mode 100644
index 66acf88723..0000000000
--- a/packages/input-autocomplete/src/docs/options.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-export const options = [
- { key: 'Neptunium', content: 'Neptunium' },
- { key: 'Plutonium', content: 'Plutonium' },
- { key: 'Americium', content: 'Americium' },
- { key: 'Curium', content: 'Curium' },
- { key: 'Berkelium', content: 'Berkelium' },
- { key: 'Californium', content: 'Californium' },
- { key: 'Einsteinium', content: 'Einsteinium' },
- { key: 'Fermium', content: 'Fermium' },
- { key: 'Mendelevium', content: 'Mendelevium' },
- { key: 'Nobelium', content: 'Nobelium' },
- { key: 'Lawrencium', content: 'Lawrencium' },
- { key: 'Rutherfordium', content: 'Rutherfordium' },
- { key: 'Dubnium', content: 'Dubnium' },
- { key: 'Seaborgium', content: 'Seaborgium' },
- { key: 'Bohrium', content: 'Bohrium' },
-];
-
-export const matchOption = (option: { content: string }, inputValue: string) =>
- option.content.toLowerCase().includes((inputValue || '').toLowerCase());
diff --git a/packages/input/src/docs/Component.stories.mdx b/packages/input/src/docs/Component.stories.mdx
index 8ee63177f7..8c9e0eef4b 100644
--- a/packages/input/src/docs/Component.stories.mdx
+++ b/packages/input/src/docs/Component.stories.mdx
@@ -1,14 +1,14 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { text, select, boolean } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
import Icon from '@alfalab/icons-glyph/StarMIcon';
+import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
-
-import styles from '!!raw-loader!../index.module.css';
import { CssVars } from 'storybook/blocks/css-vars';
-import Description from './description.mdx';
+
import { Input } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
}
- props={ }
- cssVars={ }
+ description={ }
+ props={ }
+ cssVars={ }
/>
diff --git a/packages/input/src/docs/description.mdx b/packages/input/src/docs/description.mdx
index c3a64fe6d0..86a40d9cf0 100644
--- a/packages/input/src/docs/description.mdx
+++ b/packages/input/src/docs/description.mdx
@@ -1,13 +1,11 @@
-import { Input } from '../Component';
-
Компонент текстового поля ввода.
☝️ В приложениях Клика используйте обёртку [newclick-composite-components/input](http://digital/demo/newclick-composite-components/master/?path=/docs/form-input--basic).
```tsx live
-
-
-
-
-
+
+
+
+
+
```
diff --git a/packages/intl-phone-input/src/docs/Component.stories.mdx b/packages/intl-phone-input/src/docs/Component.stories.mdx
index b27ed2eb1d..db7f92d1dc 100644
--- a/packages/intl-phone-input/src/docs/Component.stories.mdx
+++ b/packages/intl-phone-input/src/docs/Component.stories.mdx
@@ -1,13 +1,12 @@
-import { Meta, Story, Preview, Props, Title } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import { action } from '@storybook/addon-actions';
-import { text, select, boolean, object } from '@storybook/addon-knobs';
+import { text, select, boolean } from '@storybook/addon-knobs';
import { Tabs } from 'storybook/blocks/tabs';
-import Description from './description.mdx';
-import { options, matchOption } from './options';
import { IntlPhoneInput } from '../component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
+
{React.createElement(() => {
- const [value, setValue] = React.useState('+79647820725');
- const [selectedCountry, setSelectedCountry] = React.useState('RU');
- const handleChange = React.useCallback((newValue) => {
+ const [value, setValue] = React.useState('+79647820725');
+ const [selectedCountry, setSelectedCountry] = React.useState('RU');
+ const handleChange = React.useCallback(
+ newValue => {
setValue(newValue);
- }, [setValue]);
- const size = select('size', ['s', 'm', 'l', 'xl'], 'm');
- const block = boolean('block', false);
- const disabled = boolean('disabled', false);
- const label = text('label', 'Номер телефона');
- const clearableCountryCode = boolean('clearableCountryCode', true);
- const handleCountryChange = React.useCallback((countryCode) => {
- setSelectedCountry(countryCode);
- })
- return (
-
-
-
- Код выбранной страны: {selectedCountry}
-
- );
- })}
+ },
+ [setValue],
+ );
+ const size = select('size', ['s', 'm', 'l', 'xl'], 'm');
+ const block = boolean('block', false);
+ const disabled = boolean('disabled', false);
+ const label = text('label', 'Номер телефона');
+ const clearableCountryCode = boolean('clearableCountryCode', true);
+ const handleCountryChange = React.useCallback(countryCode => {
+ setSelectedCountry(countryCode);
+ });
+ return (
+
+
+
+ Код выбранной страны: {selectedCountry}
+
+ );
+ })}
@@ -68,6 +70,6 @@ import { IntlPhoneInput } from '@alfalab/core-components-intl-phone-input';
```
}
- props={ }
-/>
\ No newline at end of file
+ description={ }
+ props={ }
+/>
diff --git a/packages/intl-phone-input/src/docs/description.mdx b/packages/intl-phone-input/src/docs/description.mdx
index 5449ac6252..3d4125d664 100644
--- a/packages/intl-phone-input/src/docs/description.mdx
+++ b/packages/intl-phone-input/src/docs/description.mdx
@@ -1,9 +1,3 @@
-import { Preview } from '@storybook/addon-docs/blocks';
-import { text, select, boolean } from '@storybook/addon-knobs';
-
-import { IntlPhoneInput } from '../component';
-import { options, matchOption } from './options';
-
Компонент текстового поля для ввода международных номеров телефонов.
**Жирный компонент. Для форматирования номера телефона используется библиотека `libphonenumber-js` весом в 140KB.**
@@ -12,83 +6,96 @@ import { options, matchOption } from './options';
**Если вы используете `arui-scripts` для сборки, версия `arui-scripts` должна быть не ниже 9.7.0.**
-
### Кейс с очисткой поля
```tsx live
- render(() => {
- const [value, setValue] = React.useState('+7');
- const [selectedCountry, setSelectedCountry] = React.useState('RU');
- const handleChange = React.useCallback((newValue) => {
- setValue(newValue);
- }, [setValue]);
- const size = select('size', ['s', 'm', 'l', 'xl'], 'm');
- const disabled = boolean('disabled', false);
- const label = text('label', 'Номер телефона');
- const handleCountryChange = React.useCallback((countryCode) => {
- setSelectedCountry(countryCode);
- });
- const handleClear = React.useCallback(() => setValue(''));
- return (
-
-
-
- Код выбранной страны: {selectedCountry}
-
- );
- })
-```
+render(() => {
+ const [value, setValue] = React.useState('+7');
+ const [selectedCountry, setSelectedCountry] = React.useState('RU');
+ const handleChange = React.useCallback(
+ newValue => {
+ setValue(newValue);
+ },
+ [setValue],
+ );
+
+ const handleCountryChange = React.useCallback(countryCode => {
+ setSelectedCountry(countryCode);
+ });
+
+ const handleClear = React.useCallback(() => setValue(''));
+
+ return (
+
+
+
+ Код выбранной страны: {selectedCountry}
+
+ );
+});
+```
### Кейс с автокомплитом
```tsx live
- render(() => {
- const [value, setValue] = React.useState('+7');
- const [selectedCountry, setSelectedCountry] = React.useState('RU');
- const handleChange = React.useCallback((newValue) => {
- setValue(newValue);
- }, [setValue]);
- const size = select('size', ['s', 'm', 'l', 'xl'], 'm');
- const block = boolean('block', false);
- const disabled = boolean('disabled', false);
- const label = text('label', 'Номер телефона');
- const handleCountryChange = React.useCallback((countryCode) => {
- setSelectedCountry(countryCode);
- });
- const handleClear = React.useCallback(() => setValue(''));
- const filteredOptions = options.filter(option => matchOption(option, value));
- return (
-
-
-
- Код выбранной страны: {selectedCountry}
-
- );
- })
+render(() => {
+ const options = [
+ { key: '+7 921 681 53 98' },
+ { key: '+7 921 681 52 97' },
+ { key: '+7 921 681 52 96' },
+ { key: '+7 921 681 52 95' },
+ { key: '+7 921 681 52 94' },
+ ];
+
+ const matchOption = (option, inputValue) =>
+ option.key.toLowerCase().includes((inputValue || '').toLowerCase());
+
+ const [value, setValue] = React.useState('+7');
+ const [selectedCountry, setSelectedCountry] = React.useState('RU');
+
+ const handleChange = React.useCallback(
+ newValue => {
+ setValue(newValue);
+ },
+ [setValue],
+ );
+
+ const handleCountryChange = React.useCallback(countryCode => {
+ setSelectedCountry(countryCode);
+ });
+
+ const handleClear = React.useCallback(() => setValue(''));
+
+ const filteredOptions = options.filter(option => matchOption(option, value));
+
+ return (
+
+
+
+ Код выбранной страны: {selectedCountry}
+
+ );
+});
```
diff --git a/packages/intl-phone-input/src/docs/options.ts b/packages/intl-phone-input/src/docs/options.ts
deleted file mode 100644
index 871842cd2b..0000000000
--- a/packages/intl-phone-input/src/docs/options.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-export const options = [
- {
- key: '+7 921 681 53 98',
- content: '+7 921 681 53 98',
- },
- {
- key: '+7 921 681 52 97',
- content: '+7 921 681 52 97',
- },
- {
- key: '+7 921 681 52 96',
- content: '+7 921 681 52 96',
- },
- {
- key: '+7 921 681 52 95',
- content: '+7 921 681 52 95',
- },
- {
- key: '+7 921 681 52 94',
- content: '+7 921 681 52 94',
- },
-];
-
-export const matchOption = (option: { key: string }, inputValue: string) =>
- option.key.toLowerCase().includes((inputValue || '').toLowerCase());
diff --git a/packages/keyboard-focusable/src/docs/Component.stories.mdx b/packages/keyboard-focusable/src/docs/Component.stories.mdx
index 988e2b4fa2..2cb3609e1a 100644
--- a/packages/keyboard-focusable/src/docs/Component.stories.mdx
+++ b/packages/keyboard-focusable/src/docs/Component.stories.mdx
@@ -2,14 +2,15 @@ import { Meta, Preview, Props } from '@storybook/addon-docs/blocks';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
-import Description from './description.mdx';
import { KeyboardFocusable } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
+
@@ -28,6 +29,6 @@ import { KeyboardFocusable } from '@alfalab/core-components-keyboard-focusable';
```
}
- props={ }
+ description={ }
+ props={ }
/>
diff --git a/packages/keyboard-focusable/src/docs/description.mdx b/packages/keyboard-focusable/src/docs/description.mdx
index 18c4e16a21..7572f9cfda 100644
--- a/packages/keyboard-focusable/src/docs/description.mdx
+++ b/packages/keyboard-focusable/src/docs/description.mdx
@@ -1,11 +1,3 @@
-
-import cn from 'classnames';
-import { Preview } from '@storybook/addon-docs/blocks';
-
-import { useFocus } from '@alfalab/hooks';
-
-import { KeyboardFocusable } from '../Component';
-
В соответствии с дизайн-системой все интерактивные элементы должны иметь определенную обводку при фокусе, но только при переключении с клавиатуры.
При клике мышки обводки быть не должно.
@@ -15,22 +7,21 @@ import { KeyboardFocusable } from '../Component';
## Компонент KeyboardFocusable
-
```tsx live
-
- {(ref, focused) => {
- const focusOutlineStyles = {
- outline: '2px solid var(--focus-color)',
- outlineOffset: '2px',
- };
-
- return (
-
- focus me by keyboard
-
- )
- }}
-
+
+ {(ref, focused) => {
+ const focusOutlineStyles = {
+ outline: '2px solid var(--focus-color)',
+ outlineOffset: '2px',
+ };
+
+ return (
+
+ Выбери меня табом
+
+ );
+ }}
+
```
```tsx
@@ -57,10 +48,14 @@ import { KeyboardFocusable } from '../Component';
## Хук @alfalab/hooks/useFocus
```tsx
- const ref = useRef(null);
- const { focused } = useFocus(ref, 'keyboard');
+// import { useFocus } from '@alfalab/hooks';
+
+const ref = React.useRef(null);
+const { focused } = useFocus(ref, 'keyboard');
- return (
- focus me
- );
+return (
+
+ focus me
+ ,
+);
```
diff --git a/packages/link/src/docs/Component.stories.mdx b/packages/link/src/docs/Component.stories.mdx
index cfb84358e2..71e6c6fa34 100644
--- a/packages/link/src/docs/Component.stories.mdx
+++ b/packages/link/src/docs/Component.stories.mdx
@@ -1,17 +1,18 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import {text, select, boolean} from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
+import { text, select, boolean } from '@storybook/addon-knobs';
import Icon from '@alfalab/icons-glyph/StarMIcon';
+import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
+import { CssVars } from 'storybook/blocks/css-vars';
+import { Typography } from '../../../typography/src';
+
+import { Link } from '../Component';
+import { name, version } from '../../package.json';
import Description from './description.mdx';
import styles from '!!raw-loader!../index.module.css';
import defaultStyles from '!!raw-loader!../default.module.css';
import invertedStyles from '!!raw-loader!../inverted.module.css';
-import { CssVars } from 'storybook/blocks/css-vars';
-import { Link } from '../Component';
-import { Typography } from '../../../typography/src';
-import { name, version } from '../../package.json';
export const VIEWS = ['primary', 'secondary', 'default'];
@@ -71,8 +72,8 @@ import { Link } from '@alfalab/core-components-link';
```
}
- props={ }
- cssVars={ }
+ description={ }
+ props={ }
+ cssVars={ }
/>
diff --git a/packages/link/src/docs/description.mdx b/packages/link/src/docs/description.mdx
index fe80f6f28c..b796c7a39a 100644
--- a/packages/link/src/docs/description.mdx
+++ b/packages/link/src/docs/description.mdx
@@ -1,92 +1,63 @@
-import { Preview } from '@storybook/addon-docs/blocks';
-import Icon from '@alfalab/icons-glyph/StarMIcon';
-
-import { Container, Row } from 'storybook/blocks/grid';
-import { Link } from '../Component';
-import { Typography } from '../../../typography/src';
-
Ссылка — элемент навигации, который обозначает возможность перехода на другую страницу
или вызова нового информационного слоя.
```tsx live
-
-
- Заказать карту
-
-
+
+
+ Заказать карту
+
+
```
-
## Виды ссылок
### Обычная ссылка
+
Нестареющая классика. Ссылка может вести как на страницу внутри системы, так и на внешний ресурс.
```tsx live
-
-
-
- Primary
-
-
-
-
- Secondary
-
-
-
-
- Default
-
-
-
+
+ Primary
+ Secondary
+ Default
+
```
### Псевдоссылка
+
Вызывает информационный слой (collapse, dropdown, popup) без перехода на другую страницу.
```tsx live
-
-
-
- Primary
-
-
-
-
- Secondary
-
-
-
-
- Default
-
-
-
+
+
+ Primary
+
+
+ Secondary
+
+
+ Default
+
+
```
### Слоты для кастомизации
+
Добавляет слоты `leftAddons` и `rightAddons` для кастомизации ссылок.
Переданный контент будет отрисован слева или справа от текста ссылки.
```tsx live
-
-
- }
- >
- Ссылка с иконкой слева
-
-
-
- }
- >
- Ссылка с иконкой справа
-
-
-
+
+ }>
+ Ссылка с иконкой слева
+
+ }>
+ Ссылка с иконкой справа
+
+
```
diff --git a/packages/list-header/src/docs/Component.stories.mdx b/packages/list-header/src/docs/Component.stories.mdx
index bce77474ca..8c474aac8f 100644
--- a/packages/list-header/src/docs/Component.stories.mdx
+++ b/packages/list-header/src/docs/Component.stories.mdx
@@ -1,13 +1,13 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { text, boolean } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
-
-import Description from './description.mdx';
-import styles from '!!raw-loader!../index.module.css';
import { CssVars } from 'storybook/blocks/css-vars';
+
import { ListHeader } from '../Component';
import { version } from '../../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
export const TAG = ['ul', 'ol'];
@@ -41,7 +41,7 @@ import { ListHeader } from '@alfalab/core-components-list-header';
```
}
- props={ }
- cssVars={ }
+ description={ }
+ props={ }
+ cssVars={ }
/>
diff --git a/packages/list-header/src/docs/description.mdx b/packages/list-header/src/docs/description.mdx
index f6cb97426d..3be3971335 100644
--- a/packages/list-header/src/docs/description.mdx
+++ b/packages/list-header/src/docs/description.mdx
@@ -1,34 +1,31 @@
-
-import { Preview } from '@storybook/addon-docs/blocks';
-import { ListHeader } from '../Component';
-
ListHeader используется для разделения ячеек списка по смысловым группам.
```tsx live
-
+
```
Компонент с серой подложкой используется для «бесконечных списков». Например, для истории операций или списка писем.
```tsx live
+
+
-
-
В Санкт-Петербурге ожидаются дожди, ливни с грозой, градом и шквалистым ветром до 20 м/с.
-
-
Ясно, без осадков.
+ В Санкт-Петербурге ожидаются дожди, ливни с грозой, градом и шквалистым ветром до 20 м/с.
+
+
Ясно, без осадков.
+
```
Компонент без подложки используется для «фиксированных списков».
```tsx live
+
+
-
-
В Санкт-Петербурге ожидаются дожди, ливни с грозой, градом и шквалистым ветром до 20 м/с.
-
-
Ясно, без осадков.
+ В Санкт-Петербурге ожидаются дожди, ливни с грозой, градом и шквалистым ветром до 20 м/с.
+
+
Ясно, без осадков.
+
```
diff --git a/packages/list/src/docs/Component.stories.mdx b/packages/list/src/docs/Component.stories.mdx
index 881d8a884f..5033f194bd 100644
--- a/packages/list/src/docs/Component.stories.mdx
+++ b/packages/list/src/docs/Component.stories.mdx
@@ -1,18 +1,19 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { text, select } from '@storybook/addon-knobs';
+import { Typography } from '@alfalab/core-components-typography';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Container, Row } from 'storybook/blocks/grid';
-import { Typography } from '@alfalab/core-components-typography';
import { Tabs } from 'storybook/blocks/tabs';
import { CssVars } from 'storybook/blocks/css-vars';
-import Description from './description.mdx';
-import styles from '!!raw-loader!../index.module.css';
import { List } from '../Component';
import { version } from '../../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
export const TAG = ['ul', 'ol'];
+
}
- props={ }
- cssVars={ }
+ description={ }
+ props={ }
+ cssVars={ }
/>
diff --git a/packages/list/src/docs/description.mdx b/packages/list/src/docs/description.mdx
index dd197b5830..4d1723deb7 100644
--- a/packages/list/src/docs/description.mdx
+++ b/packages/list/src/docs/description.mdx
@@ -1,32 +1,23 @@
+```tsx live
+
+
+ Накопительные счета
+ Депозиты
+ Кредиты
+
-import { Preview } from '@storybook/addon-docs/blocks';
-import { Container, Row } from 'storybook/blocks/grid';
-import { Typography } from '@alfalab/core-components-typography';
-
-import { List } from '../Component';
+
+
+ Индивидуальное обслуживание в любом отделении в России
+
+ Повышенные % ставки по депозитам
+ Льготная конвертация валют.
+
-```tsx live
-
-
-
- 1 item
- 2 item
- 3 item
-
-
-
-
- 1 item
- 2 item
- 3 item
-
-
-
-
- 1 item
- 2 item
- 3 item
-
-
-
+
+ Ипотечный кредит
+ Потребительский кредит
+ Бесплатные сервисы для накоплений
+
+
```
diff --git a/packages/loader/src/docs/Component.stories.mdx b/packages/loader/src/docs/Component.stories.mdx
index 60d48f4133..57d9603e95 100644
--- a/packages/loader/src/docs/Component.stories.mdx
+++ b/packages/loader/src/docs/Component.stories.mdx
@@ -2,9 +2,9 @@ import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
-import Description from './description.mdx';
import { Loader } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
- {React.createElement(() => {
- return (
-
- );
- })}
+
@@ -37,6 +33,6 @@ import { Loader } from '@alfalab/core-components-loader';
```
}
- props={ }
+ description={ }
+ props={ }
/>
diff --git a/packages/loader/src/docs/description.mdx b/packages/loader/src/docs/description.mdx
index f4295c5a3d..f375a37a35 100644
--- a/packages/loader/src/docs/description.mdx
+++ b/packages/loader/src/docs/description.mdx
@@ -1,6 +1,4 @@
-import { Loader } from '../Component';
-
-Компонент Loader.
+Компонент Loader
```tsx live
diff --git a/packages/masked-input/src/docs/Component.stories.mdx b/packages/masked-input/src/docs/Component.stories.mdx
index 08cbdb22ec..6e5dce6b38 100644
--- a/packages/masked-input/src/docs/Component.stories.mdx
+++ b/packages/masked-input/src/docs/Component.stories.mdx
@@ -1,21 +1,30 @@
-import { Meta, Props, Story, Preview } from '@storybook/addon-docs/blocks';
+import { Meta, Props, Story } from '@storybook/addon-docs/blocks';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
-import Description from './description.mdx';
import { MaskedInput } from '../Component';
import { name, version } from '../../package.json';
-import { masks, placeholders } from './constants';
+import Description from './description.mdx';
+
+export const mask = [/\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/];
+
+
+
+
+
+
+
+
+
}
- props={ }
+ description={ }
+ props={ }
/>
diff --git a/packages/masked-input/src/docs/constants.ts b/packages/masked-input/src/docs/constants.ts
deleted file mode 100644
index 4d3405ac81..0000000000
--- a/packages/masked-input/src/docs/constants.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-export const masks = {
- phone: [
- '+',
- /\d/,
- ' ',
- '(',
- /\d/,
- /\d/,
- /\d/,
- ')',
- ' ',
- /\d/,
- /\d/,
- /\d/,
- '-',
- /\d/,
- /\d/,
- '-',
- /\d/,
- /\d/,
- ],
- card: [
- /\d/,
- /\d/,
- /\d/,
- /\d/,
- ' ',
- /\d/,
- /\d/,
- /\d/,
- /\d/,
- ' ',
- /\d/,
- /\d/,
- /\d/,
- /\d/,
- ' ',
- /\d/,
- /\d/,
- /\d/,
- /\d/,
- ],
-};
-
-export const placeholders = {
- phone: '+7 (000) 000-00-00',
- card: '0000 0000 0000 0000',
-};
diff --git a/packages/masked-input/src/docs/description.mdx b/packages/masked-input/src/docs/description.mdx
index 55d84387f8..377c5483ec 100644
--- a/packages/masked-input/src/docs/description.mdx
+++ b/packages/masked-input/src/docs/description.mdx
@@ -1,53 +1,61 @@
-import { Preview } from '@storybook/addon-docs/blocks';
-import { MaskedInput } from '../Component';
-import { masks, placeholders } from './constants';
-
Компонент текстового поля для ввода текста по указанной маске.
☝️ В приложениях Клика используйте обёртку [newclick-composite-components/masked-input](http://digital/demo/newclick-composite-components/master/?path=/docs/form-maskedinput--basic).
-
-
-
-
-
-
+```jsx live
+const masks = {
+ // prettier-ignore
+ phone: ['+', /\d/, ' ', '(', /\d/, /\d/, /\d/, ')', ' ', /\d/, /\d/, /\d/, '-', /\d/, /\d/, '-', /\d/, /\d/],
+ // prettier-ignore
+ card: [/\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/]
+};
+
+const placeholders = {
+ phone: '+7 (000) 000-00-00',
+ card: '0000 0000 0000 0000',
+};
+
+render(
+
+
+
+
+
+
,
+);
+```
+### Controlled-way
-### Uncontrolled-way
+Компонент может быть использован как controlled с помощью `onChange` и `value`
-Можно ничего не передавать в компонент и реагировать на `onChange`
+```jsx live
+render(() => {
+ // prettier-ignore
+ const mask = [/\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/, ' ', /\d/, /\d/, /\d/, /\d/];
-
-
-
+ const [value, setValue] = React.useState('');
-### Controlled-way
+ const handleChange = React.useCallback(event => {
+ setValue(event.target.value);
+ }, []);
-Компонент может быть использован как controlled с помощью `onChange` и `value`
-
-
- {React.createElement(() => {
- const [value, setValue] = React.useState('');
- const handleChange = React.useCallback((event) => {
- setValue(event.target.value);
- }, []);
- return (
+ return (
+
- setValue('5555111122224444')}>Установить неотформатированный номер
- );
- })}
-
+
+ setValue('5555111122224444')}>
+ Установить неотформатированный номер
+
+
+ );
+});
+```
diff --git a/packages/modal/src/docs/Component.stories.mdx b/packages/modal/src/docs/Component.stories.mdx
index d7cd040e5a..1160ac9403 100644
--- a/packages/modal/src/docs/Component.stories.mdx
+++ b/packages/modal/src/docs/Component.stories.mdx
@@ -1,24 +1,17 @@
-import { Meta, Props, Preview, Story } from '@storybook/addon-docs/blocks';
+import { Meta, Props, Story } from '@storybook/addon-docs/blocks';
import { boolean, select, text } from '@storybook/addon-knobs';
-import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
-import { CrossMIcon } from '@alfalab/icons-glyph';
import { Tabs } from 'storybook/blocks/tabs';
-
-import Description from './description.mdx';
-import vars from '!!raw-loader!../vars.css';
import { CssVars } from 'storybook/blocks/css-vars';
import { Button } from '../../../button/src';
-import { Spinner } from '../../../spinner/src';
-import { Typography } from '../../../typography/src';
-import { ModalContext } from '../Context';
import { ModalMobile } from '../Component.mobile';
import { ModalDesktop } from '../Component.desktop';
import { ModalResponsive } from '../Component.responsive';
-
import { version } from '../../package.json';
+import Description from './description.mdx';
+import vars from '!!raw-loader!../vars.css';
{
);
};
-export const renderModalStory = (ModalComponent, props = {}) => {
- const [open, setOpen] = React.useState(false);
- const handleModalOpen = () => setOpen(!open);
- const header = boolean('header', false);
- const headerTitle = text('header.title');
- const hasCloser = boolean('header.hasCloser', true);
- const stickyHeader = boolean('header.sticky', false);
- const footer = boolean('footer', false);
- const stickyFooter = boolean('footer.sticky', false);
- const footerLayout = select('footer.layout', ['start', 'center', 'space-between', 'column'], 'start');
- const footerGap = select('footer.gap', [false, 16, 24, 32], false);
- const flexContent = boolean('content.flex', false);
- return (
-
- Открыть модалку
-
- {header && (
-
- )}
- {!header && hasCloser && (
-
- )}
-
-
-
- {footer && (
-
-
-
- )}
-
-
- );
-}
-
-
- {renderModalStory(ModalMobile)}
-
-
-
-
- {renderModalStory(ModalDesktop, {
- size: select('size', ['s', 'm', 'l'], 's'),
- fullscreen: boolean('fullscreen', false),
+
+ {React.createElement(() => {
+ const [open, setOpen] = React.useState(false);
+ const handleModalOpen = () => setOpen(!open);
+ const component = select('ModalComponent', ['ModalResponsive', 'ModalDesktop', 'ModalMobile'], 'ModalResponsive');
+ const header = boolean('header', false);
+ const headerTitle = text('header.title');
+ const hasCloser = boolean('header.hasCloser', true);
+ const stickyHeader = boolean('header.sticky', false);
+ const footer = boolean('footer', false);
+ const stickyFooter = boolean('footer.sticky', false);
+ const footerLayout = select('footer.layout', ['start', 'center', 'space-between', 'column'], 'start');
+ const footerGap = select('footer.gap', [false, 16, 24, 32], false);
+ const flexContent = boolean('content.flex', false);
+ const ModalComponent = React.useMemo(() => {
+ return {
+ 'ModalResponsive': ModalResponsive,
+ 'ModalDesktop': ModalDesktop,
+ 'ModalMobile': ModalMobile,
+ }[component]
+ }, [component]);
+ const props = ModalComponent !== ModalMobile ? {
+ size: select('size', ['s', 'm', 'l'], 's'),
+ fullscreen: boolean('fullscreen', false),
+ } : {};
+ return (
+
+ Открыть модалку
+
+ {header && (
+
+ )}
+ {!header && hasCloser && (
+
+ )}
+
+
+
+ {footer && (
+
+
+
+ )}
+
+
+ );
})}
-
- {renderModalStory(ModalResponsive, {
- size: select('size', ['s', 'm', 'l'], 's'),
- fullscreen: boolean('fullscreen', false),
- })}
-
@@ -136,13 +125,13 @@ export const renderModalStory = (ModalComponent, props = {}) => {
```tsx
+import { ModalResponsive } from '@alfalab/core-components-modal/responsive';
import { ModalDesktop } from '@alfalab/core-components-modal/desktop';
import { ModalMobile } from '@alfalab/core-components-modal/mobile';
-import { ModalResponsive } from '@alfalab/core-components-modal/responsive';
```
}
- cssVars={ }
- props={ }
+ description={ }
+ cssVars={ }
+ props={ }
/>
diff --git a/packages/modal/src/docs/description.mdx b/packages/modal/src/docs/description.mdx
index 3cf9e6fbec..50e2b545db 100644
--- a/packages/modal/src/docs/description.mdx
+++ b/packages/modal/src/docs/description.mdx
@@ -1,127 +1,170 @@
-import { Meta, Props, Preview, Story } from '@storybook/addon-docs/blocks';
-import {boolean, select, text} from '@storybook/addon-knobs';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import { CrossMIcon } from '@alfalab/icons-glyph';
-
-import { Button } from '../../../button/src';
-import { Spinner } from '../../../spinner/src';
-import { Typography } from '../../../typography/src';
-
-import { ModalContext } from '../Context';
-import { ModalMobile } from '../Component.mobile';
-import { ModalDesktop } from '../Component.desktop';
-import { ModalResponsive } from '../Component.responsive';
-
-import { version } from '../../package.json';
-
-
Компонент модального окна, построенный как Compound Components.
Предоставляет стандартные компоненты `Header`, `Closer`, `Content`, `Footer`, а также доступ к контексту.
```tsx live
- render(() => {
- const [open, setOpen] = React.useState(false);
- const handleModalOpen = () => setOpen(!open);
- return (
-
- Открыть модалку
-
-
-
-
- Почему банк проверяет мои операции?
-
-
-
- Сейчас много говорят об отказах банков в проведении операций, блокировках интернет-банка. Это связано с тем, что Центральный банк РФ обязывает банки выявлять операции своих клиентов, потенциально нарушающие требования Федерального закона 115-ФЗ «О противодействии легализации (отмыванию) доходов, полученных преступным путем, и финансированию терроризма».
-
-
-
- Ознакомиться с требованиями ЦБ РФ можно на официальном сайте. Банки обязаны предотвращать проведение таких операций и поэтому могут запросить дополнительную информацию и документы, ограничить доступ к платежам через интернет-банк или даже отказать в исполнении платежа.
-
-
-
- Понятно
-
-
-
- );
- })
+// import { Typography } from '@alfalab/core-components-typography';
+
+render(() => {
+ const [open, setOpen] = React.useState(false);
+
+ const handleModalOpen = () => setOpen(!open);
+
+ return (
+
+
+ Открыть модалку
+
+
+
+
+
+ Почему банк проверяет мои операции?
+
+
+
+ Сейчас много говорят об отказах банков в проведении операций, блокировках
+ интернет-банка. Это связано с тем, что Центральный банк РФ обязывает банки
+ выявлять операции своих клиентов, потенциально нарушающие требования
+ Федерального закона 115-ФЗ «О противодействии легализации (отмыванию)
+ доходов, полученных преступным путем, и финансированию терроризма».
+
+
+
+ Ознакомиться с требованиями ЦБ РФ можно на официальном сайте. Банки обязаны
+ предотвращать проведение таких операций и поэтому могут запросить
+ дополнительную информацию и документы, ограничить доступ к платежам через
+ интернет-банк или даже отказать в исполнении платежа.
+
+
+
+
+ Понятно
+
+
+
+
+ );
+});
```
### Плавающий крестик без шапки
```tsx live
- render(() => {
- const [open, setOpen] = React.useState(false);
- const handleModalOpen = () => setOpen(!open);
- return (
-
- Открыть модалку
-
-
-
-
- Сейчас много говорят об отказах банков в проведении операций, блокировках интернет-банка. Это связано с тем, что Центральный банк РФ обязывает банки выявлять операции своих клиентов, потенциально нарушающие требования Федерального закона 115-ФЗ «О противодействии легализации (отмыванию) доходов, полученных преступным путем, и финансированию терроризма».
-
-
-
-
- );
- })
+// import { Typography } from '@alfalab/core-components-typography';
+
+render(() => {
+ const [open, setOpen] = React.useState(false);
+
+ const handleModalOpen = () => setOpen(!open);
+
+ return (
+
+
+ Открыть модалку
+
+
+
+
+
+ Сейчас много говорят об отказах банков в проведении операций, блокировках
+ интернет-банка. Это связано с тем, что Центральный банк РФ обязывает банки
+ выявлять операции своих клиентов, потенциально нарушающие требования
+ Федерального закона 115-ФЗ «О противодействии легализации (отмыванию)
+ доходов, полученных преступным путем, и финансированию терроризма».
+
+
+ Сейчас много говорят об отказах банков в проведении операций, блокировках
+ интернет-банка. Это связано с тем, что Центральный банк РФ обязывает банки
+ выявлять операции своих клиентов, потенциально нарушающие требования
+ Федерального закона 115-ФЗ «О противодействии легализации (отмыванию)
+ доходов, полученных преступным путем, и финансированию терроризма».
+
+
+ Сейчас много говорят об отказах банков в проведении операций, блокировках
+ интернет-банка. Это связано с тем, что Центральный банк РФ обязывает банки
+ выявлять операции своих клиентов, потенциально нарушающие требования
+ Федерального закона 115-ФЗ «О противодействии легализации (отмыванию)
+ доходов, полученных преступным путем, и финансированию терроризма».
+
+
+ Сейчас много говорят об отказах банков в проведении операций, блокировках
+ интернет-банка. Это связано с тем, что Центральный банк РФ обязывает банки
+ выявлять операции своих клиентов, потенциально нарушающие требования
+ Федерального закона 115-ФЗ «О противодействии легализации (отмыванию)
+ доходов, полученных преступным путем, и финансированию терроризма».
+
+
+
+
+ );
+});
```
### Фиксации верхнего края
```tsx live
- render(() => {
- const [open, setOpen] = React.useState(false);
- const [loaded, setLoaded] = React.useState(false);
- const handleModalOpen = () => setOpen(!open);
- React.useEffect(() => {
- let timer;
- if (open) {
- setLoaded(false);
- timer = setTimeout(() => setLoaded(true), 1500);
- }
- return () => {
- clearTimeout(timer);
- }
- }, [open]);
- return (
-
- Открыть модалку
-
-
- Сейчас появится контент, который изменит высоту модального окна
- {loaded ? (
-
- ) : (
-
-
-
- )}
-
-
- Понятно
-
-
-
- );
- })
+// import { Spinner } from '@alfalab/core-components/spinner';
+
+const Text = () => (
+
+ Сейчас много говорят об отказах банков в проведении операций, блокировках интернет-банка.
+ Это связано с тем, что Центральный банк РФ обязывает банки выявлять операции своих клиентов,
+ потенциально нарушающие требования Федерального закона «О противодействии легализации
+ (отмыванию) доходов, полученных преступным путем, и финансированию терроризма» — 115-ФЗ
+
+);
+
+render(() => {
+ const [open, setOpen] = React.useState(false);
+ const [loaded, setLoaded] = React.useState(false);
+
+ const handleModalOpen = () => setOpen(!open);
+
+ React.useEffect(() => {
+ let timer;
+
+ if (open) {
+ setLoaded(false);
+ timer = setTimeout(() => setLoaded(true), 1500);
+ }
+
+ return () => {
+ clearTimeout(timer);
+ };
+ }, [open]);
+
+ return (
+
+
+ Открыть модалку
+
+
+
+ Сейчас появится контент, который изменит высоту модального окна
+ {loaded ? (
+
+ ) : (
+
+
+
+ )}
+
+
+
+ Понятно
+
+
+
+
+ );
+});
```
## Использование контекста и кастомные компоненты
@@ -151,63 +194,98 @@ export type ModalContext = {
};
```
-
- {React.createElement(() => {
- const [open, setOpen] = React.useState(false);
- const handleModalOpen = () => setOpen(!open);
- const Header = () => {
- const { headerHighlighted, hasScroll, setHasHeader } = React.useContext(ModalContext);
- React.useEffect(() => setHasHeader(true), [setHasHeader]);
- return (
+```tsx live
+const Header = () => {
+ const { setHasHeader } = React.useContext(ModalContext);
+
+ React.useEffect(() => setHasHeader(true), [setHasHeader]);
+
+ return (
+ <>
+
+ Шапка
+
+
+ }
+ align='right'
+ style={{
+ background: '#fff',
+ borderRadius: '50%',
+ backgroundClip: 'content-box',
+ padding: '8px',
+ }}
+ />
+
+ >
+ );
+};
+
+const Content = () => {
+ const [showMore, setShowMore] = React.useState(false);
+ return (
+ <>
+
+ {(showMore || boolean('showMore')) && (
<>
-
- Шапка
-
-
- }
- align='right'
- style={{
- background: '#fff',
- borderRadius: '50%',
- backgroundClip: 'content-box',
- padding: '8px',
- }}
- />
-
+
+
+
>
- );
- }
- return (
-
- Открыть модалку
-
-
-
-
-
-
-
- );
- })}
-
+ )}
+ setShowMore(!showMore)}>
+ {showMore ? 'Скрыть' : 'Показать еще'}
+
+ >
+ );
+};
+
+const Text = () => (
+
+ Сейчас много говорят об отказах банков в проведении операций, блокировках интернет-банка.
+ Это связано с тем, что Центральный банк РФ обязывает банки выявлять операции своих клиентов,
+ потенциально нарушающие требования Федерального закона «О противодействии легализации
+ (отмыванию) доходов, полученных преступным путем, и финансированию терроризма» — 115-ФЗ
+
+);
+
+render(() => {
+ const [open, setOpen] = React.useState(false);
+ const handleModalOpen = () => setOpen(!open);
+
+ return (
+
+
+ Открыть модалку
+
+
+
+
+
+
+
+
+ );
+});
+```
diff --git a/packages/modal/src/index.ts b/packages/modal/src/index.ts
index df34a59e51..610dd5af39 100644
--- a/packages/modal/src/index.ts
+++ b/packages/modal/src/index.ts
@@ -1 +1,2 @@
export * from './responsive';
+export * from './Context';
diff --git a/packages/mq/src/docs/Component.stories.mdx b/packages/mq/src/docs/Component.stories.mdx
index 441973aae4..ca3f01517b 100644
--- a/packages/mq/src/docs/Component.stories.mdx
+++ b/packages/mq/src/docs/Component.stories.mdx
@@ -1,15 +1,16 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { select, number } from '@storybook/addon-knobs';
import { Container, Row, Col } from 'storybook/blocks/grid';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
-import Description from './description.mdx';
import { Button } from '../../../button/src';
-
-import { Mq, useMatchMedia } from '../';
+import { Space } from '../../../space/src';
+import { Typography } from '../../../typography/src';
import { name, version } from '../../package.json';
+import { Mq, useMatchMedia } from '../';
+import Description from './description.mdx';
-
-
- Mobile button
+
+
+ Сожми экран
+
+
+ Mobile кнопка
-
- Desktop button
+
+ Desktop кнопка
-
+
@@ -46,6 +50,6 @@ import { Mq, useMatchMedia } from '@alfalab/core-components-mq';
```
}
- props={ }
+ description={ }
+ props={ }
/>
diff --git a/packages/mq/src/docs/description.mdx b/packages/mq/src/docs/description.mdx
index 48263752a5..800092c964 100644
--- a/packages/mq/src/docs/description.mdx
+++ b/packages/mq/src/docs/description.mdx
@@ -1,11 +1,3 @@
-
-import { Preview } from '@storybook/addon-docs/blocks';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import { Button } from '../../../button/src';
-
-import { Mq, useMatchMedia } from '../';
-
Компонент, имплементирующий поддержку медиа запросов в шаблонах с помощью `window.matchMedia`.
Рендерит внутренние компоненты/разметку исходя из соответствия условиям запроса.
@@ -19,23 +11,23 @@ import { Mq, useMatchMedia } from '../';
2. Этот способ работает только на клиенте, и, при использовании SSR, может усилить различие серверной и финальной разметки, и добавить сложности к тестированию.
```tsx live
-
-
- Mobile button
-
-
- Desktop button
-
-
+
+
+ Mobile кнопка
+
+
+ Desktop кнопка
+
+
```
Помимо компонента, в пакете доступен хук `useMatchMedia`:
```tsx live
- render(() => {
- const query = '(min-width: 600px)'
- const [matches] = useMatchMedia(query);
- return `Matches ${query}: ${matches}`;
- })
-```
+render(() => {
+ const query = '(min-width: 600px)';
+ const [matches] = useMatchMedia(query);
+ return `Matches ${query}: ${matches}`;
+});
+```
diff --git a/packages/notification-manager/src/docs/Component.stories.mdx b/packages/notification-manager/src/docs/Component.stories.mdx
index 940934740c..03d8d1a5a7 100644
--- a/packages/notification-manager/src/docs/Component.stories.mdx
+++ b/packages/notification-manager/src/docs/Component.stories.mdx
@@ -1,13 +1,14 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { select, text, boolean, number } from '@storybook/addon-knobs';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Button } from '@alfalab/core-components-button';
import { Notification } from '@alfalab/core-components-notification';
+
import { Tabs } from 'storybook/blocks/tabs';
-import Description from './description.mdx';
import { NotificationManager } from '../component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
+
}
- props={ }
+ description={ }
+ props={ }
/>
diff --git a/packages/notification-manager/src/docs/description.mdx b/packages/notification-manager/src/docs/description.mdx
index b2568ed149..a33c4258cc 100644
--- a/packages/notification-manager/src/docs/description.mdx
+++ b/packages/notification-manager/src/docs/description.mdx
@@ -1,12 +1,5 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { select, text, boolean, number } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Button } from '@alfalab/core-components-button';
-import { Notification } from '@alfalab/core-components-notification';
-
-import { NotificationManager } from '../component';
-
Менеджер нотификаций.
+
Рендерит массив нотификаций:
- Располагает нотификации друг под другом, новые нотификации появляются выше старых
@@ -29,40 +22,44 @@ const removeNotification = React.useCallback(id => {
```
```tsx live
- render(() => {
- const [notifications, setNotifications] = React.useState([]);
- const [count, setCount] = React.useState(0);
- const addNotification = () => {
- const newNotification = (
-
- );
- notifications.unshift(newNotification);
- setNotifications([...notifications]);
- setCount(val => val + 1);
- };
- const removeNotification = React.useCallback(id => {
- /**
- * Обратите внимание, что актуальный массив нотификаций
- * нужно брать из аргументов функции обновления состояния.
- */
- setNotifications(actualNotifications =>
- actualNotifications.filter(notification => notification.props.id !== id),
- );
- }, []);
- return (
-
- Добавить нотификацию
-
-
+render(() => {
+ const [notifications, setNotifications] = React.useState([]);
+
+ const [count, setCount] = React.useState(0);
+
+ const addNotification = () => {
+ const newNotification = (
+
);
- })
+ notifications.unshift(newNotification);
+ setNotifications([...notifications]);
+ setCount(val => val + 1);
+ };
+
+ const removeNotification = React.useCallback(id => {
+ /**
+ * Обратите внимание, что актуальный массив нотификаций
+ * нужно брать из аргументов функции обновления состояния.
+ */
+ setNotifications(actualNotifications =>
+ actualNotifications.filter(notification => notification.props.id !== id),
+ );
+ }, []);
+
+ return (
+
+ Добавить нотификацию
+
+
+ );
+});
```
diff --git a/packages/notification/src/docs/Component.stories.mdx b/packages/notification/src/docs/Component.stories.mdx
index 961c1e7506..5a982e710d 100644
--- a/packages/notification/src/docs/Component.stories.mdx
+++ b/packages/notification/src/docs/Component.stories.mdx
@@ -1,14 +1,14 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { select, text, boolean, number } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Button } from "@alfalab/core-components-button";
import { Tabs } from 'storybook/blocks/tabs';
-
-import Description from './description.mdx';
-import styles from '!!raw-loader!../index.module.css';
import { CssVars } from 'storybook/blocks/css-vars';
+
import { Notification } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
Action Button : null }
offset={number('offset', 48)}
@@ -46,7 +46,7 @@ import { Notification } from '@alfalab/core-components-notification';
```
}
- props={ }
- cssVars={ }
+ description={ }
+ props={ }
+ cssVars={ }
/>
diff --git a/packages/notification/src/docs/description.mdx b/packages/notification/src/docs/description.mdx
index 7d07aec5c2..1dd2b2565e 100644
--- a/packages/notification/src/docs/description.mdx
+++ b/packages/notification/src/docs/description.mdx
@@ -1,29 +1,27 @@
-import { Preview } from '@storybook/addon-docs/blocks';
-import { Button } from "@alfalab/core-components-button";
-import { Notification } from '../Component';
-
Компонент нотификации.
```tsx live
- render(() => {
- const [isVisible, setIsVisible] = React.useState(false);
- const toggleVisiblity = React.useCallback(() => setIsVisible(prev => !prev), []);
- const hideNotification = React.useCallback(() => setIsVisible(false), []);
- return (
-
-
- Самая обыкновенная нотификации
-
- Тогглер
-
)
- })
-```
+render(() => {
+ const [isVisible, setIsVisible] = React.useState(false);
+ const toggleVisiblity = React.useCallback(() => setIsVisible(prev => !prev), []);
+ const hideNotification = React.useCallback(() => setIsVisible(false), []);
+
+ return (
+
+
+ Самая обыкновенная нотификации
+
+ Тогглер
+
+ );
+});
+```
diff --git a/packages/password-input/src/docs/component.stories.mdx b/packages/password-input/src/docs/component.stories.mdx
index 0b71f4bbb6..c5b3d4076f 100644
--- a/packages/password-input/src/docs/component.stories.mdx
+++ b/packages/password-input/src/docs/component.stories.mdx
@@ -1,4 +1,4 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { text, select, boolean } from '@storybook/addon-knobs';
import { Tabs } from 'storybook/blocks';
@@ -7,6 +7,7 @@ import { PasswordInput } from '..';
import { name, version } from '../../package.json';
import Description from './description.mdx';
+
-
-
-```
-
-Controlled-way:
-
-```tsx live
-const ControlledPasswordInput = () => {
+render(() => {
const [passwordVisible, setPasswordVisible] = React.useState(false);
return (
@@ -26,11 +14,5 @@ const ControlledPasswordInput = () => {
}}
/>
);
-};
-
-render(
-
-
- ,
-);
+});
```
diff --git a/packages/phone-input/src/docs/Component.stories.mdx b/packages/phone-input/src/docs/Component.stories.mdx
index d5336356f4..b05dabae59 100644
--- a/packages/phone-input/src/docs/Component.stories.mdx
+++ b/packages/phone-input/src/docs/Component.stories.mdx
@@ -1,13 +1,13 @@
-import Icon from '@alfalab/icons-glyph/StarMIcon';
-import { Meta, Props, Story, Title } from '@storybook/addon-docs/blocks';
-import { text, select, boolean, number } from '@storybook/addon-knobs';
+import { Meta, Props, Story } from '@storybook/addon-docs/blocks';
+import { text, select, boolean } from '@storybook/addon-knobs';
import { action } from '@storybook/addon-actions';
+import Icon from '@alfalab/icons-glyph/StarMIcon';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
-import Description from './description.mdx';
import { PhoneInput } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
}
- props={ }
+ description={ }
+ props={ }
/>
diff --git a/packages/phone-input/src/docs/description.mdx b/packages/phone-input/src/docs/description.mdx
index 600a66f5c1..a6af340af8 100644
--- a/packages/phone-input/src/docs/description.mdx
+++ b/packages/phone-input/src/docs/description.mdx
@@ -1,9 +1,7 @@
-import { PhoneInput } from '../Component';
-
Компонент текстового поля для ввода российского номера телефона.
☝️ В приложениях Клика используйте обёртку [newclick-composite-components/phone-input](http://digital/demo/newclick-composite-components/master/?path=/docs/form-phoneinput--basic).
```tsx live
-
+
```
diff --git a/packages/picker-button/src/docs/Component.stories.mdx b/packages/picker-button/src/docs/Component.stories.mdx
index 5286e60972..b8f41f1d3d 100644
--- a/packages/picker-button/src/docs/Component.stories.mdx
+++ b/packages/picker-button/src/docs/Component.stories.mdx
@@ -1,17 +1,20 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { text, boolean, select } from '@storybook/addon-knobs';
-import { action } from '@storybook/addon-actions';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
import Icon from '@alfalab/icons-glyph/StarMIcon';
+import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
-import Description from './description.mdx';
-import { options } from './options'
-import { OptionsList } from '../../../select/src/components/options-list';
-import { Button } from '../../../button/src';
import { PickerButton } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
+
+export const options = [
+ { key: 'Заказать карту' },
+ { key: 'Выписка по счёту' },
+ { key: 'Выпустить карту' },
+ { key: 'Скопировать реквизиты' },
+];
+
: null}
+ leftAddons={boolean('Иконка слева', false) ? : null}
/>
@@ -49,6 +52,6 @@ import { PickerButton } from '@alfalab/core-components-picker-button';
```
}
- props={ }
+ description={ }
+ props={ }
/>
diff --git a/packages/picker-button/src/docs/description.mdx b/packages/picker-button/src/docs/description.mdx
index efab6e5f30..103da0dc51 100644
--- a/packages/picker-button/src/docs/description.mdx
+++ b/packages/picker-button/src/docs/description.mdx
@@ -1,126 +1,203 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { text, boolean, select } from '@storybook/addon-knobs';
-import { action } from '@storybook/addon-actions';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import Icon from '@alfalab/icons-glyph/StarMIcon';
-
-import { options } from './options'
-import { OptionsList } from '../../../select/src/components/options-list';
-import { Button } from '../../../button/src';
-import { PickerButton } from '../Component';
-import { name, version } from '../../package.json';
-
-
Компонент PickerButton. Использует селект, но с кнопкой вместо стандартного Field.
Кнопка содержит несколько команд, объединенных по смыслу. Используется для скрытия редких или одинаковых по контексту действий.
-
+```tsx live
+const options = [
+ { key: 'Заказать карту' },
+ { key: 'Выписка по счёту' },
+ { key: 'Выпустить карту' },
+ { key: 'Скопировать реквизиты' },
+];
+
+render( );
+```
## Примеры
### Кастомизированные элементы
-
-
-
- {React.createElement(() => {
- const [selected, setSelected] = React.useState(null);
- const handleChange = ({ selected }) => {
- setSelected(selected ? selected.key : null);
- };
- const CustomOptionList = (props) => (
-
-
- Выберите счёт получателя
-
-
-
- );
- const Card = ({ bankName, cardNumber }) => (
-
- {cardNumber}
- {bankName}
-
- );
- return (
- },
- { key: 'Account2', content: },
- { key: 'Account3', content: },
- { key: 'Account4', content: },
- ]}
- OptionsList={CustomOptionList}
- multiple={false}
- size='s'
- view='primary'
- allowUnselect={true}
- popoverPosition='bottom-end'
- />
- );
- })}
-
+
+```tsx live
+const options = [
+ { key: 'Заказать карту' },
+ { key: 'Выписка по счёту' },
+ { key: 'Выпустить карту' },
+ { key: 'Скопировать реквизиты' },
+];
+
+const groupedOptions = [
+ {
+ label: 'Группа №1',
+ options: [{ key: 'Заказать карту' }, { key: 'Выписка по счёту' }],
+ },
+ {
+ label: 'Группа №2',
+ options: [{ key: 'Удалить' }, { key: 'Переименовать' }],
+ },
+];
+
+const customOptionList = props => (
+
+ Header
+
+
+);
+
+render(
+
+
+
+
+
+ {React.createElement(() => {
+ const [selected, setSelected] = React.useState(null);
+ const handleChange = ({ selected }) => {
+ setSelected(selected ? selected.key : null);
+ };
+ const CustomOptionList = props => (
+
+
+ Выберите счёт получателя
+
+
+
+ );
+ const Card = ({ bankName, cardNumber }) => (
+
+ {cardNumber}
+ {bankName}
+
+ );
+ return (
+
+ ),
+ },
+ {
+ key: 'Account2',
+ content: (
+
+ ),
+ },
+ {
+ key: 'Account3',
+ content: ,
+ },
+ {
+ key: 'Account4',
+ content: (
+
+ ),
+ },
+ ]}
+ OptionsList={CustomOptionList}
+ multiple={false}
+ size='s'
+ view='primary'
+ allowUnselect={true}
+ popoverPosition='bottom-end'
+ />
+ );
+ })}
+ ,
+);
+```
### Разные размеры
-
-
+
+```tsx live
+const options = [
+ { key: 'Заказать карту' },
+ { key: 'Выписка по счёту' },
+ { key: 'Выпустить карту' },
+ { key: 'Скопировать реквизиты' },
+];
+
+render(
+
-
-
+ ,
+);
+```
### Разные типы кнопок
-
-
+
+```tsx live
+const options = [
+ { key: 'Заказать карту' },
+ { key: 'Выписка по счёту' },
+ { key: 'Выпустить карту' },
+ { key: 'Скопировать реквизиты' },
+];
+
+render(
+
-
-
+ ,
+);
+```
### Разные состояния кнопок
-
-
+
+```tsx live
+const options = [
+ { key: 'Заказать карту' },
+ { key: 'Выписка по счёту' },
+ { key: 'Выпустить карту' },
+ { key: 'Скопировать реквизиты' },
+];
+
+render(
+
-
-
+ ,
+);
+```
### Позиционирование меню
-
-
-
-
-
-export const containerStyle = { display: 'grid', gridTemplateColumns: '1fr 1fr 1fr', columnGap: '24px', alignItems: 'center', justifyItems: 'center'}
+```tsx live
+const options = [
+ { key: 'Заказать карту' },
+ { key: 'Выписка по счёту' },
+ { key: 'Выпустить карту' },
+ { key: 'Скопировать реквизиты' },
+];
-export const customOptionList = (props) => (
-
- Header
-
-
+render(
+
+
+
+
+ ,
);
-
-export const groupedOptions = [{
- label: 'Группа №1',
- options: [
- { key: '1', content: 'Neptunium' },
- { key: '2', content: 'Plutonium' },
- ]
-},
-{
- label: 'Группа №2',
- options: [
- { key: '3', content: 'Berkelium' },
- { key: '4', content: 'Californium' },
- ]
-}]
+```
diff --git a/packages/picker-button/src/docs/options.ts b/packages/picker-button/src/docs/options.ts
deleted file mode 100644
index 0353643c76..0000000000
--- a/packages/picker-button/src/docs/options.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-export const options = [
- { key: '1', content: 'Neptunium' },
- { key: '2', content: 'Plutonium' },
- { key: '3', content: 'Americium' },
- { key: '4', content: 'Curium' },
- { key: '5', content: 'Berkelium' },
- { key: '6', content: 'Californium' },
- { key: '7', content: 'Einsteinium' },
- { key: '8', content: 'Fermium' },
- { key: '9', content: 'Mendelevium' },
- { key: '10', content: 'Nobelium' },
- { key: '11', content: 'Lawrencium' },
- { key: '12', content: 'Rutherfordium' },
- { key: '13', content: 'Dubnium' },
- { key: '14', content: 'Seaborgium' },
- { key: '15', content: 'Bohrium' },
-];
diff --git a/packages/plate/src/docs/description.mdx b/packages/plate/src/docs/description.mdx
index 5f5b571a92..fe6584d9bb 100644
--- a/packages/plate/src/docs/description.mdx
+++ b/packages/plate/src/docs/description.mdx
@@ -1,60 +1,41 @@
-import { Preview } from '@storybook/addon-docs/blocks';
-import { CheckmarkOnCircleMIcon } from '@alfalab/icons-glyph';
-import { AlertCircleMIcon } from '@alfalab/icons-glyph';
-import { InformationCircleMIcon } from '@alfalab/icons-glyph';
+Компонент плашки.
-import { Container, Row } from 'storybook/blocks/grid';
+```tsx live
+// import { InformationCircleMIcon } from '@alfalab/icons-glyph/InformationCircleMIcon';
-import { Plate } from '../';
-import { Badge } from '../../../badge/src';
+
+ } />
+ }
+ >
+ Самая обыкновенная плашка
+
-Компонент плашки.
+ } />}
+ >
+ Самая обыкновенная плашка
+
-```tsx live
- <>
-
- } />
- }
- >
- Самая обыкновенная плашка
-
-
-
- } />
- }
- >
- Самая обыкновенная плашка
-
-
-
- } />
- }
- >
- Самая обыкновенная плашка
-
-
-
- } />
- }
- >
- Самая обыкновенная плашка
-
-
- >
+ } />}
+ >
+ Самая обыкновенная плашка
+
+
+ } />}
+ >
+ Самая обыкновенная плашка
+
+
```
diff --git a/packages/popover/src/docs/Component.stories.mdx b/packages/popover/src/docs/Component.stories.mdx
index db40d26179..06d78dc3d4 100644
--- a/packages/popover/src/docs/Component.stories.mdx
+++ b/packages/popover/src/docs/Component.stories.mdx
@@ -1,14 +1,15 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { text, boolean, select, number } from '@storybook/addon-knobs';
import { ComponentHeader } from 'storybook/blocks/component-header';
import { Tabs } from 'storybook/blocks/tabs';
-
-import Description from './description.mdx';
-import styles from '!!raw-loader!../index.module.css';
import { CssVars } from 'storybook/blocks/css-vars';
-import {Button} from '../../../button/src';
+
+import { Button } from '../../../button/src';
+
import { Popover } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
I am popover
- Show/Hide popover
+ {open ? 'Скрыть' : 'Показать'} Popover
);
@@ -88,7 +89,7 @@ import { Popover } from '@alfalab/core-components-popover';
```
}
- props={ }
- cssVars={ }
+ description={ }
+ props={ }
+ cssVars={ }
/>
diff --git a/packages/popover/src/docs/description.mdx b/packages/popover/src/docs/description.mdx
index 79daab0dd0..9f4c4dc873 100644
--- a/packages/popover/src/docs/description.mdx
+++ b/packages/popover/src/docs/description.mdx
@@ -1,116 +1,96 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
-import { text, boolean, select, number } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
+Компонент `Popover`. Под капотом использует `popper.js` и `react-transition-group`.
-import {Button} from '../../../button/src';
-import { Popover } from '../Component';
-import { name, version } from '../../package.json';
+```tsx live
+render(() => {
+ const [open, setOpen] = React.useState(false);
+ const [buttonElement, setButtonElement] = React.useState(null);
-Компонент `Popover`. Под капотом использует `popper.js` и `react-transition-group`.
+ const toggle = () => {
+ setOpen(!open);
+ };
-```tsx live
- render(() => {
- const POSITION_OPTIONS = [
- 'top',
- 'top-start',
- 'top-end',
- 'bottom',
- 'bottom-start',
- 'bottom-end',
- 'right',
- 'right-start',
- 'right-end',
- 'left',
- 'left-start',
- 'left-end',
- ];
- const [open, setOpen] = React.useState(false);
- const [buttonElement, setButtonElement] = React.useState(null);
- const toggle = () => {
- setOpen(!open);
- };
- const handleButtonRef = node => {
- setButtonElement(node);
- };
- const transitionTimeout = number('transition.timeout (ms)', 0);
- return (
-
-
- I am popover
-
-
- Show/Hide popover
-
-
- );
- })
+ const handleButtonRef = node => {
+ setButtonElement(node);
+ };
+
+ return (
+
+
+ I am popover
+
+
+
+ {open ? 'Скрыть' : 'Показать'} Popover
+
+
+ );
+});
```
В редких случаях, если положение поповера не пересчитывается (например, при измененнии размера элемента-якоря),
то можно воспользоваться методом `update`:
```tsx live
- render(() => {
- const [buttonElement, setButtonElement] = React.useState(null);
- const [count, setCount] = React.useState(1);
- const onClick = () => {
- setCount(count => count + 1);
- if (updatePopover.current) {
- updatePopover.current(); // Обновляем положение поповера
- }
- };
- const handleButtonRef = node => {
- setButtonElement(node);
- };
- const updatePopover = React.useRef(); // updatePopover - ref, который хранит функцию, с помощью которой можно обновить положение поповера
- const popoverChildren = React.useMemo(() => {
- return (
- I am popover
- );
- }, [])
- return (
- {
+ const [count, setCount] = React.useState(1);
+ const [buttonElement, setButtonElement] = React.useState(null);
+
+ // updatePopover - ref, который хранит функцию, с помощью которой можно обновить положение поповера
+ const updatePopover = React.useRef();
+
+ const onClick = () => {
+ setCount(count => count + 1);
+ if (updatePopover.current) {
+ // Обновляем положение поповера
+ updatePopover.current();
+ }
+ };
+
+ const handleButtonRef = node => {
+ setButtonElement(node);
+ };
+
+ const popoverChildren = React.useMemo(
+ () =>
I am popover
,
+ [],
+ );
+
+ return (
+
+
+ {popoverChildren}
+
+
+
-
- {popoverChildren}
-
-
- Press me
-
-
- );
- })
+ Нажми на меня
+
+
+ );
+});
```
diff --git a/packages/portal/src/docs/Component.stories.mdx b/packages/portal/src/docs/Component.stories.mdx
index 8fae4d694b..7b591cac48 100644
--- a/packages/portal/src/docs/Component.stories.mdx
+++ b/packages/portal/src/docs/Component.stories.mdx
@@ -1,21 +1,55 @@
-import { Meta, Props, Preview, Story } from '@storybook/addon-docs/blocks';
-import { ComponentHeader } from 'storybook/blocks/component-header';
+import { Meta, Props, Story } from '@storybook/addon-docs/blocks';
+import StarMIcon from '@alfalab/icons-glyph/StarMIcon';
+import { ComponentHeader, Tabs } from 'storybook/blocks';
+
import { Button } from '../../../button/src';
-import Icon from '@alfalab/icons-glyph/StarMIcon';
-import { Tabs } from 'storybook/blocks/tabs';
+import { Space } from '../../../space/src';
-import Description from './description.mdx';
import { Portal } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
+
+
+
+ {React.createElement(() => {
+ const [show, setShow] = React.useState(false);
+ const handleClick = () => setShow(!show);
+ const styles = {
+ display: 'flex',
+ flexDirection: 'column',
+ alignItems: 'center',
+ justifyContent: 'space-between',
+ height: 60,
+ border: '1px solid var(--color-light-border-secondary)',
+ padding: 'var(--gap-m)',
+ };
+ return (
+
+ {show ? 'Unmount children' : 'Mount children'}
+
+ {show && (
+
document.getElementById('portal-container')}>
+
+
+ )}
+
+
+
Контейнер для контента портала
+
+
+ );
+ })}
+
+
+
}
- props={ }
+ description={ }
+ props={ }
/>
diff --git a/packages/portal/src/docs/description.mdx b/packages/portal/src/docs/description.mdx
index 21836b09a5..97158f5e61 100644
--- a/packages/portal/src/docs/description.mdx
+++ b/packages/portal/src/docs/description.mdx
@@ -1,32 +1,36 @@
-import { Meta, Props, Preview, Story } from '@storybook/addon-docs/blocks';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import Icon from '@alfalab/icons-glyph/StarMIcon';
-import { Button } from '../../../button/src';
-import { Portal } from '../Component';
-import { name, version } from '../../package.json';
-
-
Порталы позволяют рендерить дочерние элементы в DOM-узел, который находится вне DOM-иерархии родительского компонента.
```tsx live
- render(() => {
- const [show, setShow] = React.useState(false);
- const handleClick = () => setShow(!show);
- const styles = { border: '1px solid lightgray', marginTop: '10px' };
- return (
+render(() => {
+ const [show, setShow] = React.useState(false);
+
+ const handleClick = () => setShow(!show);
+
+ const styles = {
+ display: 'flex',
+ flexDirection: 'column',
+ alignItems: 'center',
+ justifyContent: 'space-between',
+ height: 60,
+ border: '1px solid var(--color-light-border-secondary)',
+ padding: 'var(--gap-m)',
+ };
+
+ return (
+
+ {show ? 'Unmount children' : 'Mount children'}
-
{show ? 'Unmount children' : 'Mount children'}
-
- {show && (
-
document.getElementById('portal-container')}>
-
-
- )}
-
-
-
Контейнер для контента портала
-
+ {show && (
+
document.getElementById('portal-container')}>
+
+
+ )}
+
+
+
+
Контейнер для контента портала
- );
- })
+
+ );
+});
```
diff --git a/packages/progress-bar/src/docs/Component.stories.mdx b/packages/progress-bar/src/docs/Component.stories.mdx
index d0c4f1dbfc..ffff8ec0fb 100644
--- a/packages/progress-bar/src/docs/Component.stories.mdx
+++ b/packages/progress-bar/src/docs/Component.stories.mdx
@@ -1,15 +1,12 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
-import { text, select, number } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import { Tabs } from 'storybook/blocks/tabs';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
+import { select, number } from '@storybook/addon-knobs';
+import { ComponentHeader, Tabs, CssVars } from 'storybook/blocks';
+import { ProgressBar } from '../Component';
+import { name, version } from '../../package.json';
import Description from './description.mdx';
import styles from '!!raw-loader!../index.module.css';
-import { CssVars } from 'storybook/blocks/css-vars';
-import { name, version } from '../../package.json';
-import { ProgressBar } from '../Component';
}
- props={ }
- cssVars={ }
+ description={ }
+ props={ }
+ cssVars={ }
/>
diff --git a/packages/progress-bar/src/docs/description.mdx b/packages/progress-bar/src/docs/description.mdx
index 72858b8b8e..7f5f1e6675 100644
--- a/packages/progress-bar/src/docs/description.mdx
+++ b/packages/progress-bar/src/docs/description.mdx
@@ -1,11 +1,3 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
-import { text, select, number } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import { name, version } from '../../package.json';
-import { ProgressBar } from '../Component';
-
-
Отображает линейный индикатор прогресса (0-100%).
```tsx live
diff --git a/packages/pure-input/src/docs/Component.stories.mdx b/packages/pure-input/src/docs/Component.stories.mdx
index 5bc1b7ba69..8a37216329 100644
--- a/packages/pure-input/src/docs/Component.stories.mdx
+++ b/packages/pure-input/src/docs/Component.stories.mdx
@@ -1,11 +1,10 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { text, select, boolean } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Tabs } from 'storybook/blocks/tabs';
+import { ComponentHeader, Tabs } from 'storybook/blocks';
-import Description from './description.mdx';
import { PureInput } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
}
- props={ }
+ description={ }
+ props={ }
/>
diff --git a/packages/pure-input/src/docs/description.mdx b/packages/pure-input/src/docs/description.mdx
index 527166f934..06faeeec5a 100644
--- a/packages/pure-input/src/docs/description.mdx
+++ b/packages/pure-input/src/docs/description.mdx
@@ -1,10 +1,3 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
-import { text, select, boolean } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import { PureInput } from '../Component';
-import { name, version } from '../../package.json';
-
Компонент, представляющий из себя стилизованный нативный `input`.
```tsx live
diff --git a/packages/radio-group/src/docs/Component.stories.mdx b/packages/radio-group/src/docs/Component.stories.mdx
index 05ccaabc6e..16a4ae8ba1 100644
--- a/packages/radio-group/src/docs/Component.stories.mdx
+++ b/packages/radio-group/src/docs/Component.stories.mdx
@@ -1,16 +1,15 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { text, boolean, select } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Tabs } from 'storybook/blocks/tabs';
-import { CssVars } from 'storybook/blocks/css-vars';
+import { ComponentHeader, Tabs, CssVars } from 'storybook/blocks';
-import Description from './description.mdx';
-import styles from '!!raw-loader!../index.module.css';
-import { RadioGroup } from '../Component';
-import { name, version } from '../../package.json';
import { Radio } from '../../../radio/src';
import { Tag } from '../../../tag/src';
+import { RadioGroup } from '../Component';
+import { name, version } from '../../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+
}
- props={ }
- cssVars={ }
+ description={ }
+ props={ }
+ cssVars={ }
/>
diff --git a/packages/radio-group/src/docs/description.mdx b/packages/radio-group/src/docs/description.mdx
index 97aad63726..2aa8f135a2 100644
--- a/packages/radio-group/src/docs/description.mdx
+++ b/packages/radio-group/src/docs/description.mdx
@@ -1,70 +1,50 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
-import { text, boolean, select } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import { RadioGroup } from '../Component';
-import { name, version } from '../../package.json';
-import { Radio } from '../../../radio/src';
-import { Tag } from '../../../tag/src';
-
-
-
Компонент группы радио.
```tsx live
- render(() => {
- const [value, setValue] = React.useState({ one: false, two: false, three: false });
- const onChange = (_, payload) => {
- setValue({ ...value, [payload.name]: payload.checked });
- };
- const direction = select('direction', ['vertical', 'horizontal'], 'vertical');
- const error = text('error', '');
- const disabled = boolean('disabled', false);
- const label = text('label', 'Заголовок группы');
- return (
-
-
-
-
-
- );
- })
+render(() => {
+ const [value, setValue] = React.useState({ one: false, two: false, three: false });
+
+ const onChange = (_, payload) => {
+ setValue({ ...value, [payload.name]: payload.checked });
+ };
+
+ return (
+
+
+
+
+
+ );
+});
```
-
### Группа радио, использующая компонент `Tag`
```tsx live
- render(() => {
- const [value, setValue] = React.useState({ one: false, two: false, three: false });
- const onChange = (_, payload) => {
- setValue({ ...value, [payload.name]: payload.checked });
- };
- return (
-
-
- Первый вариант
-
-
- Второй вариант
-
-
- Третий вариант
-
-
- );
- })
+render(() => {
+ const [value, setValue] = React.useState({ one: false, two: false, three: false });
+
+ const onChange = (_, payload) => {
+ setValue({ ...value, [payload.name]: payload.checked });
+ };
+
+ return (
+
+ Первый вариант
+ Второй вариант
+ Третий вариант
+
+ );
+});
```
diff --git a/packages/radio/src/docs/Component.stories.mdx b/packages/radio/src/docs/Component.stories.mdx
index 06daf180e1..00e0dd3df4 100644
--- a/packages/radio/src/docs/Component.stories.mdx
+++ b/packages/radio/src/docs/Component.stories.mdx
@@ -1,13 +1,12 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { text, boolean, select } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Tabs } from 'storybook/blocks/tabs';
+import { ComponentHeader, Tabs, CssVars } from 'storybook/blocks';
-import Description from './description.mdx';
-import styles from '!!raw-loader!../index.module.css';
-import { CssVars } from 'storybook/blocks/css-vars';
import { Radio } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+
}
- props={ }
- cssVars={ }
+ description={ }
+ props={ }
+ cssVars={ }
/>
diff --git a/packages/radio/src/docs/description.mdx b/packages/radio/src/docs/description.mdx
index 6d7a5419f1..a7acae7936 100644
--- a/packages/radio/src/docs/description.mdx
+++ b/packages/radio/src/docs/description.mdx
@@ -1,27 +1,18 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
-import { text, boolean, select } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import { Radio } from '../Component';
-import { name, version } from '../../package.json';
-
### Компонент Radio
```tsx live
- render(() => {
- const [checked, setChecked] = React.useState(false);
- const handleChange = () => setChecked(!checked);
- const disabled = boolean('disabled', false);
- const label = text('label', 'Text label')
- const hint = text('hint', 'Hint');
- return (
-
- );
- })
+render(() => {
+ const [checked, setChecked] = React.useState(false);
+
+ const handleChange = () => setChecked(!checked);
+
+ return (
+
+ );
+});
```
diff --git a/packages/select-with-tags/src/docs/Component.stories.mdx b/packages/select-with-tags/src/docs/Component.stories.mdx
index c8ce12a06b..045003ec2d 100644
--- a/packages/select-with-tags/src/docs/Component.stories.mdx
+++ b/packages/select-with-tags/src/docs/Component.stories.mdx
@@ -1,18 +1,33 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { text, select, boolean } from '@storybook/addon-knobs';
import { action } from '@storybook/addon-actions';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Tabs } from 'storybook/blocks/tabs';
-
+import { pluralize } from '@alfalab/utils';
import { Tag } from '@alfalab/core-components-tag';
import { Input } from '@alfalab/core-components-input';
import { MaskedInput } from '@alfalab/core-components-masked-input';
import { Arrow, Option } from '@alfalab/core-components-select';
+import { ComponentHeader, Tabs } from 'storybook/blocks';
import { SelectWithTags } from '../component';
import Description from './description.mdx';
-import { options } from './constants';
+
+export const options = [
+ { key: '1', content: 'H', value: 'H' },
+ { key: '2', content: 'Li', value: 'Li' },
+ { key: '3', content: 'Na', value: 'Na' },
+ { key: '4', content: 'Curium', value: 'Curium' },
+ { key: '5', content: 'Berkelium', value: 'Berkelium' },
+ { key: '6', content: 'Californium', value: 'Californium' },
+ { key: '7', content: 'Einsteinium', value: 'Einsteinium' },
+ { key: '8', content: 'Fermium', value: 'Fermium' },
+ { key: '9', content: 'Mendelevium', value: 'Mendelevium' },
+ { key: '10', content: 'Nobelium', value: 'Nobelium' },
+ { key: '11', content: 'Lawrencium', value: 'Lawrencium' },
+ { key: '12', content: 'Rutherfordium', value: 'Rutherfordium' },
+ { key: '13', content: 'Dubnium', value: 'Dubnium' },
+ { key: '14', content: 'Seaborgium', value: 'Seaborgium' },
+ { key: '15', content: 'Bohrium', value: 'Bohrium' },
+];
{
setSelected(selectedMultiple);
}, []);
- const transformCollapsedTagText = (collapsedCount) => {
- return `+${collapsedCount} element`;
+ const transformCollapsedTagText = (count) => {
+ return `+${count} ${pluralize(count, 'элемент', 'элемента', 'элементов')}`;
};
return (
@@ -79,6 +94,6 @@ import { SelectWithTags } from '@alfalab/core-components-select-with-tags';
```
}
- props={
}
+ description={
}
+ props={
}
/>
diff --git a/packages/select-with-tags/src/docs/constants.ts b/packages/select-with-tags/src/docs/constants.ts
deleted file mode 100644
index 7999656219..0000000000
--- a/packages/select-with-tags/src/docs/constants.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-export const options = [
- { key: '1', content: 'H', value: 'H' },
- { key: '2', content: 'Li', value: 'Li' },
- { key: '3', content: 'Na', value: 'Na' },
- { key: '4', content: 'Curium', value: 'Curium' },
- { key: '5', content: 'Berkelium', value: 'Berkelium' },
- { key: '6', content: 'Californium', value: 'Californium' },
- { key: '7', content: 'Einsteinium', value: 'Einsteinium' },
- { key: '8', content: 'Fermium', value: 'Fermium' },
- { key: '9', content: 'Mendelevium', value: 'Mendelevium' },
- { key: '10', content: 'Nobelium', value: 'Nobelium' },
- { key: '11', content: 'Lawrencium', value: 'Lawrencium' },
- { key: '12', content: 'Rutherfordium', value: 'Rutherfordium' },
- { key: '13', content: 'Dubnium', value: 'Dubnium' },
- { key: '14', content: 'Seaborgium', value: 'Seaborgium' },
- { key: '15', content: 'Bohrium', value: 'Bohrium' },
-];
diff --git a/packages/select-with-tags/src/docs/description.mdx b/packages/select-with-tags/src/docs/description.mdx
index 9989d27554..189babe350 100644
--- a/packages/select-with-tags/src/docs/description.mdx
+++ b/packages/select-with-tags/src/docs/description.mdx
@@ -1,37 +1,34 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { text, select, boolean } from '@storybook/addon-knobs';
-import { action } from '@storybook/addon-actions';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import { Tag } from '@alfalab/core-components-tag';
-import { Input } from '@alfalab/core-components-input';
-import { MaskedInput } from '@alfalab/core-components-masked-input';
-import { Arrow, Option } from '@alfalab/core-components-select';
+Размеры `s` и `m` пока лучше не использовать, так как еще нет актуальных макетов.
-import { SelectWithTags } from '../component';
-import { options } from './constants';
+```tsx live
+const options = [
+ { key: '1', content: 'H', value: 'H' },
+ { key: '2', content: 'Li', value: 'Li' },
+ { key: '3', content: 'Na', value: 'Na' },
+ { key: '4', content: 'Curium', value: 'Curium' },
+ { key: '5', content: 'Berkelium', value: 'Berkelium' },
+ { key: '6', content: 'Californium', value: 'Californium' },
+ { key: '7', content: 'Einsteinium', value: 'Einsteinium' },
+ { key: '8', content: 'Fermium', value: 'Fermium' },
+];
+render(() => {
+ const [value, setValue] = React.useState('');
-Размеры `s` и `m` пока лучше не использовать, так как еще нет актуальных макетов.
+ const handleInput = event => {
+ setValue(event.target.value);
+ };
-```tsx live
- render(() => {
- const [value, setValue] = React.useState('');
- const handleInput = event => {
- setValue(event.target.value);
- };
- return (
-
-
-
- );
- })
+ return (
+
+
+
+ );
+});
```
-
diff --git a/packages/select/src/docs/Component.stories.mdx b/packages/select/src/docs/Component.stories.mdx
index 33e042f8e7..1fabd037aa 100644
--- a/packages/select/src/docs/Component.stories.mdx
+++ b/packages/select/src/docs/Component.stories.mdx
@@ -1,26 +1,42 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { text, boolean, number, select as selectKnob } from '@storybook/addon-knobs';
import { action } from '@storybook/addon-actions';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Tabs } from 'storybook/blocks/tabs';
+import Icon from '@alfalab/icons-classic/BankAlfaSBlackIcon';
+
+import { ComponentHeader, Tabs, CssVars } from 'storybook/blocks';
-import Description from './description.mdx';
-import vars from '!!raw-loader!../vars.css';
-import { CssVars } from 'storybook/blocks/css-vars';
import { Select } from '../Component';
-import { Field } from '../components/field';
-import { Arrow } from '../components/arrow';
-import { OptionsList } from '../components/options-list';
-import { VirtualOptionsList } from '../components/virtual-options-list';
-import { Optgroup } from '../components/optgroup';
-import { Option } from '../components/option';
-import { Button } from '../../../button/src';
-import { joinOptions } from '../utils';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
+import { Arrow } from '../components/arrow';
+import vars from '!!raw-loader!../vars.css';
+
+export const options = [
+ { key: '1', content: 'Neptunium' },
+ { key: '2', content: 'Plutonium' },
+ { key: '3', content: 'Americium' },
+ { key: '4', content: 'Curium' },
+ { key: '5', content: 'Berkelium' },
+ { key: '6', content: 'Californium' },
+ { key: '7', content: 'Einsteinium' },
+ { key: '8', content: 'Fermium' },
+];
+
+export const POSITION_OPTIONS = [
+ 'top',
+ 'top-start',
+ 'top-end',
+ 'bottom',
+ 'bottom-start',
+ 'bottom-end',
+ 'right',
+ 'right-start',
+ 'right-end',
+ 'left',
+ 'left-start',
+ 'left-end',
+];
-import Icon from '@alfalab/icons-classic/BankAlfaSBlackIcon';
-import { options, POSITION_OPTIONS } from './constants'
}
- props={
}
- cssVars={
}
+ description={
}
+ props={
}
+ cssVars={
}
/>
diff --git a/packages/select/src/docs/constants.ts b/packages/select/src/docs/constants.ts
deleted file mode 100644
index f9b9ec96aa..0000000000
--- a/packages/select/src/docs/constants.ts
+++ /dev/null
@@ -1,66 +0,0 @@
-export const options = [
- { key: '1', content: 'Neptunium' },
- { key: '2', content: 'Plutonium' },
- { key: '3', content: 'Americium' },
- { key: '4', content: 'Curium' },
- { key: '5', content: 'Berkelium' },
- { key: '6', content: 'Californium' },
- { key: '7', content: 'Einsteinium' },
- { key: '8', content: 'Fermium' },
- { key: '9', content: 'Mendelevium' },
- { key: '10', content: 'Nobelium' },
- { key: '11', content: 'Lawrencium' },
- { key: '12', content: 'Rutherfordium' },
- { key: '13', content: 'Dubnium' },
- { key: '14', content: 'Seaborgium' },
- { key: '15', content: 'Bohrium' },
- { key: '16', content: 'Очень длинный текст Очень длинный текст Очень длинный текст' },
-];
-
-export const groups = [
- {
- label: 'Группа №1',
- options: [
- { key: '1', content: 'Neptunium' },
- { key: '2', content: 'Plutonium' },
- { key: '3', content: 'Americium' },
- { key: '4', content: 'Curium' },
- ],
- },
- {
- label: 'Группа №2',
- options: [
- { key: '5', content: 'Berkelium' },
- { key: '6', content: 'Californium' },
- { key: '7', content: 'Einsteinium' },
- { key: '8', content: 'Fermium' },
- { key: '9', content: 'Mendelevium' },
- { key: '10', content: 'Nobelium' },
- ],
- },
- {
- label: 'Группа №3',
- options: [
- { key: '11', content: 'Lawrencium' },
- { key: '12', content: 'Rutherfordium' },
- { key: '13', content: 'Dubnium' },
- { key: '14', content: 'Seaborgium' },
- { key: '15', content: 'Bohrium' },
- ],
- },
-];
-
-export const POSITION_OPTIONS = [
- 'top',
- 'top-start',
- 'top-end',
- 'bottom',
- 'bottom-start',
- 'bottom-end',
- 'right',
- 'right-start',
- 'right-end',
- 'left',
- 'left-start',
- 'left-end',
-];
diff --git a/packages/select/src/docs/description.mdx b/packages/select/src/docs/description.mdx
index 4f44e6b55c..9b3755c4a3 100644
--- a/packages/select/src/docs/description.mdx
+++ b/packages/select/src/docs/description.mdx
@@ -1,41 +1,19 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { text, boolean, number, select as selectKnob } from '@storybook/addon-knobs';
-import { action } from '@storybook/addon-actions';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import { Select } from '../Component';
-import { Field } from '../components/field';
-import { Arrow } from '../components/arrow';
-import { OptionsList } from '../components/options-list';
-import { VirtualOptionsList } from '../components/virtual-options-list';
-import { Optgroup } from '../components/optgroup';
-import { Option } from '../components/option';
-import { Button } from '../../../button/src';
-import { joinOptions } from '../utils';
-import { name, version } from '../../package.json';
-
-import Icon from '@alfalab/icons-classic/BankAlfaSBlackIcon';
-import { options, groups, POSITION_OPTIONS } from './constants';
-
-export const optionsWithHtml = options.map(option => {
- return {
- ...option,
- content: (
{option.content} ),
- };
-});
-
-export const renderUppercased = (options) => {
- return options.map(option => option.content.toUpperCase()).join(', ');
-};
-
-
Компонент выпадающего списка.
-
+```tsx live
+const options = [
+ { key: '1', content: 'Neptunium' },
+ { key: '2', content: 'Plutonium' },
+ { key: '3', content: 'Americium' },
+ { key: '4', content: 'Curium' },
+ { key: '5', content: 'Berkelium' },
+ { key: '6', content: 'Californium' },
+ { key: '7', content: 'Einsteinium' },
+ { key: '8', content: 'Fermium' },
+];
-
-
+render(
);
+```
## Использование
@@ -51,240 +29,306 @@ export const renderUppercased = (options) => {
По умолчанию - селект `multiple=false` закрывается после выбора, а при `multiple=true` - остается открытым.
Изменить это поведение можно с помощью `closeOnSelect`.
-
+```tsx live
+const options = [
+ { key: '1', content: 'Neptunium' },
+ { key: '2', content: 'Plutonium' },
+ { key: '3', content: 'Americium' },
+ { key: '4', content: 'Curium' },
+ { key: '5', content: 'Berkelium' },
+ { key: '6', content: 'Californium' },
+ { key: '7', content: 'Einsteinium' },
+ { key: '8', content: 'Fermium' },
+];
+
+render(
-
+ />,
+);
+```
### Controlled-way
Компонент может быть использован как controlled с помощью `onChange` и `selected`:
-
- {React.createElement(() => {
- const [selected, setSelected] = React.useState([options[8].key, options[9].key]);
- const handleChange = ({ selectedMultiple }) => {
- setSelected(selectedMultiple.map(option => option.key));
- };
- return (
-
- );
- })}
-
+```tsx live
+const options = [
+ { key: '1', content: 'Neptunium' },
+ { key: '2', content: 'Plutonium' },
+ { key: '3', content: 'Americium' },
+ { key: '4', content: 'Curium' },
+ { key: '5', content: 'Berkelium' },
+ { key: '6', content: 'Californium' },
+ { key: '7', content: 'Einsteinium' },
+ { key: '8', content: 'Fermium' },
+];
+
+render(() => {
+ const [selected, setSelected] = React.useState([options[2].key, options[3].key]);
+
+ const handleChange = ({ selectedMultiple }) => {
+ setSelected(selectedMultiple.map(option => option.key));
+ };
+
+ return (
+
+ );
+});
+```
#### OptionShape вместо ключей для выбранных пунктов
Иногда может быть удобнее использовать в качестве выбранных значений не ключи, а сами объекты.
В этом случае просто передавайте их через свойство `selected`.
-
- {React.createElement(() => {
- const [selected, setSelected] = React.useState([options[8], options[9]]);
- const handleChange = ({ selectedMultiple }) => {
- setSelected(selectedMultiple);
- };
- return (
-
- );
- })}
-
+```tsx live
+const options = [
+ { key: '1', content: 'Neptunium' },
+ { key: '2', content: 'Plutonium' },
+ { key: '3', content: 'Americium' },
+ { key: '4', content: 'Curium' },
+ { key: '5', content: 'Berkelium' },
+ { key: '6', content: 'Californium' },
+ { key: '7', content: 'Einsteinium' },
+ { key: '8', content: 'Fermium' },
+];
+
+render(() => {
+ const [selected, setSelected] = React.useState([options[2], options[3]]);
+
+ const handleChange = ({ selectedMultiple }) => {
+ setSelected(selectedMultiple);
+ };
+
+ return (
+
+ );
+});
+```
### Использование в форме
Чтобы использовать селект внутри формы - следует указать атрибут `name`
-
- {React.createElement(() => {
- const options = [
- { key: '1', content: 'Neptunium' },
- { key: '2', content: 'Plutonium' },
- { key: '3', content: 'Americium' },
- ];
- const [serialized, setSerialized] = React.useState();
- const onSubmit = (event) => {
- event.preventDefault();
- const form = event.target;
- const formData = new FormData(form);
- setSerialized(new URLSearchParams(formData).toString());
- };
- const [selected, setSelected] = React.useState([]);
- const handleChange = ({ selectedMultiple }) => {
- setSelected(selectedMultiple.map(option => option.key));
- };
- return (
-
-
-
serialized: {serialized}
-
- );
- })}
-
+```tsx live
+const options = [
+ { key: '1', content: 'Neptunium' },
+ { key: '2', content: 'Plutonium' },
+ { key: '3', content: 'Americium' },
+];
-## Настройка рендера
+render(() => {
+ const [serialized, setSerialized] = React.useState();
+ const [selected, setSelected] = React.useState([]);
-Помимо текста, компонент позволяет использовать html в качестве поля `content` у вариантов выбора
+ const onSubmit = event => {
+ event.preventDefault();
+
+ const form = event.target;
+ const formData = new FormData(form);
-
-
- {React.createElement(() => {
- const [selected, setSelected] = React.useState(null);
- const handleChange = ({ selected }) => {
- setSelected(selected ? selected.key : null);
- };
- const Card = ({ name, balance }) => (
-
-
-
- {name}
- {balance}
-
-
- );
- return (
+ setSerialized(new URLSearchParams(formData).toString());
+ };
+
+ const handleChange = ({ selectedMultiple }) => {
+ setSelected(selectedMultiple.map(option => option.key));
+ };
+
+ return (
+
+ );
+});
+```
+
+## Настройка рендера
+
+Помимо текста, компонент позволяет использовать html в качестве поля `content` у вариантов выбора
+
+```tsx live
+const Card = ({ name, balance }) => (
+
+
+
+ {name}
+ {balance}
+
-
+);
-Стандартный компонент **Field** позволяет управлять рендером выбранных пунктов с помощью `valueRenderer`
+const options = [
+ { key: 'Account1', content:
},
+ { key: 'Account2', content:
},
+ { key: 'Account3', content:
},
+ { key: 'Account4', content:
},
+];
+
+render(() => {
+ const [selected, setSelected] = React.useState(null);
-
- {React.createElement(() => {
- const OptionWithIcon = ({ content }) => (
-
-
- {content.toUpperCase()}
-
- );
- const valueRenderer = ({ selected }) => selected ? : null;
- return (
+ const handleChange = ({ selected }) => {
+ setSelected(selected ? selected.key : null);
+ };
+
+ return (
+
- );
- })}
-
+
+ );
+});
+```
+
+Стандартный компонент **Field** позволяет управлять рендером выбранных пунктов с помощью `valueRenderer`
+
+```tsx live
+const OptionWithIcon = ({ content }) => (
+
+
+ {content.toUpperCase()}
+
+);
+
+const options = [
+ { key: '1', content: 'Neptunium' },
+ { key: '2', content: 'Plutonium' },
+ { key: '3', content: 'Americium' },
+];
+
+const valueRenderer = ({ selected }) => (selected ? : null);
+
+render( );
+```
Селект позволяет заменять или кастомизировать компоненты **Field**, **Option**, **OptionsList**, **Optgroup**, **Arrow**
-
- {React.createElement(() => {
- const BoldOption = (props) => (
- {props.option.content}
- );
- return (
-
- );
- })}
-
+```tsx live
+const BoldOption = props => (
+
+ {props.option.content}
+
+);
-
- } />}
- />
-
+const options = [
+ { key: '1', content: 'Neptunium' },
+ { key: '2', content: 'Plutonium' },
+ { key: '3', content: 'Americium' },
+];
+
+render( );
+```
+
+```tsx live
+const CustomField = props => } />;
+
+const options = [
+ { key: '1', content: 'Neptunium' },
+ { key: '2', content: 'Plutonium' },
+ { key: '3', content: 'Americium' },
+];
+
+render( );
+```
+
+```tsx live
+const CustomField = ({ selected, innerProps, ...restProps }) => (
+
+ {selected ? selected.content : 'Pick'}
+
+);
+
+const options = [
+ { key: '1', content: 'Neptunium' },
+ { key: '2', content: 'Plutonium' },
+ { key: '3', content: 'Americium' },
+];
-
+render(
(
-
- {selected ? selected.content : 'Pick'}
-
- )}
- />
-
+ options={options}
+ Field={CustomField}
+ />,
+);
+```
## Управление размером пунктов меню
По умолчанию размер пунктов меню совпадает с размером селекта, но с помощью свойства `optionsSize` можно задать размер отдельно.
-
- {React.createElement(() => {
- return (
-
- );
- })}
-
+```tsx live
+const options = [
+ { key: '1', content: 'Neptunium' },
+ { key: '2', content: 'Plutonium' },
+ { key: '3', content: 'Americium' },
+];
+render( );
+```
## Селект с заголовком меню
-
- {React.createElement(() => {
- const renderList = (props) => (
-
- Header
-
-
- );
- return (
-
- );
- })}
-
+```tsx live
+const options = [
+ { key: '1', content: 'Neptunium' },
+ { key: '2', content: 'Plutonium' },
+ { key: '3', content: 'Americium' },
+];
+
+const CustomOptionsList = props => (
+
+ Заголовок меню
+
+
+);
+
+render( );
+```
## Ширина выпадающего меню
@@ -293,130 +337,138 @@ export const renderUppercased = (options) => {
Это можно сделать с помощью свойства `optionsListWidth='field'` — в этом случае ширина выпадающего меню будет равна ширине поля, а лишний контент обрежется.
-
- {React.createElement(() => {
- const LongContent = ({ text }) => (
-
- {text}
-
- );
- const longOptions = [
- { key: '1', content: },
- { key: '2', content: },
- { key: '3', content: },
- { key: '4', content: },
- ];
- return (
-
-
-
- );
- })}
-
-
-## Группы
-
-Группированный селект
-
-```jsx
-const groups = [{
- label: 'Группа №1',
- options: [
- { key: '1', content: 'Neptunium' },
- { key: '2', content: 'Plutonium' },
- ]
-},
-{
- label: 'Группа №2',
- options: [
- { key: '3', content: 'Berkelium' },
- { key: '4', content: 'Californium' },
- ]
-}]
+```tsx live
+const LongContent = ({ text }) => (
+
+ {text}
+
+);
+
+const longOptions = [
+ { key: '1', content: },
+ { key: '2', content: },
+ { key: '3', content: },
+ { key: '4', content: },
+];
+
+render(
+
+
+
,
+);
```
-
-
-
+## Группированный селект
+
+```tsx live
+const groups = [
+ {
+ label: 'Группа №1',
+ options: [
+ { key: '1', content: 'Neptunium' },
+ { key: '2', content: 'Plutonium' },
+ ],
+ },
+ {
+ label: 'Группа №2',
+ options: [
+ { key: '3', content: 'Berkelium' },
+ { key: '4', content: 'Californium' },
+ ],
+ },
+];
+
+render( );
+```
## Нативный селект
Рендерит нативный селект вместо выпадающего меню. (стоит использовать только для мобильных устройств)
-
-
-
+```tsx live
+const groups = [
+ {
+ label: 'Группа №1',
+ options: [
+ { key: '1', content: 'Neptunium' },
+ { key: '2', content: 'Plutonium' },
+ ],
+ },
+ {
+ label: 'Группа №2',
+ options: [
+ { key: '3', content: 'Berkelium' },
+ { key: '4', content: 'Californium' },
+ ],
+ },
+];
+
+render( );
+```
## Рендер длинных списков
Используйте `OptionsList={VirtualOptionsList}` для рендера большого количества данных
-
- {React.createElement(() => {
- const options = new Array(10000).fill().map((_, index) => {
- const variableSizeText = `Вы восхитительны! `.repeat(
- Math.round(Math.random() * 10),
- );
- return {
- key: index,
- content: `${index}. ${variableSizeText}`,
- };
- });
- return (
-
-
-
- );
- })}
-
-
-
- {React.createElement(() => {
- return (
-
- );
- })}
-
+```tsx live
+const options = new Array(10000).fill().map((_, index) => {
+ const variableSizeText = `Вы восхитительны! `.repeat(Math.round(Math.random() * 10));
+ return {
+ key: index,
+ content: `${index}. ${variableSizeText}`,
+ };
+});
-## Открытие вверх, если места недостаточно
+render(
+
+
+
,
+);
+```
-
+```tsx live
+const groups = new Array(100).fill().reduce((acc, _, groupIndex) => {
+ return acc.concat({
+ label: `Группа №${groupIndex + 1}`,
+ options: new Array(5).fill().map((_, index) => ({
+ key: index,
+ content: `Пункт ${groupIndex + 1}.${index + 1}`,
+ })),
+ });
+}, []);
+
+render(
-
+ OptionsList={VirtualOptionsList}
+ />,
+);
+```
+## Открытие вверх, если места недостаточно
+
+```tsx live
+const options = [
+ { key: '1', content: 'Neptunium' },
+ { key: '2', content: 'Plutonium' },
+ { key: '3', content: 'Americium' },
+];
+
+render( );
+```
## Пресеты
@@ -433,7 +485,7 @@ const options = [
{ key: '7', content: 'Einsteinium' },
];
-function Example() {
+render(() => {
const [loading, setLoading] = React.useState(true);
const loadingProps = useSelectWithLoading({
@@ -447,18 +499,16 @@ function Example() {
};
return (
-
+
+
+
);
-}
-
-render(
-
-)
+});
```
diff --git a/packages/skeleton/src/docs/Component.stories.mdx b/packages/skeleton/src/docs/Component.stories.mdx
index df9071f599..c90b4cc3e1 100644
--- a/packages/skeleton/src/docs/Component.stories.mdx
+++ b/packages/skeleton/src/docs/Component.stories.mdx
@@ -1,15 +1,12 @@
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { text, boolean } from '@storybook/addon-knobs';
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Tabs } from 'storybook/blocks/tabs';
+import { ComponentHeader, Tabs, CssVars } from 'storybook/blocks';
+import { Skeleton } from '../';
+import { name, version } from '../../package.json';
import Description from './description.mdx';
import styles from '!!raw-loader!../index.module.css';
-import { CssVars } from 'storybook/blocks/css-vars';
-import { Skeleton } from '..';
-import { name, version } from '../../package.json';
-import { Typography } from '../../../typography/src';
+
- {React.createElement(() => {
- return (
-
-
-
- );
- })}
+
+
+
+
+
@@ -56,7 +54,7 @@ import { Skeleton } from '@alfalab/core-components-skeleton';
```
}
- props={ }
- cssVars={ }
+ description={ }
+ props={ }
+ cssVars={ }
/>
diff --git a/packages/skeleton/src/docs/description.mdx b/packages/skeleton/src/docs/description.mdx
index a037d08a75..71c3ee1fde 100644
--- a/packages/skeleton/src/docs/description.mdx
+++ b/packages/skeleton/src/docs/description.mdx
@@ -1,56 +1,88 @@
-import { text, boolean } from '@storybook/addon-knobs';
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import { Skeleton } from '..';
-import { name, version } from '../../package.json';
-import { Typography } from '../../../typography/src';
-import styles from '../stories.module.css';
-
Компонент скелетной загрузки.
-
-## Использование
-
-С контентом:
-
```tsx live
-
-
- Заголовок
-
-
+
+
+ Заголовок
+
+
+ Какой-то текст
+
+
+
Какой-то текст
-
-
- Какой-то текст
-
-
+
+
+
```
+
diff --git a/packages/skeleton/src/stories.module.css b/packages/skeleton/src/stories.module.css
deleted file mode 100644
index 67166db914..0000000000
--- a/packages/skeleton/src/stories.module.css
+++ /dev/null
@@ -1,57 +0,0 @@
-.example-1 {
- margin-top: var(--gap-m);
-}
-
-.example-1:first-child {
- margin-top: 0;
-}
-
-.wrapper {
- height: 92px;
- width: 440px;
-}
-
-.example-2 {
- position: absolute;
- width: 48px;
- height: 48px;
- left: 0;
- top: 0;
-}
-
-.example-3 {
- position: absolute;
- width: 200px;
- height: 24px;
- left: 72px;
- top: 0;
-}
-
-.example-4 {
- position: absolute;
- width: 124px;
- height: 16px;
- left: 72px;
- top: 44px;
-}
-
-.example-5 {
- position: absolute;
- width: 228px;
- height: 16px;
- left: 212px;
- top: 44px;
-}
-
-.example-6 {
- position: absolute;
- width: 260px;
- height: 16px;
- left: 72px;
- top: 76px;
-}
-
-.example-7 {
- width: 150px;
- height: 150px;
-}
diff --git a/packages/slider-input/src/docs/Component.stories.mdx b/packages/slider-input/src/docs/Component.stories.mdx
index 1dfc2efd92..c89790e29d 100644
--- a/packages/slider-input/src/docs/Component.stories.mdx
+++ b/packages/slider-input/src/docs/Component.stories.mdx
@@ -1,19 +1,15 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { action } from '@storybook/addon-actions';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { text, select, boolean, number } from '@storybook/addon-knobs';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import Icon from '@alfalab/icons-glyph/StarMIcon';
-import { Tabs } from 'storybook/blocks/tabs';
+import { ComponentHeader, Tabs, CssVars } from 'storybook/blocks';
-import Description from './description.mdx';
-import styles from '!!raw-loader!../index.module.css';
-import { CssVars } from 'storybook/blocks/css-vars';
-import { SliderInput } from '../Component';
import { AmountInput } from '../../../amount-input/src';
import { Input } from '../../../input/src';
import { withSuffix } from '../../../with-suffix/src';
+
+import { SliderInput } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
}
- leftAddons={boolean('leftAddons', false) && }
readOnly={boolean('readOnly', false)}
/>
);
@@ -69,7 +63,7 @@ import { SliderInput } from '@alfalab/core-components-slider-input';
```
}
- props={ }
- cssVars={ }
+ description={ }
+ props={ }
+ cssVars={ }
/>
diff --git a/packages/slider-input/src/docs/description.mdx b/packages/slider-input/src/docs/description.mdx
index 1ffaf2bbca..c3d906c61e 100644
--- a/packages/slider-input/src/docs/description.mdx
+++ b/packages/slider-input/src/docs/description.mdx
@@ -1,30 +1,19 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { action } from '@storybook/addon-actions';
-import { text, select, boolean, number } from '@storybook/addon-knobs';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import Icon from '@alfalab/icons-glyph/StarMIcon';
-
-import { SliderInput } from '../Component';
-import { AmountInput } from '../../../amount-input/src';
-import { Input } from '../../../input/src';
-import { withSuffix } from '../../../with-suffix/src';
-import { name, version } from '../../package.json';
-
-
Поле ввода, совмещенное со слайдером
-export const normalizeValue = (value, min, max) => {
- return value === '' ? '' : Math.min(max, value.toString().replace(/[^\d-]/g, ''));
-}
-
```tsx live
+const min = 0;
+const max = 10;
+const step = 1;
+const steps = ['0', '5', '10'];
+
+const normalizeValue = (value, min, max) =>
+ value === '' ? '' : Math.min(max, value.toString().replace(/[^\d-]/g, ''));
+
render(() => {
- const min = 0;
- const max = 10;
- const step = 1;
const [value, setValue] = React.useState('');
+
const handleChange = (event, { value }) => setValue(normalizeValue(value, min, max));
+
return (
{
step={step}
onChange={handleChange}
block={true}
- steps={['0', '5', '10']}
+ steps={steps}
/>
);
-})
+});
```
```tsx live
+// import { withSuffix } from '@alfalab/core-components-with-suffix';
+// import { Input } from '@alfalab/core-components-input';
+
+const SuffixInput = withSuffix(Input);
+
+const min = 36;
+const max = 360;
+const step = 1;
+const steps = ['36 мес', '180 мес', '360 мес'];
+
+const normalizeValue = (value, min, max) =>
+ value === '' ? '' : Math.min(max, value.toString().replace(/[^\d-]/g, ''));
+
render(() => {
- // import { withSuffix } from '@alfalab/core-components-with-suffix';
- // import { Input } from '@alfalab/core-components-input';
- const SuffixInput = React.useMemo(() => withSuffix(Input), []);
- const min = 36;
- const max = 360;
- const step = 1;
const [value, setValue] = React.useState('');
+
const handleChange = (event, { value }) => setValue(normalizeValue(value, min, max));
+
return (
{
onChange={handleChange}
block={true}
label='Оставшийся срок по кредиту'
- steps={['36 мес', '180 мес', '360 мес']}
+ steps={steps}
Input={SuffixInput}
customInputProps={{
- suffix: ' мес'
+ suffix: ' мес',
}}
/>
);
-})
+});
```
-
```tsx live
+// import { withSuffix } from '@alfalab/core-components-with-suffix';
+// import { Input } from '@alfalab/core-components-input';
+
+const SuffixInput = withSuffix(Input);
+
+const min = 1;
+const max = 5;
+const step = 1;
+const steps = ['1 год', '2 года', '3 года', '4 года', '5 лет'];
+
+const normalizeValue = (value, min, max) =>
+ value === '' ? '' : Math.min(max, value.toString().replace(/[^\d-]/g, ''));
+
+const getSuffix = years => {
+ if (years <= 0) return '';
+ if (years === 1) return ' год';
+ if (years > 1 && years < 5) return ' года';
+ if (years >= 5) return ' лет';
+};
+
render(() => {
- // import { withSuffix } from '@alfalab/core-components-with-suffix';
- // import { Input } from '@alfalab/core-components-input';
- const SuffixInput = React.useMemo(() => withSuffix(Input), []);
- const min = 1;
- const max = 5;
- const step = 1;
const [value, setValue] = React.useState('');
- const getSuffix = (years) => {
- if (years <= 0) return '';
- if (years === 1) return ' год';
- if (years > 1 && years < 5) return ' года';
- if (years >= 5) return ' лет';
- }
+
const handleChange = (event, { value }) => setValue(normalizeValue(value, min, max));
+
return (
{
onChange={handleChange}
block={true}
label='Срок кредита'
- steps={[
- '1 год',
- '2 года',
- '3 года',
- '4 года',
- '5 лет',
- ]}
+ steps={steps}
Input={SuffixInput}
customInputProps={{
suffix: getSuffix(value),
}}
/>
);
-})}
+});
```
```tsx live
+// import { withSuffix } from '@alfalab/core-components-with-suffix';
+// import { Input } from '@alfalab/core-components-input';
+
+const SuffixInput = withSuffix(Input);
+
+const min = 0;
+const max = 100;
+const step = 1;
+const steps = [
+ 0% ,
+ 20% ,
+ 80% ,
+ 100% ,
+];
+
+const normalizeValue = (value, min, max) =>
+ value === '' ? '' : Math.min(max, value.toString().replace(/[^\d-]/g, ''));
+
render(() => {
- // import { withSuffix } from '@alfalab/core-components-with-suffix';
- // import { Input } from '@alfalab/core-components-input';
- const SuffixInput = React.useMemo(() => withSuffix(Input), []);
- const min = 0;
- const max = 100;
- const step = 1;
const [value, setValue] = React.useState('');
+
const handleChange = (event, { value }) => setValue(normalizeValue(value, min, max));
+
return (
{
onChange={handleChange}
block={true}
label='Процент по кредиту'
- steps={[
- 0% ,
- 20% ,
- 80% ,
- 100% ,
- ]}
+ steps={steps}
Input={SuffixInput}
customInputProps={{
- suffix: ' %'
+ suffix: ' %',
}}
/>
);
-})}
+});
```
## AmountSliderInput
```tsx live
- render(() => {
- const min = 100000;
- const max = 600000;
- const step = 1000;
- const [value, setValue] = React.useState('');
- const handleInputChange = (event, { value }) => {
- setValue(Math.round(+value / 100));
- };
- const handleSliderChange = (event, { value }) => {
- setValue(value);
- };
- const handleBlur = () => {
- if (value !== '') {
- setValue(Math.max(min, Math.min(max, +value)));
- }
+// import { AmountInput } from '@alfalab/core-components/amount-input';
+
+const min = 100000;
+const max = 600000;
+const step = 1000;
+const steps = ['100 тыс.', '600 тыс.'];
+
+const normalizeValue = (value, min, max) =>
+ value === '' ? '' : Math.min(max, value.toString().replace(/[^\d-]/g, ''));
+
+render(() => {
+ const [value, setValue] = React.useState('');
+
+ const handleInputChange = (event, { value }) => {
+ setValue(Math.round(+value / 100));
+ };
+
+ const handleSliderChange = (event, { value }) => {
+ setValue(value);
+ };
+
+ const handleBlur = () => {
+ if (value !== '') {
+ setValue(Math.max(min, Math.min(max, +value)));
}
- return (
-
- );
- })}
-```
+ };
+ return (
+
+ );
+});
+```
```tsx live
+// import { AmountInput } from '@alfalab/core-components/amount-input';
+
+const min = 100000;
+const max = 22000000;
+const step = 1000;
+
render(() => {
- const min = 100000;
- const max = 22000000;
- const step = 1000;
const [value, setValue] = React.useState('');
+
const handleInputChange = (event, { value }) => {
setValue(Math.round(+value / 100));
};
+
const handleSliderChange = (event, { value }) => {
setValue(value);
};
+
const handleBlur = () => {
if (value !== '') {
setValue(Math.max(min, Math.min(max, +value)));
}
- }
+ };
+
return (
{
}
/>
);
-})}
+});
```
diff --git a/packages/slider/src/docs/Component.stories.mdx b/packages/slider/src/docs/Component.stories.mdx
index e2c830f36b..4138672451 100644
--- a/packages/slider/src/docs/Component.stories.mdx
+++ b/packages/slider/src/docs/Component.stories.mdx
@@ -1,16 +1,11 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { action } from '@storybook/addon-actions';
-import { text, select, boolean, number } from '@storybook/addon-knobs';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import Icon from '@alfalab/icons-glyph/StarMIcon';
-import { Tabs } from 'storybook/blocks/tabs';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
+import { number } from '@storybook/addon-knobs';
+import { ComponentHeader, Tabs, CssVars } from 'storybook/blocks';
-import Description from './description.mdx';
-import styles from '!!raw-loader!../index.module.css';
-import { CssVars } from 'storybook/blocks/css-vars';
import { Slider } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
}
- props={ }
- cssVars={ }
+ description={ }
+ props={ }
+ cssVars={ }
/>
diff --git a/packages/slider/src/docs/description.mdx b/packages/slider/src/docs/description.mdx
index 9d373f8e05..9aaaebb761 100644
--- a/packages/slider/src/docs/description.mdx
+++ b/packages/slider/src/docs/description.mdx
@@ -1,20 +1,11 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { action } from '@storybook/addon-actions';
-import { text, select, boolean, number } from '@storybook/addon-knobs';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import Icon from '@alfalab/icons-glyph/StarMIcon';
-
-import { Slider } from '../Component';
-import { name, version } from '../../package.json';
+Компонент слайдера
```tsx live
- render(() => {
- const [value, setValue] = React.useState(50);
- const handleChange = (event, { value }) => setValue(value);
- return (
-
- );
- })
-```
+render(() => {
+ const [value, setValue] = React.useState(50);
+ const handleChange = (event, { value }) => setValue(value);
+
+ return ;
+});
+```
diff --git a/packages/space/src/docs/Component.stories.mdx b/packages/space/src/docs/Component.stories.mdx
index d8913ff3b0..2489eb519f 100644
--- a/packages/space/src/docs/Component.stories.mdx
+++ b/packages/space/src/docs/Component.stories.mdx
@@ -1,20 +1,17 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { select, boolean, text } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
+import { ComponentHeader, Tabs } from 'storybook/blocks';
import { Input } from '@alfalab/core-components-input';
-import { CardImage } from '@alfalab/core-components-card-image';
-import { Button } from '@alfalab/core-components-button';
-import { Divider } from '@alfalab/core-components-divider';
-import { Tabs } from 'storybook/blocks/tabs';
-import Description from './description.mdx';
import { Space } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
export const DIRECTIONS = ['horizontal', 'vertical'];
export const ALIGNES = ['start', 'end', 'center'];
export const SIZES = ['s', 'm', 'l', 8, 72];
+
}
- props={ }
+ description={ }
+ props={ }
/>
diff --git a/packages/space/src/docs/description.mdx b/packages/space/src/docs/description.mdx
index 05e913c1d2..6cf8700cce 100644
--- a/packages/space/src/docs/description.mdx
+++ b/packages/space/src/docs/description.mdx
@@ -1,14 +1,3 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { select, boolean, text } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Input } from '@alfalab/core-components-input';
-import { CardImage } from '@alfalab/core-components-card-image';
-import { Button } from '@alfalab/core-components-button';
-import { Divider } from '@alfalab/core-components-divider';
-
-import { Space } from '../Component';
-import { name, version } from '../../package.json';
-
Компонент для установки расстояния между компонентами.
### Примеры
@@ -16,131 +5,111 @@ import { name, version } from '../../package.json';
Просто карточки.
```tsx live
-
-
-
-
-
+
+
+
+
+
```
Пользовательское расстояние между карточками.
```tsx live
-
-
-
-
-
+
+
+
+
+
```
Пользовательское расстояние между карточками в виде массива [64, 32].
```tsx live
-
-
-
-
-
-
-
+
+
+
+
+
+
+
```
С адаптивом.
```tsx live
-
-
-
-
-
+
+
+
+
+
```
С разделителем.
```tsx live
- }
- size="l"
- >
-
-
-
-
+ } size='l'>
+
+
+
+
```
Группа для полей ввода. Каждое поле ввода с аттрибутом block. Space c fullWidth.
```tsx live
-
-
-
-
-
-
+
+
+
+
+
+
```
Автоматический перенос строки.
```tsx live
-
- Над вишней в цвету
- Спряталась за облака
- Скромница луна.
- (с) Мацуо Басе
- Над вишней в цвету
- Спряталась за облака
- Скромница луна.
- (с) Мацуо Басе
- Над вишней в цвету
- Спряталась за облака
-
+
+ Над вишней в цвету
+ Спряталась за облака
+ Скромница луна.
+ (с) Мацуо Басе
+ Над вишней в цвету
+ Спряталась за облака
+ Скромница луна.
+ (с) Мацуо Басе
+ Над вишней в цвету
+ Спряталась за облака
+
```
Выравнивание.
```tsx live
-
-
- Над вишней в цвету
- Спряталась за облака
-
-
-
- Над вишней в цвету
- Спряталась за облака
-
-
+
+
+ Над вишней в цвету
+ Спряталась за облака
+
+
+ Над вишней в цвету
+ Спряталась за облака
+
+
+
```
```tsx live
-
-
- Над вишней в цвету
- Спряталась за облака
-
-
-
- Над вишней в цвету
- Спряталась за облака
-
-
+
+
+ Над вишней в цвету
+ Спряталась за облака
+
+
+
+ Над вишней в цвету
+ Спряталась за облака
+
+
```
diff --git a/packages/spinner/src/docs/Component.stories.mdx b/packages/spinner/src/docs/Component.stories.mdx
index 8bbd88100b..ca5471fd8d 100644
--- a/packages/spinner/src/docs/Component.stories.mdx
+++ b/packages/spinner/src/docs/Component.stories.mdx
@@ -1,17 +1,12 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { text, boolean, select } from '@storybook/addon-knobs';
-import { action } from '@storybook/addon-actions';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Tabs } from 'storybook/blocks/tabs';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
+import { boolean, select } from '@storybook/addon-knobs';
+import { ComponentHeader, Tabs, CssVars } from 'storybook/blocks';
+import { Spinner } from '../Component';
+import { name, version } from '../../package.json';
import Description from './description.mdx';
import styles from '!!raw-loader!../index.module.css';
-import { CssVars } from 'storybook/blocks/css-vars';
-import { Button } from '../../../button/src';
-import { Spinner } from '../Component';
-import { name, version } from '../../package.json';
-
+
@@ -41,7 +39,7 @@ import { Spinner } from '@alfalab/core-components-spinner';
```
}
- props={ }
- cssVars={ }
+ description={ }
+ props={ }
+ cssVars={ }
/>
diff --git a/packages/spinner/src/docs/description.mdx b/packages/spinner/src/docs/description.mdx
index 68255d14be..41b82147bd 100644
--- a/packages/spinner/src/docs/description.mdx
+++ b/packages/spinner/src/docs/description.mdx
@@ -1,57 +1,39 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { text, boolean, select } from '@storybook/addon-knobs';
-import { action } from '@storybook/addon-actions';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import { Button } from '../../../button/src';
-import { Spinner } from '../Component';
-import { name, version } from '../../package.json';
-
Компонент спиннера.
```tsx live
-
+
```
-
-
## Кастомизация
+
Для указания размера следует задать класс с указанием одинаковых width, height.
Переменные для кастомизации:
-* --spinner-display-visible
-* --spinner-animation-duration
-* --spinner-animation-timing-function
+- --spinner-display-visible
+- --spinner-animation-duration
+- --spinner-animation-timing-function
## Примеры
+
Spinner `size=s`:
+
```tsx live
-
+
```
-
Spinner `size=m`:
+
```tsx live
-
+
```
-
Spinner `size=s` in button:
```tsx live
-
- }
- size={ 's' }
->
+ } size='s'>
Документы загружаются...
```
-
diff --git a/packages/stack/src/docs/Component.stories.mdx b/packages/stack/src/docs/Component.stories.mdx
index b2fb5003c4..93f5cceb55 100644
--- a/packages/stack/src/docs/Component.stories.mdx
+++ b/packages/stack/src/docs/Component.stories.mdx
@@ -1,32 +1,31 @@
-import { useState } from 'react';
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Tabs } from 'storybook/blocks/tabs';
-import { Button } from '../../../button/src';
-import { Portal } from '../../../portal/src';
-import { ModalDesktop } from '../../../modal/src/desktop';
-import { Tooltip } from '../../../tooltip/src';
-import Description from './description.mdx';
+
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
+import { ComponentHeader, Tabs } from 'storybook/blocks';
+
import { Stack } from '../';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
+
+
+
```tsx
@@ -34,6 +33,6 @@ import { Stack } from '@alfalab/core-components-stack';
```
}
- props={ }
+ description={ }
+ props={ }
/>
diff --git a/packages/stack/src/docs/description.mdx b/packages/stack/src/docs/description.mdx
index 1be90ca486..7acb50c7a7 100644
--- a/packages/stack/src/docs/description.mdx
+++ b/packages/stack/src/docs/description.mdx
@@ -1,13 +1,3 @@
-import { useState } from 'react';
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Button } from '../../../button/src';
-import { Portal } from '../../../portal/src';
-import { ModalDesktop } from '../../../modal/src/desktop';
-import { Tooltip } from '../../../tooltip/src';
-import { Stack } from '../';
-import { name, version } from '../../package.json';
-
Компонент для управления [порядком наложения](https://developer.mozilla.org/ru/docs/Web/CSS/z-index).
Если в стилях компонента используется свойство z-index, то скорее всего этот компонент должен использовать компонент Stack.
@@ -21,85 +11,96 @@ import { name, version } from '../../package.json';
У компонента Tooltip установлен z-index равный 50, у Modal z-index равен 100, все они рендерятся в Portal.
Если поместить Tooltip в Modal, то Modal будет перекрывать Tooltip, тем самым пользователь не увидит подсказку.
-
- {React.createElement(() => {
- const [modalOpen, setModalOpen] = useState(false);
- const [tooltipOpen, setTooltipOpen] = useState(false);
- return (
-
-
{ setModalOpen(true) }}>Открыть модал
- {modalOpen && (
-
+```tsx live
+render(() => {
+ const [modalOpen, setModalOpen] = React.useState(false);
+
+ const [tooltipOpen, setTooltipOpen] = React.useState(false);
+
+ return (
+
+
{
+ setModalOpen(true);
+ }}
+ >
+ Открыть модал
+
+ {modalOpen && (
+
+
-
{
+ setModalOpen(false);
+ setTooltipOpen(false);
+ }}
style={{
- position: 'relative',
- width: 800,
- margin: 'auto',
- padding: 30,
- backgroundColor: 'white',
- border: '1px solid black',
+ position: 'absolute',
+ top: 10,
+ right: 10,
}}
>
-
{
- setModalOpen(false);
- setTooltipOpen(false);
- }}
- style={{
- position: 'absolute',
- top: 10,
- right: 10,
- }}
- >
- X
-
-
{ setTooltipOpen(true) }}>Открыть тултип
- {tooltipOpen && (
-
+
+
+ setTooltipOpen(true)}>Открыть тултип
+ {tooltipOpen && (
+
+
-
- Tooltip
-
+ boxShadow: '0 0 10px rgba(0, 0, 0, 0.1)',
+ }}
+ >
+ Tooltip
-
- )}
-
+
+
+ )}
-
- )}
-
- );
- })}
-
+
+
+ )}
+
+ );
+});
+```
Если мы установим z-index у тултипа больший чем у модального окна, то имеем обратную проблему: тултип,
который должен отображаться под модальным окном, будет поверх модального окна.
@@ -112,26 +113,36 @@ import { name, version } from '../../package.json';
Все вышеперечисленные проблемы решаются с помощью компонента Stack.
-
- {React.createElement(() => {
- const [modalOpen, setModalOpen] = useState(false);
- return (
-
- { setModalOpen(true) }}>Открыть модал
- { setModalOpen(false) }}>
-
- Модал
-
-
- Tooltip
} trigger="click">
- Открыть тултип
-
-
-
-
- )
- })}
-
+```tsx live
+render(() => {
+ const [modalOpen, setModalOpen] = React.useState(false);
+
+ return (
+
+ {
+ setModalOpen(true);
+ }}
+ >
+ Открыть модал
+
+
+ {
+ setModalOpen(false);
+ }}
+ >
+
+ Tooltip
} trigger='click'>
+
Открыть тултип
+
+
+
+
+ );
+});
+```
**stackingOrder** — это словарь с возможными значениями z-index для разных видов «плавающих» компонентов.
Например, это POPOVER для тултипов.
diff --git a/packages/status/src/docs/Component.stories.mdx b/packages/status/src/docs/Component.stories.mdx
index b792a3e9b2..d51b872d40 100644
--- a/packages/status/src/docs/Component.stories.mdx
+++ b/packages/status/src/docs/Component.stories.mdx
@@ -1,12 +1,11 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { select, text } from '@storybook/addon-knobs';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Tabs } from 'storybook/blocks/tabs';
+import { ComponentHeader, Tabs } from 'storybook/blocks';
-import Description from './description.mdx';
import { Status, colors } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
+
}
- props={ }
+ description={ }
+ props={ }
/>
diff --git a/packages/status/src/docs/description.mdx b/packages/status/src/docs/description.mdx
index 3efdfdc63a..1d3adcc6b2 100644
--- a/packages/status/src/docs/description.mdx
+++ b/packages/status/src/docs/description.mdx
@@ -1,12 +1,3 @@
-import { Meta, Story, Preview, Props } from '@storybook/addon-docs/blocks';
-import { select, text } from '@storybook/addon-knobs';
-import { Container, Row, Col } from 'storybook/blocks/grid';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import { Status, colors } from '../Component';
-import { name, version } from '../../package.json';
-
-
Статус испольнения/подключения или маркетингового выделения
### Статус исполнения/подключения
@@ -17,15 +8,13 @@ import { name, version } from '../../package.json';
(Исполнено, Отменено, На подпись и т.д)
```tsx live
-
-
- {colors.map(color => (
-
- Label
-
- ))}
-
-
+
+ {colors.map(color => (
+
+ Label
+
+ ))}
+
```
### Статус лейбл
@@ -35,13 +24,11 @@ import { name, version } from '../../package.json';
Применяется для отображения маркетингового статуса продукта/услуги (Акция, Скидка, Новинка и т.д)
```tsx live
-
-
- {colors.map(color => (
-
- Label
-
- ))}
-
-
+
+ {colors.map(color => (
+
+ Label
+
+ ))}
+
```
diff --git a/packages/switch/src/docs/Component.stories.mdx b/packages/switch/src/docs/Component.stories.mdx
index d050636f6a..faba4f2fa5 100644
--- a/packages/switch/src/docs/Component.stories.mdx
+++ b/packages/switch/src/docs/Component.stories.mdx
@@ -1,16 +1,14 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { text, boolean, select } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Tabs } from 'storybook/blocks/tabs';
+import Icon from '@alfalab/icons-glyph/StarMIcon';
+import { ComponentHeader, Tabs, CssVars } from 'storybook/blocks';
-import Description from './description.mdx';
-import styles from '!!raw-loader!../index.module.css';
-import { CssVars } from 'storybook/blocks/css-vars';
import { Button } from '../../../button/src';
-import Icon from '@alfalab/icons-glyph/StarMIcon';
import { Switch } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
}
- props={ }
- cssVars={ }
+ description={ }
+ props={ }
+ cssVars={ }
/>
diff --git a/packages/switch/src/docs/description.mdx b/packages/switch/src/docs/description.mdx
index 9ee5673126..08b219cc73 100644
--- a/packages/switch/src/docs/description.mdx
+++ b/packages/switch/src/docs/description.mdx
@@ -1,91 +1,82 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
-import { text, boolean, select } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import { Button } from '../../../button/src';
-import Icon from '@alfalab/icons-glyph/StarMIcon';
-
-import { Switch } from '../Component';
-import { name, version } from '../../package.json';
-
-
Компонент переключателя.
```tsx live
- render(() => {
- const [checked, setChecked] = React.useState(false);
- const handleChange = () => setChecked(!checked);
- return (
-
- );
- })
-```
+render(() => {
+ const [checked, setChecked] = React.useState(false);
+
+ const handleChange = () => setChecked(!checked);
+ return (
+
+ );
+});
+```
### Переключатель без текста
```tsx live
- render(() => {
- const [checked, setChecked] = React.useState(false);
- const handleChange = () => setChecked(!checked);
- return (
-
- );
- })
+render(() => {
+ const [checked, setChecked] = React.useState(false);
+
+ const handleChange = () => setChecked(!checked);
+
+ return ;
+});
```
### Кастомный контент
```tsx live
- render(() => {
- const [checked, setChecked] = React.useState(false);
- const handleChange = () => setChecked(!checked);
- return (
-
- Согласен
-
-
- }
- hint={
-
- вы соглашаетесь с условиями
-
- }
- />
- );
- })
+render(() => {
+ const [checked, setChecked] = React.useState(false);
+
+ const handleChange = () => setChecked(!checked);
+
+ return (
+
+ Согласен
+
+
+ }
+ hint={
+
+ вы соглашаетесь с условиями
+
+ }
+ />
+ );
+});
```
### Переключатель справа от контента
```tsx live
- render(() => {
- const [checked, setChecked] = React.useState(false);
- const handleChange = () => setChecked(!checked);
- return (
-
- );
- })
+render(() => {
+ const [checked, setChecked] = React.useState(false);
+
+ const handleChange = () => setChecked(!checked);
+
+ return (
+
+ );
+});
```
diff --git a/packages/tabs/src/docs/Component.stories.mdx b/packages/tabs/src/docs/Component.stories.mdx
index 6ab7b8f406..b27683b541 100644
--- a/packages/tabs/src/docs/Component.stories.mdx
+++ b/packages/tabs/src/docs/Component.stories.mdx
@@ -1,42 +1,50 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { boolean, select } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import { CssVars } from 'storybook/blocks/css-vars';
-import { Tabs } from 'storybook/blocks/tabs';
-import Icon from '@alfalab/icons-glyph/StarMIcon';
-import Description from './description.mdx';
-import vars from '!!raw-loader!../vars.css';
+import { ComponentHeader, Tabs, CssVars } from 'storybook/blocks';
+
import { Tab, TabsDesktop, PrimaryTabListDesktop, SecondaryTabListDesktop } from '../desktop';
import { TabsMobile, PrimaryTabListMobile, SecondaryTabListMobile } from '../mobile';
import { TabsResponsive } from '../responsive';
import { name, version } from '../../package.json';
-
-export const titles = Array(7).fill(0).map((_, i) => ({ title: `Таб ${i + 1}`, id: i + 1 }));
+import Description from './description.mdx';
+import vars from '!!raw-loader!../vars.css';
-
+
{React.createElement(() => {
const [selectedId, setSelectedId] = React.useState('tab-1');
const handleChange = (event, { selectedId }) => setSelectedId(selectedId);
+ const component = select('TabsComponent', ['TabsResponsive', 'TabsDesktop', 'TabsMobile'], 'TabsResponsive');
+ const TabsComponent = React.useMemo(
+ () =>
+ ({
+ TabsResponsive: TabsResponsive,
+ TabsDesktop: TabsDesktop,
+ TabsMobile: TabsMobile,
+ }[component]),
+ [component],
+ );
+ const props = TabsComponent !== TabsMobile ? {
+ size: select('size', ['s', 'm', 'l', 'xl'], 'm'),
+ } : {};
return (
-
Таб 1
@@ -53,77 +61,11 @@ export const titles = Array(7).fill(0).map((_, i) => ({ title: `Таб ${i + 1}`
Таб 5
-
+
);
})}
-
- {React.createElement(() => {
- const [selectedId, setSelectedId] = React.useState('tab-1');
- const handleChange = (event, { selectedId }) => setSelectedId(selectedId);
- return (
-
-
- Таб 1
-
-
- Таб 2
-
-
- Таб 3
-
-
- Таб 4
-
-
- Таб 5
-
-
- );
- })}
-
-
-
- {React.createElement(() => {
- const [selectedId, setSelectedId] = React.useState('tab-1');
- const handleChange = (event, { selectedId }) => setSelectedId(selectedId);
- return (
-
-
- Таб 1
-
-
- Таб 2
-
-
- Таб 3
-
-
- Таб 4
-
-
- Таб 5
-
-
- );
- })}
-
-
-
({ title: `Таб ${i + 1}`
// Импорт адаптивных табов
import { TabsResponsive, Tab } from '@alfalab/core-components-tabs';
import { TabsResponsive, Tab } from '@alfalab/core-components-tabs/responsive';
+
// Импорт только десктопных табов
import { TabsDesktop, Tab } from '@alfalab/core-components-tabs/desktop';
+
// Импорт только мобильных табов
import { TabsMobile, Tab } from '@alfalab/core-components-tabs/mobile';
```
}
- cssVars={ }
- props={
-
- }
+ description={ }
+ cssVars={ }
+ props={
+
+ }
/>
diff --git a/packages/tabs/src/docs/description.mdx b/packages/tabs/src/docs/description.mdx
index 4ea226ed9f..6d4fff5740 100644
--- a/packages/tabs/src/docs/description.mdx
+++ b/packages/tabs/src/docs/description.mdx
@@ -1,15 +1,3 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
-import { boolean, select } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import Icon from '@alfalab/icons-glyph/StarMIcon';
-
-import { Tab, TabsDesktop, PrimaryTabListDesktop, SecondaryTabListDesktop } from '../desktop';
-import { TabsMobile, PrimaryTabListMobile, SecondaryTabListMobile } from '../mobile';
-import { TabsResponsive } from '../responsive';
-
-import { name, version } from '../../package.json';
-
-
Компоненты для построения табов.
### Tab
@@ -26,70 +14,61 @@ import { name, version } from '../../package.json';
### TabsDesktop
```tsx live
- render(() => {
- const [selectedId, setSelectedId] = React.useState('tab-1');
- const handleChange = (event, { selectedId }) => setSelectedId(selectedId);
- return (
-
-
- Таб 1
-
-
- Таб 2
-
-
- Таб 3
-
-
- Таб 4
-
-
- Таб 5
-
-
- );
- })
+render(() => {
+ const [selectedId, setSelectedId] = React.useState('tab-1');
+
+ const handleChange = (event, { selectedId }) => setSelectedId(selectedId);
+
+ return (
+
+
+ Таб 1
+
+
+ Таб 2
+
+
+ Таб 3
+
+
+ Таб 4
+
+
+ Таб 5
+
+
+ );
+});
```
### TabsMobile
```tsx live
- render(() => {
- const [selectedId, setSelectedId] = React.useState('tab-1');
- const handleChange = (event, { selectedId }) => setSelectedId(selectedId);
- return (
-
-
- Таб 1
-
-
- Таб 2
-
-
- Таб 3
-
-
- Таб 4
-
-
- Таб 5
-
-
- );
- })
+render(() => {
+ const [selectedId, setSelectedId] = React.useState('tab-1');
+
+ const handleChange = (event, { selectedId }) => setSelectedId(selectedId);
+
+ return (
+
+
+ Таб 1
+
+
+ Таб 2
+
+
+ Таб 3
+
+
+ Таб 4
+
+
+ Таб 5
+
+
+ );
+});
```
### TabsResponsive
@@ -97,36 +76,31 @@ import { name, version } from '../../package.json';
Адаптивная версия табов, перестраивается при 768px
```tsx live
- render(() => {
- const [selectedId, setSelectedId] = React.useState('tab-1');
- const handleChange = (event, { selectedId }) => setSelectedId(selectedId);
- return (
-
-
- Таб 1
-
-
- Таб 2
-
-
- Таб 3
-
-
- Таб 4
-
-
- Таб 5
-
-
- );
- })
+render(() => {
+ const [selectedId, setSelectedId] = React.useState('tab-1');
+
+ const handleChange = (event, { selectedId }) => setSelectedId(selectedId);
+
+ return (
+
+
+ Таб 1
+
+
+ Таб 2
+
+
+ Таб 3
+
+
+ Таб 4
+
+
+ Таб 5
+
+
+ );
+});
```
### Табы со слотом справа
@@ -134,24 +108,23 @@ import { name, version } from '../../package.json';
В заголовки табов можно добавлять дополнительные элементы с помощью свойства `rightAddons`
```tsx live
- render(() => {
- const [selectedId, setSelectedId] = React.useState('tab-1');
- const handleChange = (event, { selectedId }) => setSelectedId(selectedId);
- return (
-
- }>
- Таб 1
-
- }>
- Таб 2
-
- }>
- Таб 3
-
-
- );
- })
+render(() => {
+ const [selectedId, setSelectedId] = React.useState('tab-1');
+
+ const handleChange = (event, { selectedId }) => setSelectedId(selectedId);
+
+ return (
+
+ }>
+ Таб 1
+
+ }>
+ Таб 2
+
+ }>
+ Таб 3
+
+
+ );
+});
```
diff --git a/packages/tag/src/docs/Component.stories.mdx b/packages/tag/src/docs/Component.stories.mdx
index 95027409f9..eaaffc8fd9 100644
--- a/packages/tag/src/docs/Component.stories.mdx
+++ b/packages/tag/src/docs/Component.stories.mdx
@@ -1,15 +1,16 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { text, select, boolean } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
+import { ComponentHeader, Tabs, CssVars } from 'storybook/blocks';
import Icon from '@alfalab/icons-glyph/CopyMIcon';
-import { Tabs } from 'storybook/blocks/tabs';
-import Description, { SIZES } from './description.mdx';
-import { CssVars } from 'storybook/blocks/css-vars';
+
import { Tag } from '../Component';
import { name, version } from '../../package.json';
-
+import Description from './description.mdx';
import styles from '!!raw-loader!../index.module.css';
+export const SIZES = ['xs', 's', 'm', 'l', 'xl'];
+
+
}
- props={ }
- cssVars={ }
+ description={ }
+ props={ }
+ cssVars={ }
/>
diff --git a/packages/tag/src/docs/description.mdx b/packages/tag/src/docs/description.mdx
index d062d827d6..2c9eee051d 100644
--- a/packages/tag/src/docs/description.mdx
+++ b/packages/tag/src/docs/description.mdx
@@ -1,11 +1,3 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
-import { text, select, boolean } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Tag } from '../Component';
-import { name, version } from '../../package.json';
-
-export const SIZES = ['xs', 's', 'm', 'l', 'xl'];
-
Компонент тэг (чипсы).
```tsx live
@@ -13,7 +5,9 @@ render(() => {
const SIZES = ['xs', 's', 'm', 'l', 'xl'];
const [checked, setChecked] = React.useState(false);
+
const handleClick = () => setChecked(!checked);
+
return (
{
const SIZES = ['xs', 's', 'm', 'l', 'xl'];
const [checked, setChecked] = React.useState(false);
+
const handleClick = () => setChecked(!checked);
+
return (
}>
Нажми меня
diff --git a/packages/textarea/src/docs/component.stories.mdx b/packages/textarea/src/docs/component.stories.mdx
index d17a8a5c9b..a630ba4645 100644
--- a/packages/textarea/src/docs/component.stories.mdx
+++ b/packages/textarea/src/docs/component.stories.mdx
@@ -1,14 +1,13 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { text, select, boolean, number } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
+import { ComponentHeader, Tabs, CssVars } from 'storybook/blocks';
import Icon from '@alfalab/icons-glyph/StarMIcon';
-import { Tabs } from 'storybook/blocks/tabs';
-import { CssVars } from 'storybook/blocks/css-vars';
-import Description from './description.mdx';
-import styles from '!!raw-loader!../index.module.css';
import { Textarea } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
+
}
- props={ }
- cssVars={ }
+ description={ }
+ props={ }
+ cssVars={ }
/>
diff --git a/packages/textarea/src/docs/description.mdx b/packages/textarea/src/docs/description.mdx
index 3410f63d16..ce5cf9f364 100644
--- a/packages/textarea/src/docs/description.mdx
+++ b/packages/textarea/src/docs/description.mdx
@@ -1,11 +1,3 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
-import { text, select, boolean, number } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import Icon from '@alfalab/icons-glyph/StarMIcon';
-
-import { Textarea } from '../Component';
-import { name, version } from '../../package.json';
-
Компонент текстового поля ввода.
```tsx live
diff --git a/packages/toast-plate/src/docs/Component.stories.mdx b/packages/toast-plate/src/docs/Component.stories.mdx
index 3e521ea8ae..fb27cb63d3 100644
--- a/packages/toast-plate/src/docs/Component.stories.mdx
+++ b/packages/toast-plate/src/docs/Component.stories.mdx
@@ -1,15 +1,13 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { text, select, boolean } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
import { Button } from '@alfalab/core-components-button';
-import { Tabs } from 'storybook/blocks/tabs';
-
-import Description from './description.mdx';
-import styles from '!!raw-loader!../index.module.css';
-import { CssVars } from 'storybook/blocks/css-vars';
+import { ComponentHeader, Tabs, CssVars } from 'storybook/blocks';
import { ToastPlate } from '../';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
+
+import styles from '!!raw-loader!../index.module.css';
+
}
- props={ }
- cssVars={ }
+ description={ }
+ props={ }
+ cssVars={ }
/>
diff --git a/packages/toast-plate/src/docs/description.mdx b/packages/toast-plate/src/docs/description.mdx
index 2410c2dba4..1c3c94a4f9 100644
--- a/packages/toast-plate/src/docs/description.mdx
+++ b/packages/toast-plate/src/docs/description.mdx
@@ -1,20 +1,16 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
-import { text, select, boolean } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Button } from '@alfalab/core-components-button';
-
-import { ToastPlate } from '../';
-import { name, version } from '../../package.json';
-
Плашка для компонента `Toast`. Также используется в компоненте `Notification`.
```tsx live
- Восстановить }
- />
+
+ Восстановить
+
+ }
+/>
```
diff --git a/packages/toast/src/docs/component.stories.mdx b/packages/toast/src/docs/component.stories.mdx
index 95dd0db51e..05037dd4f7 100644
--- a/packages/toast/src/docs/component.stories.mdx
+++ b/packages/toast/src/docs/component.stories.mdx
@@ -1,13 +1,14 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { text, select, boolean, number } from '@storybook/addon-knobs';
-import { CssVars, ComponentHeader, Tabs } from 'storybook/blocks';
import { Button } from '@alfalab/core-components-button';
+import { CssVars, ComponentHeader, Tabs } from 'storybook/blocks';
import { Toast } from '../';
import { name, version } from '../../package.json';
import Description from './description.mdx';
import styles from '!!raw-loader!../index.module.css';
+
+
{
const [anchorToastOpen, setAnchorToastOpen] = React.useState(false);
+
const [fixedToastOpen, setFixedToastOpen] = React.useState(false);
+
const [buttonElement, setButtonElement] = React.useState(null);
+
const handleButtonRef = node => {
setButtonElement(node);
};
+
return (
);
-}
-
-render( )
+});
```
В качестве плашки можно использовать любой компонент.
@@ -99,12 +95,15 @@ render( )
Например, компонент `Plate`:
```tsx live
-function PlateExample() {
+render(() => {
const [anchorToastOpen, setAnchorToastOpen] = React.useState(false);
+
const containerRef = React.useRef();
+
React.useLayoutEffect(() => {
containerRef.current = document.querySelector('#toast-container');
}, []);
+
return (
containerRef.current}
block={true}
hasCloser={true}
- ToastPlate={React.forwardRef((pros, ref) => {
+ ToastPlate={React.forwardRef((props, ref) => {
return
;
})}
>
@@ -152,7 +151,5 @@ function PlateExample() {
);
-}
-
-render( )
+});
```
diff --git a/packages/tooltip/src/docs/Component.stories.mdx b/packages/tooltip/src/docs/Component.stories.mdx
index 3d0769f012..6501de5247 100644
--- a/packages/tooltip/src/docs/Component.stories.mdx
+++ b/packages/tooltip/src/docs/Component.stories.mdx
@@ -1,14 +1,13 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { text, boolean, select, number } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Tabs } from 'storybook/blocks/tabs';
+import { ComponentHeader, Tabs, CssVars } from 'storybook/blocks';
-import Description from './description.mdx';
-import styles from '!!raw-loader!../index.module.css';
-import { CssVars } from 'storybook/blocks/css-vars';
import { Button } from '../../../button/src';
+
import { Tooltip } from '../Component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
+import styles from '!!raw-loader!../index.module.css';
}
- props={ }
- cssVars={ }
+ description={ }
+ props={ }
+ cssVars={ }
/>
diff --git a/packages/tooltip/src/docs/description.mdx b/packages/tooltip/src/docs/description.mdx
index 0c806bedee..c7f076cdd2 100644
--- a/packages/tooltip/src/docs/description.mdx
+++ b/packages/tooltip/src/docs/description.mdx
@@ -1,93 +1,46 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
-import { text, boolean, select, number } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-
-import {Button} from '../../../button/src';
-import { Tooltip } from '../Component';
-import { name, version } from '../../package.json';
-
-
Компонент `Tooltip`.
```tsx live
- render(() => {
- const POSITION_OPTIONS = [
- 'top',
- 'top-start',
- 'top-end',
- 'bottom',
- 'bottom-start',
- 'bottom-end',
- 'right',
- 'right-start',
- 'right-end',
- 'left',
- 'left-start',
- 'left-end',
- ];
- const openSelectValue = select('open', ['true', 'false', 'undefined'], 'undefined');
- const open =
- openSelectValue === 'false' ? false : openSelectValue === 'true' ? true : undefined;
- const trigger = select('trigger', ['hover', 'click'], 'hover');
- return (
-
-
- Теперь вам можно снимать наличные в кассе и банкоматах, если ваш тариф это
- позволяет
-
- }
- open={open}
- trigger={trigger}
- offset={[number('offset[0]', 0), number('offset[1]', 10)]}
- position={select('position', POSITION_OPTIONS, 'left')}
- onCloseDelay={number('onCloseDelay (in ms)', 300)}
- onOpenDelay={number('onOpenDelay (in ms)', 300)}
- dataTestId='test-id'
- >
-
- {trigger === 'hover' ? 'Hover me' : 'Click me'}
-
-
+
+
+ Теперь вам можно снимать наличные в кассе и банкоматах, если ваш тариф это позволяет
+
+ }
+ >
+
+ Нажми на меня
- );
- })
+
+
```
Также возможен вид `Hint`.
```tsx live
-
-
- Редактировать
-
- }
- position='left'
- view='hint'
- dataTestId='test-id-hint'
- >
-
- Hover me
-
-
-
+
+ Редактировать
} position='left' view='hint' trigger='click'>
+
+ Нажми на меня
+
+
+
```
diff --git a/packages/typography/src/docs/Component.stories.mdx b/packages/typography/src/docs/Component.stories.mdx
index 58d72e5dab..dfcc55a47e 100644
--- a/packages/typography/src/docs/Component.stories.mdx
+++ b/packages/typography/src/docs/Component.stories.mdx
@@ -1,10 +1,10 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
+import { Meta, Story, Props } from '@storybook/addon-docs/blocks';
import { text, boolean, select, number } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Tabs } from 'storybook/blocks/tabs';
-import Description from './description.mdx';
+import { ComponentHeader, Tabs } from 'storybook/blocks';
+
import { Typography } from '../component';
import { name, version } from '../../package.json';
+import Description from './description.mdx';
import { colors } from '../colors';
@@ -82,9 +82,8 @@ import { colors } from '../colors';
const color = select('color', colors, '');
const tag = select('tag', ['div', 'p', 'span'], 'p');
const weight = select('weight', ['regular', 'medium', 'bold'], 'regular');
- const className = text('className', '');
return VIEW_TYPES.map(view => (
-
+
{view}. Космологи́ческая сингуля́рность — состояния Вселенной в определённый момент времени в прошлом,
когда плотность энергии (материи) и кривизна пространства-времени были очень велики — порядка
планковских значений.
@@ -109,6 +108,6 @@ import { Typography } from '@alfalab/core-components-typography';
```
}
- props={ }
+ description={ }
+ props={ }
/>
diff --git a/packages/typography/src/docs/description.mdx b/packages/typography/src/docs/description.mdx
index 3530a2789a..1b8d1e2e89 100644
--- a/packages/typography/src/docs/description.mdx
+++ b/packages/typography/src/docs/description.mdx
@@ -1,10 +1,3 @@
-import { Meta, Story, Props, Preview } from '@storybook/addon-docs/blocks';
-import { text, boolean, select, number } from '@storybook/addon-knobs';
-import { ComponentHeader } from 'storybook/blocks/component-header';
-import { Typography } from '../component';
-import { name, version } from '../../package.json';
-import { colors } from '../colors';
-
Набор компонентов для оформления текста, реализующий [гибридную систему типографики](https://www.figma.com/file/FWya6P55TnXkiVGaM2qBio/2020-Web-Hybrid-Typography?node-id=593%3A0).
Для интерактивных элементов, требующих изменение цвета при наведении, следует устанавливать цвет через CSS. Пропса `color` — для статичных элементов.
@@ -16,54 +9,45 @@ import { colors } from '../colors';
## Typography.Title
```tsx live
-Стандартный заголовок для шрифта styrene
-Стандартный заголовок для шрифта system
+<>
+ Стандартный заголовок для шрифта styrene
+ Стандартный заголовок для шрифта system
+>
```
+
```tsx live
- render(() => {
- const VIEW_TYPES = [
- 'xlarge',
- 'large',
- 'medium',
- 'small',
- 'xsmall',
- ];
- const color = select('color', colors, '');
- const weight = select('weight', ['regular', 'medium', 'bold'], 'medium');
- const font = select('font', ['styrene', 'system'], 'styrene');
- return VIEW_TYPES.map(view => (
-
- заголовок view='{view}'
-
- ))
- })
+render(() => {
+ const VIEW_TYPES = ['xlarge', 'large', 'medium', 'small', 'xsmall'];
+
+ return VIEW_TYPES.map(view => (
+
+ заголовок view='{view}'
+
+ ));
+});
```
## Typography.TitleResponsive
```tsx live
-Адаптивный заголовок для шрифта styrene
-Адаптивный заголовок для шрифта system
+<>
+ Адаптивный заголовок для шрифта styrene
+
+ Адаптивный заголовок для шрифта system
+
+>
```
```tsx live
- render(() => {
- const VIEW_TYPES = [
- 'xlarge',
- 'large',
- 'medium',
- 'small',
- 'xsmall',
- ];
- const color = select('color', colors, '');
- const weight = select('weight', ['regular', 'medium', 'bold'], 'medium');
- const font = select('font', ['styrene', 'system'], 'styrene');
- return VIEW_TYPES.map(view => (
-
- заголовок view='{view}'
-
- ))
- })
+render(() => {
+ const VIEW_TYPES = ['xlarge', 'large', 'medium', 'small', 'xsmall'];
+
+ return VIEW_TYPES.map(view => (
+
+ Адаптивный заголовок view='{view}'
+
+ ));
+});
```
## Typography.Text
@@ -71,27 +55,23 @@ import { colors } from '../colors';
Компонент для оформления текста. Позволяет задать внешний вид, тэг и цвет текста.
```tsx live
- render(() => {
- const VIEW_TYPES = [
- 'primary-large',
- 'primary-medium',
- 'primary-small',
- 'secondary-large',
- 'secondary-medium',
- 'secondary-small',
- 'component',
- 'caps',
- ];
- const color = select('color', colors, '');
- const tag = select('tag', ['div', 'p', 'span'], 'p');
- const weight = select('weight', ['regular', 'medium', 'bold'], 'regular');
- const className = text('className', '');
- return VIEW_TYPES.map(view => (
-
- {view}. Космологи́ческая сингуля́рность — состояния Вселенной в определённый момент времени в прошлом,
- когда плотность энергии (материи) и кривизна пространства-времени были очень велики — порядка
- планковских значений.
-
- ));
- })
+render(() => {
+ const VIEW_TYPES = [
+ 'primary-large',
+ 'primary-medium',
+ 'primary-small',
+ 'secondary-large',
+ 'secondary-medium',
+ 'secondary-small',
+ 'component',
+ 'caps',
+ ];
+ return VIEW_TYPES.map(view => (
+
+ {view}. Космологи́ческая сингуля́рность — состояния Вселенной в определённый момент
+ времени в прошлом, когда плотность энергии (материи) и кривизна пространства-времени
+ были очень велики — порядка планковских значений.
+
+ ));
+});
```
diff --git a/yarn.lock b/yarn.lock
index ab0e045456..1b98219fb4 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -120,6 +120,11 @@
resolved "https://registry.yarnpkg.com/@alfalab/icons-glyph/-/icons-glyph-1.129.0.tgz#f2a3054a394fb0a9bc453c48b71fd486c932c194"
integrity sha512-DN6o6v6Rp8X5kYYxzFCGY2Lhq5FIEvOuLHu0MlpPPJ+qsuz80tGAs9kNNbQR2vlCynm4y7H1S3LDQNIczoj0bQ==
+"@alfalab/icons-glyph@^1.141.0":
+ version "1.150.0"
+ resolved "https://registry.yarnpkg.com/@alfalab/icons-glyph/-/icons-glyph-1.150.0.tgz#8982226948895bc9cb8f8655887124d6b84838a3"
+ integrity sha512-+l2n+VAZZ34llOaGnP67TI5mSjeMiSQmrWNflZOXm1ujE6qmi+aY1wg+XmwLxaZ3h7f7gqsasWrX81z7rDPFqg==
+
"@alfalab/icons-glyph@^1.26.0", "@alfalab/icons-glyph@^1.70.0":
version "1.99.0"
resolved "https://registry.yarnpkg.com/@alfalab/icons-glyph/-/icons-glyph-1.99.0.tgz#6c39d80750644b739fa8c599344404697e8d4920"
@@ -4459,7 +4464,6 @@
react-textarea-autosize "^8.3.0"
regenerator-runtime "^0.13.7"
ts-dedent "^2.0.0"
-<<<<<<< HEAD
util-deprecate "^1.0.2"
"@storybook/core-client@6.2.9":
@@ -4535,90 +4539,9 @@
pretty-hrtime "^1.0.3"
resolve-from "^5.0.0"
ts-dedent "^2.0.0"
-=======
->>>>>>> feat/upgrade-storybook
util-deprecate "^1.0.2"
webpack "4"
-<<<<<<< HEAD
-=======
-"@storybook/core-client@6.2.9":
- version "6.2.9"
- resolved "https://registry.yarnpkg.com/@storybook/core-client/-/core-client-6.2.9.tgz#3f611947e64dee0a297e512ff974087bc52c1877"
- integrity sha512-jW841J5lCe1Ub5ZMtzYPgCy/OUddFxxVYeHLZyuNxlH5RoiQQxbDpuFlzuZMYGuIzD6eZw+ANE4w5vW/y5oBfA==
- dependencies:
- "@storybook/addons" "6.2.9"
- "@storybook/channel-postmessage" "6.2.9"
- "@storybook/client-api" "6.2.9"
- "@storybook/client-logger" "6.2.9"
- "@storybook/core-events" "6.2.9"
- "@storybook/csf" "0.0.1"
- "@storybook/ui" "6.2.9"
- ansi-to-html "^0.6.11"
- core-js "^3.8.2"
- global "^4.4.0"
- lodash "^4.17.20"
- qs "^6.10.0"
- regenerator-runtime "^0.13.7"
- ts-dedent "^2.0.0"
- unfetch "^4.2.0"
- util-deprecate "^1.0.2"
-
-"@storybook/core-common@6.2.9":
- version "6.2.9"
- resolved "https://registry.yarnpkg.com/@storybook/core-common/-/core-common-6.2.9.tgz#54f8e005733d39c4cb90eec7c17f9ca4dcbeec5f"
- integrity sha512-ve0Qb4EMit8jGibfZBprmaU2i4LtpB4vSMIzD9nB1YeBmw2cGhHubtmayZ0TwcV3fPQhtYH9wwRWuWyzzHyQyw==
- dependencies:
- "@babel/core" "^7.12.10"
- "@babel/plugin-proposal-class-properties" "^7.12.1"
- "@babel/plugin-proposal-decorators" "^7.12.12"
- "@babel/plugin-proposal-export-default-from" "^7.12.1"
- "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1"
- "@babel/plugin-proposal-object-rest-spread" "^7.12.1"
- "@babel/plugin-proposal-optional-chaining" "^7.12.7"
- "@babel/plugin-proposal-private-methods" "^7.12.1"
- "@babel/plugin-syntax-dynamic-import" "^7.8.3"
- "@babel/plugin-transform-arrow-functions" "^7.12.1"
- "@babel/plugin-transform-block-scoping" "^7.12.12"
- "@babel/plugin-transform-classes" "^7.12.1"
- "@babel/plugin-transform-destructuring" "^7.12.1"
- "@babel/plugin-transform-for-of" "^7.12.1"
- "@babel/plugin-transform-parameters" "^7.12.1"
- "@babel/plugin-transform-shorthand-properties" "^7.12.1"
- "@babel/plugin-transform-spread" "^7.12.1"
- "@babel/preset-env" "^7.12.11"
- "@babel/preset-react" "^7.12.10"
- "@babel/preset-typescript" "^7.12.7"
- "@babel/register" "^7.12.1"
- "@storybook/node-logger" "6.2.9"
- "@storybook/semver" "^7.3.2"
- "@types/glob-base" "^0.3.0"
- "@types/micromatch" "^4.0.1"
- "@types/node" "^14.0.10"
- "@types/pretty-hrtime" "^1.0.0"
- babel-loader "^8.2.2"
- babel-plugin-macros "^3.0.1"
- babel-plugin-polyfill-corejs3 "^0.1.0"
- chalk "^4.1.0"
- core-js "^3.8.2"
- express "^4.17.1"
- file-system-cache "^1.0.5"
- find-up "^5.0.0"
- fork-ts-checker-webpack-plugin "^6.0.4"
- glob "^7.1.6"
- glob-base "^0.3.0"
- interpret "^2.2.0"
- json5 "^2.1.3"
- lazy-universal-dotenv "^3.0.1"
- micromatch "^4.0.2"
- pkg-dir "^5.0.0"
- pretty-hrtime "^1.0.3"
- resolve-from "^5.0.0"
- ts-dedent "^2.0.0"
- util-deprecate "^1.0.2"
- webpack "4"
-
->>>>>>> feat/upgrade-storybook
"@storybook/core-events@6.2.9":
version "6.2.9"
resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-6.2.9.tgz#4f12947cd15d1eb3c4109923657c012feef521cd"
@@ -5075,6 +4998,13 @@
resolved "https://registry.yarnpkg.com/@types/braces/-/braces-3.0.0.tgz#7da1c0d44ff1c7eb660a36ec078ea61ba7eb42cb"
integrity sha512-TbH79tcyi9FHwbyboOKeRachRq63mSuWYXOflsNO9ZyE5ClQ/JaozNKl+aWUq87qPNsXasXxi2AbgfwIJ+8GQw==
+"@types/buble@^0.20.0":
+ version "0.20.0"
+ resolved "https://registry.yarnpkg.com/@types/buble/-/buble-0.20.0.tgz#8c076a500bb297a3955bd832ae4a1ec5ccf25753"
+ integrity sha512-tS+DwolzYtDuayJspUABudwjeF8t0mGzchixMDcxN9Vn96IL23AFCsZVoX3gbPkYbZnvD3W+nWCtB/HyxUaeXg==
+ dependencies:
+ magic-string "^0.25.0"
+
"@types/classnames@^2.2.9":
version "2.2.11"
resolved "https://registry.yarnpkg.com/@types/classnames/-/classnames-2.2.11.tgz#2521cc86f69d15c5b90664e4829d84566052c1cf"
@@ -8809,7 +8739,7 @@ core-js-pure@^3.8.2:
resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.14.0.tgz#72bcfacba74a65ffce04bf94ae91d966e80ee553"
integrity sha512-YVh+LN2FgNU0odThzm61BsdkwrbrchumFq3oztnE9vTKC4KS2fvnPmcx8t6jnqAyOTCTF4ZSiuK8Qhh7SNcL4g==
-core-js@^2.4.0, core-js@^2.4.1, core-js@^2.5.0:
+core-js@^2.4.0, core-js@^2.5.0:
version "2.6.12"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec"
integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==
@@ -8819,6 +8749,11 @@ core-js@^3.0.1, core-js@^3.0.4, core-js@^3.1.3, core-js@^3.5.0:
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.8.1.tgz#f51523668ac8a294d1285c3b9db44025fda66d47"
integrity sha512-9Id2xHY1W7m8hCl8NkhQn5CufmF/WuR30BTRewvCXc1aZd3kMECwNZ69ndLbekKfakw9Rf2Xyc+QR6E7Gg+obg==
+core-js@^3.14.0:
+ version "3.15.2"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.15.2.tgz#740660d2ff55ef34ce664d7e2455119c5bdd3d61"
+ integrity sha512-tKs41J7NJVuaya8DxIOCnl8QuPHx5/ZVbFo1oKgVl1qHFBBrDctzQGtuLjPpRdNTWmKPH6oEvgN/MUID+l485Q==
+
core-js@^3.6.5, core-js@^3.8.2:
version "3.14.0"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.14.0.tgz#62322b98c71cc2018b027971a69419e2425c2a6c"
@@ -12073,18 +12008,6 @@ globby@11.0.1, globby@^11.0.0, globby@^11.0.1:
merge2 "^1.3.0"
slash "^3.0.0"
-globby@11.0.1, globby@^11.0.0, globby@^11.0.1:
- version "11.0.1"
- resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357"
- integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==
- dependencies:
- array-union "^2.1.0"
- dir-glob "^3.0.1"
- fast-glob "^3.1.1"
- ignore "^5.1.4"
- merge2 "^1.3.0"
- slash "^3.0.0"
-
globby@8.0.2, globby@^8.0.1:
version "8.0.2"
resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d"
@@ -15648,7 +15571,7 @@ macos-release@^2.2.0:
resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.4.1.tgz#64033d0ec6a5e6375155a74b1a1eba8e509820ac"
integrity sha512-H/QHeBIN1fIGJX517pvK8IEK53yQOW7YcEI55oYtgjDdoCQQz7eJS94qt5kNrscReEyuD/JcdFCm2XBEcGOITg==
-magic-string@^0.25.1, magic-string@^0.25.7:
+magic-string@^0.25.0, magic-string@^0.25.1, magic-string@^0.25.7:
version "0.25.7"
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051"
integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==
@@ -18889,7 +18812,7 @@ pretty-hrtime@^1.0.3:
resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1"
integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=
-prism-react-renderer@^1.0.1:
+prism-react-renderer@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-1.2.1.tgz#392460acf63540960e5e3caa699d851264e99b89"
integrity sha512-w23ch4f75V1Tnz8DajsYKvY5lF7H1+WvzvLUcF0paFxkTHSp42RS0H5CttdN2Q8RR3DRGZ9v5xD/h3n8C8kGmg==
@@ -19494,17 +19417,18 @@ react-lifecycles-compat@^3.0.4:
resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362"
integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==
-react-live@^2.2.3:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/react-live/-/react-live-2.2.3.tgz#260f99194213799f0005e473e7a4154c699d6a7c"
- integrity sha512-tpKruvfytNETuzO3o1mrQUj180GVrq35IE8F5gH1NJVPt4szYCx83/dOSCOyjgRhhc3gQvl0pQ3k/CjOjwJkKQ==
+react-live@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/react-live/-/react-live-2.3.0.tgz#09fbac361903970e7cf51cee60729eeb164a5d87"
+ integrity sha512-b+Nc7x/bLu2sPX/If1uncrmUvYtXTqxY8QpzBw/X76SA3QJ1ggU0Ld6X5phLXZ469+XWO5lOU7OpAt0JoTyZPQ==
dependencies:
+ "@types/buble" "^0.20.0"
buble "0.19.6"
- core-js "^2.4.1"
+ core-js "^3.14.0"
dom-iterator "^1.0.0"
- prism-react-renderer "^1.0.1"
- prop-types "^15.5.8"
- react-simple-code-editor "^0.10.0"
+ prism-react-renderer "^1.2.1"
+ prop-types "^15.7.2"
+ react-simple-code-editor "^0.11.0"
unescape "^1.0.1"
react-merge-refs@^1.1.0:
@@ -19621,10 +19545,10 @@ react-select@^3.2.0:
react-input-autosize "^3.0.0"
react-transition-group "^4.3.0"
-react-simple-code-editor@^0.10.0:
- version "0.10.0"
- resolved "https://registry.yarnpkg.com/react-simple-code-editor/-/react-simple-code-editor-0.10.0.tgz#73e7ac550a928069715482aeb33ccba36efe2373"
- integrity sha512-bL5W5mAxSW6+cLwqqVWY47Silqgy2DKDTR4hDBrLrUqC5BXc29YVx17l2IZk5v36VcDEq1Bszu2oHm1qBwKqBA==
+react-simple-code-editor@^0.11.0:
+ version "0.11.0"
+ resolved "https://registry.yarnpkg.com/react-simple-code-editor/-/react-simple-code-editor-0.11.0.tgz#bb57c7c29b570f2ab229872599eac184f5bc673c"
+ integrity sha512-xGfX7wAzspl113ocfKQAR8lWPhavGWHL3xSzNLeseDRHysT+jzRBi/ExdUqevSMos+7ZtdfeuBOXtgk9HTwsrw==
react-sizeme@^3.0.1:
version "3.0.1"