pne-ui 3.0.1 → 3.0.2

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 CHANGED
@@ -3,20 +3,20 @@
3
3
  [![NPM version][npm-image]][npm-url]
4
4
  [![Build][github-build]][github-build-url]
5
5
 
6
- Our wrapper over mui
6
+ Обертка над MUI
7
7
 
8
- ## Installation
8
+ ## Установка
9
9
 
10
- Install `pne-ui` together with its peer dependencies to avoid missing-package warnings:
10
+ Установите `pne-ui` вместе с peer-зависимостями:
11
11
 
12
12
  ```bash
13
13
  yarn add pne-ui @emotion/react@^11 @emotion/styled@^11 @mui/material@^7 @mui/system@^7 @mui/x-date-pickers-pro@^7 @mui/icons-material@^7 i18next@^23 react@^18 react-dom@^18 react-i18next@^11
14
14
  ```
15
15
 
16
- Adjust the React and React DOM versions to `^18` or `^19` depending on your application.
17
- The MUI packages accept `^6` or `^7`; install the major that matches your host app.
16
+ Подбирайте версии React и React DOM (`^18` или `^19`) в зависимости от вашего приложения.
17
+ Пакеты MUI поддерживают `^6` и `^7`, установите major-версию, которая совпадает с версией хост-приложения.
18
18
 
19
- Required peer packages and minimum versions:
19
+ Необходимые peer-зависимости и минимальные версии:
20
20
 
21
21
  - `@emotion/react@^11`
22
22
  - `@emotion/styled@^11`
@@ -29,6 +29,100 @@ Required peer packages and minimum versions:
29
29
  - `react-dom@^18 || ^19`
30
30
  - `react-i18next@^11`
31
31
 
32
+ ## Интеграция SearchUI
33
+
34
+ ### Подключение контекста через `SearchUIProvider`
35
+
36
+ Компоненты `SearchUI` и его фильтры получают конфигурацию через контекст `SearchUIDefaultsContext`.
37
+ Чтобы отдать реальные источники данных и управлять видимостью критериев, оберните SearchUI в `SearchUIProvider`
38
+ и передайте нужные обработчики в проп `defaults`:
39
+
40
+ ```tsx
41
+ import {
42
+ SearchUI,
43
+ SearchUIProvider,
44
+ CriterionTypeEnum,
45
+ ExactCriterionSearchLabelEnum,
46
+ } from 'pne-ui'
47
+
48
+ export const TransactionsPage = () => (
49
+ <SearchUIProvider
50
+ defaults={{
51
+ getDefaultCurrency: () => ({ id: 643, displayName: 'RUB' }),
52
+ getCurrencies: fetchCurrencies,
53
+ getMatchLinkedItems: request => api.multiget(request),
54
+ showProjectsCriterion: () => true,
55
+ showManagersCriterion: () => false,
56
+ // Методы ниже нужны для работы шаблонов фильтров (панель Templates)
57
+ // Возвращает список шаблонов поиска для выпадающего списка
58
+ getSearchTemplates: contextName => templatesApi.list(contextName),
59
+ // Сохраняет текущие настройки фильтров под именем шаблона
60
+ saveSearchTemplate: request => templatesApi.save(request),
61
+ // Удаляет ранее сохраненный шаблон
62
+ deleteSearchTemplate: request => templatesApi.remove(request),
63
+ // Проверяет, существует ли шаблон с указанным именем
64
+ searchTemplateExists: request => templatesApi.exists(request),
65
+ }}
66
+ >
67
+ <SearchUI
68
+ settingsContextName="transactions"
69
+ possibleCriteria={[
70
+ CriterionTypeEnum.DATE_RANGE,
71
+ CriterionTypeEnum.TRANSACTION_TYPES,
72
+ ]}
73
+ exactSearchLabels={[ExactCriterionSearchLabelEnum.ID]}
74
+ /* остальные пропсы */
75
+ />
76
+ </SearchUIProvider>
77
+ )
78
+ ```
79
+
80
+ Передавайте только те поля `SearchUIDefaults`, которые хотите переопределить — остальные значения берутся из
81
+ `initialSearchUIDefaults`. Более развернутый пример можно посмотреть в `src/stories/SearchUI.stories.tsx`.
82
+ `templatesApi` в примере — любая ваша обертка над бэкендом, которая умеет получать/сохранять шаблоны.
83
+
84
+ ## Локализация (i18n)
85
+
86
+ `pne-ui` не принимает текстовые ресурсы через пропсы и не содержит собственного `I18nextProvider`.
87
+ Все компоненты используют `useTranslation()` из `react-i18next`, поэтому они читают строки из того же контекста,
88
+ который инициализирован в приложении-хосте. Если в хосте нет i18next, библиотека будет просто возвращать ключи.
89
+
90
+ ### Что нужно сделать в проекте
91
+
92
+ 1. Инициализировать i18next один раз в корне приложения (например, в точке входа или конфигурации Storybook).
93
+ 2. Добавить `initReactI18next` или обернуть дерево в `<I18nextProvider i18n={i18nInstance}>`, чтобы контекст был доступен.
94
+ 3. Зарегистрировать все строки, которые ожидают компоненты `pne-ui` — в первую очередь ключи вида `react.searchUI.*`,
95
+ `clear.all`, `search.delete`, и т.д. Они должны жить в ресурсах самого хоста.
96
+
97
+ ### Пример настройки
98
+
99
+ ```ts
100
+ // i18n.ts
101
+ import i18n from 'i18next'
102
+ import { initReactI18next } from 'react-i18next'
103
+
104
+ i18n.use(initReactI18next).init({
105
+ lng: 'ru',
106
+ fallbackLng: 'en',
107
+ defaultNS: 'translation',
108
+ resources: {
109
+ ru: {
110
+ translation: {
111
+ 'react.searchUI.filters': 'Фильтры',
112
+ 'react.searchUI.template': 'Шаблон',
113
+ 'clear.all': 'Очистить всё',
114
+ // добавьте остальные ключи, которые используете
115
+ },
116
+ },
117
+ },
118
+ })
119
+
120
+ export default i18n
121
+ ```
122
+
123
+ После инициализации достаточно один раз импортировать `./i18n` в точке входа или Storybook; все компоненты `pne-ui`
124
+ подтянутся к уже созданному контексту и будут использовать зарегистрированные строки.
125
+
32
126
  [npm-url]: https://www.npmjs.com/package/pne-ui
