@donkit-ai/design-system 0.2.3 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -114
- package/package.json +1 -1
- package/src/components/Modal.css +6 -4
- package/src/components/Textarea.css +9 -0
- package/src/styles/tokens.css +1 -1
package/README.md
CHANGED
|
@@ -2,112 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
Минимальная дизайн система на основе дизайн токенов с поддержкой светлой и темной темы.
|
|
4
4
|
|
|
5
|
-
## 🚀
|
|
5
|
+
## 🚀 Установка
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
**Рекомендуется** - в 10 раз быстрее чем через Git!
|
|
10
|
-
|
|
11
|
-
1. **Настройте доступ к GitLab Package Registry (один раз):**
|
|
12
|
-
|
|
13
|
-
Создайте файл `.npmrc` в корне вашего проекта:
|
|
14
|
-
|
|
15
|
-
```
|
|
16
|
-
@donkit-ai:registry=https://gitlab.com/api/v4/packages/npm/
|
|
17
|
-
//gitlab.com/api/v4/packages/npm/:_authToken=${CI_JOB_TOKEN}
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
Или используйте свой Personal Access Token вместо `${CI_JOB_TOKEN}`:
|
|
21
|
-
|
|
22
|
-
```
|
|
23
|
-
@donkit-ai:registry=https://gitlab.com/api/v4/packages/npm/
|
|
24
|
-
//gitlab.com/api/v4/packages/npm/:_authToken=YOUR_GITLAB_TOKEN
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
> **Создать токен:**
|
|
28
|
-
> 1. GitLab → Settings → Access Tokens
|
|
29
|
-
> 2. Name: `npm-packages` (любое имя)
|
|
30
|
-
> 3. **Scope:** `api` или `read_api` (для чтения пакетов)
|
|
31
|
-
> 4. **Role:** `Developer` (минимум для доступа к Package Registry)
|
|
32
|
-
> 5. Create token → скопируйте токен в `.npmrc`
|
|
33
|
-
|
|
34
|
-
2. **Добавьте пакет в `package.json`:**
|
|
35
|
-
|
|
36
|
-
```json
|
|
37
|
-
{
|
|
38
|
-
"dependencies": {
|
|
39
|
-
"@donkit-ai/design-system": "^0.1.2"
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
3. **Установите:**
|
|
7
|
+
Установите пакет из npm:
|
|
45
8
|
|
|
46
9
|
```bash
|
|
47
|
-
npm install
|
|
10
|
+
npm install @donkit-ai/design-system
|
|
48
11
|
```
|
|
49
12
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
### Вариант 2: Через Git (МЕДЛЕННО 🐢)
|
|
55
|
-
|
|
56
|
-
1. **Добавьте пакет через Git в `package.json`:**
|
|
57
|
-
|
|
58
|
-
```json
|
|
59
|
-
{
|
|
60
|
-
"dependencies": {
|
|
61
|
-
"@donkit-ai/design-system": "git+https://gitlab.com/donkit-ai/platform/design/design-system.git#main"
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
Для приватных репозиториев используйте SSH:
|
|
67
|
-
```json
|
|
68
|
-
{
|
|
69
|
-
"dependencies": {
|
|
70
|
-
"@donkit-ai/design-system": "git+ssh://[email protected]:donkit-ai/platform/design/design-system.git#main"
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
2. **Установите зависимости:**
|
|
13
|
+
или
|
|
76
14
|
|
|
77
15
|
```bash
|
|
78
|
-
|
|
16
|
+
yarn add @donkit-ai/design-system
|
|
79
17
|
```
|
|
80
18
|
|
|
81
19
|
**Готово!** Дизайн-система установлена и готова к использованию.
|
|
82
20
|
|
|
83
|
-
> 💡 **Совет:** Для ускорения установки используйте флаг `--prefer-offline`:
|
|
84
|
-
> ```bash
|
|
85
|
-
> npm install --prefer-offline
|
|
86
|
-
> ```
|
|
87
|
-
> Это использует локальный кэш npm и ускоряет повторные установки.
|
|
88
|
-
|
|
89
21
|
### Обновление до последней версии
|
|
90
22
|
|
|
91
|
-
Когда дизайн-система обновляется, выполните:
|
|
92
|
-
|
|
93
23
|
```bash
|
|
94
24
|
npm update @donkit-ai/design-system
|
|
95
25
|
# или
|
|
96
26
|
npm install @donkit-ai/design-system@latest
|
|
97
27
|
```
|
|
98
28
|
|
|
99
|
-
### Использование конкретной версии
|
|
100
|
-
|
|
101
|
-
Можно зафиксировать конкретную версию через Git теги:
|
|
102
|
-
|
|
103
|
-
```json
|
|
104
|
-
{
|
|
105
|
-
"dependencies": {
|
|
106
|
-
"@donkit-ai/design-system": "git+...#v0.1.2"
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
```
|
|
110
|
-
|
|
111
29
|
## Особенности
|
|
112
30
|
|
|
113
31
|
- 🎨 **Дизайн токены** - семантические CSS переменные для цветов, отступов, типографики
|
|
@@ -718,16 +636,16 @@ import { AlertCircle } from 'lucide-react';
|
|
|
718
636
|
|
|
719
637
|
## 🛠 Для мейнтейнеров дизайн-системы
|
|
720
638
|
|
|
721
|
-
### Публикация в
|
|
639
|
+
### Публикация в npm
|
|
722
640
|
|
|
723
641
|
1. **Внесите изменения** в компоненты или токены
|
|
724
642
|
|
|
725
643
|
2. **Обновите версию** в `package.json`:
|
|
726
644
|
|
|
727
645
|
```bash
|
|
728
|
-
npm version patch # 0.
|
|
729
|
-
npm version minor # 0.
|
|
730
|
-
npm version major # 0.
|
|
646
|
+
npm version patch # 0.2.3 → 0.2.4 (багфиксы)
|
|
647
|
+
npm version minor # 0.2.3 → 0.3.0 (новые фичи)
|
|
648
|
+
npm version major # 0.2.3 → 1.0.0 (breaking changes)
|
|
731
649
|
```
|
|
732
650
|
|
|
733
651
|
3. **Создайте тег и запушьте:**
|
|
@@ -736,7 +654,7 @@ npm version major # 0.1.0 → 1.0.0 (breaking changes)
|
|
|
736
654
|
git push --follow-tags
|
|
737
655
|
```
|
|
738
656
|
|
|
739
|
-
**Готово!** GitLab CI автоматически опубликует новую версию в
|
|
657
|
+
**Готово!** GitLab CI автоматически опубликует новую версию в публичный npm registry.
|
|
740
658
|
|
|
741
659
|
### Команда получит обновления
|
|
742
660
|
|
|
@@ -746,28 +664,6 @@ npm update @donkit-ai/design-system
|
|
|
746
664
|
npm install @donkit-ai/design-system@latest
|
|
747
665
|
```
|
|
748
666
|
|
|
749
|
-
---
|
|
750
|
-
|
|
751
|
-
### Публикация через Git (альтернатива)
|
|
752
|
-
|
|
753
|
-
Если не используете Package Registry:
|
|
754
|
-
|
|
755
|
-
```bash
|
|
756
|
-
git add .
|
|
757
|
-
git commit -m "Update button styles"
|
|
758
|
-
git push origin main
|
|
759
|
-
|
|
760
|
-
# Опционально: создать тег
|
|
761
|
-
git tag v0.1.2
|
|
762
|
-
git push --tags
|
|
763
|
-
```
|
|
764
|
-
|
|
765
|
-
Команда обновляет:
|
|
766
|
-
|
|
767
|
-
```bash
|
|
768
|
-
npm update @donkit-ai/design-system
|
|
769
|
-
```
|
|
770
|
-
|
|
771
667
|
### Локальная разработка
|
|
772
668
|
|
|
773
669
|
Для тестирования изменений локально используйте `npm link`:
|
package/package.json
CHANGED
package/src/components/Modal.css
CHANGED
|
@@ -6,20 +6,20 @@
|
|
|
6
6
|
bottom: 0;
|
|
7
7
|
background-color: var(--color-overlay);
|
|
8
8
|
display: flex;
|
|
9
|
-
align-items:
|
|
9
|
+
align-items: flex-start;
|
|
10
10
|
justify-content: center;
|
|
11
11
|
z-index: 1000;
|
|
12
12
|
padding: var(--space-m);
|
|
13
|
+
overflow-y: auto;
|
|
13
14
|
}
|
|
14
15
|
|
|
15
16
|
.ds-modal {
|
|
16
17
|
background-color: var(--color-bg);
|
|
17
18
|
border: 1px solid var(--color-border);
|
|
18
19
|
border-radius: var(--radius-s);
|
|
19
|
-
max-height: 90vh;
|
|
20
|
-
overflow-y: auto;
|
|
21
20
|
display: flex;
|
|
22
21
|
flex-direction: column;
|
|
22
|
+
margin: auto 0;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
.ds-modal--small {
|
|
@@ -54,7 +54,6 @@
|
|
|
54
54
|
.ds-modal__body {
|
|
55
55
|
padding: 0 var(--space-l) var(--space-s);
|
|
56
56
|
flex: 1;
|
|
57
|
-
overflow-y: auto;
|
|
58
57
|
}
|
|
59
58
|
|
|
60
59
|
.ds-modal__footer {
|
|
@@ -63,4 +62,7 @@
|
|
|
63
62
|
justify-content: flex-start;
|
|
64
63
|
gap: var(--space-s);
|
|
65
64
|
padding: var(--space-l);
|
|
65
|
+
background-color: var(--color-bg);
|
|
66
|
+
position: relative;
|
|
67
|
+
z-index: 10;
|
|
66
68
|
}
|
|
@@ -28,6 +28,11 @@
|
|
|
28
28
|
transition: border-color var(--transition-normal);
|
|
29
29
|
line-height: 1.5;
|
|
30
30
|
resize: vertical;
|
|
31
|
+
/* Кастомный resize handle (уголок) */
|
|
32
|
+
background-image: linear-gradient(135deg, transparent 0%, transparent 50%, var(--color-border) 50%, var(--color-border) 56%, transparent 56%, transparent 62%, var(--color-border) 62%, var(--color-border) 68%, transparent 68%);
|
|
33
|
+
background-repeat: no-repeat;
|
|
34
|
+
background-position: bottom right;
|
|
35
|
+
background-size: 12px 12px;
|
|
31
36
|
}
|
|
32
37
|
|
|
33
38
|
.ds-textarea::placeholder {
|
|
@@ -36,12 +41,14 @@
|
|
|
36
41
|
|
|
37
42
|
.ds-textarea:hover:not(:disabled) {
|
|
38
43
|
border-color: var(--color-border-hover);
|
|
44
|
+
background-image: linear-gradient(135deg, transparent 0%, transparent 50%, var(--color-border-hover) 50%, var(--color-border-hover) 56%, transparent 56%, transparent 62%, var(--color-border-hover) 62%, var(--color-border-hover) 68%, transparent 68%);
|
|
39
45
|
}
|
|
40
46
|
|
|
41
47
|
.ds-textarea:focus,
|
|
42
48
|
.ds-textarea:active {
|
|
43
49
|
outline: none;
|
|
44
50
|
border-color: var(--color-border-hover);
|
|
51
|
+
background-image: linear-gradient(135deg, transparent 0%, transparent 50%, var(--color-border-hover) 50%, var(--color-border-hover) 56%, transparent 56%, transparent 62%, var(--color-border-hover) 62%, var(--color-border-hover) 68%, transparent 68%);
|
|
45
52
|
}
|
|
46
53
|
|
|
47
54
|
.ds-textarea:disabled {
|
|
@@ -50,10 +57,12 @@
|
|
|
50
57
|
|
|
51
58
|
.ds-textarea--error {
|
|
52
59
|
border-color: var(--color-error);
|
|
60
|
+
background-image: linear-gradient(135deg, transparent 0%, transparent 50%, var(--color-error) 50%, var(--color-error) 56%, transparent 56%, transparent 62%, var(--color-error) 62%, var(--color-error) 68%, transparent 68%);
|
|
53
61
|
}
|
|
54
62
|
|
|
55
63
|
.ds-textarea--no-resize {
|
|
56
64
|
resize: none;
|
|
65
|
+
background-image: none;
|
|
57
66
|
}
|
|
58
67
|
|
|
59
68
|
/* Sizes */
|
package/src/styles/tokens.css
CHANGED
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
--color-item-bg-selected: var(--color-white-06);
|
|
74
74
|
--color-item-bg-hover: var(--color-white-13);
|
|
75
75
|
--color-code-bg: var(--color-white-15);
|
|
76
|
-
--color-overlay: var(--color-black-
|
|
76
|
+
--color-overlay: var(--color-black-65);
|
|
77
77
|
|
|
78
78
|
/* Status colors - adaptive (bright for dark theme) */
|
|
79
79
|
--color-status-info: var(--color-info);
|