@chrome-consulting/krit-ui 0.0.49 → 0.0.51
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 +76 -19
- package/dist/components/ui/sortable-header.d.ts +7 -3
- package/dist/components/ui/time-picker.d.ts +2 -0
- package/dist/krit-ui.js +3954 -3946
- package/dist/krit-ui.umd.cjs +23 -23
- package/package.json +4 -12
package/README.md
CHANGED
|
@@ -2,18 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
Библиотека UI компонентов для [KRIT](https://krit.global/)
|
|
4
4
|
|
|
5
|
-
## Установка
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
npm install @chrome-consulting/krit-ui
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
Подключите стили библиотеки в точке входа приложения:
|
|
12
|
-
|
|
13
|
-
```ts
|
|
14
|
-
import '@chrome-consulting/krit-ui/style.css';
|
|
15
|
-
```
|
|
16
|
-
|
|
17
5
|
## Использование библиотеки
|
|
18
6
|
|
|
19
7
|
`<ThemeProvider>` обязательна для корректного отображения компонентов UI.
|
|
@@ -21,10 +9,7 @@ import '@chrome-consulting/krit-ui/style.css';
|
|
|
21
9
|
`<ThemeProvider>` принимает свойство `translations` через которое можно передать переводы.
|
|
22
10
|
|
|
23
11
|
### Пример
|
|
24
|
-
|
|
25
12
|
```jsx
|
|
26
|
-
import { ThemeProvider } from '@chrome-consulting/krit-ui';
|
|
27
|
-
|
|
28
13
|
<ThemeProvider translations={
|
|
29
14
|
{
|
|
30
15
|
confirmAction: 'Подтвердите действие',
|
|
@@ -36,16 +21,88 @@ import { ThemeProvider } from '@chrome-consulting/krit-ui';
|
|
|
36
21
|
</ThemeProvider>
|
|
37
22
|
```
|
|
38
23
|
|
|
39
|
-
## Публикация
|
|
24
|
+
## Публикация пакета
|
|
40
25
|
|
|
41
|
-
|
|
26
|
+
Пакет публикуется в npm как `@chrome-consulting/krit-ui`.
|
|
27
|
+
|
|
28
|
+
Перед публикацией убедитесь, что в `package.json` и `package-lock.json` указаны:
|
|
29
|
+
|
|
30
|
+
```json
|
|
31
|
+
{
|
|
32
|
+
"name": "@chrome-consulting/krit-ui",
|
|
33
|
+
"version": "x.y.z"
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
В `package.json` не должно быть `"private": true`.
|
|
38
|
+
|
|
39
|
+
### Подготовка PR
|
|
40
|
+
|
|
41
|
+
1. Создайте ветку от актуального `main`.
|
|
42
|
+
2. Внесите изменения в исходники `lib/`.
|
|
43
|
+
3. Поднимите версию пакета.
|
|
44
|
+
4. Проверьте пакет локально:
|
|
42
45
|
|
|
43
46
|
```bash
|
|
44
|
-
npm
|
|
47
|
+
npm ci
|
|
48
|
+
npm run build
|
|
49
|
+
npm run lint
|
|
45
50
|
npm pack --dry-run
|
|
46
|
-
npm publish
|
|
47
51
|
```
|
|
48
52
|
|
|
53
|
+
5. Откройте PR в `krit-ui`.
|
|
54
|
+
|
|
55
|
+
### Публикация после merge
|
|
56
|
+
|
|
57
|
+
Публиковать нужно из актуального `main`, после merge PR:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
git checkout main
|
|
61
|
+
git pull
|
|
62
|
+
npm ci
|
|
63
|
+
npm run build
|
|
64
|
+
npm pack --dry-run
|
|
65
|
+
npm publish --access public
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Проверьте опубликованную версию:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
npm view @chrome-consulting/krit-ui version
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Если `npm whoami` возвращает `ENEEDAUTH`, выполните логин:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
npm login --scope=@chrome-consulting --registry=https://registry.npmjs.org/
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Если браузерный логин не работает:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
npm login --auth-type=legacy --scope=@chrome-consulting --registry=https://registry.npmjs.org/
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Если `npm publish` возвращает `403`, у аккаунта нет прав на пакет или scope `@chrome-consulting`.
|
|
87
|
+
|
|
88
|
+
### Обновление TORO web
|
|
89
|
+
|
|
90
|
+
После публикации новой версии обновите зависимость в TORO `web`:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
cd ../web
|
|
94
|
+
npm install @chrome-consulting/krit-ui@x.y.z
|
|
95
|
+
npm run typecheck
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Если до публикации использовался временный `patch-package`, удалите patch после установки опубликованной версии:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
rm patches/@chrome-consulting+krit-ui+*.patch
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Если patch был единственным, также можно убрать `postinstall: patch-package` из `web/package.json`.
|
|
105
|
+
|
|
49
106
|
## Expanding the ESLint configuration
|
|
50
107
|
|
|
51
108
|
If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
2
|
import { Column, RowData } from '@tanstack/react-table';
|
|
3
3
|
interface SortableHeaderProps<TData extends RowData, TValue = unknown> {
|
|
4
4
|
className?: string;
|
|
@@ -6,7 +6,11 @@ interface SortableHeaderProps<TData extends RowData, TValue = unknown> {
|
|
|
6
6
|
column: Column<TData, TValue>;
|
|
7
7
|
enableMultiSort?: boolean;
|
|
8
8
|
maxMultiSortColumns?: number;
|
|
9
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Количество активных сортировок. Передайте table.getState().sorting.length,
|
|
11
|
+
* чтобы показывать badge 1/2/3 только когда сортировок больше одной.
|
|
12
|
+
*/
|
|
13
|
+
sortingCount?: number;
|
|
10
14
|
}
|
|
11
|
-
export declare const SortableHeader: <TData extends RowData, TValue = unknown>({ className, children, column, enableMultiSort, maxMultiSortColumns,
|
|
15
|
+
export declare const SortableHeader: <TData extends RowData, TValue = unknown>({ className, children, column, enableMultiSort, maxMultiSortColumns, sortingCount, }: SortableHeaderProps<TData, TValue>) => import("react/jsx-runtime").JSX.Element;
|
|
12
16
|
export {};
|
|
@@ -3,6 +3,8 @@ import * as React from 'react';
|
|
|
3
3
|
export interface TimePickerProps extends Omit<InputProps, 'onChange' | 'value' | 'type'> {
|
|
4
4
|
value: string;
|
|
5
5
|
onChange: (value: string) => void;
|
|
6
|
+
/** Показывать маску времени в пустом поле. */
|
|
7
|
+
showMask?: boolean;
|
|
6
8
|
}
|
|
7
9
|
/**
|
|
8
10
|
* Компонент выбора времени с маской ввода и выпадающим списком для удобного выбора.
|