33
127
 
34
128
  [npm-image]: https://img.shields.io/npm/v/pne-ui
@@ -20,6 +20,32 @@ type GetProjectCurrenciesRequest = {
20
20
  searchConditions: CriterionTypeEnum[];
21
21
  multigetCriteria: MultigetCriterion[];
22
22
  };
23
+ /**
24
+ * Набор функций и флагов, который описывает среду выполнения SearchUI.
25
+ * Конкретное приложение обязано переопределить нужные обработчики,
26
+ * чтобы выдавать списки сущностей, значения по умолчанию и скрывать/показывать
27
+ * элементы интерфейса.
28
+ *
29
+ * @remarks
30
+ * SearchUI считывает эти значения из {@link SearchUIDefaultsContext}. Все методы
31
+ * имеют заглушки в {@link initialSearchUIDefaults}, но в рабочем коде следует
32
+ * передавать реализацию через {@link SearchUIProvider}, иначе поисковой интерфейс
33
+ * не получит данные и не сможет отобразить нужные фильтры.
34
+ *
35
+ * @example
36
+ * ```tsx
37
+ * <SearchUIProvider
38
+ * defaults={{
39
+ * getCountries: fetchCountries,
40
+ * showProjectsCriterion: () => true,
41
+ * }}
42
+ * >
43
+ * <SearchUI {...props} />
44
+ * </SearchUIProvider>
45
+ * ```
46
+ *
47
+ * @see src/stories/SearchUI.stories.tsx
48
+ */
23
49
  export type SearchUIDefaults = {
24
50
  getDefaultCurrency: () => AbstractEntity;
25
51
  getMatchLinkedItems: (request: GetMatchLinkedItemsRequest) => Promise<AbstractEntity[]>;
@@ -65,6 +91,24 @@ type Props = {
65
91
  children: React.ReactNode;
66
92
  };
67
93
  export declare const initialSearchUIDefaults: SearchUIDefaults;
94
+ /**
95
+ * React-контекст, предоставляющий SearchUIDefaults вглубь дерева.
96
+ * Используйте `useContext(SearchUIDefaultsContext)`, чтобы получить доступ
97
+ * к настройкам внутри кастомных фильтров.
98
+ */
68
99
  export declare const SearchUIDefaultsContext: React.Context<SearchUIDefaults>;
100
+ /**
101
+ * Провайдер, который объединяет {@link initialSearchUIDefaults} с пользовательскими
102
+ * значениями и делает их доступными всему UI поиска.
103
+ *
104
+ * Разместите компонент вокруг областей, где монтируется `SearchUI` (см. пример в
105
+ * `src/stories/SearchUI.stories.tsx`). Так вы определяете, какие источники данных,
106
+ * шаблоны и флаги видимости должен использовать конкретный экран.
107
+ *
108
+ * @param props.defaults Частичный объект SearchUIDefaults. Укажите только то, что
109
+ * нужно переопределить, остальные значения будут взяты
110
+ * из {@link initialSearchUIDefaults}.
111
+ * @param props.children Дерево компонентов, которые должны читать контекст.
112
+ */
69
113
  export declare const SearchUIProvider: (props: Props) => React.JSX.Element;
70
114
  export {};
@@ -47,7 +47,25 @@ exports.initialSearchUIDefaults = {
47
47
  showGateRelatedGroupings: () => true,
48
48
  showCounterpartyGrouping: () => true,
49
49
  };
50
+ /**
51
+ * React-контекст, предоставляющий SearchUIDefaults вглубь дерева.
52
+ * Используйте `useContext(SearchUIDefaultsContext)`, чтобы получить доступ
53
+ * к настройкам внутри кастомных фильтров.
54
+ */
50
55
  exports.SearchUIDefaultsContext = (0, react_1.createContext)(exports.initialSearchUIDefaults);
56
+ /**
57
+ * Провайдер, который объединяет {@link initialSearchUIDefaults} с пользовательскими
58
+ * значениями и делает их доступными всему UI поиска.
59
+ *
60
+ * Разместите компонент вокруг областей, где монтируется `SearchUI` (см. пример в
61
+ * `src/stories/SearchUI.stories.tsx`). Так вы определяете, какие источники данных,
62
+ * шаблоны и флаги видимости должен использовать конкретный экран.
63
+ *
64
+ * @param props.defaults Частичный объект SearchUIDefaults. Укажите только то, что
65
+ * нужно переопределить, остальные значения будут взяты
66
+ * из {@link initialSearchUIDefaults}.
67
+ * @param props.children Дерево компонентов, которые должны читать контекст.
68
+ */
51
69
  const SearchUIProvider = (props) => {
52
70
  const { defaults, children, } = props;
53
71
  return react_1.default.createElement(exports.SearchUIDefaultsContext.Provider, { value: {
@@ -1 +1 @@
1
- {"version":3,"file":"SearchUIProvider.js","sourceRoot":"","sources":["../../../src/component/search-ui/SearchUIProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SearchUIProvider.js","sourceRoot":"","sources":["../../../src/component/search-ui/SearchUIProvider.tsx"],"names":[],"mappings":"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"}
@@ -20,6 +20,32 @@ type GetProjectCurrenciesRequest = {
20
20
  searchConditions: CriterionTypeEnum[];
21
21
  multigetCriteria: MultigetCriterion[];
22
22
  };
23
+ /**
24
+ * Набор функций и флагов, который описывает среду выполнения SearchUI.
25
+ * Конкретное приложение обязано переопределить нужные обработчики,
26
+ * чтобы выдавать списки сущностей, значения по умолчанию и скрывать/показывать
27
+ * элементы интерфейса.
28
+ *
29
+ * @remarks
30
+ * SearchUI считывает эти значения из {@link SearchUIDefaultsContext}. Все методы
31
+ * имеют заглушки в {@link initialSearchUIDefaults}, но в рабочем коде следует
32
+ * передавать реализацию через {@link SearchUIProvider}, иначе поисковой интерфейс
33
+ * не получит данные и не сможет отобразить нужные фильтры.
34
+ *
35
+ * @example
36
+ * ```tsx
37
+ * <SearchUIProvider
38
+ * defaults={{
39
+ * getCountries: fetchCountries,
40
+ * showProjectsCriterion: () => true,
41
+ * }}
42
+ * >
43
+ * <SearchUI {...props} />
44
+ * </SearchUIProvider>
45
+ * ```
46
+ *
47
+ * @see src/stories/SearchUI.stories.tsx
48
+ */
23
49
  export type SearchUIDefaults = {
24
50
  getDefaultCurrency: () => AbstractEntity;
25
51
  getMatchLinkedItems: (request: GetMatchLinkedItemsRequest) => Promise<AbstractEntity[]>;
@@ -65,6 +91,24 @@ type Props = {
65
91
  children: React.ReactNode;
66
92
  };
67
93
  export declare const initialSearchUIDefaults: SearchUIDefaults;
94
+ /**
95
+ * React-контекст, предоставляющий SearchUIDefaults вглубь дерева.
96
+ * Используйте `useContext(SearchUIDefaultsContext)`, чтобы получить доступ
97
+ * к настройкам внутри кастомных фильтров.
98
+ */
68
99
  export declare const SearchUIDefaultsContext: React.Context<SearchUIDefaults>;
100
+ /**
101
+ * Провайдер, который объединяет {@link initialSearchUIDefaults} с пользовательскими
102
+ * значениями и делает их доступными всему UI поиска.
103
+ *
104
+ * Разместите компонент вокруг областей, где монтируется `SearchUI` (см. пример в
105
+ * `src/stories/SearchUI.stories.tsx`). Так вы определяете, какие источники данных,
106
+ * шаблоны и флаги видимости должен использовать конкретный экран.
107
+ *
108
+ * @param props.defaults Частичный объект SearchUIDefaults. Укажите только то, что
109
+ * нужно переопределить, остальные значения будут взяты
110
+ * из {@link initialSearchUIDefaults}.
111
+ * @param props.children Дерево компонентов, которые должны читать контекст.
112
+ */
69
113
  export declare const SearchUIProvider: (props: Props) => React.JSX.Element;
70
114
  export {};
@@ -43,7 +43,25 @@ export const initialSearchUIDefaults = {
43
43
  showGateRelatedGroupings: () => true,
44
44
  showCounterpartyGrouping: () => true,
45
45
  };
46
+ /**
47
+ * React-контекст, предоставляющий SearchUIDefaults вглубь дерева.
48
+ * Используйте `useContext(SearchUIDefaultsContext)`, чтобы получить доступ
49
+ * к настройкам внутри кастомных фильтров.
50
+ */
46
51
  export const SearchUIDefaultsContext = createContext(initialSearchUIDefaults);
52
+ /**
53
+ * Провайдер, который объединяет {@link initialSearchUIDefaults} с пользовательскими
54
+ * значениями и делает их доступными всему UI поиска.
55
+ *
56
+ * Разместите компонент вокруг областей, где монтируется `SearchUI` (см. пример в
57
+ * `src/stories/SearchUI.stories.tsx`). Так вы определяете, какие источники данных,
58
+ * шаблоны и флаги видимости должен использовать конкретный экран.
59
+ *
60
+ * @param props.defaults Частичный объект SearchUIDefaults. Укажите только то, что
61
+ * нужно переопределить, остальные значения будут взяты
62
+ * из {@link initialSearchUIDefaults}.
63
+ * @param props.children Дерево компонентов, которые должны читать контекст.
64
+ */
47
65
  export const SearchUIProvider = (props) => {
48
66
  const { defaults, children, } = props;
49
67
  return React.createElement(SearchUIDefaultsContext.Provider, { value: {
@@ -1 +1 @@
1
- {"version":3,"file":"SearchUIProvider.js","sourceRoot":"","sources":["../../../src/component/search-ui/SearchUIProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SearchUIProvider.js","sourceRoot":"","sources":["../../../src/component/search-ui/SearchUIProvider.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pne-ui",
3
- "version": "3.0.1",
3
+ "version": "3.0.2",
4
4
  "description": "",
5
5
  "repository": {
6
6
  "type": "git",