urfu-ui-kit-react 2.0.4 → 2.0.6-next.0
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/dist/components/ConfirmModal/ConfirmModal.types.d.ts +1 -1
- package/dist/components/ConfirmModal/ConfirmModal.types.d.ts.map +1 -1
- package/dist/components/ErrorScreen/ErrorScreen.d.ts +43 -3
- package/dist/components/ErrorScreen/ErrorScreen.d.ts.map +1 -1
- package/dist/components/Icon/Icon.d.ts.map +1 -1
- package/dist/components/Modal/Modal.d.ts +2 -1
- package/dist/components/Modal/Modal.d.ts.map +1 -1
- package/dist/components/Modal/Modal.types.d.ts +12 -0
- package/dist/components/Modal/Modal.types.d.ts.map +1 -1
- package/dist/components/Modal/useModalFocus.d.ts +1 -1
- package/dist/components/Modal/useModalFocus.d.ts.map +1 -1
- package/dist/components/Multiselect/Multiselect.d.ts +1 -1
- package/dist/components/Multiselect/Multiselect.d.ts.map +1 -1
- package/dist/components/Multiselect/Multiselect.types.d.ts +6 -0
- package/dist/components/Multiselect/Multiselect.types.d.ts.map +1 -1
- package/dist/components/Notification/Notification.d.ts +8 -1
- package/dist/components/Notification/Notification.d.ts.map +1 -1
- package/dist/components/OfflineBanner/OfflineBanner.d.ts +34 -0
- package/dist/components/OfflineBanner/OfflineBanner.d.ts.map +1 -0
- package/dist/components/Select/MobileOptionSheet.d.ts +31 -0
- package/dist/components/Select/MobileOptionSheet.d.ts.map +1 -0
- package/dist/components/Select/Select.d.ts +1 -1
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/components/Select/Select.types.d.ts +6 -0
- package/dist/components/Select/Select.types.d.ts.map +1 -1
- package/dist/components/Table/Filter/Filter.d.ts.map +1 -1
- package/dist/components/Table/Table.helpers.d.ts.map +1 -1
- package/dist/components/Table/TableRow.d.ts.map +1 -1
- package/dist/hooks/useMediaQuery.d.ts +9 -0
- package/dist/hooks/useMediaQuery.d.ts.map +1 -0
- package/dist/hooks/useMobilePicker.d.ts +6 -0
- package/dist/hooks/useMobilePicker.d.ts.map +1 -0
- package/dist/hooks/useOnlineStatus.d.ts +7 -0
- package/dist/hooks/useOnlineStatus.d.ts.map +1 -0
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/responsive/uiKitResponsive.d.ts +6 -0
- package/dist/responsive/uiKitResponsive.d.ts.map +1 -1
- package/dist/shared/sheetTitle.d.ts +11 -0
- package/dist/shared/sheetTitle.d.ts.map +1 -0
- package/dist/shared/uiKitDefaults.d.ts +15 -0
- package/dist/shared/uiKitDefaults.d.ts.map +1 -0
- package/dist/style-no-fonts.css +1 -1
- package/dist/style.css +1 -1
- package/dist/urfu-ui-kit-react.js +6714 -6084
- package/dist/utils/describeError.d.ts +122 -0
- package/dist/utils/describeError.d.ts.map +1 -0
- package/dist/utils/hasPreviousPage.d.ts +10 -0
- package/dist/utils/hasPreviousPage.d.ts.map +1 -0
- package/package.json +79 -78
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Описание любой ошибки для человека: код, группа, заголовок, текст и действие.
|
|
3
|
+
*
|
|
4
|
+
* Сервисы раньше разбирали ошибки сами, каждый по-своему, и получали «Что-то пошло не так»
|
|
5
|
+
* на любой сбой или «Страница не найдена» на сбое служебного запроса. Здесь одно правило
|
|
6
|
+
* для всех: ErrorScreen и уведомления берут готовое описание, а сервис сообщает только,
|
|
7
|
+
* что загружал (subject) и как повторить.
|
|
8
|
+
*
|
|
9
|
+
* Понимает ошибки RTK Query (fetchBaseQuery), SerializedError, ответы fetch (Response),
|
|
10
|
+
* ошибки axios-подобных клиентов, ответы сервера в формате { message | detail | title },
|
|
11
|
+
* обрыв сети, таймаут, отмену и ошибки рендера.
|
|
12
|
+
*/
|
|
13
|
+
/** Группа ошибки: от неё зависят текст и действие, а не от конкретного кода. */
|
|
14
|
+
export type ErrorGroup = 'auth' | 'forbidden' | 'notFound' | 'invalid' | 'conflict' | 'tooLarge' | 'rateLimit' | 'timeout' | 'server' | 'network' | 'parsing' | 'render' | 'aborted';
|
|
15
|
+
/** Что предложить человеку. */
|
|
16
|
+
export type ErrorAction = 'retry' | 'login' | 'home' | 'reload' | 'fix' | 'wait' | 'none';
|
|
17
|
+
export interface ErrorDetails {
|
|
18
|
+
/** HTTP-код, если ответ был. */
|
|
19
|
+
code: number | null;
|
|
20
|
+
/** Служебный статус клиента: FETCH_ERROR, TIMEOUT_ERROR и т. п. */
|
|
21
|
+
status?: string;
|
|
22
|
+
method?: string;
|
|
23
|
+
url?: string;
|
|
24
|
+
/** Сообщение сервера как есть — для технической поддержки. */
|
|
25
|
+
serverMessage?: string;
|
|
26
|
+
/** Идентификатор запроса из ответа сервера, если есть. */
|
|
27
|
+
requestId?: string;
|
|
28
|
+
/** Время описания ошибки (ISO). */
|
|
29
|
+
time: string;
|
|
30
|
+
}
|
|
31
|
+
export interface ErrorDescription {
|
|
32
|
+
group: ErrorGroup;
|
|
33
|
+
code: number | null;
|
|
34
|
+
/** Вариант ErrorScreen. */
|
|
35
|
+
variant: 'notFound' | 'forbidden' | 'serverError';
|
|
36
|
+
title: string;
|
|
37
|
+
text: string;
|
|
38
|
+
action: ErrorAction;
|
|
39
|
+
/** Подпись кнопки основного действия. */
|
|
40
|
+
actionLabel: string;
|
|
41
|
+
/** Короткая строка для уведомления: заголовок и, если есть, человеческая причина. */
|
|
42
|
+
message: string;
|
|
43
|
+
details: ErrorDetails;
|
|
44
|
+
}
|
|
45
|
+
export interface DescribeErrorOptions {
|
|
46
|
+
/**
|
|
47
|
+
* Что загружали — в винительном падеже, со строчной: «реестр», «права пользователя»,
|
|
48
|
+
* «статистику». Подставляется в заголовок: «Не удалось загрузить реестр».
|
|
49
|
+
*/
|
|
50
|
+
subject?: string;
|
|
51
|
+
/** Что делали, если не загрузка: «сохранить заявку», «удалить запись». Заголовок: «Не удалось сохранить заявку». */
|
|
52
|
+
operation?: string;
|
|
53
|
+
/**
|
|
54
|
+
* 404/410 означает «нет такой страницы» только для ресурса самой страницы.
|
|
55
|
+
* Для служебного запроса (права, справочник) это сбой загрузки. По умолчанию true.
|
|
56
|
+
*/
|
|
57
|
+
notFoundIsPage?: boolean;
|
|
58
|
+
method?: string;
|
|
59
|
+
url?: string;
|
|
60
|
+
}
|
|
61
|
+
interface GroupText {
|
|
62
|
+
title: string;
|
|
63
|
+
text: string;
|
|
64
|
+
action: ErrorAction;
|
|
65
|
+
actionLabel: string;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Тексты групп по умолчанию — черновик, на согласовании с дизайнером.
|
|
69
|
+
* Сервис может заменить любые через configureErrorTexts.
|
|
70
|
+
*/
|
|
71
|
+
export declare const DEFAULT_ERROR_TEXTS: Record<Exclude<ErrorGroup, 'aborted'>, GroupText>;
|
|
72
|
+
/** Заменить тексты групп для всего сервиса (частично). Возвращает функцию отката. */
|
|
73
|
+
export declare function configureErrorTexts(overrides: Partial<Record<Exclude<ErrorGroup, 'aborted'>, Partial<GroupText>>>): () => void;
|
|
74
|
+
/**
|
|
75
|
+
* Сообщение сервера можно показать человеку, если оно по-русски, короткое
|
|
76
|
+
* и не похоже на техническое (стек, HTML-страница, имя исключения).
|
|
77
|
+
*/
|
|
78
|
+
export declare function isHumanMessage(message: string | undefined): message is string;
|
|
79
|
+
/** Описать ошибку для человека. Отмену запроса возвращает с group 'aborted' и action 'none' — её не показывают. */
|
|
80
|
+
export declare function describeError(error: unknown, options?: DescribeErrorOptions): ErrorDescription;
|
|
81
|
+
/**
|
|
82
|
+
* Что сервис сообщает о себе для письма в техподдержку и куда ведёт кнопка обращения.
|
|
83
|
+
* Задаётся один раз при запуске сервиса (в шаблоне — в точке входа).
|
|
84
|
+
*/
|
|
85
|
+
export interface ErrorReportConfig {
|
|
86
|
+
/** Название сервиса: «ИТ-активы». Без него — имя приложения в оболочке или адрес сайта. */
|
|
87
|
+
service?: string;
|
|
88
|
+
/** Версия сборки сервиса. */
|
|
89
|
+
version?: string;
|
|
90
|
+
/** Логин пользователя, если он нужен техподдержке для поиска в журналах. */
|
|
91
|
+
user?: string;
|
|
92
|
+
/** Адрес техподдержки для письма; null — без кнопки обращения (если нет onSupport). */
|
|
93
|
+
supportEmail?: string | null;
|
|
94
|
+
/** Подпись кнопки обращения. */
|
|
95
|
+
supportLabel?: string;
|
|
96
|
+
/** Своё действие вместо письма: форма заявки, страница, чат. Получает готовые подробности. */
|
|
97
|
+
onSupport?: (request: SupportRequest) => void;
|
|
98
|
+
}
|
|
99
|
+
/** Что получает своё действие обращения в техподдержку. */
|
|
100
|
+
export interface SupportRequest {
|
|
101
|
+
/** Готовый текст подробностей — тот же, что в письме и в «Скопировать». */
|
|
102
|
+
report: string;
|
|
103
|
+
description: ErrorDescription;
|
|
104
|
+
/** Ссылка на готовое письмо, если адрес техподдержки задан. */
|
|
105
|
+
mailto: string | null;
|
|
106
|
+
}
|
|
107
|
+
/** Техподдержка УрФУ по умолчанию — первая линия, как в подвале личного кабинета. */
|
|
108
|
+
export declare const DEFAULT_SUPPORT_EMAIL = "support@urfu.ru";
|
|
109
|
+
export declare const DEFAULT_SUPPORT_LABEL = "\u041D\u0430\u043F\u0438\u0441\u0430\u0442\u044C \u0432 \u0442\u0435\u0445\u043F\u043E\u0434\u0434\u0435\u0440\u0436\u043A\u0443";
|
|
110
|
+
/** Задать сведения о сервисе и обращение в техподдержку для всего сервиса. Возвращает откат. */
|
|
111
|
+
export declare function configureErrorReport(config: ErrorReportConfig): () => void;
|
|
112
|
+
/** Текущие настройки обращения — для ErrorScreen; явные пропсы главнее. */
|
|
113
|
+
export declare function getErrorReportConfig(): Readonly<ErrorReportConfig>;
|
|
114
|
+
/** Текст подробностей для технической поддержки — для письма и кнопки «Скопировать». */
|
|
115
|
+
export declare function formatErrorDetails(description: ErrorDescription): string;
|
|
116
|
+
/**
|
|
117
|
+
* Ссылка mailto: готовое письмо в техподдержку — тема с сервисом, ошибкой и кодом, в тексте
|
|
118
|
+
* место для «что я делал(а)» и подробности. Сотрудник дописывает одну строку и отправляет.
|
|
119
|
+
*/
|
|
120
|
+
export declare function supportMailto(description: ErrorDescription, email?: string): string;
|
|
121
|
+
export {};
|
|
122
|
+
//# sourceMappingURL=describeError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"describeError.d.ts","sourceRoot":"","sources":["../../src/utils/describeError.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Есть ли куда вернуться кнопкой «Назад» в пределах сайта: в личном кабинете — на любую
|
|
3
|
+
* страницу любого сервиса, у отдельно открытого сервиса — на его прошлую страницу.
|
|
4
|
+
*
|
|
5
|
+
* Navigation API видит только страницы своего сайта, поэтому «Назад» не уведёт на почту
|
|
6
|
+
* или чужой сайт, а у вкладки, открытой из письма, возвращаться некуда. Без Navigation API
|
|
7
|
+
* (старые браузеры) — история вкладки.
|
|
8
|
+
*/
|
|
9
|
+
export declare function hasPreviousPage(): boolean;
|
|
10
|
+
//# sourceMappingURL=hasPreviousPage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hasPreviousPage.d.ts","sourceRoot":"","sources":["../../src/utils/hasPreviousPage.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAKzC"}
|
package/package.json
CHANGED
|
@@ -1,78 +1,79 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "urfu-ui-kit-react",
|
|
3
|
-
"description": "UrFU UI-Kit for React Web",
|
|
4
|
-
"license": "UNLICENSED",
|
|
5
|
-
"private": false,
|
|
6
|
-
"version": "2.0.
|
|
7
|
-
"type": "module",
|
|
8
|
-
"main": "dist/urfu-ui-kit-react",
|
|
9
|
-
"types": "dist/index.d.ts",
|
|
10
|
-
"scripts": {
|
|
11
|
-
"start": "vite",
|
|
12
|
-
"build": "tsc && vite build && node scripts/externalize-fonts.mjs && node scripts/generate-no-fonts-css.mjs && tsc -p tsconfig.declaration.json",
|
|
13
|
-
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
|
|
14
|
-
"typecheck": "tsc --noEmit && tsc -p tsconfig.node.json --noEmit && tsc -p docs/tsconfig.json --noEmit",
|
|
15
|
-
"preview": "vite preview",
|
|
16
|
-
"sb": "storybook dev -p 6006",
|
|
17
|
-
"sbb": "storybook build",
|
|
18
|
-
"pub": "
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"test
|
|
27
|
-
"test:
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"@storybook
|
|
37
|
-
"@storybook/addon-
|
|
38
|
-
"@storybook/addon-
|
|
39
|
-
"@storybook/addon-
|
|
40
|
-
"@storybook/addon-
|
|
41
|
-
"@storybook/addon-
|
|
42
|
-
"@storybook/
|
|
43
|
-
"@storybook/
|
|
44
|
-
"@storybook/react
|
|
45
|
-
"@storybook/
|
|
46
|
-
"@
|
|
47
|
-
"@
|
|
48
|
-
"@types/
|
|
49
|
-
"@types/react
|
|
50
|
-
"@
|
|
51
|
-
"@typescript-eslint/
|
|
52
|
-
"@
|
|
53
|
-
"@
|
|
54
|
-
"
|
|
55
|
-
"eslint
|
|
56
|
-
"eslint-plugin-react
|
|
57
|
-
"eslint-plugin-react-
|
|
58
|
-
"eslint-plugin-
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"less
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"vite
|
|
67
|
-
"vite-plugin-
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
"react
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "urfu-ui-kit-react",
|
|
3
|
+
"description": "UrFU UI-Kit for React Web",
|
|
4
|
+
"license": "UNLICENSED",
|
|
5
|
+
"private": false,
|
|
6
|
+
"version": "2.0.6-next.0",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"main": "dist/urfu-ui-kit-react",
|
|
9
|
+
"types": "dist/index.d.ts",
|
|
10
|
+
"scripts": {
|
|
11
|
+
"start": "vite",
|
|
12
|
+
"build": "tsc && vite build && node scripts/externalize-fonts.mjs && node scripts/generate-no-fonts-css.mjs && tsc -p tsconfig.declaration.json",
|
|
13
|
+
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
|
|
14
|
+
"typecheck": "tsc --noEmit && tsc -p tsconfig.node.json --noEmit && tsc -p docs/tsconfig.json --noEmit",
|
|
15
|
+
"preview": "vite preview",
|
|
16
|
+
"sb": "storybook dev -p 6006",
|
|
17
|
+
"sbb": "storybook build",
|
|
18
|
+
"pub": "npm run build && npm version patch && npm publish",
|
|
19
|
+
"pub:next": "npm run build && npm version prerelease --preid next --no-git-tag-version && npm publish --tag next",
|
|
20
|
+
"vp": "vitepress dev docs",
|
|
21
|
+
"og:generate": "node scripts/generate-og-images.mjs",
|
|
22
|
+
"vpb": "npm run og:generate && vitepress build docs",
|
|
23
|
+
"vpp": "vitepress preview docs",
|
|
24
|
+
"docs": "start \"sb\" npm run sb && npm run vp",
|
|
25
|
+
"docsb": "npm run og:generate && storybook build --output-dir uikit-react && vitepress build docs",
|
|
26
|
+
"test": "vitest run",
|
|
27
|
+
"test:watch": "vitest",
|
|
28
|
+
"test:coverage": "vitest run --coverage"
|
|
29
|
+
},
|
|
30
|
+
"dependencies": {
|
|
31
|
+
"date-fns": "^3.6.0",
|
|
32
|
+
"react-datepicker": "^7.4.0",
|
|
33
|
+
"urfu-ui-kit-vanilla": "^2.9.2"
|
|
34
|
+
},
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"@chromatic-com/storybook": "^1.3.3",
|
|
37
|
+
"@storybook/addon-essentials": "^8.0.9",
|
|
38
|
+
"@storybook/addon-interactions": "^8.0.9",
|
|
39
|
+
"@storybook/addon-links": "^8.0.9",
|
|
40
|
+
"@storybook/addon-mdx-gfm": "^8.0.9",
|
|
41
|
+
"@storybook/addon-onboarding": "^8.0.9",
|
|
42
|
+
"@storybook/addon-themes": "^8.6.11",
|
|
43
|
+
"@storybook/blocks": "^8.0.9",
|
|
44
|
+
"@storybook/react": "^8.0.9",
|
|
45
|
+
"@storybook/react-vite": "^8.0.9",
|
|
46
|
+
"@storybook/test": "^8.0.9",
|
|
47
|
+
"@testing-library/react": "^16.3.2",
|
|
48
|
+
"@types/node": "^20.12.7",
|
|
49
|
+
"@types/react": "^18.2.75",
|
|
50
|
+
"@types/react-dom": "^18.2.22",
|
|
51
|
+
"@typescript-eslint/eslint-plugin": "^7.2.0",
|
|
52
|
+
"@typescript-eslint/parser": "^7.2.0",
|
|
53
|
+
"@vitejs/plugin-react": "^4.2.1",
|
|
54
|
+
"@vitest/coverage-v8": "^2.1.9",
|
|
55
|
+
"eslint": "^8.57.0",
|
|
56
|
+
"eslint-plugin-react": "^7.34.1",
|
|
57
|
+
"eslint-plugin-react-hooks": "^4.6.0",
|
|
58
|
+
"eslint-plugin-react-refresh": "^0.4.6",
|
|
59
|
+
"eslint-plugin-storybook": "^0.8.0",
|
|
60
|
+
"jsdom": "^25.0.1",
|
|
61
|
+
"less": "^4.2.0",
|
|
62
|
+
"less-loader": "^12.2.0",
|
|
63
|
+
"sharp": "^0.34.5",
|
|
64
|
+
"storybook": "^8.0.10",
|
|
65
|
+
"typescript": "^5.2.2",
|
|
66
|
+
"vite": "^5.3.1",
|
|
67
|
+
"vite-plugin-legacy": "^2.1.0",
|
|
68
|
+
"vite-plugin-style-import": "^2.0.0",
|
|
69
|
+
"vitepress": "^1.6.4",
|
|
70
|
+
"vitest": "^2.1.9"
|
|
71
|
+
},
|
|
72
|
+
"peerDependencies": {
|
|
73
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
74
|
+
"react-dom": "^18.0.0 || ^19.0.0"
|
|
75
|
+
},
|
|
76
|
+
"files": [
|
|
77
|
+
"dist"
|
|
78
|
+
]
|
|
79
|
+
}
|