@evergis/react 4.0.120 → 4.0.122
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/Dashboard/componentTypes.d.ts +1 -1
- package/dist/components/Dashboard/containers/registry.d.ts +15 -0
- package/dist/components/Dashboard/grid/GridEditSession/index.d.ts +2 -1
- package/dist/components/Dashboard/grid/index.d.ts +5 -0
- package/dist/components/Dashboard/hooks/useWrapperSize.d.ts +7 -0
- package/dist/components/Dashboard/index.d.ts +1 -0
- package/dist/components/Dashboard/styled.d.ts +18 -0
- package/dist/components/Dashboard/types.d.ts +23 -0
- package/dist/components/Dashboard/utils/formatElementValue.d.ts +6 -1
- package/dist/components/Dashboard/utils/getContainerComponent.d.ts +8 -0
- package/dist/index.js +356 -218
- package/dist/index.js.map +1 -1
- package/dist/react.esm.js +315 -219
- package/dist/react.esm.js.map +1 -1
- package/package.json +5 -4
|
@@ -192,7 +192,7 @@ export interface ChartContainerConfig extends Omit<ConfigContainerChild, "option
|
|
|
192
192
|
export interface ChartContainerProps extends Omit<ContainerProps, "elementConfig"> {
|
|
193
193
|
elementConfig?: ChartContainerConfig;
|
|
194
194
|
}
|
|
195
|
-
export type ContainersGroupContainerOptions = Pick<ConfigOptions, "column" | "expandable" | "expanded" | "alignItems" | "grid" | "editMode" | "gap"> & ContainerBoxOptions;
|
|
195
|
+
export type ContainersGroupContainerOptions = Pick<ConfigOptions, "column" | "expandable" | "expanded" | "alignItems" | "grid" | "editMode" | "fixedHeight" | "gap"> & ContainerBoxOptions;
|
|
196
196
|
export interface ContainersGroupContainerConfig extends Omit<ConfigContainerChild, "options" | "templateName"> {
|
|
197
197
|
templateName?: ContainerTemplate.ContainersGroup;
|
|
198
198
|
options?: ContainersGroupContainerOptions;
|
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
2
|
import { ProgressContainerProps, RoundedBackgroundContainerProps } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Шаблоны, чей компонент держит `id`, `data-templatename`, авторский `style` и `$sizeCss`
|
|
5
|
+
* на ЕДИНСТВЕННОМ собственном корне — через `useContainerRoot` / `useWrapperSize`.
|
|
6
|
+
*
|
|
7
|
+
* Такому контейнеру не нужна внешняя обёртка `ElementValueWrapper`: она добавляла в DOM второй
|
|
8
|
+
* узел с теми же атрибутами и стилями (см. `formatElementValue`).
|
|
9
|
+
*
|
|
10
|
+
* Остальных здесь нет намеренно: `DefaultAttributes`, `EditGroup` и `OneColumn`/`TwoColumn`
|
|
11
|
+
* в режиме `attributesToRender` возвращают НЕСКОЛЬКО корней, а `Title`, `Icon`, `Divider`,
|
|
12
|
+
* `Tabs`, `AddFeature`, `ExportPdf`, `Progress`, `RoundedBackground` ставят `id`/`style` руками.
|
|
13
|
+
* Для них обёртка — единственный одиночный узел, снимать её нельзя.
|
|
14
|
+
*
|
|
15
|
+
* Переводишь очередной контейнер на `useContainerRoot` — добавь его сюда.
|
|
16
|
+
*/
|
|
17
|
+
export declare const ROOT_OWNING_TEMPLATES: ReadonlySet<string>;
|
|
3
18
|
export declare const getContainerComponents: () => {
|
|
4
19
|
readonly DefaultAttributes: FC<import('../componentTypes').DefaultAttributesContainerProps>;
|
|
5
20
|
readonly Pages: FC<import('../componentTypes').PagesContainerProps>;
|
|
@@ -6,6 +6,7 @@ import { ContainerProps } from '../../types';
|
|
|
6
6
|
* Черновик отличается структурой от конфига, пришедшего сверху, поэтому `renderElement` из пропсов
|
|
7
7
|
* здесь не годится — он замкнут на исходный узел и не найдёт ячейки, созданные split/add. Вместо
|
|
8
8
|
* него строится собственный, замкнутый на черновик; всё дерево ниже получает его по цепочке
|
|
9
|
-
* рекурсии `getRenderElement`.
|
|
9
|
+
* рекурсии `getRenderElement`. Хост с собственным реестром содержимого отдаёт вместо этого
|
|
10
|
+
* фабрику `createRenderElement` — она получает черновик и строит рендер по нему.
|
|
10
11
|
*/
|
|
11
12
|
export declare const GridEditSession: FC<ContainerProps>;
|
|
@@ -8,9 +8,12 @@ interface UseWrapperSizeParams {
|
|
|
8
8
|
}
|
|
9
9
|
export interface WrapperRootProps {
|
|
10
10
|
id?: string;
|
|
11
|
+
/** Дубль `id` для внешних селекторов: раньше его нёс `ElementValueWrapper` вокруг контейнера. */
|
|
12
|
+
"data-id"?: string;
|
|
11
13
|
"data-templatename"?: string;
|
|
12
14
|
style?: CSSProperties;
|
|
13
15
|
$sizeCss?: CSSObject;
|
|
16
|
+
$noMargin?: boolean;
|
|
14
17
|
}
|
|
15
18
|
/**
|
|
16
19
|
* Пропсы корневой обёртки контейнера: идентификаторы для внешних селекторов, авторский `style`
|
|
@@ -18,6 +21,10 @@ export interface WrapperRootProps {
|
|
|
18
21
|
*
|
|
19
22
|
* Размеры уходят styled-пропом (класс), а не inline-стилем, поэтому перебиваются снаружи
|
|
20
23
|
* без `!important`. Авторский `style` остаётся inline — у него приоритет по замыслу автора конфига.
|
|
24
|
+
*
|
|
25
|
+
* `data-id` и `$noMargin` раньше жили на внешней обёртке `ElementValueWrapper`; она вешала их
|
|
26
|
+
* на второй узел поверх этого корня, дублируя стили, и для таких контейнеров больше не создаётся
|
|
27
|
+
* (см. `ROOT_OWNING_TEMPLATES`).
|
|
21
28
|
*/
|
|
22
29
|
export declare const useWrapperSize: ({ elementConfig, defaults }: UseWrapperSizeParams) => WrapperRootProps;
|
|
23
30
|
export {};
|
|
@@ -4,6 +4,8 @@ import { AlignItems } from './types';
|
|
|
4
4
|
/** Пропсы корневой обёртки контейнера — см. `useWrapperSize`. */
|
|
5
5
|
export interface ContainerRootProps {
|
|
6
6
|
$sizeCss?: CSSObject;
|
|
7
|
+
$noMargin?: boolean;
|
|
8
|
+
"data-id"?: string;
|
|
7
9
|
"data-templatename"?: string;
|
|
8
10
|
}
|
|
9
11
|
/**
|
|
@@ -14,6 +16,22 @@ export interface ContainerRootProps {
|
|
|
14
16
|
* вставки стилей). Снаружи такое правило по-прежнему перебивается `#id` без `!important`.
|
|
15
17
|
*/
|
|
16
18
|
export declare const sizeCssMixin: import('styled-components').FlattenInterpolation<import('styled-components').ThemedStyledProps<ContainerRootProps, any>>;
|
|
19
|
+
/**
|
|
20
|
+
* `options.noMargin` контейнера: гасит отступ, который родительская колонка ставит своим детям
|
|
21
|
+
* (`Container > *:not(:last-child)`).
|
|
22
|
+
*
|
|
23
|
+
* `&&&&` — ровно та сила, что была у обёртки `ElementValueWrapper`: правило должно перебивать
|
|
24
|
+
* и родительскую колонку, и собственные `defaults` контейнера, пришедшие в `$sizeCss`.
|
|
25
|
+
*/
|
|
26
|
+
export declare const noMarginMixin: import('styled-components').FlattenInterpolation<import('styled-components').ThemedStyledProps<ContainerRootProps, any>>;
|
|
27
|
+
/**
|
|
28
|
+
* Обёртка значения элемента.
|
|
29
|
+
*
|
|
30
|
+
* Контейнеры, владеющие своим корнем (`ROOT_OWNING_TEMPLATES`), сюда больше не попадают —
|
|
31
|
+
* обёртка дублировала их `data-id`, `data-templatename` и `style` вторым узлом DOM.
|
|
32
|
+
* `$sizeTransparent` поэтому работает только на контейнерах, которые ещё не переведены
|
|
33
|
+
* на `useContainerRoot`.
|
|
34
|
+
*/
|
|
17
35
|
export declare const ElementValueWrapper: import('styled-components').StyledComponent<"div", any, {
|
|
18
36
|
noMargin?: boolean;
|
|
19
37
|
$sizeTransparent?: boolean;
|
|
@@ -198,6 +198,14 @@ export interface ConfigLayoutOptions {
|
|
|
198
198
|
* не имеет.
|
|
199
199
|
*/
|
|
200
200
|
editMode?: boolean;
|
|
201
|
+
/**
|
|
202
|
+
* Высота сетки задана снаружи и не редактируется: у корневой строки не рендерится ручка
|
|
203
|
+
* нижней границы. Нужен сеткам, растянутым на бокс, которым распоряжается внешняя
|
|
204
|
+
* раскладка (панель фиксированного экрана, док) — там тянуть собственную высоту нечем
|
|
205
|
+
* и незачем. Читается у корневого узла сетки; на вложенные не влияет — у них ручки
|
|
206
|
+
* высоты нет и так.
|
|
207
|
+
*/
|
|
208
|
+
fixedHeight?: boolean;
|
|
201
209
|
twoColumns?: boolean;
|
|
202
210
|
/** Вписать график контейнера Chart в контейнер: по ширине всегда, по высоте — при заданной высоте (object-fit: contain). */
|
|
203
211
|
fill?: boolean;
|
|
@@ -655,6 +663,21 @@ export interface ContainerProps {
|
|
|
655
663
|
innerComponent?: FC<InnerContainerProps>;
|
|
656
664
|
renderElement?: RenderElementFunction;
|
|
657
665
|
onChange?: (config: ConfigContainerChild) => void;
|
|
666
|
+
/**
|
|
667
|
+
* Хостовый рендер треков сетки в режиме редактирования раскладки.
|
|
668
|
+
*
|
|
669
|
+
* Сессия правит собственный черновик, структура которого расходится с конфигом сверху, поэтому
|
|
670
|
+
* готовый `renderElement` там не годится — он замкнут на исходный узел и не найдёт ячейки,
|
|
671
|
+
* созданные split/add. Фабрика получает актуальный черновик и строит рендер по нему; без неё
|
|
672
|
+
* сессия рендерит содержимое штатным реестром контейнеров.
|
|
673
|
+
*/
|
|
674
|
+
createRenderElement?: (node: ConfigContainerChild) => RenderElementFunction;
|
|
675
|
+
/**
|
|
676
|
+
* Зеркало выделения ячеек сетки наружу: вызывается при каждой смене выделения списком id
|
|
677
|
+
* выделенных ячеек (пустой список — выделения нет). Само выделение живёт в сессии
|
|
678
|
+
* редактирования; колбэк ни на что не влияет, он только сообщает.
|
|
679
|
+
*/
|
|
680
|
+
onGridSelectionChange?: (cellIds: string[]) => void;
|
|
658
681
|
}
|
|
659
682
|
export type PieChartDisplayedData = Array<Omit<PieChartData, "value"> & {
|
|
660
683
|
value: string | number;
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
import { i18n } from 'i18next';
|
|
3
3
|
import { ClientFeatureAttribute, ConfigContainerChild, RenderElementValue } from '../types';
|
|
4
|
-
export declare const formatElementValue: ({ t, value, elementConfig, attributes, wrap, }: {
|
|
4
|
+
export declare const formatElementValue: ({ t, value, elementConfig, attributes, wrap, hasOwnRoot, }: {
|
|
5
5
|
t: i18n["t"];
|
|
6
6
|
value: RenderElementValue;
|
|
7
7
|
elementConfig: ConfigContainerChild;
|
|
8
8
|
attributes: ClientFeatureAttribute[];
|
|
9
9
|
wrap?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Значение — контейнер, который сам держит `id`, `data-templatename`, авторский `style`
|
|
12
|
+
* и `$sizeCss` на своём единственном корне (см. `useWrapperSize`). Обёртка ему не нужна.
|
|
13
|
+
*/
|
|
14
|
+
hasOwnRoot?: boolean;
|
|
10
15
|
}) => ReactNode | string;
|
|
@@ -1 +1,9 @@
|
|
|
1
1
|
export declare const getContainerComponent: (innerTemplateName: string) => any;
|
|
2
|
+
/**
|
|
3
|
+
* Контейнер этого шаблона сам держит идентификаторы и стили на своём единственном корне —
|
|
4
|
+
* внешняя обёртка ему не нужна, см. {@link ROOT_OWNING_TEMPLATES}.
|
|
5
|
+
*
|
|
6
|
+
* Живёт рядом с `getContainerComponent` ради правила про неизвестный шаблон: тот резолвится
|
|
7
|
+
* в `default` (= `ContainersGroupContainer`), а он корнем владеет.
|
|
8
|
+
*/
|
|
9
|
+
export declare const isRootOwningContainer: (templateName?: string) => boolean;
|