mimir-ui-kit 1.14.1 → 1.14.3
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +62 -62
- package/dist/assets/Drawer.css +1 -1
- package/dist/components/Drawer/Drawer.d.ts +8 -2
- package/dist/components/Drawer/Drawer.js +19 -18
- package/package.json +128 -128
package/README.md
CHANGED
@@ -1,62 +1,62 @@
|
|
1
|
-
# Mimir-ui
|
2
|
-
|
3
|
-
## Установка и запуск проекта
|
4
|
-
|
5
|
-
1. Установите зависимости:
|
6
|
-
```bash
|
7
|
-
npm install
|
8
|
-
```
|
9
|
-
2. Запуск storybook
|
10
|
-
```bash
|
11
|
-
npm run storybook
|
12
|
-
```
|
13
|
-
|
14
|
-
## Сборка проекта
|
15
|
-
|
16
|
-
1. Скрипт для сборки
|
17
|
-
```bash
|
18
|
-
npm run build
|
19
|
-
```
|
20
|
-
|
21
|
-
## Создание нового компонента
|
22
|
-
|
23
|
-
```bash
|
24
|
-
npm run create-component <ComponentName>
|
25
|
-
```
|
26
|
-
|
27
|
-
## Поднятие версии для публикации на npm
|
28
|
-
|
29
|
-
Для поднятия версии пакета перед публикацией на npm используем следующие скрипты:
|
30
|
-
|
31
|
-
1. `patch`: Этот скрипт увеличивает версию пакета на один патч (например, с версии 1.0.0 до 1.0.1). Он автоматически обновляет версию в файле package.json и создает коммит с обновленной версией.
|
32
|
-
|
33
|
-
```bash
|
34
|
-
npm version patch
|
35
|
-
```
|
36
|
-
|
37
|
-
2. `minor`: Этот скрипт увеличивает версию пакета на один минорный уровень (например, с версии 1.0.0 до 1.1.0). Также обновляет версию в package.json и создает коммит.
|
38
|
-
```bash
|
39
|
-
npm version minor
|
40
|
-
```
|
41
|
-
3. `major`: Этот скрипт увеличивает версию пакета на один мажорный уровень (например, с версии 1.0.0 до 2.0.0). Он также обновляет версию в package.json и создает коммит.
|
42
|
-
```bash
|
43
|
-
npm version major
|
44
|
-
```
|
45
|
-
|
46
|
-
## Публикация на npm
|
47
|
-
|
48
|
-
1. Скрипт для публикации на npm:
|
49
|
-
```bash
|
50
|
-
npm publish
|
51
|
-
```
|
52
|
-
|
53
|
-
## Ручная Генерация иконок
|
54
|
-
|
55
|
-
1. Экспортируем с фигмы иконку.
|
56
|
-
2. Добавляем ее в папку svgs.
|
57
|
-
3. Запускаем скрипт:
|
58
|
-
```bash
|
59
|
-
npm run icons
|
60
|
-
```
|
61
|
-
4. Смотрим в папку `icons/components`
|
62
|
-
5. Готово.
|
1
|
+
# Mimir-ui
|
2
|
+
|
3
|
+
## Установка и запуск проекта
|
4
|
+
|
5
|
+
1. Установите зависимости:
|
6
|
+
```bash
|
7
|
+
npm install
|
8
|
+
```
|
9
|
+
2. Запуск storybook
|
10
|
+
```bash
|
11
|
+
npm run storybook
|
12
|
+
```
|
13
|
+
|
14
|
+
## Сборка проекта
|
15
|
+
|
16
|
+
1. Скрипт для сборки
|
17
|
+
```bash
|
18
|
+
npm run build
|
19
|
+
```
|
20
|
+
|
21
|
+
## Создание нового компонента
|
22
|
+
|
23
|
+
```bash
|
24
|
+
npm run create-component <ComponentName>
|
25
|
+
```
|
26
|
+
|
27
|
+
## Поднятие версии для публикации на npm
|
28
|
+
|
29
|
+
Для поднятия версии пакета перед публикацией на npm используем следующие скрипты:
|
30
|
+
|
31
|
+
1. `patch`: Этот скрипт увеличивает версию пакета на один патч (например, с версии 1.0.0 до 1.0.1). Он автоматически обновляет версию в файле package.json и создает коммит с обновленной версией.
|
32
|
+
|
33
|
+
```bash
|
34
|
+
npm version patch
|
35
|
+
```
|
36
|
+
|
37
|
+
2. `minor`: Этот скрипт увеличивает версию пакета на один минорный уровень (например, с версии 1.0.0 до 1.1.0). Также обновляет версию в package.json и создает коммит.
|
38
|
+
```bash
|
39
|
+
npm version minor
|
40
|
+
```
|
41
|
+
3. `major`: Этот скрипт увеличивает версию пакета на один мажорный уровень (например, с версии 1.0.0 до 2.0.0). Он также обновляет версию в package.json и создает коммит.
|
42
|
+
```bash
|
43
|
+
npm version major
|
44
|
+
```
|
45
|
+
|
46
|
+
## Публикация на npm
|
47
|
+
|
48
|
+
1. Скрипт для публикации на npm:
|
49
|
+
```bash
|
50
|
+
npm publish
|
51
|
+
```
|
52
|
+
|
53
|
+
## Ручная Генерация иконок
|
54
|
+
|
55
|
+
1. Экспортируем с фигмы иконку.
|
56
|
+
2. Добавляем ее в папку svgs.
|
57
|
+
3. Запускаем скрипт:
|
58
|
+
```bash
|
59
|
+
npm run icons
|
60
|
+
```
|
61
|
+
4. Смотрим в папку `icons/components`
|
62
|
+
5. Готово.
|
package/dist/assets/Drawer.css
CHANGED
@@ -1 +1 @@
|
|
1
|
-
.
|
1
|
+
._drawer_luket_3{--drawer-width: 808px;--drawer-z-index: 10000;position:fixed;z-index:10000;z-index:var(--drawer-z-index);display:flex;flex-direction:column;width:808px;width:var(--drawer-width);height:100%;overflow:auto;background-color:var(--black-5);transition:all .3s ease;pointer-events:none}._drawer_luket_3 ._content_luket_17{position:relative;display:flex;flex:1;flex-direction:column;padding:var(--space-m) var(--space-4xl) var(--space-4xl);transition:all .3s ease}@media (max-width: 600px){._drawer_luket_3 ._content_luket_17{--drawer-width: 100%;padding:var(--space-m)}}._drawer_luket_3 ._header_luket_31{display:flex;gap:var(--space-xs);height:68px}._drawer_luket_3 ._header_luket_31:not(:last-child){margin-bottom:var(--space-2xl)}._drawer_luket_3 ._header_luket_31 ._title_luket_39{flex:1;align-self:flex-end;font-weight:var(--font-weight-text-medium);font-size:var(--size-text-xl3);line-height:var(--line-height-text-s1);letter-spacing:.7px}@media (max-width: 600px){._drawer_luket_3 ._header_luket_31 ._title_luket_39{font-size:var(--size-text-xl2);line-height:var(--line-height-text-xs)}}._drawer_luket_3 ._header_luket_31 ._space_luket_53{flex:0 0 var(--button-height-m)}@media (max-width: 600px){._drawer_luket_3 ._header_luket_31{height:55px}._drawer_luket_3 ._header_luket_31:not(:last-child){margin-bottom:var(--space-m)}}._drawer_luket_3 ._inner_luket_64{flex:1}._drawer_luket_3 ._button_luket_67{position:absolute;top:var(--space-m);right:var(--space-m)}._drawer_luket_3 ._footer_luket_72{display:block;padding-top:var(--space-4xl)}@media (max-width: 600px){._drawer_luket_3 ._footer_luket_72{padding-top:var(--space-m)}}._drawer_luket_3 ._footer-button_luket_81{display:block;margin-left:auto}._drawer_luket_3._left_luket_85{top:0;left:-100%}._drawer_luket_3._right_luket_89{top:0;right:-100%}._drawer_luket_3._bottom_luket_93{right:50%;bottom:-100%;left:50%;max-height:80vh;border-top-left-radius:var(--control-radius);border-top-right-radius:var(--control-radius);transform:translate(-50%)}._drawer_luket_3._opened_luket_102{transition:all .3s ease;pointer-events:auto}._drawer_luket_3._opened_luket_102._left_luket_85{left:0%;transition:left .3s ease}._drawer_luket_3._opened_luket_102._right_luket_89{right:0%;transition:right .3s ease}._drawer_luket_3._opened_luket_102._bottom_luket_93{bottom:0%}._drawer_luket_3._is-closing_luket_117._left_luket_85{left:-100%}._drawer_luket_3._is-closing_luket_117._right_luket_89{right:-100%}._drawer_luket_3._is-closing_luket_117._bottom_luket_93{bottom:-100%}@media (max-width: 1440px){._drawer_luket_3{--drawer-width: 608px}}@media (max-width: 1280px){._drawer_luket_3{--drawer-width: 648px}}@media (max-width: 768px){._drawer_luket_3{--drawer-width: 584px}}@media (max-width: 600px){._drawer_luket_3{--drawer-width: 100%}._drawer_luket_3._bottom_luket_93{max-width:359px}}._overlay_luket_150{--overlay-z-index: 9990;position:fixed;top:0;left:0;z-index:9990;z-index:var(--overlay-z-index);width:100%;height:100%;background-color:#0009;opacity:0;transition:all .3s ease}._overlay_luket_150._opened_luket_102{opacity:1;transition:all .3s ease}._overlay_luket_150._is-closing_luket_117{opacity:0;transition:all .3s ease}
|
@@ -14,6 +14,10 @@ type TProps = {
|
|
14
14
|
* Настраиваемый паддинг для body, что бы избежать скачка контента при overflow: hidden
|
15
15
|
*/
|
16
16
|
paddingRight?: number;
|
17
|
+
/**
|
18
|
+
* Дополнительная высота для учета нижнего сайдбара
|
19
|
+
*/
|
20
|
+
additionalHeight?: number;
|
17
21
|
/**
|
18
22
|
* Функция закрытия шторки
|
19
23
|
*/
|
@@ -29,10 +33,12 @@ type TProps = {
|
|
29
33
|
/**
|
30
34
|
* Кастомный footer. По дефолту в нем расположена кнопка для закрытия.
|
31
35
|
*/
|
32
|
-
footer?: ReactNode
|
36
|
+
footer?: ReactNode | ((props: {
|
37
|
+
handleClose: VoidFunction;
|
38
|
+
}) => JSX.Element);
|
33
39
|
};
|
34
40
|
/**
|
35
41
|
* Компонент шторки, который может выезжать слева, справа или внизу.
|
36
42
|
*/
|
37
|
-
export declare const Drawer: ({ isOpen, onClose, title, className, position, paddingRight, footer, children }: PropsWithChildren<TProps>) => import("react/jsx-runtime").JSX.Element | null;
|
43
|
+
export declare const Drawer: ({ isOpen, onClose, title, className, position, paddingRight, additionalHeight, footer, children }: PropsWithChildren<TProps>) => import("react/jsx-runtime").JSX.Element | null;
|
38
44
|
export {};
|
@@ -8,19 +8,19 @@ import { useLockBodyScroll } from "../../hooks/useLockBodyScroll/useLockBodyScro
|
|
8
8
|
import { Button } from "../Button/Button.js";
|
9
9
|
import { EButtonVariantDefault, EButtonSize } from "../Button/constants.js";
|
10
10
|
import { Portal } from "../Portal/Portal.js";
|
11
|
-
import '../../assets/Drawer.css';const drawer = "
|
12
|
-
const content = "
|
13
|
-
const header = "
|
14
|
-
const title = "
|
15
|
-
const space = "
|
16
|
-
const inner = "
|
17
|
-
const button = "
|
18
|
-
const footer = "
|
19
|
-
const left = "
|
20
|
-
const right = "
|
21
|
-
const bottom = "
|
22
|
-
const opened = "
|
23
|
-
const overlay = "
|
11
|
+
import '../../assets/Drawer.css';const drawer = "_drawer_luket_3";
|
12
|
+
const content = "_content_luket_17";
|
13
|
+
const header = "_header_luket_31";
|
14
|
+
const title = "_title_luket_39";
|
15
|
+
const space = "_space_luket_53";
|
16
|
+
const inner = "_inner_luket_64";
|
17
|
+
const button = "_button_luket_67";
|
18
|
+
const footer = "_footer_luket_72";
|
19
|
+
const left = "_left_luket_85";
|
20
|
+
const right = "_right_luket_89";
|
21
|
+
const bottom = "_bottom_luket_93";
|
22
|
+
const opened = "_opened_luket_102";
|
23
|
+
const overlay = "_overlay_luket_150";
|
24
24
|
const cls = {
|
25
25
|
drawer,
|
26
26
|
content,
|
@@ -30,12 +30,12 @@ const cls = {
|
|
30
30
|
inner,
|
31
31
|
button,
|
32
32
|
footer,
|
33
|
-
"footer-button": "_footer-
|
33
|
+
"footer-button": "_footer-button_luket_81",
|
34
34
|
left,
|
35
35
|
right,
|
36
36
|
bottom,
|
37
37
|
opened,
|
38
|
-
"is-closing": "_is-
|
38
|
+
"is-closing": "_is-closing_luket_117",
|
39
39
|
overlay
|
40
40
|
};
|
41
41
|
const ANIMATION_DELAY = 300;
|
@@ -46,6 +46,7 @@ const Drawer = ({
|
|
46
46
|
className,
|
47
47
|
position = EDrawerPosition.RIGHT,
|
48
48
|
paddingRight = 8,
|
49
|
+
additionalHeight = 0,
|
49
50
|
footer: footer2,
|
50
51
|
children
|
51
52
|
}) => {
|
@@ -101,10 +102,10 @@ const Drawer = ({
|
|
101
102
|
/* @__PURE__ */ jsx(
|
102
103
|
"div",
|
103
104
|
{
|
104
|
-
"aria-hidden": isOpen,
|
105
|
+
"aria-hidden": !isOpen,
|
105
106
|
role: "dialog",
|
106
107
|
style: {
|
107
|
-
minHeight: isBottomPosition && contentRef.current ? contentRef.current.offsetHeight : void 0
|
108
|
+
minHeight: isBottomPosition && contentRef.current ? contentRef.current.offsetHeight + additionalHeight : void 0
|
108
109
|
},
|
109
110
|
className: classNames(cls.drawer, cls[position], mods, className),
|
110
111
|
children: /* @__PURE__ */ jsxs("section", { className: classNames(cls.content, cls[position]), children: [
|
@@ -123,7 +124,7 @@ const Drawer = ({
|
|
123
124
|
) })
|
124
125
|
] }),
|
125
126
|
/* @__PURE__ */ jsx("div", { ref: contentRef, className: cls.inner, children }),
|
126
|
-
/* @__PURE__ */ jsx("footer", { className: cls.footer, children: footer2 || /* @__PURE__ */ jsx(
|
127
|
+
/* @__PURE__ */ jsx("footer", { className: cls.footer, children: typeof footer2 === "function" ? footer2({ handleClose }) : footer2 || /* @__PURE__ */ jsx(
|
127
128
|
Button,
|
128
129
|
{
|
129
130
|
size: isMobile ? EButtonSize.M : EButtonSize.XXL,
|
package/package.json
CHANGED
@@ -1,128 +1,128 @@
|
|
1
|
-
{
|
2
|
-
"name": "mimir-ui-kit",
|
3
|
-
"private": false,
|
4
|
-
"version": "1.14.
|
5
|
-
"type": "module",
|
6
|
-
"exports": {
|
7
|
-
".": {
|
8
|
-
"types": "./dist/index.d.ts",
|
9
|
-
"default": "./dist/index.js"
|
10
|
-
},
|
11
|
-
"./components": {
|
12
|
-
"types": "./dist/components/index.d.ts",
|
13
|
-
"default": "./dist/components/index.js"
|
14
|
-
},
|
15
|
-
"./hooks": {
|
16
|
-
"types": "./dist/hooks/index.d.ts",
|
17
|
-
"default": "./dist/hooks/index.js"
|
18
|
-
},
|
19
|
-
"./icons": {
|
20
|
-
"types": "./dist/icons/index.d.ts",
|
21
|
-
"default": "./dist/icons/index.js"
|
22
|
-
},
|
23
|
-
"./styles": {
|
24
|
-
"default": "./dist/assets/index.css"
|
25
|
-
}
|
26
|
-
},
|
27
|
-
"module": "./dist/index.js",
|
28
|
-
"types": "./dist/index.d.ts",
|
29
|
-
"files": [
|
30
|
-
"dist"
|
31
|
-
],
|
32
|
-
"sideEffects": [
|
33
|
-
"**/*.{css,scss}"
|
34
|
-
],
|
35
|
-
"scripts": {
|
36
|
-
"build": "tsc --p ./tsconfig-build.json && vite build",
|
37
|
-
"storybook": "storybook dev -p 6006",
|
38
|
-
"build-storybook": "storybook build",
|
39
|
-
"ts:check": "tsc -b",
|
40
|
-
"lint:fix": "eslint . --ext ts,tsx --fix",
|
41
|
-
"lint:prettier": "npx prettier . --write",
|
42
|
-
"lint:stylelint": "stylelint '**/*.module{.css,.scss}'",
|
43
|
-
"lint:stylelint:fix": "stylelint '**/*.module{.css,.scss}' --fix",
|
44
|
-
"icons": "svgr --expand-props start ./src/icons/svgs",
|
45
|
-
"prepare": "husky",
|
46
|
-
"create-component": "node createComponent.js"
|
47
|
-
},
|
48
|
-
"devDependencies": {
|
49
|
-
"@chromatic-com/storybook": "^1.6.1",
|
50
|
-
"@headlessui/react": "^2.1.2",
|
51
|
-
"@laynezh/vite-plugin-lib-assets": "^0.5.23",
|
52
|
-
"@loadable/component": "^5.15.2",
|
53
|
-
"@storybook/addon-essentials": "^8.2.2",
|
54
|
-
"@storybook/addon-interactions": "^8.2.2",
|
55
|
-
"@storybook/addon-links": "^8.2.2",
|
56
|
-
"@storybook/addon-onboarding": "^8.2.2",
|
57
|
-
"@storybook/blocks": "^8.2.2",
|
58
|
-
"@storybook/builder-vite": "^8.2.2",
|
59
|
-
"@storybook/react": "^8.2.2",
|
60
|
-
"@storybook/react-vite": "^8.2.2",
|
61
|
-
"@storybook/test": "^8.2.2",
|
62
|
-
"@svgr/cli": "^8.1.0",
|
63
|
-
"@svgr/core": "^8.1.0",
|
64
|
-
"@svgr/plugin-svgo": "^8.1.0",
|
65
|
-
"@types/node": "^20.14.10",
|
66
|
-
"@types/react": "^18.3.3",
|
67
|
-
"@types/react-dom": "^18.3.0",
|
68
|
-
"@typescript-eslint/eslint-plugin": "^7.13.1",
|
69
|
-
"@typescript-eslint/parser": "^7.13.1",
|
70
|
-
"@vitejs/plugin-react": "^4.3.1",
|
71
|
-
"autoprefixer": "^10.4.19",
|
72
|
-
"chalk": "4.1.2",
|
73
|
-
"classnames": "^2.5.1",
|
74
|
-
"dotenv": "^16.4.5",
|
75
|
-
"eslint": "^8.57.0",
|
76
|
-
"eslint-config-prettier": "^9.1.0",
|
77
|
-
"eslint-plugin-import": "^2.29.1",
|
78
|
-
"eslint-plugin-react-hooks": "^4.6.2",
|
79
|
-
"eslint-plugin-react-refresh": "^0.4.7",
|
80
|
-
"eslint-plugin-storybook": "^0.8.0",
|
81
|
-
"glob": "10.3.10",
|
82
|
-
"husky": "^9.0.11",
|
83
|
-
"lint-staged": "^15.2.7",
|
84
|
-
"p-limit": "^6.1.0",
|
85
|
-
"postcss-preset-env": "^9.6.0",
|
86
|
-
"prettier": "^3.3.3",
|
87
|
-
"react": "^18.3.1",
|
88
|
-
"react-dom": "^18.3.1",
|
89
|
-
"sass": "^1.77.7",
|
90
|
-
"storybook": "^8.2.2",
|
91
|
-
"stylelint": "^16.7.0",
|
92
|
-
"stylelint-config-idiomatic-order": "^10.0.0",
|
93
|
-
"stylelint-config-rational-order": "^0.1.2",
|
94
|
-
"stylelint-config-standard": "^36.0.1",
|
95
|
-
"stylelint-order": "^6.0.4",
|
96
|
-
"stylelint-prettier": "^5.0.0",
|
97
|
-
"stylelint-scss": "^6.4.0",
|
98
|
-
"superagent": "^9.0.2",
|
99
|
-
"typescript": "^5.2.2",
|
100
|
-
"vite": "^5.3.1",
|
101
|
-
"vite-plugin-dts": "^3.9.1",
|
102
|
-
"vite-plugin-lib-inject-css": "^2.1.1",
|
103
|
-
"vite-plugin-svgr": "^4.2.0"
|
104
|
-
},
|
105
|
-
"peerDependencies": {
|
106
|
-
"@headlessui/react": "^2.1.2",
|
107
|
-
"react": "^18.3.1",
|
108
|
-
"react-dom": "^18.3.1"
|
109
|
-
},
|
110
|
-
"husky": {
|
111
|
-
"hooks": {
|
112
|
-
"pre-commit": "lint-staged"
|
113
|
-
}
|
114
|
-
},
|
115
|
-
"lint-staged": {
|
116
|
-
"**/*.{ts,tsx}": [
|
117
|
-
"eslint --ignore-path .eslintignore",
|
118
|
-
"prettier --write"
|
119
|
-
],
|
120
|
-
"**/*.{css,scss}": [
|
121
|
-
"stylelint --fix"
|
122
|
-
]
|
123
|
-
},
|
124
|
-
"dependencies": {
|
125
|
-
"swiper": "^11.1.5",
|
126
|
-
"use-clipboard-copy": "^0.2.0"
|
127
|
-
}
|
128
|
-
}
|
1
|
+
{
|
2
|
+
"name": "mimir-ui-kit",
|
3
|
+
"private": false,
|
4
|
+
"version": "1.14.3",
|
5
|
+
"type": "module",
|
6
|
+
"exports": {
|
7
|
+
".": {
|
8
|
+
"types": "./dist/index.d.ts",
|
9
|
+
"default": "./dist/index.js"
|
10
|
+
},
|
11
|
+
"./components": {
|
12
|
+
"types": "./dist/components/index.d.ts",
|
13
|
+
"default": "./dist/components/index.js"
|
14
|
+
},
|
15
|
+
"./hooks": {
|
16
|
+
"types": "./dist/hooks/index.d.ts",
|
17
|
+
"default": "./dist/hooks/index.js"
|
18
|
+
},
|
19
|
+
"./icons": {
|
20
|
+
"types": "./dist/icons/index.d.ts",
|
21
|
+
"default": "./dist/icons/index.js"
|
22
|
+
},
|
23
|
+
"./styles": {
|
24
|
+
"default": "./dist/assets/index.css"
|
25
|
+
}
|
26
|
+
},
|
27
|
+
"module": "./dist/index.js",
|
28
|
+
"types": "./dist/index.d.ts",
|
29
|
+
"files": [
|
30
|
+
"dist"
|
31
|
+
],
|
32
|
+
"sideEffects": [
|
33
|
+
"**/*.{css,scss}"
|
34
|
+
],
|
35
|
+
"scripts": {
|
36
|
+
"build": "tsc --p ./tsconfig-build.json && vite build",
|
37
|
+
"storybook": "storybook dev -p 6006",
|
38
|
+
"build-storybook": "storybook build",
|
39
|
+
"ts:check": "tsc -b",
|
40
|
+
"lint:fix": "eslint . --ext ts,tsx --fix",
|
41
|
+
"lint:prettier": "npx prettier . --write",
|
42
|
+
"lint:stylelint": "stylelint '**/*.module{.css,.scss}'",
|
43
|
+
"lint:stylelint:fix": "stylelint '**/*.module{.css,.scss}' --fix",
|
44
|
+
"icons": "svgr --expand-props start ./src/icons/svgs",
|
45
|
+
"prepare": "husky",
|
46
|
+
"create-component": "node createComponent.js"
|
47
|
+
},
|
48
|
+
"devDependencies": {
|
49
|
+
"@chromatic-com/storybook": "^1.6.1",
|
50
|
+
"@headlessui/react": "^2.1.2",
|
51
|
+
"@laynezh/vite-plugin-lib-assets": "^0.5.23",
|
52
|
+
"@loadable/component": "^5.15.2",
|
53
|
+
"@storybook/addon-essentials": "^8.2.2",
|
54
|
+
"@storybook/addon-interactions": "^8.2.2",
|
55
|
+
"@storybook/addon-links": "^8.2.2",
|
56
|
+
"@storybook/addon-onboarding": "^8.2.2",
|
57
|
+
"@storybook/blocks": "^8.2.2",
|
58
|
+
"@storybook/builder-vite": "^8.2.2",
|
59
|
+
"@storybook/react": "^8.2.2",
|
60
|
+
"@storybook/react-vite": "^8.2.2",
|
61
|
+
"@storybook/test": "^8.2.2",
|
62
|
+
"@svgr/cli": "^8.1.0",
|
63
|
+
"@svgr/core": "^8.1.0",
|
64
|
+
"@svgr/plugin-svgo": "^8.1.0",
|
65
|
+
"@types/node": "^20.14.10",
|
66
|
+
"@types/react": "^18.3.3",
|
67
|
+
"@types/react-dom": "^18.3.0",
|
68
|
+
"@typescript-eslint/eslint-plugin": "^7.13.1",
|
69
|
+
"@typescript-eslint/parser": "^7.13.1",
|
70
|
+
"@vitejs/plugin-react": "^4.3.1",
|
71
|
+
"autoprefixer": "^10.4.19",
|
72
|
+
"chalk": "4.1.2",
|
73
|
+
"classnames": "^2.5.1",
|
74
|
+
"dotenv": "^16.4.5",
|
75
|
+
"eslint": "^8.57.0",
|
76
|
+
"eslint-config-prettier": "^9.1.0",
|
77
|
+
"eslint-plugin-import": "^2.29.1",
|
78
|
+
"eslint-plugin-react-hooks": "^4.6.2",
|
79
|
+
"eslint-plugin-react-refresh": "^0.4.7",
|
80
|
+
"eslint-plugin-storybook": "^0.8.0",
|
81
|
+
"glob": "10.3.10",
|
82
|
+
"husky": "^9.0.11",
|
83
|
+
"lint-staged": "^15.2.7",
|
84
|
+
"p-limit": "^6.1.0",
|
85
|
+
"postcss-preset-env": "^9.6.0",
|
86
|
+
"prettier": "^3.3.3",
|
87
|
+
"react": "^18.3.1",
|
88
|
+
"react-dom": "^18.3.1",
|
89
|
+
"sass": "^1.77.7",
|
90
|
+
"storybook": "^8.2.2",
|
91
|
+
"stylelint": "^16.7.0",
|
92
|
+
"stylelint-config-idiomatic-order": "^10.0.0",
|
93
|
+
"stylelint-config-rational-order": "^0.1.2",
|
94
|
+
"stylelint-config-standard": "^36.0.1",
|
95
|
+
"stylelint-order": "^6.0.4",
|
96
|
+
"stylelint-prettier": "^5.0.0",
|
97
|
+
"stylelint-scss": "^6.4.0",
|
98
|
+
"superagent": "^9.0.2",
|
99
|
+
"typescript": "^5.2.2",
|
100
|
+
"vite": "^5.3.1",
|
101
|
+
"vite-plugin-dts": "^3.9.1",
|
102
|
+
"vite-plugin-lib-inject-css": "^2.1.1",
|
103
|
+
"vite-plugin-svgr": "^4.2.0"
|
104
|
+
},
|
105
|
+
"peerDependencies": {
|
106
|
+
"@headlessui/react": "^2.1.2",
|
107
|
+
"react": "^18.3.1",
|
108
|
+
"react-dom": "^18.3.1"
|
109
|
+
},
|
110
|
+
"husky": {
|
111
|
+
"hooks": {
|
112
|
+
"pre-commit": "lint-staged"
|
113
|
+
}
|
114
|
+
},
|
115
|
+
"lint-staged": {
|
116
|
+
"**/*.{ts,tsx}": [
|
117
|
+
"eslint --ignore-path .eslintignore",
|
118
|
+
"prettier --write"
|
119
|
+
],
|
120
|
+
"**/*.{css,scss}": [
|
121
|
+
"stylelint --fix"
|
122
|
+
]
|
123
|
+
},
|
124
|
+
"dependencies": {
|
125
|
+
"swiper": "^11.1.5",
|
126
|
+
"use-clipboard-copy": "^0.2.0"
|
127
|
+
}
|
128
|
+
}
|